版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《單片機(jī)應(yīng)用與仿真訓(xùn)練》設(shè)計(jì)報(bào)告</p><p> 基于單片機(jī)的遙控窗簾設(shè)計(jì)</p><p><b> 摘要</b></p><p> 隨著電子技術(shù)和自動(dòng)化技術(shù)的發(fā)展,人們對(duì)生活質(zhì)量的要求越來越高。家用電器產(chǎn)品也在不斷的更新?lián)Q代。從始初的晶體管、到電子管;由模擬到數(shù)字;由分立元件到集成電路;從普通向高性能、多功能型;
2、由手動(dòng)控制向紅外線遙控、向智能化發(fā)展。此次要設(shè)計(jì)的就是基于AT89S52單片機(jī)的紅外遙控窗簾。主要內(nèi)容就是利用AT89S52型單片機(jī)和紅外遙控裝置實(shí)現(xiàn)對(duì)直流可逆電機(jī)的遠(yuǎn)程控制,具體要求是控制窗簾的開關(guān)、利用直流電機(jī)正反轉(zhuǎn)實(shí)現(xiàn);防過卷功能;具有無線遙控和手動(dòng)按鍵控制兩種功能;能夠指示運(yùn)行狀態(tài)。主要方法是以單片機(jī)為控制核心,加上紅外發(fā)射電路以及一體化的紅外接收頭,在紅外發(fā)射軟件和紅外接收軟件的支持下,達(dá)到控制窗簾的目的。遙控器通過監(jiān)控指令鍵
3、盤的輸入讀出相應(yīng)的發(fā)射碼,軟件采用不同的脈沖寬度來對(duì)發(fā)射碼進(jìn)行編碼。單片機(jī)通過軟件對(duì)接收到的數(shù)據(jù)進(jìn)行解碼,還原出發(fā)送端的數(shù)據(jù),準(zhǔn)確地控制電動(dòng)機(jī)動(dòng)作。取得的結(jié)果是成功實(shí)現(xiàn)了利用遙控裝置發(fā)送信號(hào)給單片機(jī)來控制直流電機(jī)正反轉(zhuǎn)即停止,即實(shí)現(xiàn)控制窗簾的開關(guān)。同時(shí)也實(shí)現(xiàn)了具有無線遙控和手動(dòng)按鍵控制兩種功能并利用二極管指示運(yùn)行狀態(tài)。</p><p><b> 目錄</b></p><
4、p><b> 第一章 概述3</b></p><p><b> 1.1選題背景3</b></p><p><b> 1.2設(shè)計(jì)思路3</b></p><p> 1.2.1主要任務(wù)3</p><p> 1.2.2工作原理4</p><
5、;p> 1.2.3設(shè)計(jì)方案4</p><p> 第二章 系統(tǒng)總體方案及硬件設(shè)計(jì)5</p><p> 2. 1 AT89S52單片機(jī)的功能應(yīng)用5</p><p> 2.1.1 AT89S52主要性能5</p><p> 2.1.2 AT89S52引腳功能說明5</p><p> 2.
6、2 功能控制電路8</p><p> 2. 3 窗簾開關(guān)控制電路8</p><p> 第三章 遙控窗簾的軟件設(shè)計(jì)9</p><p> 3.1 指令冗余9</p><p> 3.2 攔截技術(shù)9</p><p> 3.3 系統(tǒng)故障處理、自恢復(fù)程序的設(shè)計(jì)10</p><p
7、> 3.4 非正常復(fù)位的識(shí)別10</p><p> 3.4.1 硬件復(fù)位與軟件復(fù)位的識(shí)別11</p><p> 3.4.2 開機(jī)復(fù)位與看門狗故障復(fù)位的識(shí)別11</p><p> 3.4.3 正常開機(jī)復(fù)位與非正常開機(jī)復(fù)位的識(shí)別12</p><p> 第四章 Proteus軟件仿真13</p>&
8、lt;p> 第五章 課程設(shè)計(jì)體會(huì)14</p><p><b> 參考文獻(xiàn):16</b></p><p> 附錄一:源程序代碼17</p><p><b> 第一章 概述</b></p><p> 窗簾其基本的作用無非是保護(hù)業(yè)主的個(gè)人隱私以及遮陽擋塵等功能,但傳統(tǒng)的窗簾您必須
9、手動(dòng)去拉動(dòng),每天早開晚關(guān)也是挺麻煩的,特別是別墅或復(fù)式房的大窗簾,比較重,而且長,需要很大的力量才能開關(guān)窗簾,很不方便;于是遙控電動(dòng)窗簾在最近幾年得到迅速發(fā)展,并廣泛應(yīng)用于智能大廈、高級(jí)公寓、酒店和別墅等領(lǐng)域,只要遙控器輕按一下,窗簾就自動(dòng)開合(百葉窗可以自動(dòng)旋轉(zhuǎn)),非常方便;采用智能控制系統(tǒng)還可以實(shí)現(xiàn)窗簾的定時(shí)開關(guān),場(chǎng)景控制等高級(jí)控制功能,真正讓窗簾成為現(xiàn)代家居的一道亮麗風(fēng)景線。</p><p><b&g
10、t; 1.1選題背景</b></p><p> 從1974年開始,單片機(jī)就以它的體積小、質(zhì)量輕、耗電省、可靠性高、價(jià)格低等特點(diǎn),開始不斷發(fā)展,并廣泛應(yīng)用于儀器儀表、家電電器、醫(yī)用設(shè)備、航天航空、專用設(shè)備的智能化管理及過程控制等領(lǐng)域。單片機(jī)的發(fā)展經(jīng)歷了四個(gè)階段。</p><p> 由此可預(yù)見單片機(jī)的發(fā)展趨勢(shì)將是向大容量、高性能話、外圍電路內(nèi)裝化等方面發(fā)展,也就是對(duì)CPU、存
11、儲(chǔ)器、片內(nèi)I/O的改進(jìn),低功耗,特別是系統(tǒng)的單片機(jī)是目前單片機(jī)發(fā)展的重要趨勢(shì)。而從目前國內(nèi)對(duì)單片機(jī)的需求來看:在未來幾年里,8位、16位單片機(jī)將是單片機(jī)的發(fā)展主流,它的新發(fā)展表現(xiàn)在:(1)CPU功能的增加 (2)內(nèi)部資源的增多 (3)引腳的多功能化 (4)低電壓、低功耗。</p><p> 正因?yàn)閱纹瑱C(jī)有著如此多的優(yōu)點(diǎn),單片機(jī)在工業(yè)控制中和家用電器等上的應(yīng)用中獨(dú)占鰲頭,故又稱為微控制器(Microcontrol
12、ler)</p><p><b> 1.2設(shè)計(jì)思路</b></p><p><b> 1.2.1主要任務(wù)</b></p><p> 課題名稱是“基于單片機(jī)的遙控窗簾設(shè)計(jì)”,課題設(shè)計(jì)的主要任務(wù)就是利用AT89S52型單片機(jī)和紅外遙控裝置實(shí)現(xiàn)對(duì)直流可逆電機(jī)的遠(yuǎn)程控制。</p><p> 1)控制
13、窗簾的開關(guān)、利用直流電機(jī)正反轉(zhuǎn)實(shí)現(xiàn)。</p><p><b> 2)防過卷功能。</b></p><p> 3)具有無線遙控和手動(dòng)按鍵控制兩種功能。</p><p> 4)能夠指示運(yùn)行狀態(tài)。</p><p><b> 1.2.2工作原理</b></p><p> 和
14、用電磁波用作無線電遙控的信號(hào)傳播媒介一樣,在紅外遙控電路中用紅外線作為紅外線遙控的信號(hào)傳播媒介。借助于紅外線具有直線傳播的特性,利用專用的紅外傳感器具有靈敏度高,響應(yīng)快和光譜范圍窄的性能,制成靈敏度高,抗干擾性能良好的紅外遙控裝置。利用單片機(jī)控制的紅外遙控電路,它是利用單片機(jī)的異步通訊口,用紅外發(fā)射口和紅外接收來實(shí)現(xiàn)發(fā)射和接收點(diǎn)信號(hào)功能。</p><p><b> 1.2.3設(shè)計(jì)方案</b>
15、;</p><p> 本系統(tǒng)以單片機(jī)為控制核心,加上紅外發(fā)射電路以及一體化的紅外接收頭,在紅外發(fā)射軟件和紅外接收軟件的支持下,達(dá)到控制窗簾的目的。遙控器通過監(jiān)控指令鍵盤的輸入讀出相應(yīng)的發(fā)射碼,軟件采用不同的脈沖寬度來對(duì)發(fā)射碼進(jìn)行編碼。單片機(jī)通過軟件對(duì)接收到的數(shù)據(jù)進(jìn)行解碼,還原出發(fā)送端的數(shù)據(jù),準(zhǔn)確地控制電動(dòng)機(jī)動(dòng)作。 </p><p> 第二章 系統(tǒng)總體方案及硬件設(shè)計(jì)</p>
16、<p> 2. 1 AT89S52單片機(jī)的功能應(yīng)用</p><p> 2.1.1 AT89S52主要性能</p><p> 1、與MCS-51單片機(jī)產(chǎn)品兼容;</p><p> 2、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器;</p><p> 3、1000次擦寫周期;</p><p> 4、全
17、靜態(tài)操作:0Hz-33MHz;</p><p> 5、三級(jí)加密程序存儲(chǔ)器;</p><p> 6、32個(gè)可編程I/O口線;</p><p> 7、三個(gè)16位定時(shí)器/計(jì)數(shù)器;</p><p><b> 8、六個(gè)中斷源;</b></p><p> 9、全雙工UART串行通道;</p&g
18、t;<p> 10、低功耗空閑和掉電模式;</p><p> 11、掉電后中斷可喚醒;</p><p> 12、看門狗定時(shí)器;</p><p><b> 13、雙數(shù)據(jù)指針;</b></p><p> 14、掉電標(biāo)識(shí)符 。</p><p> 2.1.2 AT89S52引腳
19、功能說明</p><p> AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT8
20、9S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷
21、或硬件復(fù)位為止。</p><p> AT89S52引腳圖 PLCC封裝</p><p> VCC/GND:電源/接地引腳;</p><p><b> Port 0:</b></p><p> P0是一個(gè)8位漏極開路型雙向I/O端口,端口置1(對(duì)端口寫1)時(shí)作高阻抗輸入端;P0還可以用作總線方式下的地址數(shù)據(jù)復(fù)用管腳
22、,用來操作外部存儲(chǔ)器。在這種工作模式下,P0口具有內(nèi)部上拉作用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收指令字節(jié)、校驗(yàn)程序、輸出指令字節(jié)時(shí),要求外接上拉電阻;</p><p><b> Port 1:</b></p><p> P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口,輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用;另外,P1.0、
23、P1.1可以分別被用作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和觸發(fā)輸入(P1.1/T2EX);對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收低8位地址信息;</p><p><b> Port 2:</b></p><p> P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口;輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用;P2口在存取外
24、部存儲(chǔ)器時(shí),可作為高位地址輸出;內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息;</p><p><b> Port 3:</b></p><p> P3是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口,輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p> P3引腳功能復(fù)用見下表</p&
25、gt;<p> P3.0 串行通訊輸入(RXD) </p><p> P3.1 串行通訊輸出(TXD) </p><p> P3.2 外部中斷0( INT0) </p><p> P3.3 外部中斷1(INT1) </p><p> P3.4 定時(shí)器0輸入(T0) &l
26、t;/p><p> P3.5 定時(shí)器1輸入(T1)</p><p> P3.6 外部數(shù)據(jù)存儲(chǔ)器寫選通WR </p><p> P3.7 外部數(shù)據(jù)存儲(chǔ)器寫選通RD </p><p> P3引腳功能復(fù)用如下:</p><p><b> RST:</b></p>
27、<p> 在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此管腳時(shí),將使單片機(jī)復(fù)位。只要這個(gè)管腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0—P3口均置1,管腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為ROM的00H處開始運(yùn)行程序;</p><p> XTAL1、XTAL2 :</p><p> XTAL
28、1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz至24MHz內(nèi)選擇,電容取30PF左右。</p><p><b> ALE/PROG:</b></p><p> 訪問外部存儲(chǔ)器時(shí),A
29、LE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié),即使不訪問外部存儲(chǔ)器,ALE端仍以不變的頻率輸出脈沖信號(hào)(此頻率是振蕩器頻率的1/6),在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),出現(xiàn)一個(gè)ALE脈沖;</p><p><b> PSEN:</b></p><p> 該引腳是外部程序存儲(chǔ)器的選通信號(hào)輸出端。當(dāng)AT89S52由外部程序存儲(chǔ)器取指令或常數(shù)時(shí),每個(gè)機(jī)器周期輸出2個(gè)脈沖,即兩
30、次有效。但訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),將不會(huì)有脈沖輸出;</p><p><b> EA/Vpp:</b></p><p> 外部訪問允許端。當(dāng)該引腳訪問外部程序存儲(chǔ)器時(shí),應(yīng)輸入低電平。要使AT89S52只訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH), 這時(shí)該引腳必須保持低電平;</p><p> 2. 2 功能控制電路</p&g
31、t;<p><b> 工原理作</b></p><p> 2. 3 窗簾開關(guān)控制電路</p><p><b> 工作原理:</b></p><p> 電機(jī)執(zhí)行部分完全受單片機(jī)的控制,通過單片機(jī)的P3.0和P3.1完成。單片機(jī)復(fù)位狀態(tài)下P1.0和P1.1輸出高電平,三極管V3、V2,V4、V5截止,兩
32、個(gè)繼電器J1、J2釋放狀態(tài),方向可逆的電動(dòng)機(jī)因無電源供電而停止。當(dāng)P1.0或者P1.1其中有一個(gè)被拉低后,兩個(gè)繼電器便會(huì)有一個(gè)導(dǎo)通,例如P1.0拉低后V1導(dǎo)通、V4導(dǎo)通,J1吸合,電機(jī)得電轉(zhuǎn)動(dòng),當(dāng)只有P3.1拉低后,電機(jī)則反方向轉(zhuǎn)動(dòng),實(shí)現(xiàn)了窗簾的拉開和關(guān)閉。</p><p> 兩個(gè)繼電器的工作狀態(tài)受單片機(jī)控制,在同一個(gè)時(shí)間內(nèi)兩個(gè)繼電器僅能有一個(gè)吸合。即便是在電機(jī)工作期間,操作了反向轉(zhuǎn)動(dòng)按鍵,單片機(jī)也是先釋放當(dāng)前
33、工作的繼電器,并延時(shí)一段時(shí)間后再吸合另外一個(gè)繼電器,防止了電機(jī)正反工作線圈同時(shí)通電的冒險(xiǎn)。</p><p> 第三章 遙控窗簾的軟件設(shè)計(jì)</p><p> 在工程實(shí)踐中,軟件抗干擾研究的內(nèi)容主要是: 一、消除模擬輸入信號(hào)的嗓聲(如數(shù)字濾波技術(shù));二、程序運(yùn)行混亂時(shí)使程序重入正軌的方法。本文針對(duì)后者提出了幾種有效的軟件抗干擾方法。 </p><p><b&
34、gt; 3.1 指令冗余</b></p><p> CPU取指令過程是先取操作碼,再取操作數(shù)。當(dāng)PC受干擾出現(xiàn)錯(cuò)誤,程序便脫離正常軌道“亂飛”,當(dāng)亂飛到某雙字節(jié)指令,若取指令時(shí)刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò)。若“飛” 到了三字節(jié)指令,出錯(cuò)機(jī)率更大。</p><p> 在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指
35、令和三字節(jié)指令后插入兩個(gè)字節(jié)以上的NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。</p><p> 此外,對(duì)系統(tǒng)流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。</p><p><b> 3.2 攔截技術(shù)<
36、;/b></p><p> 所謂攔截,是指將亂飛的程序引向指定位置,再進(jìn)行出錯(cuò)處理。通常用軟件陷阱來攔截亂飛的程序。因此先要合理設(shè)計(jì)陷阱,其次要將陷阱安排在適當(dāng)?shù)奈恢谩?lt;/p><p> (1)軟件陷阱的設(shè)計(jì)</p><p> 當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無法起作用。通過軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出錯(cuò)處理。軟件陷阱是指用來將捕
37、獲的亂飛程序引向復(fù)位入口地址0000H的指令。通常在EPROM中非程序區(qū)填入以下指令作為軟件陷阱:</p><p><b> NOP</b></p><p><b> NOP</b></p><p> LJMP 0000H</p><p> 其機(jī)器碼為0000020000。</p>
38、;<p><b> (2)陷阱的安排</b></p><p> 通常在程序中未使用的EPROM空間填0000020000。最后一條應(yīng)填入020000,當(dāng)亂飛程序落到此區(qū),即可自動(dòng)入軌。在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。當(dāng)使用的中斷因干擾而開放時(shí),在對(duì)應(yīng)的中斷服務(wù)程序中設(shè)置軟件陷阱,能及時(shí)捕獲錯(cuò)誤的中斷。如某應(yīng)用系統(tǒng)雖未用到外部中斷1,外部中斷1的中斷服務(wù)程序
39、可為如下形式:</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> RETI</b></p><p> 返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障診斷程序與系統(tǒng)自恢復(fù)程序的設(shè)計(jì)可靠、 完善
40、,用“LJMP 0000H”作返回指令可直接進(jìn)入故障診斷程序,盡早地處理故障并恢復(fù)程序的運(yùn)行。</p><p> 考慮到程序存貯器的容量,軟件陷阱一般1K空間有2-3個(gè)就可以進(jìn)行有效攔截。</p><p> (3)軟件“看門狗”技術(shù)</p><p> 若失控的程序進(jìn)入“死循環(huán)”,通常采用“看門狗”技術(shù)使程序脫離“死循環(huán)”。通過不斷檢測(cè)程序循環(huán)運(yùn)行時(shí)間,若發(fā)現(xiàn)程
41、序循環(huán)時(shí)間超過最大循環(huán)運(yùn)行時(shí)間,則認(rèn)為系統(tǒng)陷入“死循環(huán)”,需進(jìn)行出錯(cuò)處理。</p><p> “看門狗”技術(shù)可由硬件實(shí)現(xiàn),也可由軟件實(shí)現(xiàn)。 在工業(yè)應(yīng)用中,嚴(yán)重的干擾有時(shí)會(huì)破壞中斷方式控制字,關(guān)閉中斷。則系統(tǒng)無法定時(shí)“喂狗”,硬件看門狗電路失效。而軟件看門狗可有效地解決這類問題。</p><p> 筆者在實(shí)際應(yīng)用中,采用環(huán)形中斷監(jiān)視系統(tǒng)。用定時(shí)器T0監(jiān)視定時(shí)器T1,用定時(shí)器T1監(jiān)視主程序
42、,主程序監(jiān)視定時(shí)器T0。采用這種環(huán)形結(jié)構(gòu)的軟件“看門狗”具有良好的抗干擾性能,大大提高了系統(tǒng)可靠性。對(duì)于需經(jīng)常使用T1定時(shí)器進(jìn)行串口通訊的測(cè)控系統(tǒng),則定時(shí)器T1不能進(jìn)行中斷,可改由串口中斷進(jìn)行監(jiān)控(如果用的是MCS-52系列單片機(jī),也可用T2代替T1進(jìn)行監(jiān)視)。這種軟件“看門狗”監(jiān)視原理是:在主程序、T0中斷服務(wù)程序、T1中斷服務(wù)程序中各設(shè)一運(yùn)行觀測(cè)變量,假設(shè)為MWatch、T0Watch 、T1Watch,主程序每循環(huán)一次,MWatc
43、h加1,同樣T0、T1中斷服務(wù)程序執(zhí)行一次,T0Watch、 T1Watch加1。在T0中斷服務(wù)程序中通過檢測(cè)T1Watch的變化情況判定T1運(yùn)行是否正常,在T1中斷服務(wù)程序中檢測(cè)MWatch的變化情況判定主程序是否正常運(yùn)行,在主程序中通過檢測(cè)T0Watch的變化情況判別T0是否正常工作。若檢測(cè)到某觀測(cè)變量變化不正常,比如應(yīng)當(dāng)加1而未加1,則轉(zhuǎn)到出錯(cuò)處理程序作排除故障處理。當(dāng)然,對(duì)主程序最大循環(huán)周期、定時(shí)器T0和T1定時(shí)周期應(yīng)予以全盤合
44、理考慮[5]。限于篇幅不贅述。</p><p> 3.3 系統(tǒng)故障處理、自恢復(fù)程序的設(shè)計(jì)</p><p> 單片機(jī)系統(tǒng)因干擾復(fù)位或掉電后復(fù)位均屬非正常復(fù)位,應(yīng)進(jìn)行故障診斷并能自動(dòng)恢復(fù)非正常復(fù)位前的狀態(tài)。</p><p> 3.4 非正常復(fù)位的識(shí)別</p><p> 程序的執(zhí)行總是從0000H開始,導(dǎo)致程序從 0000H開始執(zhí)行有四
45、種可能:一、系統(tǒng)開機(jī)上電復(fù)位;二、軟件故障復(fù)位;三、看門狗超時(shí)未喂狗硬件復(fù)位; 四、任務(wù)正在執(zhí)行中掉電后來電復(fù)位。四種情況中除第一種情況外均屬非正常復(fù)位,需加以識(shí)別。</p><p> 3.4.1 硬件復(fù)位與軟件復(fù)位的識(shí)別</p><p> 此處硬件復(fù)位指開機(jī)復(fù)位與看門狗復(fù)位,硬件復(fù)位對(duì)寄存器有影響,如復(fù)位后PC=0000H, SP=07H,PSW=00H等。而軟件復(fù)位則對(duì)SP、SP
46、W無影響。故對(duì)于微機(jī)測(cè)控系統(tǒng),當(dāng)程序正常運(yùn)行時(shí),將SP設(shè)置地址大于07H,或者將PSW的第5位用戶標(biāo)志位在系統(tǒng)正常運(yùn)行時(shí)設(shè)為1。那么系統(tǒng)復(fù)位時(shí)只需檢測(cè)PSW.5標(biāo)志位或SP值便可判此是否硬件復(fù)位。圖4.2是采用PSW.5作上電標(biāo)志位判別硬、軟件復(fù)位的程序流程圖。</p><p> 此外,由于硬件復(fù)位時(shí)片內(nèi)RAM狀態(tài)是隨機(jī)的,而軟件復(fù)位片內(nèi)RAM則可保持復(fù)位前狀態(tài),因此可選取片內(nèi)某一個(gè)或兩個(gè)單元作為上電標(biāo)志。設(shè)
47、40H用來做上電標(biāo)志,上電標(biāo)志字為78H,若系統(tǒng)復(fù)位后40H單元內(nèi)容不等于78H,則認(rèn)為是硬件復(fù)位,否則認(rèn)為是軟件復(fù)位,轉(zhuǎn)向出錯(cuò)處理。若用兩個(gè)單元作上電標(biāo)志,則這種判別方法的可靠性更高。</p><p> 圖3.1硬、軟件復(fù)位識(shí)別流程</p><p> 3.4.2 開機(jī)復(fù)位與看門狗故障復(fù)位的識(shí)別</p><p> 開機(jī)復(fù)位與看門狗故障復(fù)位因同屬硬件復(fù)位, 所
48、以要想予以正確識(shí)別,一般要借助非易失性RAM或者EEROM。當(dāng)系統(tǒng)正常運(yùn)行時(shí),設(shè)置一可掉電保護(hù)的觀測(cè)單元。當(dāng)系統(tǒng)正常運(yùn)行時(shí),在定時(shí)喂狗的中斷服務(wù)程序中使該觀測(cè)單元保持正常值(設(shè)為 AAH),而在主程中將該單元清零,因觀測(cè)單元掉電可保護(hù),則開機(jī)時(shí)通過檢測(cè)該單元是否為正常值可判斷是否看門狗復(fù)位。</p><p> 3.4.3 正常開機(jī)復(fù)位與非正常開機(jī)復(fù)位的識(shí)別</p><p> 識(shí)別測(cè)控
49、系統(tǒng)中因意外情況如系統(tǒng)掉電等情況引起的開機(jī)復(fù)位與正常開機(jī)復(fù)位,對(duì)于過程控制系統(tǒng)尤為重要。如某以時(shí)間為控制標(biāo)準(zhǔn)的測(cè)控系統(tǒng),完成一次測(cè)控任務(wù)需1小時(shí)。在已執(zhí)行測(cè)控50分鐘的情況下,系統(tǒng)電壓異常引起復(fù)位,此時(shí)若系統(tǒng)復(fù)位后又從頭開始進(jìn)行測(cè)控則會(huì)造成不必要的時(shí)間消耗。因此可通過一監(jiān)測(cè)單元對(duì)當(dāng)前系統(tǒng)的運(yùn)行狀態(tài)、系統(tǒng)時(shí)間予以監(jiān)控,將控制過程分解為若干步或若干時(shí)間段,每執(zhí)行完一步或每運(yùn)行一個(gè)時(shí)間段則對(duì)監(jiān)測(cè)單元置為關(guān)機(jī)允許值,不同的任務(wù)或任務(wù)的不同階段有
50、不同的值,若系統(tǒng)正在進(jìn)行測(cè)控任務(wù)或正在執(zhí)某時(shí)間段,則將監(jiān)測(cè)單元置為非正常關(guān)機(jī)值。那么系統(tǒng)復(fù)位后可據(jù)此單元判系統(tǒng)原來的運(yùn)行狀態(tài),并跳到出錯(cuò)處理程序中恢復(fù)系統(tǒng)原運(yùn)行狀態(tài)。</p><p> 第四章 Proteus軟件仿真</p><p> 第五章 課程設(shè)計(jì)體會(huì)</p><p> 通過本次單片機(jī)課程設(shè)計(jì)實(shí)習(xí),使我加深了對(duì)單片機(jī)的了解,對(duì)單片機(jī)這門課的認(rèn)識(shí)進(jìn)一步加
51、深了。從一個(gè)剛?cè)腴T的學(xué)習(xí)者,漸漸的愛上了這門技術(shù),雖然說對(duì)于單片機(jī)技術(shù)方面的知識(shí)還有很多要學(xué)習(xí)和提高,但是在這兩周中我還是感受到這門課程的魅力所在。我學(xué)會(huì)了Proteus軟件仿真,并通過上網(wǎng)搜索資料,查閱課本及課外書籍,對(duì)電路各部分組成器件的工作原理加深了解。學(xué)會(huì)了動(dòng)手設(shè)計(jì)電路組成器件以及器件之間的布局與連接,焊電路板,加強(qiáng)了動(dòng)手能力。</p><p> 這是一個(gè)磨練意志的過程。從課題的選擇開始,到硬件和軟件系
52、統(tǒng)的設(shè)計(jì),這其中經(jīng)歷了很多困難,但是更重要的是在這個(gè)過程中我得到了很大的鍛煉。一方面通過C52單片機(jī)等一些器件的設(shè)計(jì)讓我學(xué)習(xí)和掌握了單片機(jī)技術(shù)的基礎(chǔ)知識(shí)和技術(shù)要點(diǎn),也使以前學(xué)的很多知識(shí)都得到了運(yùn)用;另一方面在用Proteus軟件仿真軟件畫電路圖,這個(gè)過程中讓我掌握了計(jì)算機(jī)輔助的設(shè)計(jì)技術(shù)。當(dāng)然,這是一個(gè)需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個(gè)合理的設(shè)計(jì)的過程。這個(gè)過程需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工作精神。使我
53、受益匪淺,更加明確了自己專業(yè)的方向。這次時(shí)間是短暫的,但這我想我們學(xué)到的應(yīng)該不僅僅是專業(yè)技術(shù)等表面上的東西,更深一層的是對(duì)人生的感悟,對(duì)未來的想法,年輕人的桀驁不馴在此時(shí)已經(jīng)不在有意義,取而代之的是理性的思維。我們應(yīng)該具備什么樣的能力,我們適合什么樣的人生,我們應(yīng)該在怎樣的崗位上實(shí)現(xiàn)自己的人生價(jià)值。</p><p> 實(shí)習(xí)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)
54、生實(shí)際工作能力的具體訓(xùn)練和考察過程,通過課程設(shè)計(jì)我們能夠比較系統(tǒng)的了解理論知識(shí),把理論和實(shí)踐相結(jié)合,并且用到生活當(dāng)中。在做設(shè)計(jì)的過程中總會(huì)出現(xiàn)各種問題,在這種情況下我們都會(huì)努力尋求最佳路徑解決問題,無形間提高了我們的動(dòng)手,動(dòng)腦能力,并且同學(xué)之間還能相互探討問題,研究解決方案,增進(jìn)大家的團(tuán)隊(duì)意識(shí)。</p><p> 實(shí)習(xí)是短暫的,影響卻是長遠(yuǎn)的。通過實(shí)習(xí)讓我體會(huì)了團(tuán)隊(duì)合作的益處,在團(tuán)隊(duì)中一起發(fā)現(xiàn)問題、討論問題,共
55、同進(jìn)步、共同提高。硬件實(shí)習(xí)主要是我們理論知識(shí)的延伸,它的目的主要是要在設(shè)計(jì)中發(fā)現(xiàn)問題,并且自己要能找到解決問題的方案,形成一種獨(dú)立的意識(shí)。我們還能從設(shè)計(jì)中檢驗(yàn)我們所學(xué)的理論知識(shí)到底有多少,鞏固我們已經(jīng)學(xué)會(huì)的,不斷學(xué)習(xí)我們所遺漏的新知識(shí),把所學(xué)的知識(shí)學(xué)的更加扎實(shí)。</p><p> 最后,我要由衷的感謝我的指導(dǎo)老師,胡治國老師。在課程設(shè)計(jì)期間,我得到了胡老師的悉心指導(dǎo),論文的撰寫從命題到結(jié)構(gòu)的安排及修改,他都提出
56、了很多寶貴的指導(dǎo)和意見。從中,我學(xué)到了做學(xué)問的態(tài)度:認(rèn)真,踏實(shí),負(fù)責(zé),開放,交流,這些都將讓我終生受用。</p><p><b> 參考文獻(xiàn):</b></p><p> [1] 胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì). 北京:清華大學(xué)出版社,2002.5 </p><p> [2] 丁元杰.單片微機(jī)原理及應(yīng)用. 北京:機(jī)械工業(yè)出版社,2003.7
57、 1-3</p><p> [3] 肖景和,趙 健. 實(shí)用遙控電路. 北京:人民郵電出版社,2002.7 35-37</p><p> [4] 王建校,楊建國. 51系列單片機(jī)及C51.程序設(shè)計(jì) 北京:科學(xué)出版社 2002.4 67-72</p><p> [5] 王幸之.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù).北京:北京航空航天大學(xué)出版社 2000.2 178-1
58、81</p><p> [6] 李朝青.無線發(fā)送/接收IC芯片及其數(shù)據(jù)通訊技術(shù)選遍.北京:北京航空航天大學(xué)出版社 2003.5 121-125</p><p> [7] 李 華.MCS-51系列單片機(jī)實(shí)用接口技術(shù).北京航空大學(xué)出版社,1993 32-37</p><p> [8] 孫育才.MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用.東南大學(xué)出版社,1991
59、46-51</p><p> [9] 余永叔,何小敏.世界流行單片機(jī)技術(shù)手冊(cè).北京:北京航空航天大學(xué)出版社 2002 63-66</p><p> [10] 沈德金.MOS-51系列單片機(jī)接口電路與應(yīng)用程序?qū)嵗?北京:北京航空航天大學(xué) 78-80</p><p> [11] 劉光斌,劉冬,姚志成.單片機(jī)系統(tǒng)實(shí)用抗干擾技術(shù).北京:人民郵電出版社 2003
60、92-98</p><p> [12] 余永全.單片機(jī)與家用電器智能化技術(shù).北京:電子工業(yè)出版社 1995 169-172</p><p> [13] 余永權(quán),汪明慧,黃英編.單片機(jī)在控制系統(tǒng)中的應(yīng)用.北京:電子工業(yè)出版社 2003 134-137</p><p><b> 附錄一:源程序代碼</b></p><p
61、> ORG 0000H</p><p> AJMP MAIN</p><p> ORG 000BH</p><p> AJMP TIMER</p><p> ORG 0030H</p><p> MAIN: MOV TMOD,#05H</p>&l
62、t;p> SETB EA</p><p> SETB ET0</p><p> SETB TR0</p><p> CLR 50H ;標(biāo)志位,置1時(shí)正轉(zhuǎn)按鈕才有效</p><p> SETB 51H :標(biāo)志位,置1時(shí)反轉(zhuǎn)按鈕才有效</p><p> CLR
63、 52H ;標(biāo)志位,正轉(zhuǎn)按鈕按下時(shí)置1</p><p> CLR 53H ;標(biāo)志位,反轉(zhuǎn)按鈕按下時(shí)置1</p><p> CLR 54H ;標(biāo)志位,置1時(shí)重新計(jì)算計(jì)數(shù)器初值</p><p> MOV TH0,#0FFH</p><p> MOV TL0,#0D0H</p>&
64、lt;p> BEGIN: MOV A,P0 ;按鍵掃描</p><p> CJNE A,#0F8H,LOOP0</p><p> AJMP BEGIN</p><p> LOOP0: CJNE A,#0F9H,LOOP1 ;判斷是否為正轉(zhuǎn)按鈕</p><p> JB 50H,BEGIN</p><p
65、> CT0: JB 53H,L0</p><p><b> AJMP S0</b></p><p> L0: ACALL FUN</p><p><b> AJMP S0</b></p><p> LOOP1: CJNE A,#0FAH,LOOP2 ;判斷是否為反轉(zhuǎn)
66、按鈕</p><p> JB 51H,BEGIN</p><p> CT1: JB 52H,L1</p><p><b> AJMP S1</b></p><p> L1: ACALL FUN</p><p><b> AJMP S1</b></p
67、><p> LOOP2: CJNE A,#0FCH,BEGIN ;判斷是否為停止按鈕</p><p><b> JB 54H,L2</b></p><p><b> AJMP S2</b></p><p> L2: AJMP BEGIN </p><
68、p> S0: MOV P2,#01H ;正轉(zhuǎn)</p><p> SETB 50H </p><p><b> CLR 51H</b></p><p><b> SETB 52H</b></p>&l
69、t;p><b> CLR 53H</b></p><p><b> CLR 54H</b></p><p> AJMP BEGIN</p><p> S1: MOV P2,#02H ;反轉(zhuǎn)</p><p><b> SETB 51H</b></
70、p><p><b> CLR 50H</b></p><p><b> CLR 52H</b></p><p><b> SETB 53H</b></p><p><b> CLR 54H</b></p><p> AJMP
71、BEGIN</p><p> S2: SETB P2.1 ;停止</p><p><b> SETB P2.0</b></p><p><b> CLR 50H</b></p><p><b> CLR 51H</b></p><p
72、> AJMP BEGIN</p><p> TIMER: SETB P2.1</p><p><b> SETB P2.0</b></p><p><b> SETB 54H</b></p><p><b> RETI</b></p><p
73、> FUN: MOV R3,TL0 ;計(jì)算計(jì)數(shù)器新初值</p><p> MOV A,#0FFH</p><p><b> SUBB A,R3</b></p><p> ADDC A,#0D0H</p><p><b> MOV R3,A</b></p>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的遙控窗簾課程設(shè)計(jì)
- 課程設(shè)計(jì)-基于單片機(jī)的遙控窗簾課程設(shè)計(jì)
- 基于單片機(jī)的遙控窗簾設(shè)計(jì)課程設(shè)計(jì)
- 單片機(jī)控制的智能窗簾課程設(shè)計(jì)
- 基于51單片機(jī)的紅外遙控課程設(shè)計(jì)
- 基于單片機(jī)的智能遙控窗簾設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的智能遙控窗簾設(shè)計(jì)【開題報(bào)告】
- 基于單片機(jī)的智能遙控窗簾設(shè)計(jì)【文獻(xiàn)綜述】
- 基于單片機(jī)的語音遙控器課程設(shè)計(jì)
- 單片機(jī)控制光感自動(dòng)窗簾課程設(shè)計(jì)
- 基于單片機(jī)的秒表設(shè)計(jì)單片機(jī)課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于avr單片機(jī)的智能遙控窗簾系統(tǒng)設(shè)計(jì)
- 單片機(jī)紅外遙控系統(tǒng)課程設(shè)計(jì)---電風(fēng)扇
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 課程設(shè)計(jì)-單片機(jī)基于單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 畢業(yè)論文--基于單片機(jī)的無線遙控電動(dòng)窗簾設(shè)計(jì)
- 基于單片機(jī)的課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的秒表系統(tǒng)設(shè)計(jì)
- 遙控設(shè)計(jì)-基于單片機(jī)的電器遙控設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-基于單片機(jī)的數(shù)字秒表的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論