版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目 交通燈的設(shè)計(jì) </p><p> 課 程 名 稱 微機(jī)原理及應(yīng)用 </p><p> 院 部 名 稱 機(jī)電工程學(xué)院 </p><p> 專 業(yè) 電氣
2、工程及其自動(dòng)化 </p><p> 班 級(jí) XXXXXXXXXXX </p><p> 學(xué) 生 姓 名 XXXXX </p><p> 學(xué) 號(hào) XXXXXXXXXX </p><p> 課程設(shè)計(jì)地點(diǎn) 工科樓 C30
3、4 </p><p> 課程設(shè)計(jì)學(xué)時(shí) 20 </p><p> 指 導(dǎo) 教 師 XXXXXXXXX </p><p> 金陵科技學(xué)院教務(wù)處制</p><p><b> 摘 要</b></p><p> 運(yùn)用了80
4、86 CPU芯片以及8255A芯片、8253芯片和數(shù)碼管等輔助硬件電路,進(jìn)行了數(shù)碼管倒計(jì)時(shí)的設(shè)計(jì)。進(jìn)行了軟件設(shè)計(jì)并編寫了源程序。交通在人們的日常生活中占有重要的地位,隨著人們社會(huì)活動(dòng)的日益頻繁,這點(diǎn)更是體現(xiàn)的淋漓盡致。交通信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。本系統(tǒng)采用8086為中心器件來設(shè)計(jì)交通燈控制器,系統(tǒng)實(shí)用性強(qiáng)、操作簡單、擴(kuò)展強(qiáng)。本設(shè)計(jì)就是采用8086最小方式下在Protu
5、es7.8SP2軟件下模擬十字路口交通燈的各種狀態(tài)顯示以及倒計(jì)時(shí)顯示時(shí)間。 </p><p> 本設(shè)計(jì)系統(tǒng)由8255AI/O口擴(kuò)展系統(tǒng)、交通燈狀態(tài)顯示系統(tǒng)、LED數(shù)碼顯示系統(tǒng)等幾大部分組成。系統(tǒng)除基本的交通燈功能外,還具有倒計(jì)時(shí)、緊急情況處理等功能,較好的模擬實(shí)現(xiàn)了十字路口可能出現(xiàn)的狀況。 </p><p> 本系統(tǒng)采用8086匯編語言編寫,主要編寫了主程序,LED
6、數(shù)碼管顯示程序等??傮w上完成了軟件的編寫。</p><p> 關(guān)鍵詞:帶倒計(jì)時(shí)功能的交通燈;8255A;8086微機(jī)系統(tǒng)</p><p><b> 目 錄</b></p><p><b> 一、概述</b></p><p> 1.1 課程設(shè)計(jì)的目的···
7、3;····································
8、183;·····3</p><p> 1.2課程設(shè)計(jì)的要求·························
9、183;··················3</p><p> 二、總體設(shè)計(jì)方案及說明</p><p> 2.1 系統(tǒng)總體設(shè)計(jì)方案······
10、183;···································4</
11、p><p> 2.2系統(tǒng)工作框圖································&
12、#183;·············4</p><p> 三、系統(tǒng)硬件電路設(shè)計(jì)</p><p> 3.1 Intel 8086 微處理器的簡介·········
13、3;·························5</p><p> 3.2 8255A芯片的工作原理 ····&
14、#183;····································
15、;····· 7</p><p> 3.3多位數(shù)碼管的工作原理·························&
16、#183;························8</p><p> 3.4 74LS273芯片簡介·····
17、183;····································
18、 10</p><p> 3.5系統(tǒng)電路圖設(shè)計(jì) ······························
19、83;·········11</p><p> 3.5.1.系統(tǒng)總電路圖設(shè)計(jì)····················
20、3;···········11</p><p> 3.5.2.8086最小系統(tǒng)原理圖設(shè)計(jì)··················
21、··················12</p><p> 四、系統(tǒng)軟件部分設(shè)計(jì)</p><p> 4.1 系統(tǒng)流程圖·······
22、83;····································&
23、#183;···14</p><p> 4.2 系統(tǒng)軟件源程序···························
24、;·················15</p><p> 4.2.3 匯編源程序及說明·············
25、···························16</p><p><b> 五、總結(jié)</b></p>
26、<p> 5.1 系統(tǒng)調(diào)試·································&
27、#183;·····18</p><p> 5.2 心得與體會(huì)·························&
28、#183;·······················20</p><p> 六、參考文獻(xiàn)·······
29、3;····································
30、183;·········22</p><p><b> 概述</b></p><p> 1.課程設(shè)計(jì)應(yīng)達(dá)到的目的</p><p> 通過本課程設(shè)計(jì),使學(xué)生掌握控制系統(tǒng)設(shè)計(jì)的一般步驟,掌握系統(tǒng)總體控制方案的設(shè)計(jì)方法。使學(xué)生進(jìn)一步掌握微型計(jì)算機(jī)應(yīng)用系統(tǒng)
31、的硬、軟件開發(fā)方法,輸入/輸出(I/O)接口技術(shù),應(yīng)用程序設(shè)計(jì)技術(shù),并能結(jié)合專業(yè)設(shè)計(jì)簡單實(shí)用的微型計(jì)算機(jī)應(yīng)用系統(tǒng)。針對(duì)課堂重點(diǎn)講授內(nèi)容使學(xué)生加深對(duì)微型計(jì)算機(jī)硬件原理的理解及提高匯編語言程序設(shè)計(jì)的能力,為以后的畢業(yè)設(shè)計(jì)搭建了微機(jī)系統(tǒng)應(yīng)用平臺(tái),提高學(xué)生的開發(fā)創(chuàng)新能力。</p><p><b> 2.課題訓(xùn)練內(nèi)容</b></p><p> 設(shè)計(jì)一個(gè)基于8086/8088
32、微型計(jì)算機(jī)的一個(gè)交通信號(hào)燈控制系統(tǒng),要求能完成基本的交通燈控制,如紅、綠、黃三種燈的定時(shí)交替點(diǎn)亮與熄滅;要求學(xué)生了解8086/8088微型計(jì)算機(jī)控制系統(tǒng)的基本設(shè)計(jì)方法與思路,能獨(dú)立查閱資料并匯總,具備一定的控制系統(tǒng)設(shè)計(jì)能力,掌握繪制電路原理圖的能力,能編寫一定難度的匯編程序并調(diào)試。</p><p> 3.設(shè)計(jì)一個(gè)模擬交通信號(hào)燈控制系統(tǒng),要求:</p><p> 1)系統(tǒng)功能:十字路口信
33、號(hào)燈東西向南北向各2組,每組用紅黃綠3只LED模擬交通信號(hào)燈。開始:南北紅燈、東西綠燈亮,之后南北紅燈、東西黃燈亮,然后南北綠燈、東西紅燈亮,然后南北黃燈、東西紅燈亮,返回開始。</p><p> 2)給出系統(tǒng)設(shè)計(jì)方案,畫出硬件連線圖,并說明工作原理;</p><p> 3)畫出程序框圖并編寫程序。</p><p> 二、總體設(shè)計(jì)方案與說明</p>
34、<p> 2.1 系統(tǒng)總體設(shè)計(jì)方案</p><p> 本設(shè)計(jì)是基于Windows環(huán)境下的Proteus7.8軟件,在其中進(jìn)行硬件電路的的設(shè)計(jì),匯編語言源程序的編寫以及以上兩部分工作完成后的軟件系統(tǒng)的調(diào)試。</p><p> 本設(shè)計(jì)的處理控制系統(tǒng)由Intel 8086微處理器在最小模式下組成的單處理器系統(tǒng)構(gòu)成,用來進(jìn)行對(duì)外圍硬件電路進(jìn)行信息采集、數(shù)據(jù)處理和控制。</
35、p><p><b> 2.2系統(tǒng)工作框圖</b></p><p> 本課程設(shè)計(jì)使用8086CPU控制8255A和74273鎖存器分別控制LED數(shù)碼管和LED交通燈。</p><p> 第一片8255A被選擇后,從數(shù)據(jù)總線上寫入數(shù)據(jù)到輸出端,把LED數(shù)碼管的待顯示的字符對(duì)應(yīng)是16進(jìn)制數(shù),即要7段數(shù)碼管的對(duì)應(yīng)位的LED置高電平(選擇的是共陰極數(shù)碼
36、管)就可以顯示對(duì)應(yīng)的段碼。</p><p> 第二片8255A被選擇后,從數(shù)據(jù)總線上寫入的數(shù)據(jù)是指定哪一位數(shù)碼管顯示字符,低電平有效。</p><p> 同時(shí)74273鎖存器也要按程序設(shè)定點(diǎn)亮LED交通燈。</p><p> 三、系統(tǒng)硬件部分設(shè)計(jì)</p><p> 3.1 Intel 8086 微處理器的簡介</p>&
37、lt;p> Intel 8086是Intel公司于1978年推出的16位微處理器。它采用HMOS工藝制造,片內(nèi)有2.9萬個(gè)晶體管,單一電源+5V供電,時(shí)鐘頻率4.77-10MHz,片內(nèi)數(shù)據(jù)總線、寄存器和外部數(shù)據(jù)總線都為16位,最大可尋址的物理地址為1M。</p><p> 要掌握一個(gè)CPU的工作性能及使用方法,首先應(yīng)該了解它的編程結(jié)構(gòu)。在8086CPU的編程結(jié)構(gòu)上,從功能上,分為兩部分,即總線接口部件(
38、BIU)和執(zhí)行部件(EU)。8086的邏輯地址為20位,物理地址為16位,,對(duì)于編程員來說,只需要考慮邏輯地址即可。8086為40只引腳雙列直插式封裝。</p><p> Intel 8086 可以工作在最大和最小兩種模式下,最小模式和最大模式的確定是通過一條MN/MN所接的邏輯電平是“1”還是“0”來完成。</p><p> 在最小方式下,微處理器被用來構(gòu)成一個(gè)小規(guī)模的單處理機(jī)系統(tǒng),
39、微處理器本身必須提供全部的的控制信號(hào)給外圍電路。微處理器被用來構(gòu)成一個(gè)較大規(guī)模的多機(jī)系統(tǒng)。在最小模式下的信號(hào)如下:</p><p> (1)AD15~AD0(address data bus)地址/數(shù)據(jù)復(fù)用引腳(雙向工作) 分時(shí)復(fù)用的地址/數(shù)據(jù)線。</p><p> (2)A19/S6~A16/S3(Address/Status)輸出,是分時(shí)復(fù)用的地址/狀態(tài)線。用作地址線時(shí),A19~A
40、16與A15~A0一起構(gòu)成訪問存儲(chǔ)器的20位物理地址。</p><p> (3)BHE/ S7 (Bus High Enabale/Status)總線高字節(jié)有效信號(hào)。三態(tài)輸出,低電平有效,用來表示當(dāng)前高8 位數(shù)據(jù)線上的數(shù)據(jù)有效。</p><p> (4)NMI(Non Maskable Interrupt Request)不可屏蔽中斷請(qǐng)求信號(hào)。由外部輸入,上升沿觸發(fā),不受中斷允許標(biāo)志的
41、限制。</p><p> (5)INTR(Interrupt Request)可屏蔽中斷請(qǐng)求信號(hào)。由外部輸入,電平觸發(fā),高電平有效。</p><p> (6)RD(Read)讀信號(hào)。三態(tài)輸出,低電平有效,表示當(dāng)前CPU正在讀存儲(chǔ)器或IO端口。</p><p> (7) CLK(Clock)主時(shí)鐘引腳(輸入)。由8284時(shí)鐘發(fā)生器輸入。8286CPU可使用的最高
42、時(shí)鐘頻率隨芯片型號(hào)不同而異,8086為5MHz,8086-1為10MHz,8086-2 為8MHz。</p><p> (8) RESET(reset)復(fù)位信號(hào)。由外部輸入,高電平有效。</p><p> (9) READY(ready)準(zhǔn)備就緒信號(hào)。由外部輸入,高電平有效,表示CPU 訪問的存儲(chǔ)器或IO端口已準(zhǔn)備好傳送數(shù)據(jù)。</p><p> (10) TE
43、ST 測試信號(hào)。由外部輸入,低電平有效。CPU 執(zhí)行WAIT 指令時(shí),每隔5 個(gè)時(shí)鐘周期對(duì)TEST 進(jìn)行一次測試,若測試TEST 無效,則CPU 處于踏步等待狀態(tài),直到TEST有效,CPU才繼續(xù)執(zhí)行下一條指令。</p><p> (11) MN/MX 工作模式選擇信號(hào)。由外部輸入,MN/MX 為高電平時(shí),CPU 工作在最小模式;MN/MX為低電平時(shí),CPU工作在最大模式。</p><p>
44、; (12) GND/VCC電源地和電源。8086CPU只需要單一的+5V電源,由VCC引腳輸入。</p><p> (13) INTA 中斷響應(yīng)信號(hào)。向外部輸出,低電平有效。在中斷響應(yīng)周期,該信號(hào)表示CPU響應(yīng)外部發(fā)來的INTR信號(hào),用作讀中斷類型碼的選通信號(hào)。</p><p> (14) ALE 地址鎖存允許信號(hào)。向外部輸出,高電平有效。在最小模式系統(tǒng)中用作地址鎖存器的片選信號(hào)。
45、</p><p> (15) DEN數(shù)據(jù)允許信號(hào),三態(tài)輸出,低電平有效。</p><p> (16) DT/R 數(shù)據(jù)發(fā)送/接收控制信號(hào)。</p><p> (17) M/IO 存儲(chǔ)器/IO 端口訪問信號(hào)。</p><p> (18) WR寫信號(hào)。三態(tài)輸出,低電平有效,表示當(dāng)前CPU正在寫存儲(chǔ)器或IO端口。</p><
46、;p> (19) HOLD總線請(qǐng)求信號(hào)。由外部輸入、高電平有效。表示有其他共享總線的處理器/控制器向CPU請(qǐng)求使用總線。</p><p> (20) HLDA 總線請(qǐng)求響應(yīng)信號(hào)。向外部輸出,高電平有效。CPU 一旦測試到有HOLD 請(qǐng)求,就在當(dāng)前總線周期結(jié)束后,使HLDA有效,表示響應(yīng)這一總線請(qǐng)求,并立即讓出總線使用權(quán)。在不要求使用總線的情況下,CPU中指令執(zhí)行部件可繼續(xù)工作。HOLD變?yōu)闊o效后,CPU
47、也將HLDA置成無效,并收回對(duì)總線的使用權(quán),繼續(xù)操作。</p><p> 3.2 8255A芯片的工作原理</p><p> 8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行I/O口。具有3個(gè)通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。</p>&
48、lt;p> 8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與CPU連接部分、與外設(shè)連接部分、控制部分。</p><p> 1)與CPU連接部分</p><p> 根據(jù)定義,8255能并行傳送8位數(shù)據(jù),所以其
49、數(shù)據(jù)線為8根D0~D7。由于8255具有3個(gè)通道A、B、C,所以只要兩根地址線就能尋址A、B、C口及控制寄存器,故地址線為兩根A0~A1。此外CPU要對(duì)8255進(jìn)行讀、寫與片選操作,所以控制線為片選、復(fù)位、讀、寫信號(hào)。各信號(hào)的引腳編號(hào)如下:</p><p> ?。?)數(shù)據(jù)總線DB:編號(hào)為D0~D7,用于8255與CPU傳送8位數(shù)據(jù)。</p><p> (2)地址總線AB:編號(hào)為A0~A1
50、,用于選擇A、B、C口與控制寄存器。</p><p> (3)控制總線CB:片選信號(hào)、復(fù)位信號(hào)RST、寫信號(hào)、讀信號(hào)。當(dāng)CPU要對(duì)8255進(jìn)行讀、寫操作時(shí),必須先向8255發(fā)片選信號(hào)選中8255芯片,然后發(fā)讀信號(hào)或?qū)懶盘?hào)對(duì)8255進(jìn)行讀或?qū)憯?shù)據(jù)的操作。</p><p><b> 2)與外設(shè)接口部分</b></p><p> 根據(jù)定義,82
51、55有3個(gè)通道A、B、C與外設(shè)連接,每個(gè)通道又有8根線與外設(shè)連接,所以8255可以用24根線與外設(shè)連接,若進(jìn)行開關(guān)量控制,則8255可同時(shí)控制24路開關(guān)。各通道的引腳編號(hào)如下:</p><p> ?。?)A口:編號(hào)為PA0~PA7,用于8255向外設(shè)輸入輸出8位并行數(shù)據(jù)。</p><p> (2)B口:編號(hào)為PB0~PB7,用于8255向外設(shè)輸入輸出8位并行數(shù)據(jù)。</p>
52、<p> (3)C口:編號(hào)為PC0~PC7,用于8255向外設(shè)輸入輸出8位并行數(shù)據(jù),當(dāng)8255工作于應(yīng)答I/O方式時(shí),C口用于應(yīng)答信號(hào)的通信。</p><p><b> 3)控制器部分</b></p><p> 8255將3個(gè)通道分為兩組,即PA0~PA7與PC4~PC7組成A組,PB0~PB7與PC0~PC3組成B組。如圖7.5所示,相應(yīng)的控制器也分
53、為A組控制器與B組控制器,各組控制器的作用如下:</p><p> ?。?)A組控制器:控制A口與上C口的輸入與輸出。</p><p> ?。?)B組控制器:控制B口與下C口的輸入與輸出。</p><p><b> 引腳功能:</b></p><p> RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時(shí),所有內(nèi)部寄存器(
54、包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。</p><p> CS:芯片選擇信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/CS=0時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊;/CS=1時(shí),8255無法與CPU做數(shù)據(jù)傳輸.</p><p> RD:讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低跳變沿時(shí),即/RD產(chǎn)生一個(gè)低脈沖且/CS=0時(shí),允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即
55、CPU從8255讀取信息或數(shù)據(jù)。</p><p> WR:寫入信號(hào),當(dāng)這個(gè)輸入引腳為低跳變沿時(shí),即/WR產(chǎn)生一個(gè)低脈沖且/CS=0時(shí),允許CPU將數(shù)據(jù)或控制字寫入8255。</p><p> D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時(shí),通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。</p><p&
56、gt; 8255具有3個(gè)相互獨(dú)立的輸入/輸出通道端口,用+5V單電源供電,能在以下三種方式下工作。</p><p> 方式0————基本輸入輸出方式;方式1————選通輸入/出方式;方式2————雙向選通輸入/輸出方式;</p><p> PA0~PA7:端口A輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入鎖存器。 工作于三種方式中的任何一種;</p>
57、<p> PB0~PB7:端口B輸入輸出線,一個(gè)8位的I/O鎖存器, 一個(gè)8位的輸入輸出緩沖器。 不能工作于方式二;</p><p> PC0~PC7:端口C輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個(gè)4位的端口, 每個(gè)4位的端口包含一個(gè)4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號(hào)輸出或狀態(tài)信號(hào)輸入端口。'不
58、能工作于方式一或二。</p><p> A1,A0:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器.</p><p> 當(dāng)A1=0,A0=0時(shí),PA口被選擇;</p><p> 當(dāng)A1=0,A0=1時(shí),PB口被選擇;</p><p> 當(dāng)A1=1,A0=0時(shí),PC口被選擇;</p><p>
59、 當(dāng)A1=1.A0=1時(shí),控制寄存器被選擇.</p><p> 3.3多位數(shù)碼管的工作原理</p><p> led數(shù)碼管(LED Segment Displays)由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。數(shù)碼管實(shí)際上是由七個(gè)發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點(diǎn)就是8個(gè)。這些段分別由字母a,b,c,d,e,f,g,dp來表示
60、。</p><p> 當(dāng)數(shù)碼管特定的段加上電壓后,這些特定的段就會(huì)發(fā)亮,以形成我們眼睛看到的字樣了。如:顯示一個(gè)“2”字,那么應(yīng)當(dāng)是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數(shù)碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數(shù)碼管的顯示筆畫常用一個(gè)發(fā)光二極管組成,而大尺寸的數(shù)碼管由二個(gè)或多個(gè)發(fā)光二極管組成,一般情況下,單個(gè)發(fā)光二極管的管壓降為1.8V左右,電流不超過30mA。發(fā)光二極管
61、的陽極連接到一起連接到電源正極的稱為共陽數(shù)碼管,發(fā)光二極管的陰極連接到一起連接到電源負(fù)極的稱為共陰數(shù)碼管。常用LED數(shù)碼管顯示的數(shù)字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。</p><p> LED數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)LED數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。</p><p&g
62、t;<b> 靜態(tài)顯示</b></p><p> 靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè),實(shí)際應(yīng)用時(shí)必須
63、增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。</p><p><b> 動(dòng)態(tài)顯示</b></p><p> LED數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控
64、制,當(dāng)單片機(jī)輸出字形碼時(shí),單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)
65、顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p> 3.4 74LS273芯片簡介</p><p> 74LS273是8位數(shù)據(jù)鎖存器。主要用于數(shù)碼管、按鍵等等的控制 </p><p><b> 其真值表如下: </b></p><p> 表2 74LS273真值表</p
66、><p><b> 芯片管腳圖如下:</b></p><p> 圖6 74LS273引腳圖</p><p> U2的功能是實(shí)現(xiàn)AD[0..7]的鎖存,由于8086 CPU的總線是地址/數(shù)據(jù)復(fù)用總線,因此需要在傳送地址信號(hào)的時(shí)候,將數(shù)據(jù)信號(hào)鎖存起來,即將數(shù)據(jù)信號(hào)鎖存在74273觸發(fā)器中,待地址傳送完畢后再按需要將數(shù)據(jù)信號(hào)輸出。 </p&g
67、t;<p> 3.5系統(tǒng)電路圖設(shè)計(jì)</p><p> 3.5.1系統(tǒng)總電路圖如下圖所示:</p><p> 3.5.2.8086最小系統(tǒng)原理圖如下所示:</p><p> 8086最小系統(tǒng)由Intel 8086微處理器、74273 TTL帶公共時(shí)鐘復(fù)位八D觸發(fā)器、以及74154 TTL 4線—16線譯碼器等組成。</p><
68、p> 8086有20位地址線,其中高4位A19-A16與狀態(tài)線S6-S3分時(shí)復(fù)用,低16位AD15-AD0與數(shù)據(jù)線分時(shí)復(fù)用。在總線周期的T1時(shí)將地址送出后,就必須用鎖存器將它們鎖存起來,以便在T2及以后搞死位地址線改為狀態(tài)輸出,低16位地址線該做數(shù)據(jù)線使用。另外,表明八位數(shù)據(jù)線是否起作用的數(shù)據(jù)總線允許信號(hào)是與狀態(tài)線S7分時(shí)復(fù)用的,故也需要鎖存。21條線需采用3片8位地址鎖存器,這里采用74273。與外圍硬件電路的連接的I/O部分
69、由4線-16線譯碼器74154組成,用來分配I/O硬件地址。</p><p> 3.5.2控制交通燈LED的外圍電路:</p><p> 如上圖,12個(gè)LED燈分別接到兩個(gè)鎖存器74273的輸出端,其中鎖存引腳接一個(gè)三態(tài)門電路,對(duì)其進(jìn)行選擇和寫入數(shù)據(jù)到輸出端點(diǎn)亮LED。對(duì)于本電路的交通燈,高電平可以點(diǎn)亮LED燈,寫入不同的數(shù)據(jù)就可以控制不同顏色的LED發(fā)光,達(dá)到控制目的。</p&
70、gt;<p> 3.5.3控制數(shù)碼管顯示的外圍電路:</p><p> 對(duì)于倒計(jì)時(shí)的數(shù)碼管顯示的外圍電路,采用兩片8255A來驅(qū)動(dòng)LED數(shù)碼管顯示時(shí)間。8255A是專為INTEL公司的微處理器配套的接口芯片,8255A為可編程芯片,可用程序設(shè)定改變其工作狀態(tài),CPU通過它直接與外設(shè)相連接。8255A各端口的正常工作需要事先寫入控制寄存器的方式控制字即8255A的初始化編程。</p>
71、<p> 本課程設(shè)計(jì)的8255A的工作方式如下:</p><p><b> 初始化編程:</b></p><p> 8255的工作方式如下</p><p> A方式0、輸出,B方式1、輸出,</p><p> 控制字為80H即1000 0000B,初始化程序:</p><p>
72、; MOV AL,80H</p><p> OUT PART,AL</p><p> 其中,PART為8255A方式控制寄存器的地址。上圖中CS選端接端口IO2、IO3用于選擇該8255A,A0、A1是端口尋址線,用于指示A,B,C,控制寄存器。</p><p> 四、系統(tǒng)軟件部分設(shè)計(jì)</p><p> .MODEL SMALL&l
73、t;/p><p><b> .8086</b></p><p><b> .STACK</b></p><p><b> .CODE</b></p><p><b> .STARTUP</b></p><p> START:M
74、OV DX,0406H</p><p> MOV AL,80H</p><p><b> OUT DX,AL</b></p><p> MOV DX,0606H</p><p> MOV AL,80H</p><p><b> OUT DX,AL</b></p
75、><p> MOV AX,ALL_LIGHT;數(shù)據(jù)的地址0</p><p> MOV DX,0200H</p><p><b> MOV DX,AX</b></p><p> AGAIN: MOV SI,OFFSET SITUATION;取得定義數(shù)據(jù)段的偏移地址EA</p><p>
76、MOV DX,0200H;273地址</p><p> NEXT: MOV AX,[SI]</p><p> OUT DX,AX;數(shù)據(jù)輸出到交通LED燈上</p><p><b> PUSH SI</b></p><p> LEA SI,LED</p><p> LEA
77、 DI,TABLEONE</p><p><b> ;DUAN0:</b></p><p> MOV AX,32;賦初值32</p><p><b> MOV CX,AX</b></p><p><b> PUSH CX</b></p><
78、p> AB: CALL DISPLAY</p><p><b> POP CX</b></p><p><b> DEC CX</b></p><p><b> PUSH CX</b></p><p><b> MOV AX,CX</
79、b></p><p><b> CMP AX,2</b></p><p><b> JGE AB</b></p><p><b> POP CX</b></p><p><b> POP SI</b></p><p>
80、 ADD SI,2;下一狀態(tài)1</p><p> MOV DX,0200H</p><p> MOV AX,[SI]</p><p><b> OUT DX,AX</b></p><p><b> PUSH SI</b></p><p> LEA SI,L
81、ED</p><p> LEA DI,TABLETWO</p><p><b> ;DUAN1:</b></p><p><b> MOV AX,2</b></p><p><b> MOV CX,AX</b></p><p><b>
82、; PUSH CX</b></p><p> AC:CALL DISPLAY</p><p><b> POP CX</b></p><p><b> DEC CX</b></p><p><b> PUSH CX</b></p><
83、;p><b> MOV AX,CX</b></p><p><b> CMP AX,0</b></p><p><b> JGE AC</b></p><p><b> POP CX</b></p><p><b> POP SI
84、</b></p><p> ADD SI,2;下一狀態(tài)2</p><p> MOV DX,0200H</p><p> MOV AX,[SI]</p><p><b> OUT DX,AX</b></p><p><b> PUSH SI</b>
85、</p><p> LEA SI,LED</p><p> LEA DI,TABLETHREE</p><p><b> ;DUAN2:</b></p><p><b> MOV AX,30</b></p><p><b> MOV CX,AX</
86、b></p><p><b> PUSH CX</b></p><p> AD:CALL DISPLAY</p><p><b> POP CX</b></p><p><b> DEC CX</b></p><p><b>
87、 PUSH CX</b></p><p><b> MOV AX,CX</b></p><p><b> CMP AX,0</b></p><p><b> JGE AD</b></p><p><b> POP CX</b><
88、/p><p><b> POP SI</b></p><p> ADD SI,2;下一狀態(tài)2</p><p> MOV DX,0200H</p><p> MOV AX,[SI]</p><p><b> OUT DX,AX</b></p><
89、;p><b> PUSH SI</b></p><p> LEA SI,LED</p><p> LEA DI,TABLEFOUR</p><p><b> ;DUAN3: </b></p><p><b> MOV AX,2</b></p>&l
90、t;p><b> MOV CX,AX</b></p><p><b> PUSH CX</b></p><p> AE:CALL DISPLAY</p><p><b> POP CX</b></p><p><b> DEC CX</b&g
91、t;</p><p><b> PUSH CX</b></p><p><b> MOV AX,CX</b></p><p><b> CMP AX,0</b></p><p><b> JGE AE</b></p><p>
92、;<b> POP CX</b></p><p><b> POP SI</b></p><p> JMP AGAIN;完成了一次大循環(huán),返回程序入口地址,再次執(zhí)行程序1</p><p> ;數(shù)碼管分解顯示子程序DISPLAY</p><p> DISPLAY PROC NEAR&
93、lt;/p><p><b> MOV DX,10</b></p><p> DIV DL;32/10=3,把十位給分解出來顯示0,此時(shí)AL=3,AH=2</p><p><b> MOV CL,AL</b></p><p><b> MOV CH,AH</b><
94、;/p><p><b> XOR BX,BX</b></p><p><b> MOV BL,CL</b></p><p> MOV AL,[SI+BX]</p><p> MOV DX,0400H</p><p><b> OUT DX,AL</b&g
95、t;</p><p><b> XOR BX,BX</b></p><p><b> MOV BL,CH</b></p><p> MOV AL,[SI+BX]</p><p> MOV DX,0600H</p><p><b> OUT DX,AL<
96、;/b></p><p><b> CALL XUN</b></p><p><b> MOV DX,10</b></p><p><b> DIV DL</b></p><p><b> MOV CL,AL</b></p>&
97、lt;p><b> MOV CH,AH</b></p><p><b> XOR BX,BX</b></p><p><b> MOV BL,CL</b></p><p> MOV AX,[SI+BX]</p><p> MOV DX,0402H</p&g
98、t;<p><b> OUT DX,AL</b></p><p><b> XOR BX,BX</b></p><p><b> MOV BL,CH</b></p><p> MOV AL,[SI+BX]</p><p> MOV DX,0602H<
99、;/p><p><b> OUT DX,AL</b></p><p> CALL DELAY</p><p><b> RET </b></p><p> DISPLAY ENDP</p><p> XUN PROC NEAR</p><p>&
100、lt;b> MOV AH,0</b></p><p> MOV AL,[DI]</p><p><b> INC DI</b></p><p><b> RET</b></p><p><b> XUN ENDP</b></p>&l
101、t;p> DELAY PROC NEAR;;延時(shí)子程序2,延時(shí)時(shí)間為500*(執(zhí)行469次循環(huán)語句的時(shí)間)</p><p> MOV BX,500</p><p> LP1:MOV CX,469</p><p> LP2:LOOP LP2</p><p><b> DEC BX</b><
102、;/p><p><b> JNZ LP1</b></p><p><b> RET</b></p><p> DELAY ENDP</p><p><b> .DATA</b></p><p> TABLEONE DB 30,2
103、9,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0</p><p> TABLETWO DB 2,1,0</p><p> TABLETHREE DB 32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,
104、13,12,11,10,9,8,7,6,5,4,3</p><p> TABLEFOUR DB 2,1,0</p><p> LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;數(shù)碼管待顯示的字符數(shù)組0</p><p> SITUATION DW 1111100001100001B;南
105、北向紅燈,東西向綠燈,MSB——》led15,LSB——》led0</p><p> S1 DW 1111010001010001B;南北向紅燈,東西向黃燈,低電平0無效,高電平1有效</p><p> S2 DW 1111001100001100B;南北向綠燈,東西向紅燈,led15顯然沒有,那數(shù)據(jù)的最高四位一定是1111</p><p&g
106、t; S3 DW 1111001010001010B;南北向黃燈,東西向紅燈4</p><p> SIT_END = $</p><p> ALL_LIGHTEQU1111110010010110B</p><p><b> END</b></p><p> 五、系統(tǒng)仿真過程與結(jié)果</
107、p><p><b> 5.1 系統(tǒng)調(diào)試</b></p><p> 將編寫好的匯編語言源程序在MASM32軟件中進(jìn)行匯編、連接生成可執(zhí)行文件,并將其載入到8086芯片進(jìn)行仿真。</p><p> 通過以上的調(diào)試過程和仿真調(diào)試結(jié)果可知,所設(shè)計(jì)的電路和所編寫的程序滿足實(shí)驗(yàn)要求。</p><p><b> 六、總結(jié)
108、</b></p><p> 本次課程設(shè)計(jì)是要設(shè)計(jì)一個(gè)交通燈系統(tǒng),主要功能如上已有細(xì)述。在本次對(duì)交通燈的設(shè)計(jì)過程中以此來加深對(duì)微機(jī)接口技術(shù)的理解,提高了自己的動(dòng)手能力。首先著手對(duì)硬件電路的設(shè)計(jì),本次課程設(shè)計(jì)主要采用了8255A接口電路。由于對(duì)各個(gè)芯片不熟悉,通過課本了解到了它們的引腳及功能、工作方式、內(nèi)部結(jié)構(gòu)和控制字。然后就是對(duì)程序的設(shè)計(jì),想要設(shè)計(jì)出一個(gè)實(shí)用的控制系統(tǒng)需要了解程序流程,先畫出了流程圖,
109、然后對(duì)代碼進(jìn)行編寫,在編寫過程中遇到了很多問題,對(duì)芯片的不了解也導(dǎo)致編程的很多的問題,要么燈都不顯示,要么燈顯示不全,再要么紅燈,綠燈時(shí)間分配不合理。最后經(jīng)過一段時(shí)間的研究,查閱了很多資料并和同學(xué)討論后終于一一解決。 </p><p> 經(jīng)過為期一個(gè)星期的課程設(shè)計(jì),我獲益頗多。將微機(jī)接口技術(shù)中的理論與實(shí)踐相結(jié)合起來,對(duì)芯片的功能也有了進(jìn)一步認(rèn)識(shí)理解。最后希望通過以后的學(xué)習(xí),不斷提升自身各方面的能力,如對(duì)專業(yè)知
110、識(shí)的掌握程度,動(dòng)手實(shí)踐能力等。經(jīng)過此次的課程設(shè)計(jì),我們學(xué)會(huì)了合作。我們要形成自己的設(shè)計(jì)思想,以便在今后的專業(yè)課形成自己的風(fēng)格。同時(shí)在多多鍛煉自己的動(dòng)手能力,以便在以后的工作能獨(dú)立完成一些設(shè)計(jì)項(xiàng)目。</p><p><b> 七、參考文獻(xiàn)</b></p><p> ?。?)許立梓.微型計(jì)算機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2011.</p>&l
溫馨提示
- 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ì)--交通燈
- 微機(jī)交通燈課程設(shè)計(jì)報(bào)告
- 微機(jī)課程設(shè)計(jì)報(bào)告-交通燈
- 微機(jī)原理課程設(shè)計(jì)交通燈設(shè)計(jì)
- 微機(jī)接口課程設(shè)計(jì)--交通燈設(shè)計(jì)
- 交通燈-微機(jī)接口課程設(shè)計(jì)報(bào)告
- 微機(jī)原理課程設(shè)計(jì)報(bào)告交通燈
- 微機(jī)課程設(shè)計(jì)報(bào)告-交通燈系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--交通燈控制設(shè)計(jì)
- 沈陽大學(xué)微機(jī)原理課程設(shè)計(jì)交通燈
- 微機(jī)接口課程設(shè)計(jì)--交通燈及其轉(zhuǎn)向燈設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)---交通燈控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)----交通燈控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)---交通燈控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)——交通燈控制系統(tǒng)
- 交通燈課程設(shè)計(jì)
- 課程設(shè)計(jì)交通燈
- 課程設(shè)計(jì)—交通燈
- 交通燈課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論