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

正文內(nèi)容

單片機(jī)紅外控制發(fā)射器設(shè)計詳版畢業(yè)論文(編輯修改稿)

2025-07-21 02:46 本頁面
 

【文章內(nèi)容簡介】 處于“餓電流”供電狀態(tài)保存信息,一直維持到VCC恢復(fù)為止。80C51的掉電保護(hù)過程則不同。當(dāng)電壓檢測電路檢測到電源電壓降低時,也觸發(fā)外部中斷,在中斷服務(wù)子程序中,除了要將外部RAM中的有用數(shù)據(jù)保存以外,還要將特殊功能寄存器的有用內(nèi)容保護(hù)起來,然后對電源控制寄存器PCON進(jìn)行設(shè)置。PCON寄存器的各位定義如下。D7 D6 D5 D4 D3 D2 D1 D0SMOD———GF1GF0PDIDL其中,SMOD是波特率倍增位,在串行通信中使用。GFGF0:通用標(biāo)志,由軟件置位、復(fù)位。PD:掉電方式控制位,PD=1,則進(jìn)入掉電方式。IDL:待機(jī)方式控制位,IDL=1,則進(jìn)入待機(jī)方式。由軟件將PD置1,就可以使單片機(jī)進(jìn)入掉電保護(hù)狀態(tài)。這時,單片機(jī)的一切工作都停止,只有內(nèi)部RAM和專用寄存器的內(nèi)容被保存。掉電保護(hù)時的備用電源是通過VCC引腳接入的。當(dāng)電源恢復(fù)正常后,系統(tǒng)要維持10ms的恢復(fù)時間后才能退出掉電保護(hù)狀態(tài),復(fù)位操作將重新定義專用寄存器,但內(nèi)部RAM的內(nèi)容不變,可將被保護(hù)的內(nèi)容恢復(fù) 掉電保護(hù)電路2. 低功耗設(shè)計在很多情況下,單片機(jī)要工作在供電困難的場合,如野外、井下和空中,對于便攜式儀器要求用電池供電,這時都希望單片機(jī)應(yīng)用系統(tǒng)能低供耗運行。以CMOS工藝制造的80C31/80C51/87C51型單片機(jī)提供了空閑工作方式??臻e工作方式(通常也指待機(jī)工作方式)是指CPU在不需要執(zhí)行程序時停止工作,以取代不停的執(zhí)行空操作或原地踏步等待操作,達(dá)到減小功耗的目的??臻e工作方式是通過設(shè)置電源控制寄存器PCON中的IDL位來實現(xiàn)的。用軟件將IDL位置1,系統(tǒng)進(jìn)入空閑工作方式。這時,送往CPU的時鐘被封鎖,CPU停止工作,但中斷控制電路、定時/計數(shù)器和串行接口繼續(xù)工作,CPU內(nèi)部狀態(tài)如堆棧指針SP、程序計數(shù)器PC、程序狀態(tài)寄存器PSW、累加器ACC及其他寄存器的狀態(tài)被完全保留下來。在空閑工作方式下,80C51消耗的電流由正常的24mA將為3mA。單片機(jī)退出空閑狀態(tài)有如下兩種方法。第一種是中斷退出。由于空閑方式下,中斷系統(tǒng)還在工作,所以任何中斷的響應(yīng)都可以使IDL位由硬件清零,而退出空閑方式下,單片機(jī)就進(jìn)入中斷服務(wù)程序。第二種是硬件復(fù)位退出。復(fù)位時,各個專用寄存器都恢復(fù)默認(rèn)狀態(tài),電源控制寄存器PCON也不例外,復(fù)位使IDL清零,退出空閑工作方式。MCS—51的掉電保護(hù)也是一種節(jié)電工作方式,它和空閑工作方式一起構(gòu)成了低功耗工作方式。一旦用戶檢測到掉電發(fā)生,在VCC下降之前寫一個字節(jié)到PCON,使 PD=1,單片機(jī)進(jìn)入掉電方式。在這種方式下,片內(nèi)震蕩器被封鎖,一切功能都停止,只有片內(nèi)RAM00H—7FH單元的內(nèi)容被保留。在掉電方式下,Vcc可降至2V,使片內(nèi)RAM處于50微安左右的“餓電流”供電狀態(tài),以最小的耗電保存信息,Vcc恢復(fù)正常之前,不可進(jìn)行復(fù)位;當(dāng)Vcc正常后,硬件復(fù)位10ms即能使單片機(jī)退出掉電方式[17]。在該電路中,退出空閑工作方式采用中斷的方法。當(dāng)遙控鍵盤上的人任一個按鍵按下以后,與門輸出即為低電平,觸發(fā)INT1引腳,外部中斷1響應(yīng),使IDL位清零,退出空閑工作方式,恢復(fù)正常狀態(tài)。其硬件電路如下。 低功耗控制電路 CPU時鐘電路 時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號。時鐘信號可以有兩種方式產(chǎn)生:內(nèi)部時鐘方式和外部時鐘方式。1. 內(nèi)部時鐘方式 2051單片機(jī)有一個高增益反向放大器,用于構(gòu)成振蕩器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。在XTAL1和XTAL2兩端跨接晶體或陶瓷振蕩器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時鐘發(fā)生器,見下圖,外接晶振時,CC2值通常選擇為30pF左右;外接陶瓷振蕩器時,CC2約為47pF。CC2對頻率有微調(diào)作用,—12MHz。為了減少寄生電容,更好的保證振蕩器穩(wěn)定可靠的工作,諧振器和電容應(yīng)盡可能安裝的與單片機(jī)芯片靠近。內(nèi)部時鐘發(fā)生器實質(zhì)上是一個二分頻的觸發(fā)器,其輸出信號是單片機(jī)工作所需的時鐘信號。2. 外部時鐘方式 外部時鐘方式是采用外部振蕩器,外部振蕩信號由XTAL2端接入后直接送至內(nèi)部時鐘發(fā)生器。輸入端XTAL1應(yīng)接地,由于XTAL2端的邏輯電平不是TTL的,故建議外接一個上拉電阻。 一般情況下,單片機(jī)時鐘輸入均采用內(nèi)部時鐘方式,外接一個震蕩電路,本系統(tǒng)采用內(nèi)部時鐘方式,晶振采用12MHz,其電路如下。 AT89C2051時鐘電路 復(fù)位電路 計算機(jī)在啟動時,系統(tǒng)進(jìn)入復(fù)位狀態(tài)。在復(fù)位狀態(tài),CPU和系統(tǒng)都處于一個確定的初始狀態(tài)或成為原始狀態(tài),在這種狀態(tài)下,所有的專用寄存器都賦予默認(rèn)值。其復(fù)位狀態(tài)見下表。 復(fù)位狀態(tài)各寄存器初值專用寄存器 復(fù)位狀態(tài) 專用寄存器 復(fù)位狀態(tài)PCACC BPSW SPDPTR P0—P3 IPIE 0000H00H00H00H07H 0000HFFH XXX0 0000B 0XX0 0000B TMOD TCONTH0TL0TH1TL1 SCON SBUF PCON00H00H00H00H00H00H00H XXXX XXXXB 0XXX 0000B 復(fù)位電路 單片機(jī)復(fù)位電路包括片內(nèi)、片外兩部分,片外復(fù)位電路通過引腳加到內(nèi)部復(fù)位電路上,內(nèi)部復(fù)位電路在每個機(jī)器周期S5P2對片外信號采樣一次,當(dāng)RST引腳上出現(xiàn)連續(xù)兩個機(jī)器周期的高電平時,單片機(jī)就完成一次復(fù)位。外部復(fù)位電路就是為內(nèi)部復(fù)位電路提供兩個機(jī)器周期以上的高電平而設(shè)計的,AT89C2051通常采用上電自動復(fù)位和按鍵手動復(fù)位兩種方式。 上電復(fù)位電路在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,從而使單片機(jī)復(fù)位。按鍵手動復(fù)位又分為按鍵電平復(fù)位和按鍵脈沖復(fù)位,按鍵電平復(fù)位是將復(fù)位端通過電阻與Vcc相連,按鍵脈沖復(fù)位是利用RC微分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的目的。 本系統(tǒng)設(shè)計時采用的是上電復(fù)位方式,其電路原理圖如下。 3 復(fù)位電路 紅外發(fā)射電路的設(shè)計 根據(jù)紅外發(fā)射管本身的物理特性,必須要有載波信號與即將發(fā)射的信號相“與”,然后將相“與”后的信號送發(fā)射管,才能進(jìn)行紅外信號的發(fā)射傳送,而在頻率為38KHz的載波信號下,發(fā)射管的性能最好,發(fā)射距離最遠(yuǎn),所以在硬件設(shè)計上,本設(shè)計采用38KHz的晶振產(chǎn)生載波信號,與發(fā)射信號進(jìn)行邏輯“與”運算后,通過三極管的功率驅(qū)動到紅外發(fā)光二極管上[18]。 紅外發(fā)送電路由4001MOS或非門38KHz振蕩器,單片機(jī)發(fā)送控制電路和紅外發(fā)送管驅(qū)動輸出電路組成,“0”時,發(fā)射管不發(fā)光,“1”時,紅外發(fā)送管發(fā)出38KHz調(diào)制紅外線[19]。具體的發(fā)射波形與電路如下 調(diào)制過程中的波形 紅外發(fā)射電路 紅外接收電路的設(shè)計紅外接收電路專門采用集成電路RPM6938,RPM6938有三個引腳,一個接電源一個接地,另外一個接信號端,它集光電轉(zhuǎn)換,解調(diào)和放大于一體[20]。當(dāng)收到38KHz調(diào)制紅外線時,RPM6938輸出為“0”,平時輸出為“1”。,當(dāng)RPM6938收到第一個紅外脈沖時,觸發(fā)INT1產(chǎn)生中斷,使單片機(jī)退出低功耗狀態(tài),進(jìn)入工作狀態(tài),同時使記數(shù)器0和定時器1開始工作 [21] 紅外接收電路 完整的系統(tǒng)電路設(shè)計圖 完整的電路圖見附錄1 4 系統(tǒng)軟件設(shè)計此系統(tǒng)是一個紅外遙控發(fā)射器,設(shè)計目的就是根據(jù)按鍵的不同,發(fā)射出不同的紅外信號。傳統(tǒng)的遙控器都是采用遙控發(fā)射專用集成芯片,例如飛利浦公司生產(chǎn)專用芯片SAA3010,三菱公司生產(chǎn)的M50462P專用發(fā)射芯片。由于這些芯片的功能鍵數(shù)及功能受到特定的限制,只適合于某一專用電器產(chǎn)品的應(yīng)用,應(yīng)用范圍受到限制。本系統(tǒng)采用單片機(jī)制作,采用編程的方法,由于編程具有靈活性,故應(yīng)用范圍較廣,操作碼可隨意設(shè)定[22]。本系統(tǒng)采用的是按紅外發(fā)射頻率的不同,來識別不同的按鍵。操作鍵設(shè)定為8個,K0至K7。對應(yīng)的紅外發(fā)射頻率分別為300Hz、600 Hz、900 Hz、1200 Hz、1500 Hz、1800 Hz、2100 Hz、2400 Hz。發(fā)射時間確定為一個定值,由定時器1來定時,時間為100ms,當(dāng)100ms時間到定時器1發(fā)生中斷,停止計時,紅外光也停止發(fā)射。由定時/計數(shù)器0來控制發(fā)射頻率,T0作為定時器,當(dāng)T0定時時間到,然后T0重新工作定時值與前相同,如此往復(fù),紅外信號就按一定的時間間隔發(fā)射出去。通過設(shè)定T0的定時時間來控制紅外信號的發(fā)射頻率[23]。平時遙控器工作在空閑方式下,當(dāng)有鍵按下時,由外部中斷1產(chǎn)生中斷,使CPU回到工作狀態(tài),待執(zhí)行完操作后又回到低功耗才狀態(tài)。主程序主要由初始化程序、鍵盤掃描程序,定時器0中斷服務(wù)程序、定時器1中斷服務(wù)程序,外部中斷1中斷服務(wù)程序組成。主程序流程圖如下: START調(diào)初始化程序進(jìn)入低功耗節(jié)電方式外部中斷1中斷CPU退出低功耗方式T0時間到T1時間到關(guān)T0、T1 調(diào)延時程序K1鍵是否按下K2鍵是否按下K1鍵是否松開啟動定時器T1定時50msK3鍵是否按下調(diào)延時程序 N N N … Y Y Y .… … … N Y N Y N Y 遙控發(fā)射主程序流程圖當(dāng)K2至K7鍵按下時,執(zhí)行的程序類似于按下K1鍵所執(zhí)行的程序。 偽指令和初始化程序 在初始化程序前,需要定義一些相關(guān)的偽指令,偽指令不能命令CPU執(zhí)行某中操作,也沒有對應(yīng)的機(jī)器代碼,它的作用僅用來給匯編程序提供某中信息。偽指令是匯編程序能夠識別的匯編命令?!狵7來定義;各頻率紅外信號對應(yīng)的定時器T0的初值分別用K0H、K0L——K7H、K7L來定義,這樣做不影響整個程序的執(zhí)行,但便于閱讀和理解程序。定義格式如下:K0 BIT … K7 BIT 、600 Hz、900 Hz、1200 Hz、1500 Hz、1800 Hz、2100 Hz、2400 Hz,而T1的定時時間是50ms故在這七種狀態(tài)下面,、30次、45次、60次、75次、90次、105次、120次。故定時器T0對應(yīng)的定時時間分別為50ms/150ms/50ms/450ms/60、50ms/750ms/90、50ms/1050ms/120,即分別為:、、。由前述定時器初值計算方法可算出各狀態(tài)定時器的初值。定時器T1的定時初值計算如下:由于工作在方式一,時鐘頻率為12MHz,故定時最大值M為65536初值 X=M—定時值/T X=65536—50000/1=15536即T1的初值為15536,轉(zhuǎn)化為十六進(jìn)制為3CB0H各情況下,定時T0的定時初值計算如下:當(dāng)按下K0鍵時,此時定時器初值為 X0= 65536—3330/1=62206 轉(zhuǎn)化為十六進(jìn)制為0F2FEH當(dāng)按下K1鍵時,此時定時器初值為 X1=65536—1670/1=63866 轉(zhuǎn)化為十六進(jìn)制為0F97AH 當(dāng)按下K2鍵時,此時定時器初值為 X2=655361110/1=64426 轉(zhuǎn)化為十六進(jìn)制為0FBAAH當(dāng)按下鍵K3時,此時定時器初值為 X3=65536833/1=64703 轉(zhuǎn)化為十六進(jìn)制為0FCBFH當(dāng)按下鍵K4時,此時定時器初值為 X4=65536667/1=64869 轉(zhuǎn)化為十六進(jìn)制為0FD65H當(dāng)按下鍵K5時,此時定時器初值為 X5=65536556/1=64980 轉(zhuǎn)化為十六進(jìn)制為0FDD4H當(dāng)按下鍵K6時,此時定時器初值為 X6=65536476/1=65060 轉(zhuǎn)化為十六進(jìn)制數(shù)為0FE24H當(dāng)按下鍵K7時,此時定時器初值為 X7=65536417/1=65119 轉(zhuǎn)化為十六進(jìn)制數(shù)為0FE5FH 為了便于理解源程序,各種情況下定時器的初值采用K0H—K7H和K0L—K7L來表示,分別存入定時器的高8位和低8位。采用賦值偽指令EQU,格式如下:K0H EQU 0F2HK0L EQU
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1