版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 第一章 課程設(shè)計(jì)目的與要求</p><p> 1.1 課程設(shè)計(jì)目的</p><p> “單片機(jī)與接口技術(shù)”課程設(shè)計(jì)是在教學(xué)及實(shí)驗(yàn)基礎(chǔ)上,對(duì)課程所學(xué)理論知識(shí)的深化和提高。因此,要求學(xué)生能綜合應(yīng)用所學(xué)知識(shí),設(shè)計(jì)與制造出具有較復(fù)雜功能的小型單片機(jī)系統(tǒng),并在實(shí)踐的基本技能方面進(jìn)行一次系統(tǒng)的訓(xùn)練。 能夠較全面地鞏固和應(yīng)用“單片機(jī)”課程中所學(xué)的基本理論和基本方法,并初步掌握小
2、型單片機(jī)系統(tǒng)設(shè)計(jì)的基本方法。 培養(yǎng)獨(dú)立思考、獨(dú)立收集資料、獨(dú)立設(shè)計(jì)規(guī)定功能的單片機(jī)系統(tǒng)的能力;培養(yǎng)分析、總結(jié)及撰寫技術(shù)報(bào)告的能力。</p><p> 1.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境</p><p> 利用windows操作系統(tǒng)及應(yīng)用軟件進(jìn)行繪圖和編程。</p><p> 1.3 課程設(shè)計(jì)的預(yù)備知識(shí)</p><p> 熟悉單片機(jī)與接口技術(shù)課
3、程的相關(guān)知識(shí)及電子線路CAD工具軟件。</p><p> 1.4 課程設(shè)計(jì)要求</p><p> 按課程設(shè)計(jì)指導(dǎo)書提供的課題,根據(jù)第二章給出的基本要求及參數(shù)獨(dú)立完成設(shè)計(jì),課程設(shè)計(jì)說(shuō)明書應(yīng)包括以下內(nèi)容: </p><p> 1、對(duì)設(shè)計(jì)課題進(jìn)行簡(jiǎn)要闡述,并說(shuō)明設(shè)計(jì)任務(wù)及具體要求。 </p><p> 2、論述系統(tǒng)設(shè)計(jì)方案,并畫出總體電路
4、結(jié)構(gòu)圖及功能分割圖。</p><p> 3、能夠較熟練地應(yīng)用電子線路CAD工具完成單片機(jī)系統(tǒng)的硬件設(shè)計(jì)任務(wù)。</p><p> 4、各功能模塊設(shè)計(jì)說(shuō)明、設(shè)計(jì)實(shí)現(xiàn)過(guò)程及源程序。 </p><p> 5、能夠較熟練地應(yīng)用一種編輯軟件編寫程序,掌握單片機(jī)系統(tǒng)軟件設(shè)計(jì)的基本方法</p><p> 6、課程設(shè)計(jì)報(bào)告應(yīng)內(nèi)容完整、字跡工整、圖表整齊
5、規(guī)范、數(shù)據(jù)詳實(shí)。</p><p><b> 7、課程設(shè)計(jì)總結(jié)</b></p><p> 8、字?jǐn)?shù)4000左右,有系統(tǒng)電氣原理圖。</p><p> 第二章 課程設(shè)計(jì)內(nèi)容</p><p> 第3章 課程設(shè)計(jì)的考核</p><p> 3.1 課程設(shè)計(jì)的考核要求</p><
6、p> 課程設(shè)計(jì)采用五級(jí)(優(yōu)、良、中、及格、不及格)評(píng)分制。</p><p> 最后成績(jī)依據(jù)課程設(shè)計(jì)論文及平時(shí)成績(jī)決定,其中平時(shí)考核成績(jī)占20%。</p><p> 3.2 課程性質(zhì)與學(xué)分</p><p> 單片機(jī)與接口技術(shù)課程設(shè)計(jì)的課程性質(zhì):考查</p><p><b> 學(xué)分:2分</b></p&
7、gt;<p><b> 第四章 設(shè)計(jì)</b></p><p><b> 4.1設(shè)計(jì)思路</b></p><p> 本設(shè)計(jì)采用89C-51單片機(jī)系統(tǒng)來(lái)實(shí)現(xiàn)孵化場(chǎng)溫度的自動(dòng)控制。單片機(jī)軟件編程靈活,自由度大,可用軟件編程實(shí)現(xiàn)各種控制算法和邏輯控制。單片機(jī)系統(tǒng)可用數(shù)碼管顯示現(xiàn)場(chǎng)溫度,孵化場(chǎng)溫度的上下限能用鍵盤設(shè)定,并可實(shí)現(xiàn)報(bào)警、控制
8、等多種功能。本方案選用89C-51芯片(內(nèi)部含有4KB的EEPOM),不需要向外擴(kuò)展程序存儲(chǔ)器,可使系統(tǒng)整體結(jié)構(gòu)更為簡(jiǎn)單,控制系統(tǒng)結(jié)構(gòu)如圖4.1所示。</p><p><b> 4.2系統(tǒng)硬件設(shè)計(jì)</b></p><p> 4.2.1 89C-51單片機(jī)簡(jiǎn)介</p><p> 本設(shè)計(jì)決定用單片機(jī)作為中心控制器?,F(xiàn)流行的單片機(jī)有很多種,其中
9、MCS-51系列以較高的性價(jià)比博得很多用戶的青睞。所以,本系統(tǒng)采用美國(guó)Intel公司生產(chǎn)的89C-51型單片機(jī),由于其具有集成度高、處理功能強(qiáng)、可靠性高、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉等優(yōu)點(diǎn)并具有4K字節(jié)的程序存儲(chǔ)器,使得它應(yīng)用起來(lái)更加方便。</p><p> 4.2.2數(shù)據(jù)存儲(chǔ)器擴(kuò)展</p><p> 89C-51型單片機(jī)片內(nèi)有128B的RAM,在實(shí)際應(yīng)用中僅靠這256B的數(shù)據(jù)存儲(chǔ)器是遠(yuǎn)遠(yuǎn)不
10、夠的。這種情況下可利用MCS-51單片機(jī)所具有的擴(kuò)展功能擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。MCS-51系列單片機(jī)最大可擴(kuò)展64KB。6264是8K×8位靜態(tài)隨機(jī)存儲(chǔ)器,采用CMOS工藝制造,單一+5V電源供電,額定功率200mW,典型存取時(shí)間200ns,為28線雙列直插式封裝,其引腳如圖4.2所示,工作方式選擇如表4.1所示:</p><p> 表4.1工作方式選擇
11、 圖4.2引腳圖</p><p> 4.2.3傳感器的選擇</p><p> 熱電阻傳感器主要用于測(cè)量溫度及與溫度有關(guān)的參數(shù),在工業(yè)生產(chǎn)中被廣泛用于測(cè)量-200℃~+500℃范圍內(nèi)的溫度.按照熱電阻的熱度不同,熱電阻可以分為金屬熱電阻和半導(dǎo)體熱電阻兩類,前者稱為熱電阻,后者稱為熱敏電阻。以熱電阻或熱敏電阻為主要器件制成的傳感器稱為熱電阻傳感器或熱敏電阻傳感器。根據(jù)本設(shè)計(jì)中所需要測(cè)
12、量的溫度范圍、敏感度、精確度以及考慮其經(jīng)濟(jì)性,熱敏電阻傳感器為最合適的測(cè)溫元件。</p><p><b> 溫度檢測(cè)電路設(shè)計(jì)</b></p><p> 本設(shè)計(jì)采用的是熱敏電阻電橋接口變換,熱敏電阻電橋與運(yùn)放級(jí)聯(lián)傳感器電路如圖4.3所示。電橋輸出構(gòu)成運(yùn)放差輸入,可獲得對(duì)地為零輸出電壓。取,,,;輸出電壓值如列表,輸出電壓特性:輸出為S形曲線;具有S形非線性誤差,最大
13、誤差為+150mv。圖中用于零點(diǎn)調(diào)整,用于溫度調(diào)整。</p><p> 圖4.3 傳感器電路圖</p><p> 輸入溫度0℃~50℃,輸出電壓0V到10V。為避免熱敏電阻加熱效應(yīng)取。熱敏電阻參數(shù)如表4.2。</p><p> 表4.2 熱敏電阻參數(shù)及輸出電壓</p><p> 4.2.4 A/D轉(zhuǎn)換電路</p>&
14、lt;p> A/D轉(zhuǎn)換接口是系統(tǒng)數(shù)據(jù)采集前向通道的一個(gè)重要環(huán)節(jié)。數(shù)據(jù)采集是在模擬信號(hào)源中采集信號(hào),并將之轉(zhuǎn)換為數(shù)字信號(hào)送入計(jì)算機(jī)的過(guò)程。</p><p> AD574由兩部分組成,一部分是模擬芯片,另一部分?jǐn)?shù)字芯片,其中模擬部分由高性能的12位D/A轉(zhuǎn)換器AD565和參考電壓組成。數(shù)字部分由控制邏輯電路,逐次逼近型寄存器的三態(tài)緩沖器組成。AD574的引腳如圖4.4所示。</p><p
15、> 圖4.4 AD574的引腳圖</p><p> 4.2.5顯示接口電路設(shè)計(jì)</p><p> LED顯示塊是由發(fā)光二極管顯示字段的顯示器件。這種顯示塊有共陰極和共陽(yáng)極兩種。共陰極LED顯示塊的發(fā)光二極管共地。當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平時(shí),發(fā)光二極管點(diǎn)亮;本設(shè)計(jì)選用的顯示塊是共陰極的LED(共陰極LED顯示塊的發(fā)光二極管陰極接地,當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平時(shí),發(fā)光二
16、極管點(diǎn)亮)。將單片機(jī)I/O口的8位線與顯示塊的發(fā)光二極管的引出端(a~dp)相連,共陰極低電平有效,選通有效后8位并行輸出口輸出不同的數(shù)據(jù)就點(diǎn)亮相應(yīng)的發(fā)光二極管,獲得不同的數(shù)字或字符。</p><p> 本設(shè)計(jì)采用的芯片是74LS374。顯示電路如圖4.5所示:</p><p> 圖4.5 顯示電路原理圖</p><p> 4.2.6輸出控制電路設(shè)計(jì)<
17、/p><p> 在本設(shè)計(jì)系統(tǒng)中,需要控制高電壓(220V),高電流的負(fù)載,這樣大功率負(fù)載顯然是不能用單片機(jī)的I/O線來(lái)直接驅(qū)動(dòng)的,這就必須經(jīng)過(guò)單片機(jī)的功率接口來(lái)驅(qū)動(dòng)。此外,為了隔離和抗干擾,還需要加接光電耦合器。因?yàn)楸驹O(shè)計(jì)采用的交流負(fù)載,所以選用雙向可控硅。雙向可控硅的內(nèi)部結(jié)構(gòu)如下圖4.6。</p><p> 在設(shè)計(jì)當(dāng)中,采納了Motorola公司推出的單片集成可控硅驅(qū)動(dòng)器件MOC3041
18、作為為對(duì)輸出的驅(qū)動(dòng)和控制。由MOC3041組成的過(guò)零觸發(fā)雙向可控硅電路簡(jiǎn)單可靠,MOC3041和雙向可控硅構(gòu)成的輸出通道電路如下圖4.7所示。</p><p> 圖4.6 雙向可控硅的內(nèi)部結(jié)構(gòu) 圖4.7 MOC3041和雙向可控硅構(gòu)成的輸出通道電路 </p><p> 該部分的工作過(guò)程是:當(dāng)單片機(jī)的P14口輸出為低電平是,MOC3041內(nèi)部導(dǎo)通,G端通道出現(xiàn)同
19、步觸發(fā)脈沖,控制可控硅導(dǎo)通,打開加熱器;當(dāng)P14為高電平時(shí),MOC3041內(nèi)部截止,可控硅斷開,關(guān)閉加熱器。本設(shè)計(jì)采用1000W加熱器</p><p> 4.2.7簡(jiǎn)易式鍵盤接口電路設(shè)計(jì)</p><p> 8255可編程并行I/O接口設(shè)計(jì)</p><p> MCS-51系列單片機(jī)共有4個(gè)8位并行I/O口,這些I/O口一般是不能完全提供給用戶使用的,在外部擴(kuò)展存
20、儲(chǔ)器時(shí),提給用戶使用的I/O口只有P1和P3口的部分口線。因此在大部分的MCS-51單片機(jī)應(yīng)用系統(tǒng)中都免不了要進(jìn)行I/O口的擴(kuò)展。8255芯片引腳圖如圖4.8所示。</p><p> 圖4.8 8255引腳圖</p><p> 單片機(jī)也8255的接口比較簡(jiǎn)單,如圖4.9所示,8255的片選信號(hào)及口地址選擇線AO、A1分別由單片機(jī)的P0.7和P0.0、P0.1經(jīng)地址鎖存器提供.<
21、/p><p> 8255的A、B、C口及控制口地址分別為FF7CH、FF7DH、FF7EH、FF7FH。8255的D0~D7分別與P0.0到P0.7相連。</p><p> 圖4.9 89C-51與8255的接口電路</p><p> 鍵盤功能說(shuō)明:1號(hào)鍵:上升。2號(hào)鍵:下降。3號(hào)鍵:下限溫度值確定。4號(hào)鍵:上限值確定。5號(hào)鍵:查詢上下限值。使用1號(hào)鍵和2號(hào)鍵,設(shè)
22、定需要的溫度控制系統(tǒng)的上限值,然后按下4號(hào)鍵,將這個(gè)上限值確定,也就是將上限值保存到專用的寄存器里。</p><p> 在完成設(shè)定上限值的工作后,使用1號(hào)鍵和2號(hào)鍵設(shè)定需要的溫度控制系統(tǒng)的下限值,然后按下3號(hào)鍵,將這個(gè)下限值確定,也就是將這個(gè)下限值保存到專用的寄存器里,然后系統(tǒng)進(jìn)去實(shí)時(shí)的溫度測(cè)量和控制工作中。鍵盤接口電路如圖4.10所示: </p><p> 圖4.10 簡(jiǎn)易式鍵
23、盤的接口電路</p><p><b> 4.2.8復(fù)位電路</b></p><p> MCS-51復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位電路通常采用上電復(fù)位和按鈕復(fù)位兩種方式。該電路兼有上電復(fù)位和按鈕復(fù)位。</p><p> 復(fù)位電路如圖4.11所示。工作原理為:按鈕按下后,RC電路充電,RST引腳端出現(xiàn)正脈沖,只要RST端保持10ms以上
24、的高電平,就能用單片機(jī)有效的復(fù)位。該設(shè)計(jì)時(shí)鐘頻率為12MHz,C取22μF,R取1K歐姆。復(fù)位電路如圖2.20所示。</p><p> 圖4.11 復(fù)位電路原理圖 圖4.12 聲光報(bào)警電路接口電路</p><p><b> 4.2.9報(bào)警電路</b></p><p> 本設(shè)計(jì)采用聲光報(bào)警電路
25、,接口電路如圖4.12所示。 MCS-51的口線P11接報(bào)警電路的輸入端,當(dāng)P11口輸出低電平時(shí),7046輸出為高電平,發(fā)光二極管兩端電壓差接近5V,發(fā)光報(bào)警.壓電蜂鳴器兩條引線加上近5V的直流電壓,由壓電效應(yīng)而發(fā)出蜂鳴音報(bào)警。</p><p><b> 4.3系統(tǒng)軟件設(shè)計(jì)</b></p><p> 4.3.1主程序設(shè)計(jì)</p><p>
26、 主程序流程圖如圖4.13所示主程序完成的功能是:?jiǎn)?dòng)傳感器測(cè)量溫度,將測(cè)量溫度與給定值比較進(jìn)行PID運(yùn)算,若,則進(jìn)入加熱階段,置P13為高電平。在過(guò)程中繼續(xù)對(duì)溫度進(jìn)行監(jiān)測(cè),當(dāng)時(shí),置P13為低電平斷開可控硅,關(guān)閉加熱器,等待下一次的啟動(dòng)命令。</p><p> 圖4.13 主程序流程圖</p><p> 4.3.2控制部分程序</p><p> 這部分程序的功
27、能是將采集到的溫度值TX與TL比較,如果TX≤TL則報(bào)警,并置P3.1口為低電平,通過(guò)光耦合器打開可控硅,使加熱器加熱,并調(diào)顯示,顯示88.8。否則將TX與TH比較,如果TX≥TH則報(bào)警,并置P13口為高電平,通過(guò)光耦合器關(guān)閉可控硅,停止加熱器加熱,并調(diào)顯示,顯示88.8。</p><p> 否則,也就是≤≤當(dāng)溫度在正常范圍內(nèi),調(diào)顯示,顯示采集到的溫度值。加熱程序流程圖如圖4.14所示。 </p>
28、<p> 圖4.14 加熱報(bào)警子程序流程圖</p><p><b> 4.3.3鍵盤模塊</b></p><p> 本部分主要是實(shí)現(xiàn)輸入設(shè)定溫度和查詢?cè)O(shè)定溫度的功能。該部分的子程序流程圖如圖4.15所示。</p><p> 在鍵盤的控制方面,由于采用了5個(gè)單鍵,因此使得鍵值識(shí)別的問(wèn)題也比較簡(jiǎn)單。在執(zhí)行程序的時(shí)候只需要逐位
29、判斷PA0,PA1,PA2,PA3,PA4口是高電平還是低電平,若為高電平,則表示沒有按鍵按下,若為低電平,則表示已經(jīng)有鍵按下,于是執(zhí)行鍵的處理子程序。在程序的設(shè)計(jì)當(dāng)中,考慮了鍵的去抖動(dòng)問(wèn)題。在發(fā)現(xiàn)有鍵閉和時(shí),不是立即讀入該鍵值,而是延時(shí)一段時(shí)間以后,再進(jìn)行鍵閉和與否的判斷,確認(rèn)此時(shí)真的有鍵按下,有則進(jìn)行該按鍵的處理,沒有則不進(jìn)行處理。</p><p> 圖4.15鍵盤處理子程序流程圖</p>&
30、lt;p> 4.3.4顯示子程序</p><p> 此模塊采用的是動(dòng)態(tài)掃描的方法,依次改變P0口輸出高電平的位和P2口輸出對(duì)應(yīng)的數(shù)據(jù)段,就可以輪流點(diǎn)亮顯示器的各位數(shù)碼管。動(dòng)態(tài)顯示是把十六進(jìn)制數(shù)(或BCD碼)轉(zhuǎn)換為相應(yīng)字形碼,故它通常需要在RAM區(qū)建立一個(gè)顯示緩沖區(qū)。顯示部分流程圖如圖4.16所示。</p><p> 4.3.5數(shù)據(jù)采集模塊 </p><p&g
31、t; 數(shù)據(jù)采集的主要任務(wù)是巡回檢測(cè)三點(diǎn)的溫度參數(shù)并把它們存在外部RAM指定單元,采樣程序如圖4.17所示。</p><p> 圖4.16 顯示子程序流程圖 圖4.17 采樣程序流程圖 </p><p><b> 4.3.6程序清單</b></p><p> ORG 0000H</p>
32、<p> SJMP MAIN</p><p> ORG 0003H</p><p> LJMP INT</p><p> ORG 0025H</p><p> MAIN: MOV SP,#60H</p><p> MOV 20H,#00H&l
33、t;/p><p> MOV 21H,#08H</p><p> MOV 29H,#0FEH</p><p> LCALL ZIJIAN</p><p> LCALL READTHTL</p><p> LCALL TESTRANGE</p><p> LCAL
34、L DISP</p><p> SETB INT0</p><p> SETB EX0</p><p> SETB EA</p><p> LOOP: LCALL DELAY</p><p> LCALL GET_TEMP</p><p>
35、LCALL TURN</p><p> LCALL DISPLAY</p><p><b> CLR C</b></p><p> MOV A,24H</p><p> CJNE A,2EH,LOOP1</p><p> SJMP HOTTING<
36、;/p><p> LOOP1: JC HOTTING</p><p> MOV A,24H</p><p><b> CLR C</b></p><p> CJNE A,2DH,LOOP2</p><p> SJMP STOPHOT</p
37、><p> LOOP2: JNC STOPHOT</p><p> SJMP KEEP</p><p> HOTTING: CLR P3.1</p><p> CLR P1.5</p><p> SETB P1.6</p><p> K
38、EEP: SJMP LOOP</p><p> STOPHOT: SETB P3.1</p><p> SETB P1.5</p><p> CLR P1.6</p><p> SJMP LOOP</p><p> ZIJIAN: MOV 30
39、H,#08H</p><p> MOV 31H,#08H</p><p> MOV 32H,#13H</p><p> MOV 33H,#08H</p><p> MOV 34H,#13H</p><p> CLR P1.4</p><p>
40、CLR P1.5</p><p> CLR P1.6</p><p> CLR P1.7</p><p> MOV R3,#0FFH</p><p> WAIT0: ACALL DISPLAY</p><p> DJNZ R3,WAIT0</p>
41、<p> SETB P1.5</p><p> SETB P1.6</p><p> SETB P1.7</p><p><b> RET</b></p><p> TURNTH: MOV 2DH,27H</p><p> MOV 2
42、EH,28H</p><p> MOV 24H,27H</p><p> ACALL TURN</p><p> MOV 2AH,30H</p><p> MOV 2BH,31H</p><p> MOV 2CH,32H</p><p> MOV
43、 A,2CH</p><p><b> CLR C</b></p><p> SUBB A,#0BH</p><p> MOV 2CH,A</p><p> MOV 33H,#00H</p><p> MOV 34H,#15H</p>
44、;<p><b> RET</b></p><p> TESTRANGE: MOV A,2AH</p><p> CJNE A,#01H,NOMAX</p><p> MOV 22H,#08H</p><p> SJMP EXITTEST</p><
45、;p> NOMAX: MOV A,2BH</p><p> CJNE A,#00H,MIDD</p><p> MOV 22H,#02H</p><p> SJMP EXITTEST</p><p> MIDD: MOV 22H,#04H</p><p&
46、gt; EXITTEST: RET</p><p> DISPLAY: MOV R0,#03H</p><p> DIS: MOV DPTR,#TAB</p><p> MOV A,@R0</p><p> MOVC A,@A+DPTR</p><p>
47、 MOV DPTR,#7FFFH</p><p> MOVX @DPTR,A</p><p> INV R0</p><p> MOV DPTR,#0BFFFH</p><p> MOV A,29H</p><p> MOVX @DPTR,A</p>
48、<p> HERE: DJNZ R4,HERE</p><p><b> SETB C</b></p><p><b> RLC A</b></p><p> MOV 29H,A</p><p> JB ACC.5,DIS<
49、/p><p> MOV 29H,#OFEH</p><p><b> RET</b></p><p> TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,OBFH</p><p> DB 86H,0DBH,0CFH,0E6H,0EDH,0FDH
50、,87H,0FFH,0EFH,79H</p><p> GET_TEMP: CLR EA</p><p> ACALL INI</p><p> MOV A,#0CCH</p><p> ACALL WRITE</p><p> MOV A,#44H</p>
51、<p> ACALL WRITE</p><p> ACALL INI</p><p> MOV A,@0CCH</p><p> ACALL WRITE</p><p> ACALL READ</p><p> MOV 24H,A</p><p
52、> SETB EA</p><p><b> RET</b></p><p> SETTHTL: CLR EA</p><p> ACALL INI</p><p> MOV A,#0CCH</p><p> ACALL WRITE</p
53、><p> MOV A,#4EH</p><p> ACALL WRITE</p><p> MOV A,2DH</p><p> ACALL WRITE</p><p> MOV A,2EH</p><p> ACALL WRITE</p>
54、;<p> ACALL INI</p><p> MOV A,#0CCH</p><p> ACALL WRITE</p><p> MOV A,#48H</p><p> ACALL WRITE</p><p> ACALL READTHTL</p>
55、;<p> MOV A,27H</p><p> CJNE A,2KH,SETTHTL</p><p> MOV A,28H</p><p> CJNE A,2EH,SETTHTL</p><p> SETB EA</p><p><b> RET&
56、lt;/b></p><p> READTHTL: CLR EA</p><p> ACALL INI</p><p> MOV A,@0CCH</p><p> ACALL WRITE</p><p> MOV A,#0B8H</p><p>
57、; ACALL WRITE</p><p> ACALL INI</p><p> MOV A,#0CCH</p><p> ACALL WRITE</p><p> MOC A,#0BEH</p><p> ACALL WRITE</p><p>
58、 ACALL READ</p><p> ACALL READ</p><p> ACALL READ</p><p> MOV 27H,A</p><p> ACALL READ</p><p> MOV 28H,A</p><p> SETB
59、 EA</p><p><b> RET</b></p><p> INI: CLR P3.0</p><p> MOV R2,#100</p><p> 11: CLR P3.0</p><p> DJNZ R2,I1<
60、/p><p> SETB P3.0</p><p> MOV R2,#15</p><p> I2: DJNZ R2,I2</p><p><b> CLR C</b></p><p> ORL C,P3.0</p><
61、p> JC INI</p><p> MOV R6,#40H</p><p> I3: ORL C,P3.O</p><p> JC I4</p><p> DJNZ R6,I3</p><p> SJMP INI</p>
62、<p> I4: MOV R2,#120</p><p> I5: DJNZ R2,I5</p><p><b> RET</b></p><p> TEAD: MOV R6,#8</p><p> WR1: SETB
63、P3.0</p><p> MOV R4,#4</p><p><b> RRC A</b></p><p> CLR P3.0</p><p> WR2: DJNZ R4,WR2</p><p> MOV P3.0,C</p>
64、;<p> MOV R4,$40</p><p> WR3: DJNZ R4,WR3</p><p> DJNZ R3,WR1</p><p> SETB P3.0</p><p><b> RET</b></p><p> READ
65、: MOV R6,#8</p><p> RE1: CLR P3.0</p><p> MOV R4,#2</p><p> SETB P3.O</p><p> RE2: DJNZ R4,RE2</p><p> MOV C,
66、P3.0</p><p><b> RRC A</b></p><p> MOV R5,#15</p><p> RE3: DJNZ R5,RE3</p><p> DJNZ R6,RE1</p><p> RE5: SETB
67、 P3.0</p><p><b> RET</b></p><p> TURN: CLR C</p><p> MOV A,24H</p><p><b> RRC A</b></p><p> MOV 25H,A<
68、/p><p> JNC TURN0</p><p> MOV 33H,#05H</p><p> AJMP TURN1</p><p> TURN0: MOV 33H,#00H</p><p> TURN1: MOV A,25H</p><
69、p> ACALL BTOD</p><p><b> RET</b></p><p> BTOD: MOV B,#100</p><p> DIV AB</p><p> MOV T0,#30H</p><p> MOV @R0,H&
70、lt;/p><p> INC R0</p><p> MOV A,#10</p><p> XCH A,B</p><p> DIV AB</p><p> MOV @R0,A</p><p> INC R0</p><
71、p> MOV A,B</p><p> ADD A,#0BH</p><p> MOV @R0,A</p><p><b> RET</b></p><p> DIS: LCALL DIR</p><p> JNB P3.0,LC</p>
72、<p> JNB P3.4,LC0</p><p> JNB P3.2,LC1</p><p> JNB P3.5,LC2</p><p><b> AJMP DIS</b></p><p> LC:LCALL DEL</p><p> JB P3.0,DIS</p
73、><p><b> MOV A,30H</b></p><p> CJNE A,#0FFH,XIA</p><p><b> MOV A,#5</b></p><p><b> ADD A,30H</b></p><p><b> MOV
74、 30H,A</b></p><p><b> INC 31H</b></p><p> LCALL IBTD2</p><p><b> AJMP DIS</b></p><p> LC0:LCALL DEL</p><p> JB P3.4,DIS&
75、lt;/p><p><b> MOV A,30H</b></p><p> CJNE A,#00H,DECLINE</p><p><b> MOV A,30H</b></p><p><b> SUBB A,#5</b></p><p><b
76、> MOV 30H,A</b></p><p><b> DEC 31H</b></p><p> LCALL IBTD2</p><p><b> AJMP DIS</b></p><p> DECLINE:MOV A,30H</p><p>
77、 SUBB A,#05H</p><p><b> MOV 30H,A</b></p><p> LCALL IBTD2</p><p><b> AJMP DIS</b></p><p> XIA:MOV A,#5</p><p><b> ADD A,
78、30H</b></p><p><b> MOV 30H,A</b></p><p> LCALL IBTD2</p><p><b> AJMP DIS</b></p><p> LC1:LCALL DEL</p><p> JB P3.2,DIS&l
79、t;/p><p> MOV 40H,32H;保存輸入值</p><p> MOV 41H,33H</p><p> MOV 42H,34H</p><p> MOV 43H,35H</p><p><b> LCALL DIR</b></p><p><b>
80、; AJMP DIS</b></p><p> LC2: LCALL DEL</p><p> JB P3.5,DIS</p><p> MOV 50H,32H</p><p> MOV 51H,33H</p><p> MOV 52H,34H</p><p> MOV
81、 53H,35H</p><p><b> RETI</b></p><p> DELAY: MOV R2,#0BH</p><p> HERE0: MOV R3,#00H</p><p> HERE1: DJNZ R3,HERE1</p><
82、;p> DJNZ R2,HERE0</p><p><b> RET</b></p><p><b> END</b></p><p><b> 4.4系統(tǒng)原理圖</b></p><p><b> 4.5設(shè)計(jì)心得:</b></p
83、><p> 通過(guò)這次設(shè)計(jì)才知道自己對(duì)所學(xué)知識(shí)沒有很深刻的理解,不能很好的運(yùn)用。還好能夠得到老師的耐心指導(dǎo),才能夠完成這次設(shè)計(jì)。在設(shè)計(jì)的過(guò)程中我們走了不少的彎路,也遇到了很多的問(wèn)題,還好都被我們一一解決。這使我們從中學(xué)得了很多的知識(shí),在課本上學(xué)得都是些理論知識(shí),而到了實(shí)際操作遇到的難題還真是你無(wú)法想象得到的。經(jīng)過(guò)本次設(shè)計(jì)我們對(duì)單片機(jī)又有了一點(diǎn)深刻的認(rèn)識(shí)并對(duì)教學(xué)機(jī)的內(nèi)部結(jié)構(gòu)和運(yùn)行方式有了進(jìn)一步的了解。做的不好望老師能夠
84、見諒。最后,感謝學(xué)校和老師能夠提供這次機(jī)會(huì)使我們學(xué)得了很多新的知識(shí)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李錫雄. 微型計(jì)算機(jī)控制技術(shù). 北京: 科學(xué)出版社,1999.8</p><p> [2] 張迎新. 單片微型計(jì)算機(jī)原理應(yīng)用及接口技術(shù). 北京: 國(guó)防工業(yè)出版社,2000</p>&l
85、t;p> [3] 胡壽松. 自動(dòng)控制原理. 北京: 國(guó)防工業(yè)出版社,1994</p><p> [5] 何立民. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì). 北京: 北京航空航天大學(xué)出版社,1989</p><p> [6] 李華. MCS-51系列單片機(jī)實(shí)用接口技術(shù). 北京: 北京航空航天大學(xué)出版社,1993</p><p> [7] 梅麗鳳. 單片機(jī)原理及接口技術(shù) 清華
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)說(shuō)明書
- 單片機(jī)課程設(shè)計(jì)說(shuō)明書
- 基于單片機(jī)的恒溫恒濕孵化器系統(tǒng)設(shè)計(jì).pdf
- 單片機(jī)原理課程設(shè)計(jì)說(shuō)明書
- 單片機(jī)課程設(shè)計(jì)說(shuō)明書——電子秒表
- 單片機(jī)原理課程設(shè)計(jì)---比賽計(jì)分器設(shè)計(jì)說(shuō)明書
- 智能加濕器單片機(jī)課程設(shè)計(jì)說(shuō)明書
- 單片機(jī)步進(jìn)電機(jī)課程設(shè)計(jì)說(shuō)明書
- 單片機(jī)課程設(shè)計(jì)電子秒表設(shè)計(jì)說(shuō)明書
- 單片機(jī)課程設(shè)計(jì)--電子秒表設(shè)計(jì)說(shuō)明書
- 簡(jiǎn)易計(jì)算器單片機(jī)課程設(shè)計(jì)說(shuō)明書濰坊學(xué)院
- 單片機(jī)課程設(shè)計(jì)---交通燈設(shè)計(jì)說(shuō)明書
- at89c51單片機(jī)課程設(shè)計(jì)說(shuō)明書
- led顯示屏單片機(jī)課程設(shè)計(jì)說(shuō)明書
- 宿舍安全系統(tǒng)單片機(jī)課程設(shè)計(jì)說(shuō)明書
- 光立方-單片機(jī)技術(shù)課程設(shè)計(jì)說(shuō)明書
- 單片機(jī)數(shù)字溫度計(jì) 課程設(shè)計(jì)說(shuō)明書
- 《單片機(jī)的最簡(jiǎn)連線搶答器》課程設(shè)計(jì)說(shuō)明書
- 單片機(jī)課程設(shè)計(jì)說(shuō)明書--基于adc0809溫度測(cè)量單片機(jī)系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論