2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  江蘇農(nóng)牧科技職業(yè)學(xué)院</p><p><b>  畢業(yè)設(shè)計(論文)</b></p><p>  題目: 基于單片機(jī)控制交通燈 </p><p>  姓名: xxxxxxxxx </p><p>  學(xué)號: xxxxxxxx

2、xx </p><p>  二級院系部: 機(jī)電工程系 </p><p>  班級: 應(yīng)用電子10 </p><p>  專業(yè): 應(yīng)用電子技術(shù) </p><p>  指導(dǎo)教師: xxx 職稱: 講

3、師 </p><p>  二〇 一三 年 五 月</p><p><b>  【摘要】</b></p><p>  隨著全球城市化進(jìn)程的加快,機(jī)動車的使用數(shù)量也越來越多,造成了城市交通上的各種問題,如何控制好城市的交通已經(jīng)成為一個全球化的問題。交通燈的出現(xiàn)使交通得以有效管制,對于疏導(dǎo)交通流量,提高交通通行能力,減少交通事故有明顯效果。本

4、設(shè)計利用單片機(jī)8051為核心部件,外加定時器﹑復(fù)位電路﹑晶振電路﹑顯示電路設(shè)計一個比較符合交通規(guī)則的模擬交通燈。設(shè)計中通過LED七段數(shù)碼管作為計時顯示用,用發(fā)光二級管指示車輛的通行,定時器工作于方式一并定時50ms,配合軟件計時器調(diào)用中斷程序,中斷程序設(shè)置20次,從而達(dá)到1s的定時,同時調(diào)用顯示程序,顯示倒計時的時間。本交通燈系統(tǒng)簡單﹑實用性強(qiáng)﹑成本低使用維護(hù)方便,軟件功能強(qiáng),運(yùn)行穩(wěn)定﹑可靠的特點。</p><p&g

5、t;<b>  【關(guān)鍵詞】</b></p><p>  單片機(jī);交通燈;定時器</p><p><b>  Abstract</b></p><p>  As the global urbanization speeding up, the number of motor vehicles more and more, c

6、aused the various problems of urban traffic, how to control the urban traffic has become a global problem. The emergence of the traffic light is able to effectively control the traffic, for facilitating traffic flow, imp

7、rove the traffic capacity, reduce traffic accidents have obvious effect. I pick made traffic lights project, analysis of the problems of modern urban traffic control and management status quo, co</p><p><

8、b>  Key Words</b></p><p>  single chip microcomputer; The traffic light; The timer</p><p><b>  目 錄</b></p><p><b>  【摘要】I</b></p><p>&

9、lt;b>  【關(guān)鍵詞】I</b></p><p>  Key WordsII</p><p><b>  緒 論1</b></p><p>  1.設(shè)計任務(wù)及方案選定2</p><p><b>  1.1設(shè)計任務(wù)2</b></p><p>  

10、1.2 設(shè)計要求2</p><p><b>  1.3方案選定3</b></p><p>  2. 系統(tǒng)所用芯片簡介4</p><p>  2.1 MCS-51單片機(jī)簡介4</p><p>  2.1.1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)4</p><p>  2.1.2 MCS-51的引腳說

11、明5</p><p>  2.2 8255A并行接口芯片內(nèi)部結(jié)構(gòu)8</p><p>  2.3 74LS373芯片簡介9</p><p>  3. 系統(tǒng)硬件設(shè)計11</p><p>  3.1交通燈硬件線路圖11</p><p>  3.2 系統(tǒng)工作原理11</p><p><

12、b>  4.軟件設(shè)計13</b></p><p>  4.1延時方法的設(shè)定13</p><p>  4.2 軟件延時13</p><p>  4.3 時間及信號燈的顯示14</p><p>  4.3.1 8255A并行口的擴(kuò)展14</p><p>  4.3.2 顯示原理14</p

13、><p>  4.3.3 LED燈簡介14</p><p>  4.3.4 8255A輸出信號與數(shù)碼管的連接15</p><p>  4.4 程序設(shè)計16</p><p>  4.4.1流程圖16</p><p>  4.4.2 程序源代碼16</p><p><b>  設(shè)計總

14、結(jié)22</b></p><p><b>  致 謝23</b></p><p><b>  參考文獻(xiàn)24</b></p><p><b>  緒 論</b></p><p>  當(dāng)今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技

15、術(shù)在19世紀(jì)就已出現(xiàn)了。</p><p>  電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。</p><p>  1918年,又出現(xiàn)了帶控制的紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動紅綠燈,司機(jī)遇紅燈時按一下嗽叭,就使紅燈變

16、為綠燈。</p><p>  信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停

17、車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進(jìn)入交叉路口。</p><p>  交通信號燈控制電路是由振蕩電路、三進(jìn)制計數(shù)器、譯碼電路、顯示驅(qū)動電路和開關(guān)控制電路等電路組成。在本課程設(shè)計中,通過EDA設(shè)計程序使十字路口的工作順序為主干道每次通行時間都設(shè)為30秒、支干道每次通行間為20秒,時間可設(shè)置修改。在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運(yùn)行車道;后5秒黃

18、燈亮,黃燈亮?xí)r,要求每秒閃亮一次。東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用顯示器進(jìn)行顯示(采用計時的方法),依次重復(fù)。</p><p>  本設(shè)計采用8051單片機(jī)實現(xiàn)汽車尾燈控制電路,其電路設(shè)計比較簡單,外圍電路少,易于控制和檢查,單片機(jī)的應(yīng)用具有范圍廣的特點,對各個行業(yè)的技術(shù)改造和產(chǎn)品智能化的更新?lián)Q代起著重要的推動作用。采用單片機(jī)來對他們控制,不僅具有控制方便、簡單和靈活性大等特點

19、,而且還可以大幅度提高被控對象的技術(shù)指標(biāo),從而大大提高控制器的質(zhì)量。</p><p>  1.設(shè)計任務(wù)及方案選定</p><p><b>  1.1設(shè)計任務(wù)</b></p><p>  本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LED 顯示、交通燈演示系統(tǒng)組成。最后,系統(tǒng)要求實現(xiàn)如下的交通燈的功能:</p><p>  1)南北方向(主

20、干道)車道和東西方向(支干道)車道兩條交叉道路上的車輛交替運(yùn)行,主干道每次通行時間都設(shè)為30秒、支干道每次通行間為20秒,時間可設(shè)置修改。</p><p>  2)在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運(yùn)行車道。 </p><p>  3)黃燈亮?xí)r,要求每秒閃亮一次。</p><p>  4)東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都

21、用顯示器進(jìn)行顯示(采用計時的方法)。 </p><p><b>  5)依次重復(fù)。</b></p><p><b>  1.2 設(shè)計要求</b></p><p>  該設(shè)計在熟練掌握單片機(jī)及其仿真系統(tǒng)的使用方法基礎(chǔ)上,綜合應(yīng)用單片機(jī)原理、微機(jī)原理、微機(jī)接口技術(shù)等課程方面的知識,設(shè)計一個采用8051單片機(jī)控制的交通燈控制電路

22、。</p><p>  根據(jù)設(shè)計功能及要求,我們可得系統(tǒng)的原理框圖如圖1-1所示。 </p><p>  圖1-1 系統(tǒng)的原理框圖</p><p>  根據(jù)系統(tǒng)的原理框圖,分別分析各部分電路的元器件的功能以及選擇合適的元件。具體設(shè)計思路如下:收集并整理資料,硬件設(shè)計,軟件設(shè)計,Proteus仿真,設(shè)計體會與總結(jié)。</p><p><

23、b>  1.3方案選定</b></p><p>  交通燈在安全行車過程中起著十分重要的作用,現(xiàn)在交通燈一般設(shè)在十字路口,在醒目位置用紅、綠、黃三種顏色的指示燈, 加上一個倒計時的顯示計時器來控制行車, 對于一般情況下的安全行車、車輛分流發(fā)揮著作用, 但根據(jù)實際行車過程中出現(xiàn)的情況, 如何全面有效地利用交通燈指示交通情況,我們嘗試用單片機(jī)來控制交通燈,在軟、硬件方面采取一些改進(jìn)措施,,使交通燈在

24、控制中靈活而有效。 硬件系統(tǒng)是指構(gòu)成單片機(jī)系統(tǒng)的實體和裝置,通常由運(yùn)算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。單片機(jī)實質(zhì)上是一個硬件的芯片,在實際應(yīng)用中,通常很難直接和被控對象進(jìn)行電氣連接,必須外加各種擴(kuò)展接口電路、外部設(shè)備、被控對象等硬件和軟件,才能構(gòu)成一個單片機(jī)應(yīng)用系統(tǒng)。該交通燈擬系統(tǒng)的硬件部分主要由鍵盤、顯示和運(yùn)算部分組成。按照題目的設(shè)計要求,本課題需要使用LED數(shù)碼管顯示和擴(kuò)展鍵盤。在該交通燈系

25、統(tǒng)的設(shè)計中采用8051單片機(jī)。</p><p>  2. 系統(tǒng)所用芯片簡介</p><p>  2.1 MCS-51單片機(jī)簡介</p><p>  2.1.1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)</p><p>  8051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。 8051單片機(jī)包含中央處理器、程序存儲器(ROM)、

26、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明,如圖2-1所示。</p><p>  圖2-1 8051內(nèi)部結(jié)構(gòu)圖</p><p><b>  ·中央處理器:</b></p><p>  中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度

27、的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p>  ·數(shù)據(jù)存儲器(RAM):</p><p>  8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有12

28、8個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 </p><p>  ·程序存儲器(ROM):</p><p>  8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p><b>  ·定時/計數(shù)器:</b></p><p>  8051有

29、兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p>  ·并行輸入輸出(I/O)口:</p><p>  8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。</p><p><b>  ·全雙工串行口:</b></p><p>  

30、8051內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b>  ·中斷系統(tǒng):</b></p><p>  8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p&

31、gt;<b>  ·時鐘電路:</b></p><p>  8051內(nèi)置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機(jī)運(yùn)行的脈沖時序,但8051單片機(jī)需外置振蕩電容。</p><p>  2.1.2 MCS-51的引腳說明 </p><p>  CHMOS制造工藝的8051,除采用40腳雙列直插式封裝外,還采用方形的封裝方&

32、lt;/p><p>  式?,F(xiàn)在我們對這些引腳的功能加以說明,如圖2-2所示。</p><p>  圖2-2 8051引腳示意圖</p><p>  (1)P0口(32—39) 8位漏極開路型雙向I/O口。在外接存儲器時,P0口作為低8位地址/數(shù)據(jù)總線復(fù)用口,通過分時操作,先傳送低8位地址,利用ALE信號的下降沿特地址鎖存,然后作為8位雙向數(shù)據(jù)總線使用,用來傳送8

33、位數(shù)據(jù)。在對片內(nèi)EPROM編程時,P0口接收指令代碼;而在內(nèi)部程序驗證時,則輸出指令代碼,并要求外接上拉電阻。Po口能以吸收電流的方式驅(qū)動8個I0STTL負(fù)載。</p><p>  (2)P1口(1—8) 8位具有內(nèi)部上拉電阻的難雙向I/O口。在片內(nèi)EPROM編程及校驗時,它接收低8位地址。P1口能驅(qū)動3個LSTTL負(fù)載。其中P1.0和P1.1還具有第二變異功能:P1.0(T2)為定時器/計數(shù)器2的外部事件脈沖

34、輸入端。P1.1(T2Ex)為定時器/計數(shù)器2的捕捉和重新裝入觸發(fā)脈沖輸入端。</p><p>  (3)P2口(21—28) 8位具有內(nèi)部上拉電阻的準(zhǔn)雙向I/O口。在外接存儲器時,P2口作為高8位地址總線。Atmel在對片內(nèi)EPROM編程、校驗時,它接收高位地址。P2u能驅(qū)動3個LSTTL負(fù)載。</p><p>  (4)P3口(10—l7) 8位帶有內(nèi)部上拉電阻的準(zhǔn)雙向I/O口。特

35、殊功能(或稱第二變異功能)。</p><p>  P3.0(RXD):串行輸入端口。</p><p>  P3.1(TXD):串行輸出端口。</p><p>  P3.2(INT0):外部中斷0輸入端。 </p><p>  P3.3(1NTl):外部中斷1輸入端。</p><p>  P3.4(T0):定時器/計數(shù)

36、器0外部輸入端。</p><p>  P3.5(T1):定時器/計數(shù)器1AL部輸入端。</p><p>  P3.6(WR):外部數(shù)據(jù)存儲器寫選通。</p><p>  P3.7(RD):外部數(shù)據(jù)存儲器讀選通。</p><p>  P3口能驅(qū)動3個LSTTL負(fù)載。</p><p>  ·Pin9:RESET/

37、Vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,

38、見下圖2-3。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。時鐘方式見圖2-4 所示。 </p><p>  (a)上電自動復(fù)位 (b)手動復(fù)位電路 (c)內(nèi)部時鐘方式 (d)外部時鐘方式</p><p>  圖2-3復(fù)位電路

39、 圖2-4 時鐘方式 </p><p>  ·Pin30:ALE/當(dāng)訪問外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ALE會跳過一個脈沖。</p><p> 

40、 ·Pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。</p><p>  ·Pin31:EA/Vpp程序存儲器的內(nèi)外部選通線,內(nèi)置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地

41、址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,EA端必須接地。</p><p>  ·Pin40:VCC電源+5V輸入。</p><p>  ·Pin20:VSSGND接地端。</p><p>  ·Pin18和Pin19: XTAL1和XTAL2 晶振引腳。當(dāng)使用芯片內(nèi)部時鐘時,此二引腳用于外接石英晶體和微調(diào)

42、電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。</p><p>  在編程時,EA/Vpp腳還需加上12V的編程電壓。</p><p>  2.2 8255A并行接口芯片內(nèi)部結(jié)構(gòu)</p><p>  8255A的內(nèi)部結(jié)構(gòu)如圖2-5所示,由三部分電路組成:與CPU的接口電路、內(nèi)部控制邏輯電路和與外設(shè)連接的輸入/輸出接口電路。</p><p>

43、  圖2-5 8255A內(nèi)部結(jié)構(gòu)圖</p><p> ?。?)與CPU的接口電路</p><p>  與CPU的接口電路由數(shù)據(jù)總線緩沖器和讀/寫控制邏輯組成。數(shù)據(jù)總線緩沖器是一個三態(tài)、雙向、8位寄存器,8條數(shù)據(jù)線D0~D7與系統(tǒng)數(shù)據(jù)總線連接,構(gòu)成CPU與8255A之間信息傳送的通道,CPU通過執(zhí)行輸出指令向8255A寫入控制命令或往外設(shè)傳送數(shù)據(jù),通過執(zhí)行輸入指令讀取外設(shè)輸入的數(shù)據(jù)。<

44、;/p><p>  讀/寫控制邏輯電路用來接收CPU系統(tǒng)總線的讀信號,寫信號,片選擇信號,端口選擇信號A1,A0和復(fù)位信號RESET,用于控制8255A內(nèi)部寄存器的讀/寫操作和復(fù)位操作。</p><p> ?。?)內(nèi)部控制邏輯電路</p><p>  內(nèi)部控制邏輯包括A組控制與B組控制兩部分。A組控制寄存器用來控制A口PA7~PA0和C口的高4位PC7~PC4。B組控制

45、寄存器用來控制B口PB7~PB0和C口的低4位PC3~PC0。</p><p>  它們接收CPU發(fā)送來的控制命令,對A, B, C 3個端口的輸入/輸出方式進(jìn)行控制。</p><p> ?。?)輸入/輸出接口電路</p><p>  8255A片內(nèi)有A, B, C 3個8位并行端口,A口和B口分別有1個8位的數(shù)據(jù)輸出鎖存/緩沖器和1個8位數(shù)據(jù)輸入鎖存器,C口有1個

46、8位數(shù)據(jù)輸出鎖存/緩沖器和1個8位數(shù)據(jù)輸入緩沖器,用于存放CPU與外部設(shè)備交換的數(shù)據(jù)。</p><p>  對于8255A的3個數(shù)據(jù)端口和1個控制端口,數(shù)據(jù)端口既可以寫入數(shù)據(jù)又可以讀出數(shù)據(jù),控制端口只能寫入命令而不能讀出,讀/寫控制信號(, )和端口選擇信號(, A1和A0)的狀態(tài)組合可以實現(xiàn)A, B, C 3個端口和控制端口的讀/寫操作。8255A的端口分配及讀/寫功能見表2-1。</p><

47、;p>  表2-1 8255A的端口分配及讀/寫功能</p><p>  2.3 74LS373芯片簡介</p><p>  當(dāng)74LS373用作地址鎖存器時如圖2-6所示。應(yīng)使0E為低電平,此時鎖存使能端C為高電平時,輸出Q0~Q7狀態(tài)與輸入端D1~D7狀態(tài)相同;當(dāng)C發(fā)生負(fù)的跳變時,輸入端D0~D7 數(shù)據(jù)鎖入Q0~Q7。51單片機(jī)的ALE信號可以直接與74LS373的C連接。在MC

48、S-51單片機(jī)系統(tǒng)中,常采用74LS373作為地址鎖存器使用,其連接方法如上圖所示。其中輸入端D0~D7接至單片機(jī)的P0口,輸出端提供的是低8位地址,G端接至單片機(jī)的地址鎖存允許信號ALE。輸出允許端E接地,表示輸出三態(tài)門一直打開。</p><p>  圖2-6 74LS373內(nèi)部引腳示意圖</p><p>  當(dāng)三態(tài)允許控制端0E為低電平時,Q0~Q7為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線

49、。當(dāng)0E 為高電平時,Q0~Q7 呈高阻態(tài),即不驅(qū)動總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端 LE 為高電平時,Q 隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時,D 被鎖存在已建立的數(shù)據(jù)電平。當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。其真值表如表2-2所示。</p><p>  表2-2 74LS373真值表</p><p>&

50、lt;b>  3. 系統(tǒng)硬件設(shè)計</b></p><p>  3.1交通燈硬件線路圖 </p><p>  交通燈硬件線路圖如圖3-1所示。</p><p>  圖3-1 交通燈硬件線路圖</p><p>  3.2 系統(tǒng)工作原理</p><p>  開關(guān)鍵盤輸入交通燈初始時間,通過8051單片機(jī)

51、P1輸入到系統(tǒng)。</p><p>  由8051單片機(jī)的定時器每秒鐘通過P0口向8255A的數(shù)據(jù)口送信息,由8255A的PA 口顯示紅、綠、黃燈的燃亮情況;由8255A的PC口顯示每個燈的燃亮?xí)r間。</p><p>  8051通過設(shè)置各個信號等的燃亮?xí)r間,綠、紅時間分別為60秒、80秒循環(huán)由8255A的 P0口向8255A的數(shù)據(jù)口輸出。</p><p>  通過8

52、051單片機(jī)的P3.0位來控制系統(tǒng)是工作或設(shè)置初值,當(dāng)牌位0就對系統(tǒng)進(jìn)行初始化,為1系統(tǒng)就開始工作。</p><p>  紅燈倒計時時間,當(dāng)時間結(jié)束時,黃燈閃爍5s后結(jié)束。</p><p>  綠燈時間倒計時完畢,重新循環(huán)。</p><p><b>  4.軟件設(shè)計</b></p><p>  4.1延時方法的設(shè)定<

53、;/p><p>  延時方法可以有兩種一中是利用MCS-51內(nèi)部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。本設(shè)計采用軟件延時的方法。</p><p><b>  4.2 軟件延時</b></p><p>  MCS-51的工作頻率為2-12MHZ,我們選用的8051單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的

54、12倍,所以一個機(jī)器周期的時間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。</p><p>  具體的延時程序分析:</p><p>  DELAY: MOV R4,#08H ;延時1秒子程序</p><p>  DE2: LCALL DELAY1 </p><p>

55、;  DJNZ R4,DE2</p><p><b>  RET</b></p><p>  DELAY1: MOV R6,#0 ;延時125us 子程序</p><p><b>  MOV R5,#0</b></p><p>  DE1: DJNZ R5,$</p>&l

56、t;p>  DJNZ R6,DE1</p><p><b>  RET</b></p><p>  MOV RN,#DATA ;字節(jié)數(shù)數(shù)為2,機(jī)器周期數(shù)為1</p><p>  所以此指令的執(zhí)行時間為2us,DELAY1 為一個雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時時間=65536*2=131072us 約為125m

57、s。</p><p>  DELAY R4設(shè)置的初值為8, 主延時程序循環(huán)8次,所以125ms*8= 1秒,由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時間可以忽略不計。</p><p>  4.3 時間及信號燈的顯示</p><p>  4.3.1 8255A并行口的擴(kuò)展</p><p>  8051雖然有4個8位I/O端口,但真正能提供借用的

58、只有P1口,因為P2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。由于我們用外部輸入設(shè)定紅綠燈倒計時初值、數(shù)碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個I/0端口。</p><p>  擴(kuò)展的方法有兩種:(1)借用外部RAM地址來擴(kuò)展I/O端口;(2)采用I/O接口新片來擴(kuò)充。我們用8255A并行接口信片來擴(kuò)展I/O端口。</p><p>  4.3.2 顯示原理<

59、;/p><p>  當(dāng)定時器定時為1秒,時程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數(shù)器賦初值 ,重新進(jìn)入循環(huán)。 </p><p>  4.3.3 LED燈簡介</p><p>  發(fā)光二極管(LED是一種由磷化鎵(G

60、aP)等半導(dǎo)體材料制成的,能直接將電能轉(zhuǎn)變成光能的發(fā)光顯示器件。當(dāng)其內(nèi)部有一一電流通過時,它就會發(fā)光。7段數(shù)碼管一般由8個發(fā)光二極管組成,其中由7個細(xì)長的發(fā)光二極管組成數(shù)字顯示,另外一個圓形的發(fā)光二極管顯示小數(shù)點。當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點或一個筆畫發(fā)光??刂葡鄳?yīng)的二極管導(dǎo)通,就能顯示出各種字符,盡管顯示的字符形狀有些失真,能顯示的數(shù)符數(shù)量也有限,但其控制簡單,使有也方便。</p><p>  常見的數(shù)碼管

61、由七個條狀和一個點狀發(fā)光二極管管芯制成,叫七段數(shù)碼管,如圖4-1所示。根據(jù)其結(jié)構(gòu)的不同,可分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。根據(jù)管腳資料,您可以判斷使用的是何總接口類型<LED數(shù)碼管引腳圖> LED數(shù)碼管中各段發(fā)光二極管的伏安特性和普通二極管類似,只是正向壓降較大,正向電阻也較大。在一定范圍內(nèi),其正向電流與發(fā)光亮度成正比。由于常規(guī)的數(shù)碼管起輝電流只有1~2 mA,最大極限電流也只有10~30 mA,所以它的輸入端在5 V電

62、源或高于TTL高電平(3.5 V)的電路信號相接時,一定要串加限流電阻,以免損壞器。</p><p> ?。╝)引腳圖 (b) 共陰極 (c) 共陽極</p><p>  圖4-1 LED數(shù)碼管引腳圖</p><p>  4.3.4 8255A輸出信號與數(shù)碼管的連接</p>

63、<p>  LED 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點量而顯示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH,所以SP上為0伏,不亮其余為TTL高電平,全亮則顯示為8,如表4-1所示。</p><p>  表4-1 驅(qū)動代碼表</p><p><b>  4.4 程序設(shè)計</b></p><

64、p><b>  4.4.1流程圖</b></p><p>  軟件流程圖圖如圖4-2所示。</p><p>  圖4-2 程序流程圖</p><p>  4.4.2 程序源代碼</p><p>  ORG 0000H ; 主程序的入口地址</p><p>  LJMP MAIN

65、 ; 跳轉(zhuǎn)到主程序的開始處</p><p>  ORG 0003H ; 外部中斷0的中斷程序入口地址 </p><p>  ORG 000BH ; 定時器0的中斷程序入口地址</p><p>  LJMP T0_INT ;跳轉(zhuǎn)到中斷服務(wù)程序處</p><p>  ORG 0013H ;外部中斷1的

66、中斷程序入口地址 </p><p>  MAIN : MOV SP,#50H</p><p>  MOV IE,#8EH ;CPU開中斷,允許T0中斷,T1中斷和外部中斷1中斷</p><p>  MOV TMOD,#51H ;設(shè)置T1為計數(shù)方式,T0為定時方式,且都工作于模式1</p><p>  MOV TH1,#00H

67、 ;T1計數(shù)器清零</p><p>  MOV TL1,#00H</p><p>  SETB TR1 ;啟動T1計時器</p><p>  SETB EX1 ;允許INT1中斷</p><p>  SETB IT1 ;選擇邊沿觸發(fā)方式</p><p>  MOV DPTR

68、 ,#0003H</p><p>  MOV A, #80H ;給8255A賦初值,8255A工作于方式0</p><p>  MOVX @DPTR, A</p><p>  AGAIN: JB P3.1,N0 ; 判斷是否要設(shè)定東西方向紅綠燈時間的初值,若P3.1為1 則跳轉(zhuǎn)</p><p>  MOV A,P1

69、 </p><p>  JB P1.7,RED ;判斷P1.7是否為1,若為1則設(shè)定紅燈時間,否則設(shè)定綠燈時間 </p><p>  MOV R0,#00H ;R0 清零</p><p>  MOV R0,A ;存入東西方向綠燈初始時間</p><p><b>  MOV R3,A&l

70、t;/b></p><p>  LCALL DISP1</p><p>  LCALL DELAY</p><p>  AJMP AGAIN</p><p>  RED: MOV A,P1</p><p>  ANL A,#7FH ; P1.7置0</p><p> 

71、 MOV R7,#00H ; R7清零</p><p>  MOV R7,A ;存入東西方向紅燈初始時間</p><p><b>  MOV R3,A</b></p><p>  LCALL DISP1</p><p>  LCALL DELAY</p><p&

72、gt;  AJMP AGAIN</p><p>  N0: SETB TR0 ;啟動T0計時器</p><p>  MOV 76H,R7 ; 紅燈時間存入76H</p><p>  N00: MOV A,76H ;東西方向禁止,南北方向通行</p><p>  MOV

73、R3,A </p><p>  MOV DPTR,#0000H ;置8255A口,東西方向紅燈亮,南北方向綠燈亮</p><p>  MOV A,#0DDH</p><p>  MOVX @DPTR, A</p><p>  N01: JB P2.0,B0</p><p>  N02: SE

74、TB P3.0</p><p>  CJNE R3,#00H,N0 ;比較R3中的值是否為0,不為0轉(zhuǎn)到當(dāng)前指令處執(zhí)行</p><p>  N1: SETB P3.0</p><p>  MOV R3,#05H</p><p>  MOV DPTR,#0000H ; 置8255A口,東西,南北方向黃燈亮</p&

75、gt;<p>  MOV A,#0D4H</p><p>  MOVX @DPTR,A</p><p>  N11: MOV R4,#00H</p><p>  N12: CJNE R4,#7DH, ;黃燈持續(xù)亮0.5秒</p><p>  N13: MOV DPTR,#0000H ;

76、 置8255A口,南北方向黃燈滅</p><p>  MOV A,#0DDH</p><p>  MOVX @DPTR,A</p><p>  N14: MOV R4,#00H</p><p>  CJNE R4,#7DH, ;黃燈持續(xù)滅0.5秒</p><p>  CJNE R3,#00H,N1

77、 ;閃爍時間達(dá)5秒則退出</p><p>  N2: MOV R7,#00H</p><p>  MOV A,R0 ;東西通行,南北禁止</p><p><b>  MOV R3,A;</b></p><p>  MOV DPTR,#0000H ;置8255A口,東西

78、方向綠燈亮,南北方向紅燈亮</p><p>  MOV A,#0EBH</p><p>  MOVX @DPTR,A</p><p>  N21: JB P2.0,T03 </p><p>  N22: CJNE R3,#00H,N21</p><p>  N3: MOV R3,#05H</p

79、><p>  MOV DPTR,#0000H ;置8255A口,東西,南北方向黃燈亮</p><p>  MOV A,#0E2H</p><p>  MOVX @DPTR,A</p><p>  N31: MOV R4,#00H</p><p>  CJNE R4,#7DH, ;黃燈持續(xù)亮0.5

80、秒</p><p>  N32: MOV DPTR,#0000H ;置8255A口,南北方向黃燈滅</p><p>  MOV A,#0EBH</p><p>  MOVX @DPTR,A</p><p>  N33: MOV R4,#00H</p><p>  CJNE R4,#7DH

81、 ;黃燈持續(xù)滅0.5秒</p><p>  CJNE R3,#00H,N3 ;閃爍時間達(dá)5秒則退出</p><p><b>  SJMP N00</b></p><p>  N7: RETI</p><p>  T0_INT:MOV TL0,#9AH ;給定時器T0送定時10

82、ms的初值</p><p>  MOV TH0,#0F1H </p><p><b>  INC R4</b></p><p><b>  INC R5</b></p><p>  CJNE R5,#0FAH,T01 ;判斷延時是否夠一秒,不夠則調(diào)用顯示子程序</p>&l

83、t;p>  MOV R5,#00H ;R5清零</p><p>  DEC R3;倒計時初值減一</p><p>  T01: ACALL DISP ;調(diào)用顯示子程序</p><p>  RETI ;中斷返回</p><p>  DISP: JNB

84、P2.4,T02</p><p>  DISP1: MOV B,#0AH</p><p>  MOV A,R3 ;R3中值二轉(zhuǎn)十顯示轉(zhuǎn)換</p><p><b>  DIV AB</b></p><p><b>  MOV 79H,A</b></p><

85、;p><b>  MOV 7AH,B</b></p><p>  DIS: MOV A,79H ;顯示十位</p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR</p><p>  MOV DPTR,#0002H</p><p

86、>  MOVX @DPTR,A</p><p>  MOV DPTR,#0001H</p><p>  MOV A,#0F7H</p><p>  MOVX @DPTR,A</p><p>  LCALL DELAY</p><p>  DS2: MOV A,7AH ;顯示個位<

87、/p><p>  MOV DPTR,#TAB </p><p>  MOVC A,@A+DPTR</p><p>  MOV DPTR,#0002H</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0001H</p><p>  MOV A,#0FBH</

88、p><p>  MOVX @DPTR,A</p><p><b>  RET</b></p><p>  T03: MOV A,R3</p><p>  SUBB A,#00H </p><p><b>  JZ N3 </b></p>

89、<p>  JB P2.0,T03</p><p>  INC R7 </p><p>  CJNE R7,#64H,E1 </p><p>  MOV R7,#00H ;中斷到100次則清零</p><p>  E1: SJMP N22;</p>&

90、lt;p>  T02: MOV B,#0AH</p><p>  MOV A,R7 ;R7中值二轉(zhuǎn)十顯示轉(zhuǎn)換</p><p><b>  DIV AB</b></p><p><b>  MOV 79H,A</b></p><p><b>  

91、MOV 7AH,B</b></p><p>  DIS3: MOV A,79H ;顯示十位</p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR</p><p>  MOV DPTR,#0002H</p><p>  MOVX @DPTR,A

92、</p><p>  MOV DPTR,#0001H</p><p>  MOV A,#0F7H</p><p>  MOVX @DPTR,A</p><p>  LCALL DELAY</p><p>  DS4: MOV A,7AH ;顯示個位</p><p>  M

93、OV DPTR,#TAB </p><p>  MOVC A,@A+DPTR</p><p>  MOV DPTR,#0002H</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0001H</p><p>  MOV A,#0FBH</p><p>  MO

94、VX @DPTR,A</p><p><b>  LJMP N7</b></p><p>  DELAY: MOV R1,#0AH</p><p>  LOOP: MOV R6,#64H</p><p><b>  NOP</b></p><p>  LOOP1: DJ

95、NZ R6,LOOP1</p><p>  DJNZ R1,LOOP</p><p>  RET </p><p>  TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH </p><p><b>  END</b></p><p>

96、<b>  設(shè)計總結(jié)</b></p><p>  畢業(yè)設(shè)計讓我獲得了許多珍貴的知識,學(xué)到了在許多書本上不可能收錄的東西。例如一些設(shè)計的具體的規(guī)范,和一些設(shè)計的要求。如何把規(guī)范里的明文規(guī)定運(yùn)用到實際上去,以及運(yùn)用過程中的把握上。也學(xué)到了如何獨立思考,如何自己查閱資料,如何與人相處融洽等實際經(jīng)驗。感到自己應(yīng)用基礎(chǔ)知識及專業(yè)知識解決問題的能力有了很大的提高,以前所學(xué)的許多課程覺得很零散,也不知道有

97、什么用及怎么用,現(xiàn)在也都找到了用武之地。今后走上社會,我主要還是靠在學(xué)校學(xué)到的只是技能來養(yǎng)活自己,并回報社會,回報父母,所以通過這次的畢業(yè)設(shè)計,我也了解到了自己的很多不足,在今后的工作與學(xué)習(xí)中,我會不斷的提高與改進(jìn)。</p><p>  通過這次畢業(yè)設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(特別是匯編語言)的掌

98、握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。</p><p><b>  致 謝</b></p><p>  經(jīng)過半年忙碌的工作,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個專科生的畢業(yè)設(shè)計者,由于經(jīng)驗和實踐的不足,難免有許多考慮不周全的地方,如果沒有了老師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。畢業(yè)設(shè)計鍛煉了綜合運(yùn)用知識的

99、能力和刻苦鉆研精神,在畢業(yè)設(shè)計完成之際,衷心感謝任玲老師,以及校外指導(dǎo)老師陳建民,在論文的選題、資料查詢、開題、研究和撰寫、閱改等環(huán)節(jié),無不得到老師的悉心指導(dǎo)和幫助,讓我順利完成本次設(shè)計,真的非常感謝。</p><p>  在畢業(yè)設(shè)計期間,老師不僅傳授了做學(xué)問的秘訣,還傳授了做人的準(zhǔn)則。這些都將使我終生受益。我還要向關(guān)心和支持我學(xué)習(xí)的朋友們表示真摯的謝意,感謝他們對我的關(guān)心、關(guān)注和支持。</p>&

100、lt;p>  畢業(yè)設(shè)計讓我學(xué)到了許多知識,它還培養(yǎng)了我獨立思考、解決問題的能力,加深了對知識的理解,有助于今后的學(xué)習(xí)和工作,為事業(yè)的起航和拓展指明了方向。我愿在未來的學(xué)習(xí)工作中,以更加進(jìn)取的態(tài)度面對人生的每一次挑戰(zhàn),以優(yōu)異的成績的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所有老師、同學(xué)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李江全

101、. 單片機(jī)通信與控制應(yīng)用編程實例[M].中國電力出版社,2012. </p><p>  [2] 孫麗霞.數(shù)字電子技術(shù)[M].高等教育出版社,2008.</p><p>  [3] 呂玉明.模擬電子技術(shù)[M].大連理工大學(xué)出版社,2008.</p><p>  [5] 孫余凱.電子技術(shù)基礎(chǔ)與技能實訓(xùn)教程[M].電子工業(yè)出版社,2009.</p>

102、<p>  [6] 張洪潤.傳感器應(yīng)用設(shè)計300例[M].北京航空航天大學(xué)出版社,2008.</p><p>  [7] 張毅坤. 單片微型計算機(jī)原理及應(yīng)用[M].西安電子科技大學(xué)出版社,1998.</p><p>  [8] 李 斌 .單片機(jī)應(yīng)用技術(shù)項目教程[M].北京航空航天大學(xué)出版社,2011.</p><p>  [9] 王煜東.傳感器及應(yīng)用[M]

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論