標題:
基于51單片機的交通燈匯編設計與proteus仿真
[打印本頁]
作者:
愛向心飛揚
時間:
2018-12-7 20:50
標題:
基于51單片機的交通燈匯編設計與proteus仿真
最近學校在教匯編,正巧單片機實驗,用51單片機做一個交通燈,用來過單片機實驗考試,效果還不錯,這個其實i功能比較簡單,用C語言的畫應該分分鐘搞定,但是匯編著實是難,proteus畫圖加敲代碼弄了整整一晚上,都要吐血了,效果圖如下:(由于proteus軟件比較卡,為了能快速看到效果程序里定時時間不是1秒,如果你用到記得更改會正常的1s間隔倒計時)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
tu.png
(52.68 KB, 下載次數(shù): 74)
下載附件
仿真截圖
2018-12-7 20:50 上傳
單片機源程序如下:
;位選引腳
RED_H BIT P1.0
RED_L BIT P1.1
GRE_H BIT P1.2
GRE_L BIT P1.3
YEL_H BIT P1.4
YEL_L BIT P1.5
;燈
RED1 BIT P2.0
GREED1 BIT P2.1
YELLOW1 BIT P2.2
RED2 BIT P2.3
GREED2 BIT P2.4
YELLOW2 BIT P2.5
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIME
ORG 0050H
;****************** ******************
MAIN:
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV R0,#0 ; 0垂直紅,1垂直黃,2垂直綠
MOV R1,#10 ;定時器計數(shù)10次 1S
MOV R2,#60 ; 紅60s
MOV R3,#5 ; 黃燈5s
MOV R5,#60 ; 綠燈
MOV R4,#0
MOV A, #0
MOV DPTR,#TABLE
ANL TMOD,#00FH
ORL TMOD,#010H
MOV TH0,#038H
MOV TL0,#000H
SETB EA
SETB ET0
SETB TR0
LOOP:
CJNE R0,#1,OTHER
MOV P2,#0X00;
SETB YELLOW2
SETB YELLOW1
MOV P1,#0X00 ; 黃燈5s
SETB YEL_H
MOV B,#10
MOV A,R3
DIV AB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CPL YEL_H
SETB YEL_L
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
AJMP LOOP
OTHER:JC OTHER2
MOV P2,#0X00;
SETB GREED1
SETB RED2
MOV P1,#0X00; ; 綠燈60s
SETB GRE_H
MOV B,#10
MOV A,R5
DIV AB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CPL GRE_H
SETB GRE_L
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
AJMP LOOP
OTHER2:
MOV P1,#0X00; ; 紅燈60s
MOV P2,#0X00;
SETB RED1
SETB GREED2
SETB RED_H
MOV B,#10
MOV A,R2
DIV AB
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
CPL RED_H
SETB RED_L
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY
AJMP LOOP
TIME:
DJNZ R1,NEXT
MOV R1,#5
CJNE R0,#1,THER1
DJNZ R3,NEXT ; 黃燈
MOV R3,#5
INC R0
CJNE R0,#3,NEXT
MOV R0,#0
AJMP NEXT
THER1: JC THER2
DJNZ R5,NEXT
MOV R5,#60
INC R0
CJNE R0,#3,NEXT
MOV R0,#0
AJMP NEXT
THER2: DJNZ R2,NEXT
MOV R2,#60
INC R0
CJNE R0,#3,NEXT
MOV R0,#0
NEXT:
MOV TH0,#038H
MOV TL0,#000H
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
交通燈.rar
(65.74 KB, 下載次數(shù): 158)
2018-12-7 20:49 上傳
點擊文件名下載附件
程序源碼及仿真文件
下載積分: 黑幣 -5
作者:
Juno-Z
時間:
2019-1-11 13:40
感謝大佬分享
作者:
sgx66
時間:
2020-3-18 22:32
感謝大佬分享
作者:
jzl66785
時間:
2020-4-6 16:15
感謝大佬分享
作者:
無情的單片機
時間:
2020-12-22 19:57
請問怎么改時間
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1