版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作》</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 教學(xué)院(部) 電氣與電子信息工程學(xué)院 </p><p> 教 研 室 自 動(dòng) 控 制 </p><p> 指 導(dǎo) 教
2、 師 </p><p> 課程設(shè)計(jì)時(shí) 間 </p><p> 課程設(shè)計(jì)班 級(jí) 2008電氣自動(dòng)化技術(shù) 2班 </p><p> 學(xué) 號(hào)
3、 </p><p> 姓 名 </p><p> 《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作》課程設(shè)計(jì)任務(wù)書</p><p> 2009 ~2010 學(xué)年第2學(xué)期</p><p> 一、課程設(shè)計(jì)題目: </p><p> 1.
4、紅外線遙控器設(shè)計(jì)</p><p> 2. 數(shù)字萬(wàn)年歷系統(tǒng)設(shè)計(jì)</p><p> 3. 智能化公共汽車報(bào)站器設(shè)計(jì)</p><p> 4. 智能溫度計(jì)設(shè)計(jì)</p><p> 5. 數(shù)字式電壓表設(shè)計(jì)</p><p> 6. 交通信號(hào)燈模擬控制</p><p> 7. 電子密碼鎖設(shè)計(jì)<
5、/p><p> 8. 直流風(fēng)扇電機(jī)轉(zhuǎn)速測(cè)量與PWM控制</p><p> 9. 作息時(shí)間控制器設(shè)計(jì)</p><p> 10. 水溫控制系統(tǒng)</p><p><b> 二、課程設(shè)計(jì)內(nèi)容</b></p><p> 1. 以單片機(jī)為主控器件,構(gòu)造系統(tǒng);</p><p>
6、2. 熟悉、掌握各種外圍接口電路芯片的工作原理和控制方法;</p><p> 3. 熟悉、掌握單片機(jī)匯編語(yǔ)言的軟件設(shè)計(jì)方法;</p><p> 4. 熟悉、掌握印刷電路板的設(shè)計(jì)方法;</p><p> 5. 根據(jù)具體設(shè)計(jì)課題的技術(shù)指標(biāo)和給定條件,能獨(dú)立而正確地進(jìn)行方案論證和電路設(shè)計(jì),要求概念清楚、方案合理、方法正確、步驟完整;</p><p
7、> 6. 學(xué)會(huì)查閱有關(guān)參考資料和手冊(cè),并能正確選擇有關(guān)元器件和參數(shù);</p><p> 7. 編寫設(shè)計(jì)說(shuō)明書,參考畢業(yè)設(shè)計(jì)論文格式撰寫設(shè)計(jì)報(bào)告(5000字以上)。</p><p> 注:詳細(xì)要求和技術(shù)指標(biāo)見(jiàn)附錄。</p><p><b> 三、進(jìn)度安排</b></p><p><b> 1.時(shí)間
8、安排</b></p><p><b> 2.執(zhí)行要求</b></p><p> 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與制作共10個(gè)選題,每組3~5人,為避免雷同,在設(shè)計(jì)中每個(gè)同學(xué)所采用的方案不能一樣。</p><p><b> 四、基本要求</b></p><p> ?。?)進(jìn)行方案論證并根據(jù)要求確
9、定系統(tǒng)設(shè)計(jì)方案;</p><p> (2)繪制系統(tǒng)框圖和電氣原理草圖,程序流程圖;</p><p> ?。?)對(duì)相關(guān)電路進(jìn)行電路參數(shù)計(jì)算和元器件選擇;</p><p> ?。?)進(jìn)行軟件匯編并調(diào)試;</p><p> ?。?)利用Proteus和Keil uVision2對(duì)系統(tǒng)進(jìn)行聯(lián)調(diào);</p><p> ?。?)繪
10、制系統(tǒng)原理總圖,列出原器件明細(xì)表;</p><p> ?。?)畫出軟件框圖,列出程序清單;</p><p> ?。?)寫出使用說(shuō)明書;</p><p> (9)對(duì)設(shè)計(jì)進(jìn)行全面總結(jié),寫出課程設(shè)計(jì)報(bào)告。</p><p> 五、課程設(shè)計(jì)考核辦法與成績(jī)?cè)u(píng)定</p><p> 根據(jù)過(guò)程、報(bào)告、答辯等確定設(shè)計(jì)成績(jī),成績(jī)分優(yōu)、
11、良、中、及格、不及格五等。</p><p> 六、課程設(shè)計(jì)參考資料</p><p> [1]電氣與電子信息工程學(xué)院.單片機(jī)實(shí)驗(yàn)指導(dǎo)書 </p><p> [2]熊靜琪.計(jì)算機(jī)控制技術(shù).北京:電子工業(yè)出版社,2003</p><p> [3]黃忠霖.控制系統(tǒng)MATIAB計(jì)算及仿真.北京:國(guó)防工業(yè)出版社, 2004</p>
12、<p> [4]彭為等.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講. 北京:電子工業(yè)出版社,2007</p><p> [5]王慶利等.單片機(jī)設(shè)計(jì)案例實(shí)踐教程.北京:北京郵電大學(xué)出版社,2008</p><p> [6]韓志軍等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)——入門向?qū)c設(shè)計(jì)實(shí)例.北京:機(jī)械工業(yè)出版社,2005</p><p><b> 摘 要</b&g
13、t;</p><p> 交通在人們的日常生活中占有重要的地位,隨著人們社會(huì)活動(dòng)的日益頻繁,這點(diǎn)更是體現(xiàn)的淋漓盡致。交通信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。本系統(tǒng)采用單片機(jī)AT89C51為中心器件來(lái)設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。本設(shè)計(jì)就是采用單片機(jī)模擬十字路口交通燈的各種狀態(tài)顯示以及倒計(jì)時(shí)時(shí)間。</p><p>
14、; 本設(shè)計(jì)系統(tǒng)由單片機(jī)I/O口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、緊急情況中斷系統(tǒng)、復(fù)位電路等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時(shí)、緊急情況處理等功能,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。</p><p> 軟件上采用C51編程,主要編寫了主程序,LED數(shù)碼管顯示程序,中斷程序延時(shí)程序等。經(jīng)過(guò)整機(jī)調(diào)試,實(shí)現(xiàn)了對(duì)十字路口交通燈的模擬。</p><p>&
15、lt;b> 目 錄</b></p><p><b> 摘 要</b></p><p><b> 第一章 緒 論</b></p><p><b> 1.1 概述</b></p><p><b> 1.2 設(shè)計(jì)目的</b&g
16、t;</p><p> 1.3 設(shè)計(jì)任務(wù)和內(nèi)容</p><p> 第二章 總體設(shè)計(jì)及核心器件簡(jiǎn)介</p><p><b> 2.1總體設(shè)計(jì)</b></p><p> 2.2 AT89C51</p><p> 2.3 8255A</p><p> 2.
17、4 74LS164</p><p> 2.5 X5045</p><p> 第三章 單元電路模塊設(shè)計(jì)</p><p><b> 3.1復(fù)位電路</b></p><p><b> 3.3晶振電路</b></p><p> 3.4 I/O口擴(kuò)展電路<
18、;/p><p> 3.5 LED數(shù)碼管顯示電路</p><p> 3.6 交通燈狀態(tài)顯示電路</p><p> 3.7 緊急情況中斷電路</p><p> 3.8 總體設(shè)計(jì)原理圖及功能介紹</p><p> 第四章 軟件編程設(shè)計(jì)</p><p><b> 4.1 設(shè)計(jì)
19、思想</b></p><p><b> 4.2 程序框圖</b></p><p><b> 4.3 源程序</b></p><p> 第五章 設(shè)計(jì)心得</p><p><b> 參考文獻(xiàn)</b></p><p><b
20、> 第一章 緒 論</b></p><p><b> 1.1 概述</b></p><p> 近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合
21、,加以完善。交通信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。</p><p><b> 1.2 設(shè)計(jì)目的</b></p><p> ?。?)加強(qiáng)對(duì)單片機(jī)和C51語(yǔ)言的認(rèn)識(shí),充分掌握和理解設(shè)計(jì)各部分的工作原理、設(shè)計(jì)過(guò)程、選擇芯片器件、模塊化編程等多項(xiàng)知識(shí)。</p><p> ?。?)用單片機(jī)模擬
22、實(shí)現(xiàn)具體應(yīng)用,使個(gè)人設(shè)計(jì)能夠真正使用。</p><p> ?。?)把理論知識(shí)與實(shí)踐相結(jié)合,充分發(fā)揮個(gè)人能力,并在實(shí)踐中鍛煉。</p><p> (4)提高利用已學(xué)知識(shí)分析和解決問(wèn)題的能力。</p><p> ?。?)提高實(shí)踐動(dòng)手能力。</p><p> 1.3 設(shè)計(jì)任務(wù)和內(nèi)容</p><p><b>
23、1.3.1設(shè)計(jì)任務(wù)</b></p><p> 結(jié)合教材及參考資料,用AT89C51單片機(jī)模擬實(shí)現(xiàn)十字路口的交通燈亮滅、倒計(jì)時(shí)顯示、緊急情況處理等功能。</p><p><b> 1.3.2設(shè)計(jì)內(nèi)容</b></p><p> ?。?)填寫設(shè)計(jì)任務(wù)書。</p><p> ?。?)進(jìn)行總體設(shè)計(jì),畫出原理圖。&l
24、t;/p><p> ?。?)用Protel軟件畫出PCB板并制板。</p><p> (4)焊接器件和芯片。</p><p> ?。?)編寫并調(diào)試程序。</p><p> 第二章 總體設(shè)計(jì)及核心器件簡(jiǎn)介</p><p><b> 2.1總體設(shè)計(jì)</b></p><p>
25、 整個(gè)設(shè)計(jì)以AT89C51單片機(jī)為核心,由I/O口擴(kuò)展,LED數(shù)碼管顯示,緊急情況中斷電路,watchdog復(fù)位電路組成。</p><p> 硬件模塊入圖3-1。</p><p> 圖2-1 硬件模塊</p><p> 2.2 AT89C51</p><p> 1.AT89C51單片機(jī)簡(jiǎn)介</p><p>
26、 AT89C51是美國(guó)ATMEL公司推出的系列單片機(jī),將多種功能的8位CPU與FPEROM(快閃可編程/擦除只讀存儲(chǔ)器)結(jié)合在一個(gè)芯片上,是一種低功耗、高性能的CMOS控制器,為很多嵌入式控制應(yīng)用提供了非常靈活而又價(jià)格適宜的方案,其性能價(jià)格比遠(yuǎn)高于同類芯片。它與MCS-51指令系統(tǒng)兼容,片內(nèi)FPEROM允許對(duì)程序存儲(chǔ)器在線重復(fù)編程,也可用常規(guī)的EPROM編程器編程,可循環(huán)寫入/擦除1000次。89C51內(nèi)含4KB的FPEROM,一般的E
27、EPROM的字節(jié)擦除時(shí)間和寫入時(shí)間基本上均為10ms,對(duì)于任一個(gè)實(shí)時(shí)控制系統(tǒng)來(lái)說(shuō),這樣長(zhǎng)的時(shí)間是不可能在線修改程序的。</p><p> 圖2-2 89C51內(nèi)部結(jié)構(gòu)圖</p><p> 與EEPROM相比較,F(xiàn)PEROM大大縮短了存儲(chǔ)內(nèi)容擦除和寫入的時(shí)間,為在線改寫程序提供了極大的方便,而且價(jià)格也比帶EPROM87C系列單片機(jī)便宜,這更顯示出了89C系列的優(yōu)越性。它還有128*8Bi
28、t的片內(nèi)RAM;32根I/O線;2個(gè)16位定時(shí)/計(jì)數(shù)器;5個(gè)中斷源;一個(gè)全雙工的異步串行口;間歇和掉電工作模式;三級(jí)程序存儲(chǔ)器加密;全靜態(tài)工作,晶振工作范圍:0Hz—24MHz。</p><p><b> 2.管腳功能</b></p><p> AT89C51單片機(jī)為40引腳芯片如圖2-3所示。</p><p> ?、買/O口線: P0、P
29、1、P2、P3共四個(gè)八位P0口是三態(tài)雙向口, 通稱數(shù)據(jù)總線口, 因?yàn)橹挥性摽谀苤苯佑糜趯?duì)外部存儲(chǔ)器的讀?寫操作。P0口也用以輸出外部存儲(chǔ)器的低8位地址。由于是分時(shí)輸出, 故應(yīng)在外部加鎖存器將此地址數(shù)據(jù)鎖存, 地址鎖存信號(hào)用ALE。P1口是專門供用戶使用的I/O口, 是準(zhǔn)雙向口。P2口是從系統(tǒng)擴(kuò)展時(shí)作高8位地址線用。不擴(kuò)展外部存儲(chǔ)器時(shí), P口也可以作為用戶I/O口線使用, P2口也是準(zhǔn)雙向口。P3口是雙功能口, 該口的每一位均可獨(dú)立地定義
30、為第一I/O 功能或第二I/O功能。作為第一功能使用時(shí)操作同P1口。</p><p> P3口的第二功能如表2-1。</p><p> 圖2-3 89C51引腳圖</p><p> ?、诳刂瓶诰€: PSEN (片外取控制)、AL E( 地址鎖存控制)、EA (片外儲(chǔ)器選擇)、RE2SET (復(fù)位控制) ;</p><p> ?、垭娫醇皶r(shí)鐘
31、: CCC、VSS; XTAL 1, XTAL 2</p><p> 表2-1 引腳功能表</p><p> 2.3 8255A</p><p> 8255A是Intel公司生產(chǎn)的可編程輸入輸出接口芯片,它具有3個(gè)8位的并I/O</p><p> 口,具有三種工作方式,可通過(guò)程序改變其功能,因而使用靈活,通用性強(qiáng),可作為單</
32、p><p> 片機(jī)與多種外圍設(shè)備連接時(shí)的中間接口電路。8255有三種基本工作方式, 三種工作方式由工作方式控制字決定,方式控制字由CPU通過(guò)輸入/輸出指令來(lái)提供.三個(gè)端口中PC口被分為兩個(gè)部分,上半部分隨PA口稱為A組,下半部分隨PB口稱為B組.其中PA口可工作與方式0、1和2,而PB口只能工作在方式0和1。8255共有40個(gè)引腳,采用雙列直插式封裝。其引腳圖如圖2-4所示,各引腳功能如下:</p&
33、gt;<p> 圖2-4 8255A引腳圖</p><p> D0--D7:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接,用來(lái)傳送數(shù)據(jù)信息。</p><p> CS:片選信號(hào)線,低電平有效,表示芯片被選中。</p><p> RD:讀出信號(hào)線,低電平有效,控制數(shù)據(jù)的讀出。</p><p> WR:寫入信號(hào)線,低電平有效,控制數(shù)
34、據(jù)的寫入。</p><p> Vcc:+5V電源。PA0--PA7:A口輸入/輸出線。PB0--PB7:B口輸入/輸出線。PC0--PC7:C口輸入/輸出線。RESET:復(fù)位信號(hào)線。A1、A0:地址線,用來(lái)選擇8255內(nèi)部端口。GND:地線。</p><p> 2.4 74LS164</p><p> 74LS164引腳定義如圖2-5所示,其真值
35、表如表2-2所示,其功能是將外部輸入的串行數(shù)據(jù)轉(zhuǎn)化為8位的并行數(shù)據(jù)輸出具有鎖寸功能。A、B端為串行數(shù)據(jù)輸入端,QA ~ QH為數(shù)據(jù)輸出端,CLK為外部時(shí)鐘輸入端,CLR為清零端。</p><p> 圖2-5 74LS164引腳圖</p><p> 表2-2 74LS164真值表</p><p> 注 QA0、 QB0、QH0為在穩(wěn)態(tài)輸入條件建立之前QA
36、 、QB 和QH相應(yīng)的電平;QAn 、QGn 為在最近的時(shí)鐘↑轉(zhuǎn)換前QA或QG的電平,表示移1位。</p><p> 74LS164內(nèi)部功能圖如圖2-6所示:</p><p> 圖2-6 74LS164內(nèi)部功能圖</p><p> 2.5 X5045</p><p> X5045是一種集看門狗、電壓監(jiān)控和串行EEPROM 三種功能于
37、一身的可編程電路。這種組合設(shè)計(jì)減少了電路對(duì)電路板空間的需求。</p><p> X5045中的看門狗對(duì)系統(tǒng)提供了保護(hù)功能。當(dāng)系統(tǒng)發(fā)生故障而超過(guò)設(shè)置時(shí)間時(shí),電路中的看門狗將通過(guò)RESET信號(hào)向CPU 作出反應(yīng)。X5045提供了三個(gè)時(shí)間值供用戶選擇使用。它所具有的電壓監(jiān)控功能還可以保護(hù)系統(tǒng)免受低電壓的影響,當(dāng)電源電壓降到允許范圍以下時(shí),系統(tǒng)將復(fù)位,直到電源電壓返回到穩(wěn)定值為止。X5045的存儲(chǔ)器與CPU 可通過(guò)串行
38、通信方式接口,共有4096個(gè)位,可以按512 x 8個(gè)字節(jié)來(lái)放置數(shù)據(jù)。</p><p><b> 1 引腳介紹</b></p><p> CS/WDI:片選輸入/看門狗復(fù)位輸入;</p><p><b> SO:串行輸出;</b></p><p><b> WP:寫保護(hù)輸入;<
39、;/b></p><p> RESET:復(fù)位輸出;</p><p> SCK:同步時(shí)鐘輸入;</p><p><b> SI:串行輸入。</b></p><p> 圖2-7 X5045引腳圖 Vss:地;</p><p><b> Vcc:電源;</b
40、></p><p><b> 2 工作原理</b></p><p><b> 2.1 上電復(fù)位</b></p><p> 向X5045加電時(shí)會(huì)激活其內(nèi)部的上電復(fù)位電路,從而使RESET 引腳有效。該信號(hào)可避免系統(tǒng)微處理器在電壓不足或振蕩器未穩(wěn)定的情況下工作。當(dāng)VCC 超過(guò)器件的Vtrip門限值時(shí),電路將在200
41、ms(典型)延時(shí)后釋放RESET 以允許系統(tǒng)開(kāi)始工作。</p><p><b> 2.2 低電壓監(jiān)視</b></p><p> 工作時(shí), X5045對(duì)VCC 電平進(jìn)行監(jiān)測(cè),若電源電壓跌落至預(yù)置的最小Vtrip以下時(shí),系統(tǒng)即確認(rèn)RESET,從而避免微處理器在電源失效或斷開(kāi)的情況下工作。當(dāng)RESET 被確認(rèn)后,該RESET 信號(hào)將一直保持有效,直到電壓跌到低于1V 。
42、而當(dāng)VCC 返回并超過(guò)Vtrip達(dá)200ms時(shí),系統(tǒng)重新開(kāi)始工作。</p><p> 2.3 看門狗定時(shí)器</p><p> 看門狗定時(shí)器的作用是通過(guò)監(jiān)視WDI輸入來(lái)監(jiān)視微處理器是否激活。由于微處理器必須周期性的觸發(fā)CS/WDI引腳以避免RESET 信號(hào)激活而使電路復(fù)位,所以CS/WDI引腳必須在看門狗超時(shí)時(shí)間終止之前受到由高至低信號(hào)的觸發(fā)。</p><p>
43、 2.4 重新設(shè)置VCC 門限</p><p> X5045/45出廠時(shí)設(shè)置的標(biāo)準(zhǔn)VCC 門限電壓為Vtrip,但在應(yīng)用時(shí),如果標(biāo)準(zhǔn)值不恰當(dāng),用戶可以重新調(diào)整。</p><p> 2.5 SPI串行存儲(chǔ)器</p><p> 器件存儲(chǔ)器部分是帶塊鎖保護(hù)的CMOS串行EEPROM 陣列,陣列的內(nèi)部組織是x8 位。X5045可提供最少為1000,000次擦寫和100
44、年的數(shù)據(jù)保存期,并具有串行外圍接口(SPI)和軟件協(xié)議的特點(diǎn),允許工作在簡(jiǎn)單的四總線上。</p><p> X5045主要是通過(guò)一個(gè)8 位的指令寄存器來(lái)控制器件的工作,其指令代碼通過(guò)SI輸入端(MSB在前)寫入寄存器。表2-3所列為X5045的指令格式及其操作。</p><p> 表2-3 X5045的指令格式及其操作</p><p> 2.6 時(shí)鐘和數(shù)據(jù)時(shí)
45、序</p><p> 當(dāng)CS變低以后,SI線上的輸入數(shù)據(jù)在SCK 的第一個(gè)上升沿時(shí)被鎖存。而SO 線上的數(shù)據(jù)則由SCK的下降沿輸出。用戶可以停止時(shí)鐘,然后再啟動(dòng)它, 以便在它停止的地方恢復(fù)操作。在整個(gè)工作期間,CS必須為低。</p><p><b> 2.7 狀態(tài)寄存器</b></p><p> 狀態(tài)寄存器包含四個(gè)非易失性狀態(tài)位和兩個(gè)易失
46、性狀態(tài)位。控制位用于設(shè)置看門狗定時(shí)器的操作和存儲(chǔ)器的塊鎖保護(hù)。狀態(tài)寄存器的格式如表2-4(缺省值為00H) :</p><p> 表2-4 狀態(tài)寄存器格式</p><p> 其中: WIP (Write-In-Progress) 位是易失性只讀位,用于指明器件是否忙于內(nèi)部非易失性寫操作。WIP 位可用RDSR指令讀出。當(dāng)該位為“1”時(shí),表示非易失性寫操作正在進(jìn)行;為“0”時(shí),表示沒(méi)有進(jìn)
47、行寫操作。</p><p> WEL(Write Enable Latch)位用于指出“寫使能”鎖存的狀態(tài)。WEL=1時(shí),表示鎖存被設(shè)置;WEL=0 表示鎖存已復(fù)位。WEL 位是易失性只讀位??梢杂肳REN指令設(shè)置WEL 位;用WRDI指令復(fù)位WEL位。</p><p> 用BLO,BL1(Block Lock)位可設(shè)置塊鎖存保護(hù)的范圍。任何被塊鎖保護(hù)的存儲(chǔ)器都只能讀出不能寫入。這兩個(gè)
48、非易失性位可用WRSR指令來(lái)編程,并允許用戶保護(hù)EEPROM 陣列的1/4 、1/2、全部或0。參見(jiàn)表2-5 。</p><p> 2-5 受保護(hù)的EEPROM陳列地址</p><p> WD0、WD1( Watchdog Timer)位用于選擇看門狗的超時(shí)周期。見(jiàn)表2-6 。</p><p> 表2-6 看門狗的超時(shí)周期選擇</p><p
49、> 當(dāng)用CS 選中器件后,送8 位RDSR指令,并由CLK 信號(hào)觸發(fā)即可將狀態(tài)寄存器的內(nèi)容從SO 線上讀出。而在寫狀態(tài)寄存器時(shí),應(yīng)先將CS 拉低,然后送WREN指令,再拉高CS。然后再次拉低CS,最后送入WREN指令及對(duì)應(yīng)于狀態(tài)寄存器內(nèi)容的8 位數(shù)據(jù)即可。該操作由CS 變高結(jié)束。</p><p> WEL位及WP引腳的狀態(tài)對(duì)器件內(nèi)的存儲(chǔ)器及狀態(tài)寄存器各部分保護(hù)的影響如表2-7所列。</p>
50、<p> 表2-7 WREN命令和/WP引腳狀態(tài)寄存器的影響</p><p> 第三章 單元電路模塊設(shè)計(jì)</p><p><b> 3.1復(fù)位電路</b></p><p> 復(fù)位方式有多種,但本設(shè)計(jì)采用看門狗芯片X5045,接線圖如圖3-1所示。</p><p> 3-1 復(fù)位電路原理圖</p
51、><p> 在設(shè)定的定時(shí)時(shí)間內(nèi),89C51必須在/CS/WDI引腳產(chǎn)生一個(gè)由高到低的電平變化,以清內(nèi)部定時(shí)器,即“喂狗”,否則X5045將產(chǎn)生一個(gè)復(fù)位信號(hào)。</p><p><b> 3.3晶振電路</b></p><p> 晶振電路原理圖如3-2:</p><p> 3-2 晶振模塊原理圖</p>&
52、lt;p> 選取原則:傳統(tǒng)做法,但能夠?qū)崿F(xiàn)所需,即最簡(jiǎn)單也最是實(shí)用。電容選取22uF,晶振為11.0592Hz。</p><p> 3.4 I/O口擴(kuò)展電路</p><p> 硬件原理設(shè)計(jì)圖如圖3-3所示:</p><p> 圖3-3 8255A擴(kuò)展單片機(jī)I/0口電路圖</p><p> 用74LS373鎖存,74LS138譯
53、碼,擴(kuò)展單片機(jī)的I/O口,由原理圖得8255端口地址分配為:</p><p><b> A口:0FFD8H</b></p><p><b> B口:0FFD9H</b></p><p><b> C口:0FFDAH</b></p><p> 3.5 LED數(shù)碼管顯示電路
54、</p><p> 在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)碼管顯示常用兩種方法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開(kāi)銷小,可以提供單獨(dú)鎖存的I/O接口電路很多。所以本設(shè)計(jì)采用串并轉(zhuǎn)換電路74LS164的靜態(tài)顯示電路。
55、其電路圖如圖3-4所示。 </p><p> 圖3-4 數(shù)碼管顯示靜態(tài)驅(qū)動(dòng)電路</p><p> MCS-51單片機(jī)串行口方式0為移位寄存器方式,外接2片74LS164作為2位LED顯示器的靜態(tài)顯示接口,把89C51的RXD作為數(shù)據(jù)輸出線,TXD作為移位時(shí)鐘脈沖。74LS164為TTL單向8位移位寄存器,可實(shí)現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數(shù)據(jù)輸入端,2個(gè)引腳按
56、邏輯與運(yùn)算規(guī)律輸入信號(hào),共一個(gè)輸入信號(hào)時(shí)可并接。T(第8腳)為時(shí)鐘輸入端,可連接到串行口的TXD端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到T端時(shí),移位寄存器移一位,8個(gè)時(shí)鐘脈沖過(guò)后,8位二進(jìn)制數(shù)全部移入74LS164中。R(第9腳)為復(fù)位端,當(dāng)R=0時(shí),移位寄存器各位復(fù)0,只有當(dāng)R=1時(shí),時(shí)鐘脈沖才起作用。Q1…Q8(第3-6和10-13引腳)并行輸出端分別接LED顯示器的hg···a各段對(duì)應(yīng)的引腳上。在給出了8個(gè)脈沖
57、后,最先進(jìn)入74LS164的第一個(gè)數(shù)據(jù)到達(dá)了最高位,然后如果再來(lái)一個(gè)脈沖,第一個(gè)脈沖就會(huì)從最高位移出。設(shè)計(jì)中的2片7LS164首尾相串,而時(shí)鐘端則接在一起,這樣,當(dāng)輸入8個(gè)脈沖時(shí),從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到了第一片74LS164中了,而當(dāng)?shù)诙€(gè)8個(gè)脈沖到來(lái)后,這個(gè)數(shù)據(jù)就進(jìn)入了第二片74LS164</p><p> 本設(shè)計(jì)中采用的是共陰極LED數(shù)碼管,其字形碼如表3-1所示。</p><
58、;p> 表3-1 共陰極LED數(shù)碼管字形碼表</p><p> 3.6 交通燈狀態(tài)顯示電路</p><p> 十字路口的交通燈分布示意圖如圖3-5所示,將這12個(gè)交通燈進(jìn)行編號(hào)。</p><p> 圖3-5 十字路口交通燈分布示意圖</p><p> 這12個(gè)交通燈共有四個(gè)狀態(tài):</p><p>
59、狀態(tài)1(S1):東西紅燈(4、10)亮,南北綠燈(3、9)亮</p><p> 狀態(tài)2(S2):南北黃燈(2、8)亮,東西仍為紅燈(4、10)亮</p><p> 狀態(tài)3(S3):南北紅燈(1、7)亮,東西綠燈(6、12)亮</p><p> 狀態(tài)4(S4):東西黃燈(5、11)亮,南北仍為紅燈(1、7)亮</p><p> 對(duì)應(yīng)的硬
60、件原理設(shè)計(jì)圖如圖3-6所示:</p><p> 圖3-6 交通燈狀態(tài)顯示電路</p><p> 用7407對(duì)發(fā)光二極管進(jìn)行驅(qū)動(dòng),圖中電阻R為390歐姆,以保證通過(guò)發(fā)光二極管的電流大于工作電流10mA。</p><p> 四種狀態(tài)下發(fā)光二極管與相應(yīng)端口取值關(guān)系見(jiàn)表3-2。</p><p> 表3-2 發(fā)光二極管與相應(yīng)端口取值關(guān)系<
61、/p><p> 3.7 緊急情況中斷電路</p><p> 緊急情況中斷處理電路圖如圖3-7所示:</p><p> 圖3-7 緊急情況中斷電路圖</p><p> 當(dāng)東西向(或南北向)有特殊情況,比如有救護(hù)車通過(guò),開(kāi)關(guān)SW0為低電平則應(yīng)使交通燈處于S3(東西綠燈、南北),開(kāi)關(guān)SW1為低電平則應(yīng)使交通燈處于S1(南北向綠燈、東西向紅燈)。
62、</p><p> 3.8 總體設(shè)計(jì)原理圖及功能介紹</p><p> ?、?整個(gè)設(shè)計(jì)原理圖見(jiàn)附圖。</p><p><b> 功能介紹</b></p><p> 在應(yīng)用電路中,采用8255A對(duì)單片機(jī)的I/O口進(jìn)行有效的擴(kuò)展,從而大大增加了可利用的I/O口資源,使得I/O口很充裕。8255的PA口和PB口接發(fā)光二
63、極管,通過(guò)對(duì)PA口和PB口的位寫“1”或“0”來(lái)控制發(fā)光二極管的亮、滅,進(jìn)而模擬顯示出十字路口交通燈的各種狀態(tài)。 </p><p> LED數(shù)碼管則用來(lái)對(duì)各種狀態(tài)進(jìn)行倒計(jì)時(shí)的顯示。設(shè)計(jì)中采用74LS164靜態(tài)驅(qū)動(dòng)LED數(shù)碼管,利用單片機(jī)的RXD作為數(shù)據(jù)的輸出端給164送數(shù)。利用164的移位進(jìn)行多位的顯示。利用延時(shí)程序控制每秒時(shí)間,從而控制RXD送數(shù)的時(shí)間間隔。</p><p> 緊急情
64、況的處理則采用查詢加中斷的方式。通過(guò)查詢P1.2和P1.3的狀態(tài)來(lái)控制外部中斷1,然后進(jìn)去相應(yīng)的處理程序。在哪一方向上有緊急情況,則能通過(guò)開(kāi)關(guān)進(jìn)行中斷,使該方向上為綠燈放行,同時(shí)緊急情況報(bào)警燈亮。</p><p> 第四章 軟件編程設(shè)計(jì)</p><p><b> 4.1 設(shè)計(jì)思想</b></p><p> 交通燈根據(jù)其顯示情況可以分為四個(gè)
65、狀態(tài),可以通過(guò)定時(shí)來(lái)控制每個(gè)狀態(tài)的時(shí)間;通過(guò)定時(shí)也可以向LED數(shù)碼管中每隔1秒送一個(gè)數(shù),顯示該狀態(tài)剩余的時(shí)間;如果有中斷出現(xiàn)則進(jìn)入相應(yīng)的處理程序:先保留目前的顯示狀態(tài),然后根據(jù)情況顯示處理中的狀態(tài),緊急情況結(jié)束則恢復(fù)到保留的原來(lái)狀態(tài)。</p><p><b> 4.2 程序框圖</b></p><p> 主程序框圖和中斷程序框圖分別如圖4-1和4-2所示。
66、 </p><p> 圖4-1 主程序框圖 圖4-2 中斷程序框圖</p><p><b> 4.3 源程序</b></p><p> #include <reg51.h></p><p> #include <absacc.h></p>&
67、lt;p> #include <intrins.h></p><p> #define uint unsigned int</p><p> #define uchar unsigned char</p><p> #define COM8255 XBYTE[0xffdb]</p><p> #define PA8
68、255 XBYTE[0xffd8]</p><p> #define PB8255 XBYTE[0Xffd9]</p><p> sbit P1_0=P1^0;</p><p> sbit P1_2=P1^2;</p><p> sbit P1_3=P1^3;</p><p> sbit P3_0=P3^0;
69、</p><p> sbit P3_1=P3^1;</p><p> uchar code table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xff,0xf6,0x00};</p><p> void delay_500ms(int x) /*延時(shí)子程序*/</p><p><
70、;b> {</b></p><p><b> int i;</b></p><p> for(;x>0;x--)</p><p> for(i=6245;i>0;i++)</p><p><b> {;}</b></p><p><
71、;b> }</b></p><p> void int1_srv(void)interrupt 2 using 2</p><p><b> {</b></p><p> uchar a,b;</p><p><b> if(!INT1)</b></p>&
72、lt;p><b> {</b></p><p><b> a=PA8255;</b></p><p> b=PB8255; /*保留A口,B口狀態(tài)*/</p><p> if(P1_2==0)</p><p><b> {</b></p>
73、<p> PA8255=0x1d;</p><p> PB8255=0x1d;</p><p><b> P1_0=0;</b></p><p><b> }</b></p><p> if(P1_3==0)</p><p><b> {<
74、;/b></p><p> PA8255=0x2b;</p><p> PB8255=0x2b;</p><p><b> P1_0=0;</b></p><p><b> }</b></p><p> while(!INT1); /*等待開(kāi)關(guān)斷開(kāi)*
75、/</p><p> PA8255=0xff;</p><p> PA8255=0xff;</p><p><b> PA8255=a;</b></p><p> PB8255=b; /*恢復(fù)A口,B口狀態(tài)*/</p><p><b> P1_0=1;</b>
76、</p><p><b> }</b></p><p><b> }</b></p><p> void display(uchar x,uchar y)</p><p><b> { </b></p><p> uchar a[][2]={5
77、,1,4,1,3,1,2,1,1,1,0,1,9,10,8,10,7,10,6,10,5,10,4,10,3,10,2,10,1,10,0,10}; </p><p> uchar i,j;</p><p> for(i=x;i<y;i++)</p><p><b> {</b></p><p> for(
78、j=0;j<2;j++)</p><p><b> { </b></p><p> x=a[i][j];</p><p> SBUF=table[x];</p><p> do{}while(TI==0);</p><p><b> TI=0;</b><
79、/p><p><b> }</b></p><p> delay_500ms(2);</p><p><b> }</b></p><p><b> }</b></p><p> void main()</p><p>&l
80、t;b> {</b></p><p> SCON=0x00;</p><p><b> P3_0=1;</b></p><p><b> P3_1=1;</b></p><p> COM8255=0x88;</p><p> SCON=0x00;
81、</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> PX1=1;</b></p><p><b> EX1=1;</b></p><p> PA8255
82、=0x1b;</p><p> PB8255=0x1b;</p><p> delay_500ms(2);</p><p><b> while(1)</b></p><p><b> {</b></p><p> PA8255=0x1d;/*東西紅,南北綠:12
83、秒*/</p><p> PB8255=0x1d;</p><p> display(0,12);</p><p> PA8255=0x1e; /*東西紅,南北黃:3秒*/</p><p> PB8255=0x1e;</p><p> display(12,16);</p><p&
84、gt; PA8255=0x2b; /*東西綠,南北紅:8秒*/</p><p> PB8255=0x2b;</p><p> display(5,12);</p><p> PA8255=0x33; /*東西黃,南北紅:3秒*/</p><p> PB8255=0x33;</p><p> disp
85、lay(12,16);</p><p> PA8255=0x1d;/*循環(huán)*/</p><p> PB8255=0x1d;</p><p><b> }</b></p><p><b> }</b></p><p><b> 第五章 設(shè)計(jì)心得<
86、/b></p><p> 通過(guò)這次交通燈的設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí)。在此,由于自身能力有限,在課程設(shè)計(jì)中碰到了很多的問(wèn)題
87、,我通過(guò)查閱相關(guān)書籍、資料以及和周圍同學(xué)交流得到解決。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李朝青. 單片機(jī)原理及接口技術(shù)(第3版). 北京:北京航空航天大學(xué)出版社,2005</p><p> [2] 馬忠梅等. 單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì). 北京:北京航空航天大學(xué)出版社,2007</p>
88、<p> [3] 趙新民. 智能儀器設(shè)計(jì)基礎(chǔ). 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1999</p><p> [4] 何立民. 單片機(jī)應(yīng)用技術(shù)大全. 北京:北京航空航天大學(xué)出版社,1994</p><p><b> 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表</b></p><p> 指導(dǎo)教師簽字: </p>
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)---交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--交通燈控制系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)——交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制的交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---智能交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---led交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)----智能交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---交通燈控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)-智能交通燈控制系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)---單片機(jī)控制交通燈系統(tǒng)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈控制設(shè)計(jì)
- 單片機(jī)控制交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---智能交通燈控制系統(tǒng)的設(shè)計(jì)
- 單片機(jī)控制交通燈課程設(shè)計(jì)
- 單片機(jī)控制交通燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---交通燈控制
- 單片機(jī)課程設(shè)計(jì)報(bào)告--基于單片機(jī)的交通燈控制系統(tǒng)
- 單片機(jī)交通燈課程設(shè)計(jì)--基于單片機(jī)的交通燈系統(tǒng)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論