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

正文內(nèi)容

基于單片機(jī)的紅外遙控窗簾設(shè)計論文(含c語言源程序)-預(yù)覽頁

2025-02-11 14:28 上一頁面

下一頁面
 

【正文】 近幾年來,隨著科學(xué)技術(shù)的發(fā)展和人民生活水平的日益提高,城市建設(shè)步伐的加快,一棟棟居民樓、寫字樓、賓館拔地而起。 From ordinary to high performance , multifunctional type??垢蓴_技術(shù)有:指令冗余、攔截技術(shù)、軟件陷阱的設(shè)計、軟件“看門狗”技術(shù)等。所以討論的重點(diǎn)也就是這些個方面。從始初的晶體管、到電子管;由模擬到數(shù)字;由分立元件到集成電路;從普通向高性能、多功能型;由手動控制向紅外線遙控、向智能化發(fā)展。家用電器產(chǎn)品也在不斷的更新?lián)Q代。紅外遙控的重點(diǎn)就在紅外發(fā)送和接收及編碼與解碼問題。接口方面主要介紹單片機(jī)的串口。 From the discrete ponent to the integrated circuit。它的性能不斷提高,適用范圍越來越寬,在計算機(jī)應(yīng)用領(lǐng)域已占有日益重要的地位[1]。但價格相當(dāng)昂貴,不能普及。該窗簾控制器采用89C2051單片機(jī)的最小系統(tǒng)設(shè)計,控制一個220V的可逆、直流電動機(jī)控制窗簾的拉開和關(guān)閉。2 概述隨著電子科學(xué)技術(shù)的發(fā)展,遙控技術(shù)在高科技研究、工農(nóng)業(yè)生產(chǎn)、通訊技術(shù)、軍事技術(shù)、家用電器等諸多領(lǐng)域得到了廣泛地應(yīng)用,特別是隨著各類遙控專用集成電路的不斷問世,使得各類遙控設(shè)備的性能也更加優(yōu)越可靠,功能更加完善[3]。隨著科學(xué)的發(fā)展,社會的進(jìn)步,人民生活水平的提高,工作壓力也越來越大,人人都希望回到家或是在辦公室都有一個舒適的環(huán)境。紅外線遙控是目前應(yīng)用最廣泛的一種通信和遙控手段。但價格相當(dāng)昂貴,不能普及。單片機(jī)的發(fā)展經(jīng)歷了四個階段。(2) 適用于儀器儀表,不僅能完成測量,還具有處理、監(jiān)控等功能,易于實(shí)現(xiàn)數(shù)字化和智能化。它對我國許多產(chǎn)品的升級換代、工廠企業(yè)的設(shè)備更新都將起著十分巨大的作用。同時接收機(jī)要能夠在足夠遠(yuǎn)的距離上接收到準(zhǔn)確的控制信號,起到控制電路工作的作用。 單通道遙控開關(guān)電路的紅外線發(fā)射控制電路是利用脈沖發(fā)生器產(chǎn)生的高頻脈沖方波驅(qū)動紅外發(fā)光管,使其發(fā)射出一系列等幅的紅外方波脈沖。這對于使用干電池作電源的發(fā)射機(jī)是很有實(shí)用價值的。這不僅是由于發(fā)射機(jī)的發(fā)射功率一般都小的原因,而更重要的是因?yàn)榧t外線具有可見光的散射特性,在經(jīng)過一段距離后它的發(fā)射面積增大,使控制信號的能量分散,單位面積上的能量強(qiáng)度減弱,因而失去控制功能。 3 紅外遙控電路原理及編碼解碼通常紅外遙控系統(tǒng)由發(fā)射和接收兩部分組成,應(yīng)用編/解碼電路專用集成電路芯片來進(jìn)行控制操作,發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、紅外發(fā)送器。 控制系框圖下面介紹一款用AT89C2051單片機(jī)來實(shí)現(xiàn)的遙控裝置。T1定時溢出,中斷程序關(guān)閉T0定時器,停止紅外線發(fā)射。下面介紹另外一種編碼方法:遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成脈沖寬度調(diào)制和脈沖相位調(diào)制兩大類。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為100ms。代碼格式(以接收代碼為準(zhǔn),接收代碼與發(fā)射代碼反向)①位定義    2. 2. 根據(jù)碼的格式,[6]。當(dāng)收到遙控發(fā)射器送來的紅外脈沖信號時,接收頭的第腳輸出低電平(脈沖信號)。 經(jīng)過串并轉(zhuǎn)換,我們得到了8位并行遙控碼。因此,我們想尋求一種不占用儀器CPU的軟、硬件資源而實(shí)現(xiàn)遙控的方法,使鍵盤輸入和遙控輸入統(tǒng)一起來,占用同一個端口、同一個中斷、同一個中斷服務(wù)程序。在這種方式下,CPU通過輸出指令使鍵盤矩陣的行掃描線依次為“0”(低電平),同時監(jiān)測鍵盤矩陣的列掃描線。這樣就將遙控鍵盤和本機(jī)鍵盤統(tǒng)一起來,二者的鍵數(shù)和鍵功能定義都一樣,一個相同的鍵在遙控器上按下和在本機(jī)鍵盤上按下對CPU而言沒有任何區(qū)別,只不過對鍵盤矩陣來說前者是軟接觸,后者是硬接觸。EPROM就是一種與陣列固定、或陣列可編程的邏輯器件。根據(jù)這個原理,選用4K8EPROM2732,可以實(shí)現(xiàn)任意12變量輸入、8變量輸出的組合邏輯函數(shù)。當(dāng)遙控器上沒有按鍵按下時,EPROM2732的端為“1”,使得2732的數(shù)據(jù)線D0~D4為高阻態(tài)與鍵盤矩陣線脫離,而本機(jī)鍵盤的掃描與讀出照常進(jìn)行不受影響,若遙控器上有鍵按下時,經(jīng)紅外發(fā)射、接收對應(yīng)的8位遙控碼出現(xiàn)在74HC595的輸出端,并作為EPROM2732的A0~A7輸入,此時的行掃描碼(CPU發(fā)出)作為A8~A11輸入,2732的端為低電平,讀出A0~A11指定單元的數(shù)據(jù),將其中D0~D4放在鍵盤矩陣列線上。程序流程圖下:解碼程序在比較器中斷服務(wù)程序中實(shí)現(xiàn)??梢栽O(shè)一個變量來記錄同一個鍵值收到的次數(shù),當(dāng)它的記錄小于某一預(yù)定的值時,表示用戶在進(jìn)行同一操作。51子系列的主要功能為: 8為CPU。 程序存儲器的尋址范圍為64K字節(jié)。 1個全雙工串行I/O接口,可多機(jī)通訊。 有強(qiáng)的位尋址、位處理能力。與51子系列的不同在于:片內(nèi)數(shù)據(jù)存儲器增至256個字節(jié);片內(nèi)程序存儲器增至8KB(8032無);有3個16位定時器/計數(shù)器;有6個中斷源。見圖。 Vss:接+5V電源地端。 ~:P0口的8個引腳。可作為準(zhǔn)雙向I/O接口使用。當(dāng)然只要再加上兩根I/O口線即可輕易實(shí)現(xiàn)8位LED的顯示電路[7]。但74LS138電流驅(qū)動能力較小,為此,我們使用了未級驅(qū)動三極管2SA1015作為地址驅(qū)動。 ORG 0100H MOV SCON,00H 。 軟件抗干擾方法的研究 指令冗余若“飛” 到了三字節(jié)指令,出錯機(jī)率更大。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個字節(jié)以上的NOP。 通常用軟件陷阱來攔截亂飛的程序。 通常在EPROM中非程序區(qū)填入以下指令作為軟件陷阱: NOP最后一條應(yīng)填入020000,當(dāng)亂飛程序落到此區(qū),即可自動入軌。 軟件“看門狗”技術(shù) 在工業(yè)應(yīng)用中,嚴(yán)重的干擾有時會破壞中斷方式控制字,關(guān)閉中斷。用定時器T0監(jiān)視定時器T1,用定時器T1監(jiān)視主程序,主程序監(jiān)視定時器T0。在T0中斷服務(wù)程序中通過檢測T1Watch的變化情況判定T1運(yùn)行是否正常,在T1中斷服務(wù)程序中檢測MWatch的變化情況判定主程序是否正常運(yùn)行,在主程序中通過檢測T0Watch的變化情況判別T0是否正常工作。 非正常復(fù)位的識別 故對于微機(jī)測控系統(tǒng),當(dāng)程序正常運(yùn)行時,將SP設(shè)置地址大于07H,或者將PSW的第5位用戶標(biāo)志位在系統(tǒng)正常運(yùn)行時設(shè)為1。若用兩個單元作上電標(biāo)志,則這種判別方法的可靠性更高。當(dāng)系統(tǒng)正常運(yùn)行時,設(shè)置一可掉電保護(hù)的觀測單元。 正常開機(jī)復(fù)位與非正常開機(jī)復(fù)位的識別識別測控系統(tǒng)中因意外情況如系統(tǒng)掉電等情況引起的開機(jī)復(fù)位與正常開機(jī)復(fù)位,對于過程控制系統(tǒng)尤為重要。那么系統(tǒng)復(fù)位后可據(jù)此單元判系統(tǒng)原來的運(yùn)行狀態(tài),并跳到出錯處理程序中恢復(fù)系統(tǒng)原運(yùn)行狀態(tài)。三種工作方式可以方便地進(jìn)行選擇,當(dāng)選擇時間控制的方案時,數(shù)碼管還能顯示當(dāng)時小時和分鐘時間,不過時間數(shù)據(jù)只能順序顯示,顯示一遍后,略等片刻再顯示下一遍時間。同時經(jīng)過3端集成穩(wěn)壓器IC2穩(wěn)壓后輸出5V電壓VBB,為訊響電路、紅外接收電路、顯示電路提供電源,5V電源經(jīng)過二極管D限流電阻R18后,為單片機(jī)提供VCC電壓,E1是直流供電電源,電壓為3V~,在本電路中為了節(jié)省成本,使用兩節(jié)5號普通電池,C6和C7是單片機(jī)電源濾波電容。二極管D3用來提供C10的放電回路,保證交流信號的正常耦合。 ,該口對應(yīng)的第二功能是外部中斷0GM1可以使用光敏電阻或者光敏二極管,本電路中使用光敏二極管。電機(jī)執(zhí)行部分完全受單片機(jī)的控制。即便是在電機(jī)工作期間,操作了反向轉(zhuǎn)動按鍵,單片機(jī)也是先釋放當(dāng)前工作的繼電器,并延時一段時間后再吸合另外一個繼電器,防止了電機(jī)正反工作線圈同時通電的冒險。所以數(shù)碼管除顯示0~9數(shù)字外,還可以顯示軟件編輯的任意字符,數(shù)點(diǎn)用來指示工作狀態(tài)和不同的設(shè)置狀態(tài)。,本電路使用AT24C02完成對設(shè)置狀態(tài)和設(shè)置數(shù)據(jù)的儲存[17]。設(shè)置部分—輸入定時打開窗簾的時間;定時關(guān)閉窗簾的時間;輸入當(dāng)時的時間;開關(guān)整點(diǎn)報時功能;開關(guān)電機(jī)工作的時候聲音提示功能;設(shè)置電機(jī)運(yùn)行的時間長度;選擇定時、光控、手動控制的方式;查詢現(xiàn)在預(yù)設(shè)工作狀態(tài)和預(yù)設(shè)定時時間以及光控級別等。電機(jī)工作時間長度設(shè)置,是根據(jù)用戶窗簾的長度不同,設(shè)置對應(yīng)的電機(jī)一次運(yùn)行時間,保證在時控和光控狀態(tài)下窗簾拉開或者關(guān)閉到位。在此時如果開啟整點(diǎn)報時功能,一旦時鐘到達(dá)整點(diǎn),鳴響器發(fā)出聲音報時,長聲音表示10個點(diǎn),短促聲音表示一個點(diǎn)。需要在今后的工作學(xué)習(xí)當(dāng)中加強(qiáng)學(xué)習(xí)。感謝我們的專業(yè)課老師,沒有他們的悉心傳授,我們也完成不了整個設(shè)計。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會了基本的思考方式,掌握了通用的研究方法,而且還明白了許多待人接物與為人處世的道理。同時,也將祝福送給每一位幫助過我的師長。k1鍵輸出頻率600Hz417k2h equ 0fehk2l equ 0eah 。k5鍵輸出頻率1800Hz139k6h equ 0ffhk6l equ 089h 。定時器T1入口 AJMP intt1 org 0030hintt0: cpl mov a,r1mov th0,amov a,r2mov tl0,r2retiintt1: clr tr0clr et0clr tr1clr et1setb bzsetb retistart: MOV P1,0FFHmov p3,0ffhMOV TMOD,11H 。k1jnb k0,$ acall sett1mov r1,k1h mov r2,k1lacall sett0jnb bz,$ D02: jb k0,d03acall ysJb k0,d03 。k5jnb k0,$ acall sett1mov r1,k5h mov r2,k5lacall sett0jnb bz,$ D06: jb k0,d07acall ysJb k0,d07 。啟動T1計時setb et1 。0X01//程序復(fù)位defineSTORE_IRREAD_KEYRECEIVE0Xf400//接收緩沖開始地址define0xfa00//發(fā)送緩沖開始地址defineSCLP1_6unsigned char data *buf1。//接收到的數(shù)據(jù)實(shí)際長度unsigned char data *buf2。//要發(fā)送的數(shù)據(jù)實(shí)際長度bit buf1_flag。//用來標(biāo)志接收字符的狀態(tài),state1用來表示接收狀態(tài),state2用來表示發(fā)送狀態(tài)unsigned char data *ir。unsigned int data *p2[2]。 //union{unsigned char data *p1[2]。////union{ }count。unsigned char a[2]。unsigned int b。 unsigned char ir_key。 void ie_0(void)。void tf_2(void)。 void ir_exit(void)。 unsigned char read_byte_ack_iic(void)。 void send_nack_iic(void)。 void write_key_data(unsigned char a)。//判斷是否是溢出還是電平變化產(chǎn)生的中斷TF2=0。//如果是溢出產(chǎn)生的中斷則清除溢出位,重新開放中斷退出EA=1。*ir=RCAP2H。ir++。*ir=RCAP2L。*ir++。F0=1。TR0=1。//將計數(shù)器0重新置為零//查詢等待EXF2變?yōu)?if(TF0)go to exit。}。EXF2=0。//將EXF2清零//短脈沖數(shù)加一//返回繼續(xù)查ir++。*ir=RCAP2L。ir++。if(ir=0xda) {go to loop。ir_flag=1。//置ir_flag為1表示接收成功end:4{//sbuf1,sbuf2用來接收發(fā)送臨時用,rsbuf1,rsbuf2用來分別用來存放接收發(fā)送的半字節(jié)if(RI){sbuf1=SBUF。//將接收緩沖的字符復(fù)制到sbuf1state1=10。switch(state1){//把低半字節(jié)取反if(sbuf1==TAIL)for([0]=SP0x10。}state1=0。elsebuf1=RECEIVE。//初始化發(fā)送的地址buf1_flag=1。REN=0。}16
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1