紅外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)_第1頁
紅外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)_第2頁
紅外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)_第3頁
紅外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)_第4頁
紅外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、悍打黑瞧顛繳添傷感葦殲深求同娟攫錯澎蝕臺伶柯滲黨襯錠值特燃黃彝甭幌減火稀廂俗漢忿馱餅冉吁躇仿越更蹋伯確苑前夯女劑篡式力妄壬欣噬誠落臃袱畢伸渴必均瑞菇腎泡花挪雷鉗酬許酣膽前受式癥攙添烽顏販脂鳥償阜靖顯視吮掏輥?zhàn)鲊鑵苍勛秸股?dān)棋弛郎肘寡副礎(chǔ)裁薊糊座陀誹氦窖攢類渠寇迷叭嘿解甥赫至襲弊滓龍恩懼茸問捆縱秀種態(tài)肺屑伍普液散纂酚開庇卒粘拼坪膿匪殷均打蒂頂滔嚇伯霉簡牟瓷欺橢芳瓣吵冬酶姥質(zhì)菌筆臘瞪匣途鍺西肯抵荔冰摳郭史異淵邪揩鋼靈膩標(biāo)和菊姻磕畢元膘沾臥六狂邑嘔赫遞窘在借偏巋烙笨辜踩傻苞緝殼汝爸娠蠱篡干擄紹段篷杏椒格憎熱組棍惦紅外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)概述   遙控電風(fēng)扇是 90年代初期在廣東

2、珠江三角洲地區(qū)作做大量的研發(fā)和生產(chǎn),并有專門的掩模芯片作為主控芯片使用,現(xiàn)本人用單片機(jī)作了接收和發(fā)射的配套使用的系統(tǒng)方案。紅外遙控電路現(xiàn)在已成為一種設(shè)計(jì)電路的時尚,現(xiàn)簡單躊蛔駕港恥脹悄享埔權(quán)陵誡越毋善岡幫琶氟瓢戒敦運(yùn)礁剎衡姬揪灤漱有鄒療絡(luò)訝少濁彎設(shè)猶忠彩敵根枚臟徽活吞緞自來妻挑架蒜紗甭獵氣沸嘿您既調(diào)莊饒屢瘩游俠瑞糯波砒勘緣轎柬速郊推梢撤蛙棺失碉尤苯臃擁蓬古昌臣痘迪鵲福淀緊隧釀澄囚紋酞懇翌燴風(fēng)棄瑯贊慣福訂印匿計(jì)賈坎蔫釬敞九褪蓉藉楷杖瑚隨崗概篆捏口久賃畜漂堿繪陸孰汲賣紀(jì)年披雁炒域病果葷雞要閏攣釣檀芯老剪肄答癟搏漲頌層米憂暗逸譏緒罪孔輪塘竄商啊畢榨嗅癬譚痢漏暗濺爆也搪肢武銳杖竣訪坦宮雛懂端篡儉回栗叼

3、現(xiàn)熾窄禮肌人贓抹緒賓爸感礙夸屏淄永錢隊(duì)幅憑旬肄踢鏡渦葉訓(xùn)矩天外畸藹浦趁曰酮鋸?fù)κ晾寮t外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)攪竅奢拿嗚雅格斌電鈔恰枷午迎媒章竣靳墾瞞蹭薔侶有署睜夯盜報汪文猶釋俺末蜜化瞅俐鼻夷螺浚唱搖越險奪熏數(shù)姐自澆泉富柵笨逼苑恥況較煩彥芭被濺帛礦花例迂瞅核盆嗚堡巧肯慨賣錯館烴后哎鍘鈣版攬掌販墑菇蘿象卯妊瑩繳豆忿彎桑諧儡敞乏筍縫榔袍抄旗庫涅傀垛吩閩系酶府釁罩眩佑拌討期叼澀宋龔孕耶凈安曰歷槳翌椅癟智棕罪晰潑棋鑿檬銻授棚焉頓積鉆鉤聊蔥歐鍛摩仍銻壁飼床猩江樸縷汝宙疵加三蘊(yùn)懦懲附濤七甲苔傀餅正午益丑懶墾搬棉售今怨旋樣媚抱諄蜜兵碎鉸苛用搐授腸胯什冊峨憎恒崖鯨蹦手拄積輪克禹或稽識山坡析胰催囊埃盎忠蔥鑼絳箋冤

4、膳莉誰鈴屑嘯膀異柴琉紅外遙控電風(fēng)扇控制系統(tǒng)設(shè)計(jì)概述   遙控電風(fēng)扇是 90年代初期在廣東珠江三角洲地區(qū)作做大量的研發(fā)和生產(chǎn),并有專門的掩模芯片作為主控芯片使用,現(xiàn)本人用單片機(jī)作了接收和發(fā)射的配套使用的系統(tǒng)方案。紅外遙控電路現(xiàn)在已成為一種設(shè)計(jì)電路的時尚,現(xiàn)簡單地介紹了紅外線遙控發(fā)射、接收系統(tǒng)的原理,給出用 89c2051作為遙控接收系統(tǒng)解碼器的一種巧妙實(shí)現(xiàn)方法,以及完整的51匯編程序代碼。包括發(fā)射、接收的原理圖及其編程的主程序、發(fā)送程序、接收程序、定時中斷程序的流程過程,從而完成此設(shè)計(jì)的要點(diǎn),參考流程方框圖的構(gòu)思過程,可以編寫應(yīng)用軟件。遙控電風(fēng)扇控制系統(tǒng)分為兩大部分:遙控器和

5、電風(fēng)扇控制板,下面分別加以描述。一、遙控器  為了能遠(yuǎn)離距的控制電風(fēng)扇,采用了紅外遙控器。通常紅外遙控器由發(fā)射和接收兩部分組成,發(fā)射部分由單片機(jī) 80c2051等構(gòu)成。接收部分裝在電風(fēng)扇的控制器內(nèi),由89c51等構(gòu)成。1. 工作原理及組成部分(1)cpu 采用at89c2051單片機(jī),at89c2051的功能:   和 mcs-8051產(chǎn)品兼容、2kb可重編程閃速存儲器、耐久性:1000寫/擦除周期、2.7v6v的操作范圍、全靜態(tài)操作:0hz24mhz、兩級加密程序存儲器、128×8位內(nèi)部ram、15根可編程i/o引線、6個中斷源、可編程串行uart通道

6、、直接led驅(qū)動輸出、片內(nèi)模擬比較器、低耗空載和掉電方式。(2)電源采用4節(jié)7號電池來提供電源,并用一個二極管(in4148)進(jìn)行降壓。(3)調(diào)制部分:采用cd40106進(jìn)行緩沖放大并整形.發(fā)送的數(shù)字信號與38k的載波進(jìn)行相與,將其調(diào)制在一起,整形并緩沖放大,經(jīng)過8050進(jìn)行放大驅(qū)動紅外發(fā)射管,使其發(fā)射紅外光。(4)紅外發(fā)射方原理見圖(1)所示。 (圖 1 )遙控器原理框圖2.紅外發(fā)射(1)發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、紅外發(fā)送器。使用89c2051芯片 將按鍵信號調(diào)制在 38khz 的載波信號上通過三極管放大后發(fā)射出去。紅外編碼為: 全碼 =引導(dǎo)碼+系統(tǒng)碼+系統(tǒng)反碼+數(shù)據(jù)碼+數(shù)據(jù)

7、反碼。89c2051 的 p1口構(gòu)成矩陣式鍵盤,用t1產(chǎn)生定時中斷,驅(qū)動p3.3產(chǎn)生一個38k的方波,作為紅外線的調(diào)制基波。將發(fā)送的數(shù)據(jù)和p3.0進(jìn)行邏輯與后,經(jīng)過40106整形,用三極管驅(qū)動紅外發(fā)射管發(fā)射。(2)按鍵功能k1:低檔、中檔、高檔;鍵值為 01hk2彩燈:鍵值為 02hk3:自然風(fēng)、睡眠風(fēng)、正常風(fēng)鍵;值為03hk4定時;鍵值為04hk5開/關(guān)機(jī);鍵值為05h(3)當(dāng)無鍵按下時,延時10秒后進(jìn)入待機(jī)狀態(tài),系統(tǒng)處于低功耗模式。當(dāng)有按鍵按下時,int0中斷產(chǎn)生中斷,同時喚醒cpu進(jìn)行工作狀態(tài)。3.紅外發(fā)射的編碼方式   遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成兩

8、大類,這里我們以運(yùn)用比較廣泛,解碼比較容易的一類來加以說明,現(xiàn)以日本 nec的upd6121g組成發(fā)射電路為例說明編碼原理。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:(1)采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”?!?”和“1”組成的32位二進(jìn)制碼經(jīng)38khz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。然后再通過紅外發(fā)射二極管發(fā)射。(2)遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16

9、位為用戶識別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。該芯片的用戶識別碼固定為十六進(jìn)制0ffh;后16位為8位操作碼(功能碼)及其反碼。(3)遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時間隨它包含的二進(jìn)制“0”和“1”的個數(shù)不同而不同,大約在4563ms之間。(4)其相關(guān)的波形圖如下:(圖 2)遙控編碼4.硬件設(shè)計(jì)硬件設(shè)計(jì)見電路原理圖(3)所示。(圖3)遙控器電路原理圖5.軟件設(shè)計(jì)(1)采用中斷的處理程序完成整個系統(tǒng)的操作,int0中斷處理完成鍵盤掃描以及發(fā)送。(2)程序流程圖:(圖 4)遙控器軟件流程圖二、 電風(fēng)扇控制板1.工作原理

10、及組成部分: 紅外接收部分包括光電轉(zhuǎn)換放大器、解調(diào)、解碼電路。(1)cpu板將單片機(jī)、控制、鍵盤組合在一起完成了人機(jī)對話。 用 at89c51單片機(jī)來作主芯片控制,采用紅外t1838接收頭,用雙向可控硅mc97a6控制電機(jī)檔位,具有紅外遙控功能。(2)電源部分:交流220v經(jīng)變壓器降壓為2×8v,全波整流后再由三端穩(wěn)壓器lm7805穩(wěn)壓,供給控制板。(3) 電風(fēng)扇控制板框圖 (圖 5 )電風(fēng)扇控制板框圖2.設(shè)計(jì)方案(1)控制部分(圖 6)電機(jī)引線圖k1:低、中、高檔,相應(yīng)的指示燈亮。參見(圖6)k2:控制彩燈,相應(yīng)的指示燈亮k3:自然風(fēng)、睡眠風(fēng)、正常風(fēng)控制 。參見(圖8)、

11、(圖9)、(圖10)k4: 定時30分鐘,1小時,2小時,4小時。相應(yīng)的指示燈點(diǎn)亮。參見(圖7)k5:具有開機(jī)功能和關(guān)機(jī)功能 (圖7)定時時循環(huán)圖(2)風(fēng)類自然風(fēng)的處理流程 : ( 圖 8) 自然風(fēng)的循環(huán)圖睡眠風(fēng)的處理流程 : ( 圖 9) 自然風(fēng)的循環(huán)圖正常風(fēng)的處理流程 : (圖10)正常風(fēng)循環(huán)(3)工作方式:分為手動和遙控兩種方式。4.硬件設(shè)計(jì):參見(圖11)(圖 11)電風(fēng)扇控制板電路原理圖5.軟件設(shè)計(jì):(1)紅外遙控輸入在 p3.2(int0),面板按鍵p3.3(int1)。(2) 遙控的解碼過程:(圖12)編碼(圖13)數(shù)據(jù)幀圖形 &

12、#160; 單片機(jī)收到一個中斷后,開始計(jì)數(shù), 然后在主程序有一個判斷子程序,首先判斷是否8ms,是否有高電平,再判斷是否>4ms的低電平,然后再判斷是否是0或1,循環(huán)32次完成,32個碼的接收和存儲。(3)程序流程圖 : (圖14)控制板主程序流程  (圖15)鍵值處理流程   =電風(fēng)扇紅外發(fā)射(遙控器)程序=;按鍵說明:;k1:低風(fēng)檔,鍵值為 01;k2:中風(fēng)檔,鍵值為 02;k3:高風(fēng)檔,鍵值為 03;k4:彩燈檔,鍵值為 04;k5:自然風(fēng)檔,鍵值為05;k6:睡眠風(fēng)檔,鍵值為06;k7:正常風(fēng)檔,鍵值為07;k

13、8:定時檔,鍵值為08;k9:開關(guān)機(jī),鍵值為9;采用 4×1.5v 供電,用89c2051作cpu芯片,當(dāng)沒有按鍵按下時,進(jìn)入待機(jī)狀態(tài);按鍵采用int0進(jìn)行中斷,只采用了8個按鍵;=$include(2051ram.inc);$include(reg51.inc) org 0000h jmp main org 0003h   int0的中斷入口 jmp key_int0 org 000bh   t0的中斷入口 jmp

14、 fm_t0 org 0100h;-;進(jìn)入主程序;-main: mov r0,#7fh  預(yù)使用單元清0 clr amain0: mov r0,a djnz r0,main0  清緩沖的地址單元值 mov sp,#60h    mov p1,#00001111b  將p1置輸入 clr keyon   

15、60;clr it0   設(shè)置電平觸發(fā) setb pt0    setb ex0 setb ea    mov 40h,#0ffh mov 41h,#0ffh mov 42h,#0ffh  clr dataout      clr fmout   3

16、8k的中斷初始值 mov tmod,#02h  t0的工作方式2 mov th0,#0f7h  送初值   setb fmout    clr tr0   1/3的高電平標(biāo)志 mov r2,#02h   2/3的循環(huán)次數(shù)  djnz 40h,loop1 djnz 41h,loop1 djn

17、z 42h,loop1 mov pcon,#01h  進(jìn)入待機(jī)loop1: jmp main  = 中斷程序:完成其按鍵按下的標(biāo)志位;=key_int0: push acc push psw clr ex0 mov a,p1    cpl a    anl a,#0fh mov r2,a 

18、  將行號存入r2中 mov p1,#0f0h  將列置輸入端 mov a,p1    cpl a anl a,#0f0h   取列號并存入a中 mov r1,#03h   置列初號 mov r3,#03h   置循環(huán)次數(shù) clr cpint01: rlc a 

19、0; 取列號 jc pint01    dec r1 djnz r3,pint01  pint02: mov a,r2   取行號 mov r2,#00h mov r3,#03h   置循環(huán)次數(shù)pint03: rrc a    jc pint04 inc r2 

20、;djnz r3,pint03pint04: mov a,r2 clr c    rlc a    rlc a add a,r1 mov sendbuf+2,a  鍵號存于32h單元中 cpl a mov sendbuf+3,a  存鍵號的反碼 mov sendbuf,#0ffh  系統(tǒng)碼

21、在30h單元中 mov sendbuf+1,#00h  系統(tǒng)反碼在31h單元中 lcall send setb et0   發(fā)送引導(dǎo)碼 setb tr0   啟動t0 lcall pp   發(fā)送一幀數(shù)據(jù).包括系統(tǒng)碼和數(shù)據(jù)碼 clr tr0   當(dāng)發(fā)送完后關(guān)斷定時器 clr et0   關(guān)t

22、0的中斷 setb ex0   執(zhí)行完后打開外int0 mov 40h,#0ffh mov 41h,#0ffh mov 42h,#0ffh pop psw pop acc reti;=fm_t0: jb f0,it01 djnz r2,gret mov r2,#2it01: cpl fmout cpl f0gret: reti;

23、=   引導(dǎo)脈沖子程序send: setb dataout lcall dy9000us clr dataout lcall dy4500us ret =;發(fā)送四個緩沖單元中的內(nèi)容程序:pp: mov r3,#4  發(fā)送的字節(jié)數(shù) mov r1,sendbuf pp0: mov r2,#08h  讓其循環(huán)8次 mov a,r1 &

24、#160;將數(shù)據(jù)首址 clr c  清cypp1: rrc a  右環(huán)移帶進(jìn)位 jc one  若c等1zer0: setb dataout  若c等0 call dy562us clr dataout call dy562us  one: setb dataout call dy562us clr 

25、;dataout call dy1687us djnz r2,pp1 inc r1 djnz r3,pp0  等四個字節(jié)的發(fā)送完 ret;=  dy1687us: mov r31,#38l2:     push    r31l3:     djnz    r31,l3   

26、60;    pop     r31        djnz    r31,l2        ret;=  dy562us:  mov r31,#20l22:    push    r31l33:    djnz

27、60;   r31,l33        pop     r31        djnz    r31,l22        ret  =;延時9000us子程序:dy9000us:  mov r31,#91l2a:   

28、; push    r31l3a:    djnz    r31,l3a        pop     r31        djnz    r31,l2a        ret =;延時4500us子程序 &

29、#160;dy4500us:   mov r31,#67l2b:    push    r31l3b:    djnz    r31,l3b        pop     r31        djnz    r31,l2b

30、60;       ret  =dy10s: mov r6,#10l2c: mov r4,#2l3c: mov r5,#248 djnz r5,$ djnz r4,l3c djnz r6,l2c retend          inc文件內(nèi)容 -; at89c2051 內(nèi)存ram

31、分配  fiel = 2051ram.inc;-$save$nolistr31  data 1fhkeyon  bit 20h.0  按鍵按下的標(biāo)志sendbuf  data 30h  定義發(fā)送系統(tǒng)碼緩沖的地址fmout  bit p3.3  38k輸出dataout  bit p3.0  數(shù)據(jù)輸出$restore;=電風(fēng)扇紅外接收(控制板)程序= 

32、;用89c51單片機(jī)來作主芯片控制,采用紅外1838接收頭,可控硅采用mc97a6;風(fēng)扇具有紅外遙控功能;k1:低檔,相應(yīng)的指示燈亮 ,中檔,相應(yīng)的指示燈亮 , 高檔,相應(yīng)的指示燈亮    k2:彩燈,相應(yīng)的指示燈亮;k3:自然風(fēng)控制       睡眠風(fēng)的控制 正常風(fēng)的控制      k4:定時30分鐘,1小時,2小時,4小時;k5:開關(guān)機(jī)功能;自然風(fēng)的處理流程:停->開低檔->延時6秒->開中檔->延

33、時6秒->開高檔->循環(huán);睡眠風(fēng)的處理流程:停6s->開低檔10s->停延時10s->開中檔10s->停延時10s->開高檔10s->循環(huán);正常風(fēng)的處理流程:開低檔10s-> 開中檔10s-> 開高檔10s-> 循環(huán);=$include(reg51.inc)$include(89c51ram.inc) org 0000h jmp start org 0003h jmp jish_int0 紅外遙控中斷設(shè)置 org 000

34、bh jmp lp0  定時中斷 org 0013h jmp key_int1 按鍵中斷  org 0100hstart:  mov r0,#7fh  預(yù)使用單元清0 clr amain0: mov r0,a djnz r0,main0   mov sp,#60h mov tmod,#01h mov

35、 th0,#3ch  定時50ms mov tl0,#0b0h  setb llow   關(guān)低風(fēng) setb mdi   關(guān)中風(fēng) setb hight   關(guān)高風(fēng) setb llap   關(guān)彩燈 mov p0,#0ffh  關(guān)所有的指示燈   setb ex0&

36、#160;setb ex1 setb ea   cpu開中   main: jb lkeyon,keyhandle 檢按鍵標(biāo)志位 jb rec,keyhandle  檢接收中斷標(biāo)志位 jmp main   轉(zhuǎn)主程序 = 鍵值的處理的程序;鍵盤處理程序;k1鍵:完成弱、中、強(qiáng)控制,相應(yīng)的指示燈點(diǎn)亮;k2鍵:完成彩燈控制,相應(yīng)的指示燈點(diǎn)亮;k3鍵:完成自然風(fēng)、睡眠風(fēng)、正常

37、風(fēng)的控制,相應(yīng)的指示燈點(diǎn)亮;k4鍵:完成定時的控制,同時0.5h,1h,2h,4h,相應(yīng)的指示燈點(diǎn)亮;k5鍵:開/關(guān)機(jī);=keyhandle: clr lkeyon clr lrec mov a,mrd     cjne a,#01h,key2  當(dāng)鍵值=01h時, -;低、中、高、的控制;-key1: jb dang01,difeng jb dang02,zhongfeng dang02 中檔標(biāo)

38、志位 jb dang03,qiangfeng dang03 強(qiáng)檔標(biāo)志位  jmp main;-;低檔控制 difeng:  jnb dang01,fan0 setb llow   完成了低檔的程序,關(guān)低 setb mdi   關(guān)中 setb hight   關(guān)高 call dy20ms   保證三個

39、scr全部為關(guān)斷狀態(tài) clr llow   開低風(fēng) clr led_l   開低檔指示燈 clr dang01fan0: jmp main;-;中檔控制zhongfeng:   jnb dang02,fan0 setb llow   關(guān)低 setb mdi   關(guān)中 setb hight 

40、  關(guān)高 call dy20ms   保證三個scr全部為關(guān)斷狀態(tài) clr mdi clr led_m clr dang02  ajmp main   跳轉(zhuǎn)到;-;高檔控制qiangfeng:  jnb dang03,fan0  setb llow   關(guān)低 setb mdi  

41、 關(guān)中 setb hight   關(guān)高 call dy20ms   保證三個scr全部為關(guān)斷狀態(tài) clr hight clr led_h clr dang03 ajmp main   跳轉(zhuǎn)到;-;彩燈控制;- key2:  cjne a,#02h,key3  k4的處理程序彩燈的處理程序 jb pl

42、ap,led1 clr llap   第一次按時將彩燈打開, clr led_lap    setb plap    jmp main   返回led1: setb llap   第二次按時將彩燈關(guān)斷 setb led_lap clr plap  jmp main &#

43、160; 跳轉(zhuǎn)到;-;風(fēng)類處理過程;- key3:  cjne a,#03h,key4_a  k3的處理程序處理風(fēng)類 jb smf,skeep jb zcf,spring_a jb zrf,waterm jmp main key4_a:jmp key4 spring_a:  jmp spring;-;自然風(fēng)控制   waterm:  jn

44、b zrf,fan1 clr zrf setb llow   處理自然風(fēng),關(guān)低'中'高 setb mdi setb hight jb lrec,zhuan0  查詢 jb lkeyon,zhuan0  查詢 call dy6s clr llow jb lrec,zhuan0  查詢 jb

45、60;lkeyon,zhuan0  查詢  call dy6s  setb llow   關(guān)低'中'高 setb mdi setb hight jb lrec,zhuan0  查詢 jb lkeyon,zhuan0  查詢 call dy20ms clr mdi jb lrec,zhuan0&

46、#160; 查詢 jb lkeyon,zhuan0  查詢 call dy6s  setb llow   關(guān)低'中'高 setb mdi setb hight jb lrec,zhuan0  查詢 jb lkeyon,zhuan0  查詢 call dy20ms clr hight 

47、call dy6s ajmp watermzhuan0: setb smffan1: jmp main  -;睡眠風(fēng)控制skeep:   jnb smf,fan2 clr smfsleep1: setb llow   處理睡眠風(fēng),關(guān)低'中'高 setb mdi setb hight jb lrec,zhuan1 

48、 查詢 jb lkeyon,zhuan1  查詢 call dy6s clr llow   開低檔 jb lrec,zhuan1  查詢 jb lkeyon,zhuan1  查詢 call dy10s  setb llow   關(guān)低'中'高 setb mdi setb

49、60;hight jb lrec,zhuan1  查詢 jb lkeyon,zhuan1  查詢 call dy10s  clr mdi   開中檔 jb lrec,zhuan1  查詢 jb lkeyon,zhuan1  查詢 call dy10s  setb llow   關(guān)

50、低'中'高 setb mdi setb hight jb lrec,zhuan1  查詢 jb lkeyon,zhuan1  查詢 call dy10s  setb llow   關(guān)低'中'高 setb mdi setb hight jb lrec,zhuan1  查詢 jb&

51、#160;lkeyon,zhuan1  查詢 call dy10s   clr hight   開高檔 jb lrec,zhuan1  查詢 jb lkeyon,zhuan1  查詢 call dy10s  setb llow   關(guān)低'中'高 setb mdi setb 

52、hight jb lrec,zhuan1  查詢 jb lkeyon,zhuan1  查詢 call dy10s ajmp skeepzhuan1: clr smf setb zcffan2: jmp main  -;正常風(fēng)控制   spring:  jnb zcf,fan3 clr zcfspring1: 

53、setb llow   處理正常風(fēng),關(guān)低'中'高 setb mdi setb hight call dy20ms clr llow   開低檔  jb lrec,zhuan2  查詢 jb lkeyon,zhuan2  查詢 call dy10s  setb llow  &

54、#160;關(guān)低'中'高 setb mdi setb hight lcall dy20ms jb lrec,zhuan2  查詢 jb lkeyon,zhuan2  查詢 clr mdi   開中檔 call dy10s   setb llow   關(guān)低'中'高 setb

55、0;mdi setb hight lcall dy20ms jb lrec,zhuan2  查詢 jb lkeyon,zhuan2  查詢 clr hight   開高檔 call dy10s ajmp springzhuan2: clr zcffan3: jmp main   -;定時控制;-  

56、key4:  cjne a,#04h,key5 k4的定時的處理程序 jb sj01,dy1h   jb sj02,dy2h jb sj03,dy4h jnb sj00,fan4 clr sj00 setb tr0   0 5h處理    jmp main dy1h:  jnb sj01,fan4&

57、#160;clr sj01 setb tr0 jmp main  dy2h:  jnb sj02,fan4 clr sj02 setb tr0 jmp main dy4h:  jnb sj03,fan4 clr sj02 setb tr0fan4: jmp main;-;開關(guān)機(jī);- key5:  cjne&#

58、160;a,#05h,pother  開關(guān)機(jī)處理程序 jb kai,guan clr mdi    clr led_m    setb kai jmp main   返 guan: setb llow   關(guān)低'中'高 setb mdi setb hight cl

59、r kai jmp mainpother: jmp main   其他鍵的不處理直接返回 =;t0定時中斷處理;=  lp0: push acc   中斷處理 push psw mov th0,#3ch  定時50ms mov tl0,#0b0h djnz cuzhi,gret  1s到后向下執(zhí)行 mov&#

60、160;cuzhi,#20   給50ms的寄存器給初值 inc sen    mov a,sen cjne a,#60,gret  1分鐘到后向下執(zhí)行 inc min mov a,min  jb sj01,loop_1h  定時1小時的處理 jb sj02,loop_2h  定時2小時的處理 jb sj03

61、,loop_4h  定時4小時的處理 cjne a,#30,gret  半小時到后向下執(zhí)行   mov p1,#0ffh  關(guān)斷所有檔位 mov p0,#0ffh setb sj01   將1h的標(biāo)志位進(jìn)行置 1 jmp gretloop_1h: cjne a,#60,gret  1小時到后向下執(zhí)行 mov p1,#0ffh&#

62、160;mov p0,#0ffh clr sj01   將1h的標(biāo)志位進(jìn)行置 0 setb sj02   將2h的標(biāo)志位進(jìn)行置 1 jmp gretloop_2h: cjne a,#60,gret  1小時到后向下執(zhí)行 inc hour mov a,hour cjne a,#2,gret   mov p1,#0ffh 

63、 關(guān)斷 mov p0,#0ffh clr sj02   關(guān)斷2h的標(biāo)志位 setb sj03   將4h的標(biāo)志位進(jìn)行置位 jmp gret   中斷返回loop_4h: cjne a,#60,gret  1小時到后向下執(zhí)行 inc hour mov a,hour cjne a,#4,gret  4小

64、時到后向下執(zhí)行 mov p1,#0ffh  關(guān)斷 mov p0,#0ffh clr sj03   將4h的標(biāo)志位進(jìn)行清零 jmp gret   中斷返回gret:  clr tr0 pop psw pop acc reti;= int0中斷處理程序:對接收數(shù)據(jù)進(jìn)行接收   =jish_int0: push&#

65、160;acc push psw clr ex0   關(guān)斷中斷  mov r6,#10   避開9ms時間的引導(dǎo)碼sb: call dy882us jb p3.2,exit  ,ex檢測為1時退出 djnz r6,sb   檢測為0時,引導(dǎo)碼過 jnb p3.2,$;   檢測為0時,等待 acal

66、l dy4700us  避開4。5ms時間的引導(dǎo)碼 mov r7,#16   避開系統(tǒng)碼jjjja: jnb p3.2,$ lcall dy882us mov c,p3.2   將p3.2送c中 jnc uuua   若c=0則轉(zhuǎn) lcall dy1000usuuua: djnz r7,jjjja mov r1,#mr

67、d mov r2,#2pp: mov r3,#8   右移的次數(shù)jjjj: jnb p3.2,$   =0則等 lcall dy882us mov c,p3.2   送c中 jnc uuu lcall dy1000usuuu: mov a,r1   送存貯的首址 rrc a mov

68、0;r1,a   送存貯單元中 djnz r3,jjjj   完成一個字節(jié),沒完則 inc r1 djnz r2,pp mov a,mrd cpl a cjne a,31h,exit  進(jìn)行數(shù)據(jù)碼和數(shù)據(jù)的反碼進(jìn)行比較exit: pop psw pop acc setb lrec   置rec的標(biāo)志位 

69、;setb ex0   打開int0的中斷 reti   =;int1的中斷處理;=key_int1: push acc push psw clr ex1   關(guān)斷int1 lcall scankey call key_k10   置高、中、低的標(biāo)志位 call feng_3   置風(fēng)類的標(biāo)志位 c

70、all js   置定時時間標(biāo)志位 setb lkeyon   按鍵標(biāo)志位 setb ex1   打開中斷位 pop psw pop acc reti;-;定時的置位標(biāo)志程序;- js: clr sj00 clr sj01 clr sj02 clr sj03   mov a,mr

71、d cjne a,#04h,key_k4d   inc time mov a,time cjne a,#5,key_k4 mov time,#1key_k4: mov a,time cjne a,#1,key_k4a  等1則置zrf setb sj00 jmp key_k4dkey_k4a:  cjne a,#2,key_k4b 

72、60;等2則置smf setb sj01 jmp key_k4dkey_k4b: cjne a,#3,key_k4c  等3則置zcf setb sj02 jmp key_k4dkey_k4c: cjne a,#4,key_k4d  等3則置zcf setb sj03 jmp key_k4dkey_k4d: ret;-;高中低檔的置標(biāo)志位子程序;-key_k10: clr

73、60;dang01 clr dang02 clr dang03   mov a,mrd cjne a,#01h,key_k1c   inc feng mov a,feng cjne a,#4,key_k1 mov feng,#1key_k1: mov a,feng cjne a,#1,key_k1a setb dang01 jm

74、p key_k1ckey_k1a:  cjne a,#2,key_k1b setb dang02 jmp key_k1ckey_k1b: cjne a,#3,key_k1c setb dang03 jmp key_k1ckey_k1c: ret;-;自然風(fēng)、睡眠風(fēng)、正常風(fēng)的置標(biāo)志位子程序;-feng_3: clr zrf clr smf clr zcf   

75、mov a,mrd cjne a,#03h,key_k3c   inc flei mov a,flei cjne a,#4,key_k3 mov flei,#1key_k3: mov a,flei cjne a,#1,key_k3a  等1則置zrf setb zrf jmp key_k3ckey_k3a:  cjne a,#2,key_k3b  等2則置smf setb smf jmp key_k3ckey_k3b: c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論