久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7569|回復: 1
收起左側

單片機紅綠燈的匯編語言程序設計

[復制鏈接]
ID:241586 發表于 2017-10-22 10:43 | 顯示全部樓層 |閱讀模式
單片機紅綠燈的匯編語言程序設計
a>
程序源代碼

ORG 0000H ;主程序的入口地址
LJMP MAIN ;跳轉到主程序的開始處
ORG 0003H ;外部中斷0的中斷程序入口地址
ORG 000BH ;定時器0的中斷程序入口地址
LJMP T0_INT ;跳轉到中斷服務程序處
ORG 0013H ;外部中斷1的中斷程序入口地址
MAIN : MOV SP,#50H
MOV IE,#8EH ;CPU開中斷,允許T0中斷,T1中斷和外部中斷1中斷
MOV TMOD,#51H ;設置T1為計數方式,T0為定時方式,且都工作于模式1 MOV TH1,#00H ;T1計數器清零
MOV TL1,#00H
SETB TR1 ;啟動T1計時器
SETB EX1 ;允許INT1中斷
SETB IT1 ;選擇邊沿觸發方式
MOV DPTR ,#0003H
MOV A, #80H ;給8255賦初值,8255工作于方式0
MOVX @DPTR, A
AGAIN: JB P3.1,N0 ;判斷是否要設定東西方向紅綠燈時間的初值,若P3.1為1 則跳轉 MOV A,P1
JB P1.7,RED ;判斷P1.7是否為1,若為1則設定紅燈時間,否則設定綠燈時間 MOV R0,#00H ;R0清零
MOV R0,A ;存入東西方向綠燈初始時間
MOV R3,A
LCALL DISP1
LCALL DELAY
AJMP AGAIN
RED: MOV A,P1
ANL A,#7FH 1.7置0
MOV R7,#00H ;R7清零
MOV R7,A ;存入東西方向紅燈初始時間
MOV R3,A
LCALL DISP1
LCALL DELAY
AJMP AGAIN
;-------------------------------------------
N0: SETB TR0 ;啟動T0計時器
MOV 76H,R7 ;紅燈時間存入76H
N00: MOV A,76H ;東西方向禁止,南北方向通行
MOV R3,A
MOV DPTR,#0000H ;置8255A 口,東西方向紅燈亮,南北方向綠燈亮 MOV A,#0DDH
MOVX @DPTR, A
N01: JB P2.0,B0
N02: SETB P3.0
CJNE R3,#00H,N01 ;比較R3中的值是否為0,不為0轉到當前指令處執行 ;------黃燈閃爍5秒程序------
N1: SETB P3.0
MOV R3,#05H
MOV DPTR,#0000H ;置8255A 口,東西,南北方向黃燈亮
MOV A,#0D4H
MOVX @DPTR,A
N11: MOV R4,#00H
N12: CJNE R4,#7DH,$ ;黃燈持續亮0.5秒
N13: MOV DPTR,#0000H ; 置8255A 口,南北方向黃燈滅
MOV A,#0DDH
MOVX @DPTR,A
N14: MOV R4,#00H
CJNE R4,#7DH,$ ;黃燈持續滅0.5秒
CJNE R3,#00H,N1 ;閃爍時間達5秒則退出
;------------------------------------------------------------
N2: MOV R7,#00H
MOV A,R0 ;東西通行,南北禁止
MOV R3,A
MOV DPTR,#0000H ; 置8255A 口,東西方向綠燈亮,南北方向紅燈亮 MOV A,#0EBH
MOVX @DPTR,A
N21: JB P2.0,T03

N22: CJNE R3,#00H,N21
;------黃燈閃爍5秒程序------
N3: MOV R3,#05H
MOV DPTR,#0000H ;置8255A 口,東西,南北方向黃燈亮
MOV A,#0E2H
MOVX @DPTR,A
N31: MOV R4,#00H
CJNE R4,#7DH,$ ;黃燈持續亮0.5秒
N32: MOV DPTR,#0000H ; 置8255A 口,南北方向黃燈滅
MOV A,#0EBH
MOVX @DPTR,A
N33: MOV R4,#00H
CJNE R4,#7DH,$ ;黃燈持續滅0.5秒
CJNE R3,#00H,N3 ;閃爍時間達5秒則退出
SJMP N00
;------闖紅燈報警程序------
B0: MOV R2,#03H ;報警持續時間3秒
B01: MOV A,R3
JZ N1 ;若倒計時完畢,不再報警
CLR P3.0 ;報警
CJNE R2,#00H,B01 ;判斷3秒是否結束
SJMP N02
;------1秒延時子程序-------
N7: RETI
T0_INT:MOV TL0,#9AH ;給定時器T0送定時10ms 的初值 MOV TH0,#0F1H
INC R4
INC R5
CJNE R5,#0FAH,T01 ;判斷延時是否夠一秒,不夠則調用顯示子程序 MOV R5,#00H ;R5清零
DEC R3 ;倒計時初值減一
DEC R2 ;報警初值減一
T01: ACALL DISP ;調用顯示子程序
RETI ;中斷返回
;------顯示子程序------
DISP: JNB P2.4,T02
DISP1: MOV B,#0AH
MOV A,R3 ;R3中值二轉十顯示轉換
DIV AB
MOV 79H,A
MOV 7AH,B
DIS: MOV A,79H ;顯示十位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0F7H
MOVX @DPTR,A
LCALL DELAY
DS2: MOV A,7AH ;顯示個位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0FBH
MOVX @DPTR,A
RET
;------東西方向車流量檢測程序------
T03: MOV A,R3
SUBB A,#00H ;若綠燈倒計時完畢,不再檢測車流量 JZ N3
JB P2.0,T03
INC R7
CJNE R7,#64H,E1
MOV R7,#00H ;中斷到100次則清零
E1: SJMP N22
;------東西方向車流量顯示程序------
T02: MOV B,#0AH
MOV A,R7 ;R7中值二轉十顯示轉換
DIV AB
MOV 79H,A
MOV 7AH,B
DIS3: MOV A,79H ;顯示十位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0F7H
MOVX @DPTR,A
LCALL DELAY
DS4: MOV A,7AH ;顯示個位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0FBH
MOVX @DPTR,A
LJMP N7
;------延時4MS 子程序----------
DELAY: MOV R1,#0AH
LOOP: MOV R6,#64H
NOP
LOOP1: DJNZ R6,LOOP1
DJNZ R1,LOOP
RET
;------字符表------
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END
ORG 0000H AJMP MAIN ORG 000BH LJMP INT
ORG 0030H
MAIN:MOV R2,#20H MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#80H SETB EA
SETB ET0 SETB TR0
LOOP:MOV A,#01H MOV P1,A LCALL DEL MOV R0,#02H LCALL FP
LOOP1:MOV A,#02H MOV P1,A LCALL DEL MOV R0,#02H LCALL FP
LOOP2:MOV A, #04H MOV P1,A LCALL DEL MOV R0,#05H LCALL FP
MOV P1,#00H LCALL DEL
CJNE R0,#00H ,AA
SJMP LOOP
FP:MOV R1,#80H MOV A,R1
MOV DPTR,#3FFFH MOVX @DPTR,A RR A
MOV R1,A
MOV A,R0
ANL A,#0FH
MOV DPTR,#TAB MOVC A,@A+DPTR MOV DPTR,#5FFFH MOVX @DPTR,A LCALL DEL
MOV A,#0FFH
MOV DPTR,#5FFFH MOVX @DPTR,A MOV A,R1
MOV DPTR,#3FFFH MOVX @DPTR,A MOV A,R0
ANL A,#0F0H
SWAP A
MOV DPTR,#TAB MOVC A,@A+DPTR MOV DPTR,#5FFFH MOVX @DPTR,A LCALL DEL
MOV A,#0FFH
MOV DPTR,#5FFFH MOVX @DPTR,A CJNE R0,#99H,FP RET
DEL:MOV R5,#100H DEL0:MOV R6,#250H DEL1JNZ R6,DEL1 DJNZ R5,DEL0 RET
INT: CLR ET0
DJNZ R2,GOON MOV A,R0
ADD A,#99H
DA A
MOV R0,A
MOV R2,#20H
GOON:MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#80H SETB EA
SETB ET0
SETB TR0
RETI
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END

回復

使用道具 舉報

ID:331600 發表于 2018-11-3 14:24 | 顯示全部樓層
請問樓主有電路圖嗎?要可以在proteus上仿真的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂一区 | 精品久久一 | 国产高清在线精品一区二区三区 | 亚洲精品一区在线 | 国产精品一区在线播放 | 久久国产成人 | 国产欧美一区二区三区免费 | 天天躁日日躁狠狠很躁 | 日韩1区2区 | 国产精品久久久久久婷婷天堂 | 欧美一区二区三区大片 | 色婷婷综合久久久久中文一区二区 | 中文字幕av高清 | 国产精品免费看 | 麻豆hd| 久久免费精品视频 | 国产www成人 | 精品一区二区三区四区 | 久久久精选 | 欧美综合一区二区三区 | 亚洲精品久久 | 在线视频国产一区 | 亚洲精品二区 | 国产一区二区在线视频 | 日韩电影中文字幕 | 国产精品综合一区二区 | 欧美成人精品在线观看 | 九九久久在线看 | 色视频www在线播放国产人成 | 国产精品久久久久久久久动漫 | av大全在线观看 | www,黄色,com| 特级特黄特色的免费大片 | 天天操天天干天天爽 | 欧美11一13sex性hd | 国产在线精品一区二区三区 | 综合成人在线 | 久久中文一区二区 | 91xxx在线观看 | 国产999精品久久久久久 | 国产精品视频在线观看 |