版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計說明書</b></p><p> 題 目: 基于單片機的交通燈設計 </p><p><b> 目錄</b></p><p><b> 1緒論1</b></p
2、><p> 1.1研究的背景和意義1</p><p><b> 1.2設計要求1</b></p><p> 2系統(tǒng)總體方案設計2</p><p><b> 2.1系統(tǒng)結構2</b></p><p><b> 2.2芯片選擇2</b><
3、;/p><p><b> 3系統(tǒng)硬件設計5</b></p><p> 3.1單片機最小系統(tǒng)5</p><p> 3.2數碼管顯示模塊5</p><p> 3.3 LED燈顯示模塊6</p><p> 3.4系統(tǒng)總電路8</p><p> 4 系統(tǒng)軟件設計
4、....9</p><p> 4.1主程序設計9</p><p> 4.2延時1s子程序10</p><p> 4.3數碼管顯示程序11</p><p><b> 5總結12</b></p><p><b> 參考文獻13</b></p>&
5、lt;p><b> 附錄A14</b></p><p><b> 附錄B20</b></p><p><b> 1緒論</b></p><p> 1.1研究的背景和意義</p><p> 當今,紅綠燈安裝在各個道口上,已經成為疏導交通車輛最常見和最有效的手段
6、,但這一技術在19世紀就已出現了。時至今日,隨著科技的發(fā)展,道口上的紅綠燈也發(fā)生的巨大的變化,先后出現了以燃氣為光源的手動式交通燈,電氣式交通燈,單片機控制交通燈等等,這些技術的發(fā)展不僅給我們的生活帶來更大的方便,同時也給了我們更多的安全保障,因而雖然交通燈已經發(fā)展了很長的一段時間,現進對其的研究仍然十分必要和很有意義。 </p><p><b> 1.2設計要求</b><
7、;/p><p> 1) 設計一個十字路口的交通燈控制電路,要求南北方向和東西方向兩個交叉路口的車輛交替運行。</p><p> 2) 每次綠燈變紅燈時,要求黃燈先亮5S,才能變換運行車輛。</p><p> 3) 同步設置人行橫道紅、綠燈指示。</p><p> 4) 東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用數
8、碼</p><p> 管顯示器進行顯示(采用倒計時的方法)。</p><p><b> 2系統(tǒng)總體方案設計</b></p><p><b> 2.1系統(tǒng)結構</b></p><p> 本系統(tǒng)是由單片機的P口輸出LED和數碼顯示管的狀態(tài),該系統(tǒng)方案的框圖如圖1所示。</p>&l
9、t;p><b> 圖1 方案框圖</b></p><p><b> 2.2芯片選擇</b></p><p> 本實驗選擇的芯片是intel的80C51芯片,其引腳圖如圖2所示。</p><p> 圖2 80C51引腳圖</p><p> MCS-51單片機內部由數據總線,控制總線和地
10、址總線連接內部的其他設備,其內部的結構圖如圖3所示。</p><p> 圖3 80C51內部結構圖</p><p> 8051單片機包含中央處理器、程序存儲器(ROM)、數據存儲器(RAM)、定時/計數器、 并行接口、串行接口和中斷系統(tǒng)等幾大單元及數據總線、地址總線和控制總線等三大總線,現在我們分別加以說明: <
11、;/p><p><b> 中央處理器:</b></p><p> 中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作。</p><p> 數據存儲器(RAM):</p><p> 8051內
12、部結構如圖1有128個8位用戶數據存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數據,用戶只能訪問,而不能用于存放用戶數據,所以,用戶能使用的RAM只有128個,可存放讀寫的數據,運算的中間結果或用戶定義的字型表。 </p><p><b> 程序存儲器:</b></p><p> 8051共有4096個8位掩膜ROM,用于存放
13、用戶程序,原始數據或表格。</p><p> 定時/計數器(ROM):</p><p> 8051有兩個16位的可編程定時/計數器,以實現定時或計數產生中斷用于控制程序轉向。</p><p> 并行輸入輸出(I/O)口:</p><p> 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數據的傳輸。</p&g
14、t;<p><b> 中斷系統(tǒng):</b></p><p> 8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數器中斷和一個串行中斷,</p><p> 可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p><b> 時鐘電路:</b></p><p> 8
15、051內置最高頻率達12MHz的時鐘電路,用于產生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。</p><p><b> 3系統(tǒng)硬件設計</b></p><p> 3.1單片機最小系統(tǒng) </p><p> 單片機最小系統(tǒng)是指用最少的原件組成可以工作的單片機系統(tǒng),包括復位電路和晶振電路,在本實驗中的最小系統(tǒng)設計中,采取的是上電
16、復位方式,復位電路采用30pF的電容和電源與單片機的RST引腳連接,實現通電自動復位,晶振電路給單片機提供時鐘源,包括晶體振蕩器和2個30pF的電容組成,分別與單片機的XTAL1和XTAL2引腳連接,本實驗單片機最小系統(tǒng)如圖4所示。</p><p> 圖4 單片機最小系統(tǒng) </p>&l
17、t;p> 3.2數碼管顯示模塊</p><p> 通過數碼管顯示南北和東西方向的時間,數碼管連接在單片機的P0口,通過P0口和相關的軟件程序實現其狀態(tài)的輸出,P0.0口至P0.6口分別連接數碼管的位選端A,B,C,D,E,F,G,P2.0至P2.3口分別連接南北方向和東西方向數碼管的片選端,數碼管硬件連接如圖5所示。</p><p><b> 圖5 數碼管顯示<
18、/b></p><p> 3.3 LED燈顯示模塊</p><p> 東西和南北方向的LED燈與單片機的P1口連接,P1.0、P1.1和P1.2分別連接南北方向的綠燈、黃燈和紅燈;P1.3、P1.4和P1.5分別連接東西方向的綠燈、黃燈和紅燈,并將人行道的LED燈分別串接在南北和東西方向上,LED燈硬件連接圖如圖6所示。</p><p> 圖6 LED燈
19、顯示模塊</p><p><b> 3.4系統(tǒng)總電路</b></p><p> 通過對單片機最小系統(tǒng)、數碼管顯示模塊和LED燈顯示模塊的學習,最后對系統(tǒng)進行組合,得出系統(tǒng)的總電路圖,其電路圖如附錄B所示</p><p><b> 4 系統(tǒng)軟件設計</b></p><p><b>
20、4.1主程序設計 </b></p><p><b> 是</b></p><p><b> 否</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b&
21、gt; 是</b></p><p><b> 否</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 圖7 主程序流程圖</b></p><p> 本
22、系統(tǒng)的主程序設計思路主要根據南北方向和東西方向交通燈的四種狀態(tài),即第一狀態(tài):南北綠燈,東西紅燈;第二狀態(tài):南北黃燈,東西紅燈;第三狀態(tài):南北紅燈,東西綠燈;第四狀態(tài):南北紅燈,東西黃燈。在每一個狀態(tài),通過對該狀態(tài)下數碼管顯示的時間自減1是否等于0來判斷是否進入下一狀態(tài),主程序流程圖如圖7所示,主程序如附錄A所示。</p><p> 4.2延時1s子程序</p><p> 本實驗的硬件系
23、統(tǒng)選用了四片數碼顯示管,這四個數碼顯示管實現的是動態(tài)顯示,每掃描四片數碼顯示管一次,延時1ms子程序運行了4次,即4ms,所以循環(huán)250次就是1s,延時1ms的子程序的流程圖如圖8所示。</p><p><b> 是</b></p><p><b> 否</b></p><p> 圖8 延時1ms子程序流程圖<
24、/p><p> 延時1s的子程序是在掃描四片數碼管(即4ms)的基礎上循環(huán)250次實現的,其程序的的流程圖如圖9所示。</p><p><b> 否</b></p><p><b> 是</b></p><p> 圖9 延時1s子程序流程圖</p><p> 4.3數碼
25、管顯示程序</p><p> 數碼管實現的是動態(tài)顯示,每片數碼管顯示都調用延時1MS的子程序,共有4片數碼管,循環(huán)250次就是1S。本系統(tǒng)選用的數碼管是共陰極數碼管,將數字0到9對應的數值計算出來,然后通過查表的方式查出數值。顯示模塊程序流程圖如圖10所示。</p><p><b> 否</b></p><p><b> 是&l
26、t;/b></p><p> 圖10 顯示程序流程圖</p><p><b> 5總結</b></p><p> 本次課程設計,我們小組通過proteus仿真軟件,選用intel 80C51單片機,通過P0口連接數碼顯示管,通過P1口連接LED燈,并且設置好晶振電路和復位電路,然后用匯編語言編寫整個過程的程序,并且在最后實現了交通燈
27、正確顯示。在整個設計的過程中,通過對整個流程的分析,我對單片機的控制有了更加深刻的理解,通過對硬件的選擇和連接,也讓我對單片機的整個控制過程有了更加直觀的了解. </p><p><b> 參考文獻</b></p><p> [1] 楊欣. 實例解讀51單片機完全學習
28、與應用[M]. 北京:電子工業(yè)出版社 ,2011.</p><p> [2] 楊欣. 電路設計與仿真——基于Multisim 8與 Proteus2004[M]. 北京:清華大學出版社,2006. </p><p> [3] 劉樂善.微型計算機接口技術及應用[M]. 湖南:華中科技大學出版社,2004.</p><p> [4]余錫存,曹國華.單片機原理及
29、接口技術[M].陜西:西安電子科技大學出版社,2000.</p><p><b> 附錄A</b></p><p><b> ORG 0200H</b></p><p> A_BIT EQU 20H ;用于存放南北十位數</p><p> B_BIT EQU 21H ;用于存放南北個數<
30、;/p><p> C_BIT EQU 22H ;用于存放東西十位數</p><p> D_BIT EQU 23H ; 用于存放東西個位數</p><p> TEMP1 EQU 24H ;用于存放第一二南北狀態(tài)要顯示的時間 </p><p> TEMP2
31、 EQU 25H ;用于存放第一二東西狀態(tài)要顯示的時間</p><p> TEMP3 EQU 26H ;用于存放第三第四南北狀態(tài)要顯示的時間</p><p> TEMP4 EQU 27H;用于存放第三第四南北狀態(tài)要顯示的時間</p><p><b> MAIN:</b></p><p> MOV TEMP1,#
32、20 </p><p> MOV TEMP2,#25</p><p> MOV TEMP3,#25</p><p> MOV TEMP4,#20</p><p><b> STAR1:</b></p><p> MOV P1,#0FFH</p><p> MOV
33、 A,24H ;將顯示時間送A</p><p><b> CLR P1.0 </b></p><p> CLR P1.5 ;南北通行,東西禁止通行</p><p> MOV TEMP1,#20 ;南北要顯示的時間,</p><p> MOV TEMP2,#25 ;東西要顯示的時間</p>
34、<p><b> DYXS1:</b></p><p> ACALL DISPLAY1 ;調用顯示</p><p> DEC TEMP1 ;時間夠一秒顯示時間減1</p><p><b> DEC TEMP2</b></p><p> MOV A,TEMP1<
35、/p><p> CJNE A,#0,DYXS1 ;若顯示時間不為0保持現在狀態(tài)</p><p> STAR2: ;狀態(tài)2</p><p><b> SETB P1.0</b></p><p> CLR P1.1 ;南北黃燈,東西禁止通行</p><p> MOV TEMP1,#0
36、5 ;南北要顯示的時間,</p><p><b> DYXS2:</b></p><p> ACALL DISPLAY1 ;調用顯示</p><p> DEC TEMP1 ;時間夠一秒顯示時間減1</p><p> DEC TEMP2 </p><
37、p> MOV A,TEMP1</p><p> CJNE A,#0,DYXS2</p><p><b> STAR3:</b></p><p> MOV A,26H ;將顯示時間送A</p><p><b> CLR P1.2</b></p><p>
38、 SETB P1.1 ;南北通行,東西禁止通行</p><p><b> CLR P1.3</b></p><p><b> SETB P1.5</b></p><p> MOV TEMP3,#25 ;南北要顯示的時間,</p><p> MOV TEMP4,#20 ;東西要顯示的時間&
39、lt;/p><p><b> DYXS3:</b></p><p> ACALL DISPLAY2 ;調用顯示</p><p> DEC TEMP3 ;時間夠一秒顯示時間減1</p><p><b> DEC TEMP4</b></p><p> MOV
40、A,TEMP4</p><p> CJNE A,#0,DYXS3 ;若顯示時間不為0保持現在狀態(tài)</p><p> STAR4: ;狀態(tài)4</p><p><b> SETB P1.3</b></p><p> CLR P1.4 ;南北黃燈,東西禁止通行</p><p> MO
41、V TEMP4,#05 ;東西要顯示的時間,</p><p><b> DYXS4:</b></p><p> ACALL DISPLAY2 ;調用顯示</p><p> DEC TEMP3 ;時間夠一秒顯示時間減1</p><p><b> DEC TEMP4</b><
42、/p><p> MOV A,TEMP4</p><p> CJNE A,#0,DYXS4</p><p> LJMP MAIN ;若顯示時間不為0保持現在狀態(tài)</p><p><b> DISPLAY1:</b></p><p> MOV A,TEMP1 ;將南北要顯示的數存放到A<
43、/p><p> MOV B,#10 ;B=10</p><p> DIV AB ;A除以B商存A,余數B</p><p> MOV A_BIT,A ; 將A放到20h</p><p> MOV B_BIT,B ;將B放到21H</p><p> MOV A,TEMP2 ;將東西要顯示的數存放到A<
44、;/p><p> MOV B,#10 ;B=10</p><p> DIV AB ;A除以B商存A,余數B</p><p> MOV C_BIT,A ;將A放到22H</p><p> MOV D_BIT,B ;將B放到23H</p><p> MOV DPTR ,#NUMT ; <
45、/p><p> MOV R1,#250 ;R1=250</p><p><b> XUHUAN1:</b></p><p> MOV A,A_BIT ;將南北要顯示的10位數送A</p><p> MOVC A,@A+DPTR ;查表</p><p> MOV P0,A ;顯示南北10
46、位數</p><p><b> CLR P2.0</b></p><p> ACALL T1MS;定時器延時1MS</p><p> SETB P2.0 ;滅南北10位數</p><p> MOV A,B_BIT ;將南北要顯示的個位數送A</p><p> MOVC A,@A+DPT
47、R ;查表</p><p> MOV P0,A ;顯示南北個位數</p><p><b> CLR P2.1</b></p><p> ACALL T1MS ;定時器延時1MS</p><p> SETB P2.1 ;滅南北個位</p><p> MOV A,C_BIT ;將
48、東西要顯示的10位數送A</p><p> MOVC A,@A+DPTR ;查表</p><p> MOV P0,A ;顯示東西10位數</p><p> CLR P2.2 </p><p> ACALL T1MS ;定時器延時1MS</p><p> SE
49、TB P2.2 ;滅東西10位數</p><p> MOV A,D_BIT ;將東西要顯示的個位數送A</p><p> MOVC A,@A+DPTR ;查表</p><p> MOV P0,A ;顯示東西東西位數</p><p><b> CLR P2.3</b></p><p&
50、gt; ACALL T1MS ;定時器延時1MS</p><p> SETB P2.3 ;滅東西個位數</p><p> DJNZ R1,XUHUAN1 ;循環(huán)掃描</p><p><b> RET</b></p><p><b> DISPLAY2:</b></p>&l
51、t;p> MOV A,TEMP3 ;將南北要顯示的數存放到A</p><p> MOV B,#10 ;B=10</p><p> DIV AB ;A除以B商存A,余數B</p><p> MOV A_BIT,A ; 將A放到20H</p><p> MOV B_BIT,B ;將B放到2</p>&l
52、t;p> MOV A,TEMP4 ;將東西要顯示的數存放到A</p><p> MOV B,#10 ;B=10</p><p> DIV AB ;A除以B商存A,余數B</p><p> MOV C_BIT,A ;將A放到22H</p><p> MOV D_BIT,B ;將B放到23H</p&g
53、t;<p> MOV DPTR ,#NUMT ; </p><p> MOV R1,#250 ;R1=250</p><p><b> XUHUAN2:</b></p><p> MOV A,A_BIT ;將南北要顯示的10位數送A</p><p> MOVC A,@A+DPTR ;查表</
54、p><p> MOV P0,A ;顯示南北10位數</p><p> CLR P2.0 </p><p> ACALL T1MS;定時器延時1MS</p><p> SETB P2.0 ;滅南北10位數</p><p> MOV A,B_BIT ;將
55、南北要顯示的個位數送A</p><p> MOVC A,@A+DPTR ;查表</p><p> MOV P0,A ;顯示南北個位數</p><p><b> CLR P2.1</b></p><p> ACALL T1MS ;定時器延時1MS</p><p> SETB P2
56、.1 ;滅南北個位數</p><p> MOV A,C_BIT ;將東西要顯示的10位數送A</p><p> MOVC A,@A+DPTR ;查表</p><p> MOV P0,A ;顯示東西10位數</p><p><b> CLR P2.2</b></p><p> A
57、CALL T1MS ;定時器延時1MS</p><p> SETB P2.2 ;滅東西10位數</p><p> MOV A,D_BIT ;將東西要顯示的個位數送A</p><p> MOVC A,@A+DPTR;查表</p><p> MOV P0,A ;顯示東西東西位數</p><p><
58、b> CLR P2.3</b></p><p> ACALL T1MS ;定時器延時1MS</p><p> SETB P2.3 ;滅東西個位數</p><p> DJNZ R1,XUHUAN2 ;循環(huán)掃描</p><p><b> RET</b></p><p>
59、 T1MS:MOV TMOD,#01H;</p><p> MOV TH0,#0FCH</p><p> MOV TL0,#18H</p><p><b> CLR TF0</b></p><p><b> SETB TR0</b></p><p><b>
60、 JNB TF0,$</b></p><p> RET </p><p> NUMT: DB 3FH,30H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H</p><p><b> END</b></p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機交通燈課程設計--基于單片機的交通燈系統(tǒng)的設計
- 單片機交通燈課程設計--基于單片機的交通燈系統(tǒng)的設計
- 交通燈單片機課程設計--基于單片機的交通燈顯示系統(tǒng)
- 交通燈單片機課程設計--基于單片機的交通燈顯示系統(tǒng)
- 單片機課程設計--基于單片機的交通燈設計
- 單片機交通燈課程設計
- 單片機課程設計---交通燈
- 單片機交通燈課程設計
- 單片機課程設計-交通燈
- 單片機課程設計--交通燈
- 單片機課程設計(交通燈)
- 基于單片機的交通燈課程設計
- 基于單片機的交通燈課程設計
- 單片機交通燈課程設計
- 單片機交通燈課程設計
- 單片機交通燈課程設計
- 課程設計---基于單片機的交通燈設計
- 單片機交通燈課程設計
- 基于單片機的交通燈設計課程設計
- 基于單片機的交通燈課程設計
評論
0/150
提交評論