freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的紅外遙控窗簾設(shè)計(jì)論文含c語言源程序-文庫吧資料

2025-01-24 14:28本頁面
  

【正文】 動(dòng)恢復(fù)非正常復(fù)位前的狀態(tài)。 系統(tǒng)故障處理、自恢復(fù)程序的設(shè)計(jì) 限于篇幅不贅述。若檢測到某觀測變量變化不正常,比如應(yīng)當(dāng)加1而未加1,則轉(zhuǎn)到出錯(cuò)處理程序作排除故障處理。這種軟件“看門狗”監(jiān)視原理是:在主程序、T0中斷服務(wù)程序、T1中斷服務(wù)程序中各設(shè)一運(yùn)行觀測變量,假設(shè)為MWatch、T0Watch 、T1Watch,主程序每循環(huán)一次,MWatch加1,同樣T0、T1中斷服務(wù)程序執(zhí)行一次,T0Watch、 T1Watch加1。采用這種環(huán)形結(jié)構(gòu)的軟件“看門狗”具有良好的抗干擾性能,大大提高了系統(tǒng)可靠性。 筆者在實(shí)際應(yīng)用中,采用環(huán)形中斷監(jiān)視系統(tǒng)。則系統(tǒng)無法定時(shí)“喂狗”,硬件看門狗電路失效?!翱撮T狗”技術(shù)可由硬件實(shí)現(xiàn),也可由軟件實(shí)現(xiàn)。 若失控的程序進(jìn)入“死循環(huán)”,通常采用“看門狗”技術(shù)使程序脫離“死循環(huán)”。 考慮到程序存貯器的容量,軟件陷阱一般1K空間有23個(gè)就可以進(jìn)行有效攔截。如果故障診斷程序與系統(tǒng)自恢復(fù)程序的設(shè)計(jì)可靠、 完善,用“LJMP 0000H”作返回指令可直接進(jìn)入故障診斷程序,盡早地處理故障并恢復(fù)程序的運(yùn)行。 RETI NOP NOP如某應(yīng)用系統(tǒng)雖未用到外部中斷1,外部中斷1的中斷服務(wù)程序可為如下形式:在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。 通常在程序中未使用的EPROM空間填0000020000。2 陷阱的安排軟件陷阱是指用來將捕獲的亂飛程序引向復(fù)位入口地址0000H的指令。 當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無法起作用。 1 軟件陷阱的設(shè)計(jì)因此先要合理設(shè)計(jì)陷阱,其次要將陷阱安排在適當(dāng)?shù)奈恢谩?所謂攔截,是指將亂飛的程序引向指定位置,再進(jìn)行出錯(cuò)處理。 攔截技術(shù)這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。 在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。當(dāng)PC受干擾出現(xiàn)錯(cuò)誤,程序便脫離正常軌道“亂飛”,當(dāng)亂飛到某雙字節(jié)指令,若取指令時(shí)刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò)。本文針對后者提出了幾種有效的軟件抗干擾方法。 串行口工作方式0MAIN: MOV R3,00H ;字型碼初始地址LOOP: MOV R4,0E8H ;循環(huán)顯示某個(gè)字符DELAY: ACALL DISPLAY ;顯示 DJNZ R4,DELAY ;延時(shí)時(shí)間未到繼續(xù) INC R3 ;顯示下個(gè)字符 CJNE R3,OAH,LOOP ;未顯示到“9”繼續(xù) AJMP MAIN ;返回主程序DISPLAY:CLR CLR ;選中第一位 ACALL DISP ;顯示 ACALL DELAY1 ;延時(shí)10MS SETB ;選中第二位 ACALL DISP ACALL DELAY1 SETB ;選中第三位 CLR ACALL DISP ACALL DELAY1 SETB ;選中第四位 SETB ACALL DISP ACALL DELAY1 RETDIS: MOV A,R3 MOV DPTR,TABLE MOVC A,A+DPTR ;查表 MOV BUFF,A ;送發(fā)送緩沖器WAIT: JNB TI,WAIT ;等待串行中斷 CLR TI RETDELAY1: MOV R6,10H ;延時(shí)子程序LOOP1: MOV R7,38HLOOP2: DJNZ R7,LOOP2 DJNZ R6,LOOP1 RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H END ;程序結(jié)束 [10]在提高硬件系統(tǒng)抗干擾能力的同時(shí),軟件抗干擾以其設(shè)計(jì)靈活、節(jié)省硬件資源、可靠性好越來越受到重視。程序清單將4只LED的段位都連在一起,它們的公共端則由74LS138分時(shí)選通,這樣任何一個(gè)時(shí)刻,都只有一位LED在點(diǎn)亮,也即動(dòng)態(tài)掃描顯示方式,其優(yōu)點(diǎn)在上一節(jié)中我們已經(jīng)闡述。74LS138是一個(gè)38譯碼器,它將單片機(jī)輸出的地址信號(hào)譯碼后動(dòng)態(tài)驅(qū)動(dòng)相應(yīng)的LED。 串行動(dòng)態(tài)LED掃描電路圖是電原理圖,我們還是采用C2051單片機(jī),同時(shí)用廉價(jià)易得的74LS164和74LS138作為擴(kuò)展芯片。 ~:P3口的8個(gè)引腳,除了作為準(zhǔn)雙向I/O接口使用外,還具有第二功能,具體如下: :RXD (串行輸入口) :TXD (串行輸出口) :INT0 (外部中斷0請求輸入端) :INT1 (外部中斷1請求輸入端) :T0 (定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖輸入端) :T1 (定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)脈沖輸入端) :WR (片外數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出端) :RD (片外數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端)MCS51系列單片機(jī)外部引腳圖80C51的串行通信口是一個(gè)功能強(qiáng)大的通信口,而且是相當(dāng)好用的通信口,用于顯示驅(qū)動(dòng)電路再合適不過了,下面我們就根據(jù)這種需要設(shè)計(jì)一個(gè)用兩個(gè)串行通信口線加上兩根普通I/O口,設(shè)計(jì)一個(gè)4位LED顯示電路。對于52子系列,:;。 ~:P1口的8個(gè)引腳。在不接片外存儲(chǔ)器與不擴(kuò)展I/O接口時(shí),可作為準(zhǔn)雙向輸入/輸出接口。外接晶體時(shí),XTAL1與XTAL2各接警惕的一端,借外接晶體與片內(nèi)反相放大器構(gòu)成振蕩器。 XTAL1:片內(nèi)反相放大器輸入端。 現(xiàn)將各引腳分別說明如下: Vcc:接+5V電源正端。用HMOS工藝制造的芯片采用雙列直插式封裝。 MCS51系列單片機(jī)芯片有40個(gè)引。其他性能均與51子系列相同。52子系列主要有8038052兩種機(jī)型。 片內(nèi)采用單總線結(jié)構(gòu)。 111條指令,含乘法指令和除法指令。 2個(gè)16位定時(shí)/計(jì)數(shù)器。 4個(gè)8位并行I/O接口:P0、PPP3。 片外數(shù)據(jù)存儲(chǔ)器的尋址范圍為64K字節(jié)。 4K字節(jié)的片內(nèi)程序存儲(chǔ)器(8031無)。 片內(nèi)帶振蕩器,~12MHZ;可有時(shí)鐘輸出。 在51系列中,主要有8038058751三種機(jī)型,它們的指令系統(tǒng)與芯片引腳完全兼容,僅片內(nèi)ROM有所不同。完整的接收到一組編碼后,在中斷程序中將鍵值有效標(biāo)志key_flag置1,主程序循環(huán)中如果查詢到key_flag為1則保存這個(gè)鍵碼,即完成一次解碼操作。同時(shí)需要防止將用戶的一次按鍵解釋為多次按鍵,需要有去抖功能。第一個(gè)下降沿表明編碼輸出開始,這時(shí)將時(shí)間記錄為last_time,當(dāng)比較器輸出跳為高電平時(shí),記錄當(dāng)前時(shí)間為current_time,并且記錄脈沖寬(current_timelast_time)判斷收到的是寬脈沖還是窄脈沖,如果是寬脈沖記錄為0,窄脈沖記錄為1。,跟著引導(dǎo)碼是系統(tǒng)碼,系統(tǒng)反碼,按鍵碼,按鍵反碼,如果按著鍵不放,則遙控器則發(fā)送一段重復(fù)碼,重復(fù)碼由9ms的高電平,跟著是一個(gè)短脈沖。D0~D4中只有一位為“0”,指示著哪一列有鍵按下,這樣就由遙控接收、解碼電路模擬了一次“按鍵”動(dòng)作。由解碼電路圖3可見,EPROM2732的地址線A0A7接至8位輸出鎖存移位寄存器74HCS9S的輸出(即8位遙控碼),A8~A11接至鍵盤矩陣的行掃描線R0~R3;2732的8根數(shù)據(jù)線使用了其中的S根D0~D4,接至鍵盤矩陣的列掃描線C0~C4,2732的(片選端)接地,(讀信號(hào))接至施密特與非門4093的3腳輸出,此輸出為雙單穩(wěn)74HC123的1Q、與非的結(jié)果。在本機(jī)遙控系統(tǒng)中,利用了EPROM的D0~D4五根數(shù)據(jù)線和全部12根地址線,通過向2732中固化上表所示的邏輯真值表,從而實(shí)現(xiàn)了關(guān)鍵的遙控解碼,使遙控器上按鍵與本機(jī)鍵盤按鍵一一對應(yīng)起來。不難推想,具有N位輸入地址和M位數(shù)據(jù)輸出的EPROM可以獲得一組(最多為M個(gè))任何形式的N變量組合邏輯函數(shù)。如果把EPROM的輸入地址A0,A1,……AN視為輸入邏輯變量,同時(shí)把輸出數(shù)據(jù)D0,D1,……DM視為一組多輸出邏輯變量,那么輸出與輸入之間也就是一組多輸出的組合邏輯函數(shù)。若用普通邏輯門電路來實(shí)現(xiàn)這樣的功能將是十分麻煩的,用PLD(可編程邏輯器件)來做就要簡單得多。根據(jù)遙控器上按鍵與本機(jī)鍵盤按鍵的一一對應(yīng)方案,我們可以導(dǎo)出實(shí)現(xiàn)“模擬”按鍵的邏輯真值表(其中C0~C4為列掃描線)。所謂“模擬”是指并沒有機(jī)械按鍵動(dòng)作,但對于鍵盤矩陣電路而言卻產(chǎn)生一個(gè)低電平,效果和機(jī)械按鍵動(dòng)作完全一樣。若無鍵按下,則列掃描線輸出全“1”(高電平);若有鍵按下,則此鍵所在列線輸出為“0”,再結(jié)合行掃描線此時(shí)的狀態(tài),就可具體定位按鍵。 考察一下智能儀器的鍵盤掃描輸入原理。簡言之,要做到對CPU是透明的,似乎只有一個(gè)鍵盤輸入單元在工作,只須訪問它來進(jìn)行鍵盤掃描、鍵碼讀出操作。尤其是當(dāng)儀器系統(tǒng)的軟件不是由自己開發(fā)而又要加裝遙控時(shí)更是無能為力。為了讓CPU讀取這個(gè)并行遙控碼,通常的方法是在轉(zhuǎn)換完成后產(chǎn)生一個(gè)中斷,通知CPU來讀取遙控信息。但它還不便于CPU讀取識(shí)別,因此需要先對這些串行二進(jìn)制碼進(jìn)行解碼。經(jīng)ICa整形、放大、倒相而得到負(fù)脈沖信號(hào),再由D5、C4、R3檢波,延時(shí)送至ICb(達(dá)到反相器的閾值電壓),致使ICb輸出低電平,然后C4端電壓經(jīng)R3放電,使ICb輸入端低于反相器的閾值電壓,ICb輸出端恢復(fù)高電平。紅外接收頭靜態(tài)時(shí)輸出高電平。 紅外接收電路先介紹一款接收電路。開始延時(shí),若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(+)/2=。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼()組成。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在45~63ms之間。UPD6121G最多額128種不同組合的編碼。UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16位為用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。 波形圖上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。程序清單見附錄1。程序見清單。當(dāng)有按鍵按下時(shí),控制軟件啟動(dòng)定時(shí)器T0、T1, T0定時(shí)溢出,寫入定時(shí)器的初值不同,在輸出端口就可得到不同的發(fā)射頻率。工作原理:,K0至K7為遙控按鈕。 現(xiàn)在專用的發(fā)射與接收器件越來越多,在這就不做過多的介紹。遙控發(fā)射器及其編碼為了達(dá)到一次能發(fā)送一組數(shù)據(jù)(如車次號(hào),通常為三位十進(jìn)制數(shù)),我們可以采用89C2051的軟件編碼/解碼的方法,先一次性輸入一組車號(hào),按下發(fā)送鍵后,全部發(fā)送出;同時(shí)在接收時(shí),用連續(xù)接收方法,一次性解碼所有數(shù)據(jù)[6]。接收部分包括光電轉(zhuǎn)換放大器、解調(diào)、解碼電路。所以就要求我們能設(shè)計(jì)出能適用于中遠(yuǎn)距離遙控的電路。如果在增大發(fā)射機(jī)發(fā)射功率的同時(shí),又將發(fā)射光或接收光聚焦,則控制距離可大大增加。脈沖發(fā)射器脈沖功放紅外發(fā)射紅外接收電壓放大限幅放大雙穩(wěn)觸發(fā)繼電器濾波或整形 紅外遙控的基本原理由于一般的遙控電路,其控制距離都不超過10米。在接收機(jī)方面,由光電二極管或光電三極管將接收到的紅外脈沖信號(hào)轉(zhuǎn)換成微弱的脈沖電信號(hào),由電壓放大級(jí)將這個(gè)微弱的信號(hào)加以放大,使其能夠可靠地出發(fā)雙穩(wěn)態(tài)電路的翻轉(zhuǎn),有的電路還加以限幅放大,以削去干擾尖脈沖。例如:一個(gè)峰值電流為3A的脈沖,占空比為1:3,它的平均消耗電流只有1A。方波的占空比用1:1或
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1