当前位置:首页 >> 电子/电路 >>

交通灯单片机汇编语言


ORG 0000H SJMP MAIN ORG 0003H ;中断 0 入口地址 LJMP TT1 ORG 0013H ;中断 1 入口地址 LJMP TT2 MAIN:SETB IT0 SETB EA ;打开中断 SETB EX0 SETB EX1 SETB IT1 SETB PX0 ;外部中断 0 设置为高优先级 CLR PX1 ;外部中断 1 设置为低优先级

MOV R2,#0 EE1:MOV R3,#30 FF1:MOV P1,#35H ;南北方向绿灯亮,东西方向红灯亮 L00P1:LCALL TIMER1 ;启动定时器 1 程序,开始计时 LCALL Z1 INC R2 ;每 10ms 将数码管扫描一次

CJNE R2,#100,L00P1 ;计时 1s 倒计时减 1 MOV R2,#0 DEC R3 CJNE R3,#30,BB1 ;小于 5 被设成 30 后,跳到下一个状态 LJMP EE2 BB1:CJNE R3,#0,BB2 ;在 6,7,8 时中断减 5 和正常倒计时到 3 时,保证跳到黄 灯闪烁的程序 BB2:CJNE R3,#1,BB3 LJMP L00P2 BB3:CJNE R3,#2,BB4 LJMP L00P2 BB4:CJNE R3,#3,L00P1 ;判断是否为最后 3S L00P2:CJNE R3,#30,BB5 ; 若 R3 小于 5 被设成 30 后,跳到下一个状态 LJMP EE2 BB5:MOV P1,#33H CJNE R3,#30,BB6 LJMP EE2 ;南北方向黄灯亮,东西方向红灯 ; 若 R3 小于 5 被设成 30 后,跳到下一个状态

BB6:CJNE R3,#6,BB7 LJMP FF1 BB7:CJNE R3,#7,BB8 LJMP FF1 BB8:CJNE R3,#8,BB9 LJMP FF1 BB9:LCALL Z2 CJNE R3,#30,BB10 LJMP EE2 BB10:CJNE R3,#6,BB11 LJMP FF1 BB11:CJNE R3,#7,BB12 LJMP FF1 BB12:CJNE R3,#8,BB13 LJMP FF1

;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到该状态 的前 27S 循环体内

; 若 R3 小于 5 被设成 30 后,跳到下一个状态 ;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到该状 态的前 27S 循环体内

BB13:MOV P1,#37H CJNE R3,#30,BB14 LJMP EE2 BB14:CJNE R3,#6,BB15 LJMP FF1 BB15:CJNE R3,#7,BB16 LJMP FF1 BB16:CJNE R3,#8,BB17 LJMP FF1 BB17:LCALL Z2 CJNE R3,#30,BB18 LJMP EE2 BB18:CJNE R3,#6,BB19 LJMP FF1 BB19:CJNE R3,#7,BB20 LJMP FF1 BB20:CJNE R3,#8,BB21 LJMP FF1 BB21:DJNZ R3,L00P2

;南北方向黄灯灭,东西方向红灯 ; 若 R3 小于 5 被设成 30 后,跳到下一个状态 ;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到该 状态的前 27S 循环体内

; 若 R3 小于 5 被设成 30 后,跳到下一个状态

;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到该 状态的前 27S 循环体内

;南北方向红灯亮,东西方向绿灯亮 EE2:MOV R3,#30 FF2:MOV P1,#2EH L00P3:LCALL TIMER1 LCALL Z1 INC R2 CJNE R2,#100,L00P3 MOV R2,#0 DEC R3 CJNE R3,#30,CC1 ;小于 5 被设成 30 后,跳到下一个状态 LJMP EE1 CC1:CJNE R3,#0,CC2 ;在 6,7,8 时中断减 5 和正常计时到 3 时,跳到黄灯闪烁 程序 LJMP EE1 CC2:CJNE R3,#1,CC3 LJMP L00P5 CC3:CJNE R3,#2,CC4 LJMP L00P5 CC4:CJNE R3,#3,L00P3 L00P5:CJNE R3,#30,CC5 LJMP EE1 CC5:MOV P1,#1EH ;东西方向黄灯亮,南北方向红灯 CJNE R3,#30,CC6 ;小于 5 被设成 30 后,跳到下一个状态 LJMP EE1 CC6:CJNE R3,#6,CC7 LJMP FF2 CC7:CJNE R3,#7,CC8 LJMP FF2 CC8:CJNE R3,#8,CC9 LJMP FF2 CC9:LCALL Z2 CJNE R3,#30,CC10 LJMP EE1 CC10:CJNE R3,#6,CC11 LJMP FF2 CC11:CJNE R3,#7,CC12 LJMP FF2 CC12:CJNE R3,#8,CC13 ;小于 5 被设成 30 后,跳到下一个状态 ;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到该状 态的前 27S 循环体内 ;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到该状态 的前 27S 循环体内

LJMP FF2 CC13:MOV P1,#3EH ;东西方向黄灯灭,南北方向红灯 ;小于 5 被设成 30 后,跳到下一个状态 ;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到该状 态的前 27S 循环体内 LJMP FF2 CC15:CJNE R3,#7,CC16 LJMP FF2 CC16:CJNE R3,#8,CC17 LJMP FF2 CC17:LCALL Z2 CJNE R3,#30,CC18 LJMP EE1 CC18:CJNE R3,#6,CC19 LJMP FF2 CC19:CJNE R3,#7,CC20 LJMP FF2 CC20:CJNE R3,#8,CC21 LJMP FF2 CC21:DJNZ R3,L00P5 LJMP MAIN ;紧急模式中断 0 程序 TT1:MOV 42H,P1 MOV 40H,R2 MOV 41H,R3 MOV R0,#0 MOV R3,#30 MOV P1,#36H ;保护现场 ;小于 5 被设成 30 后,跳到下一个状态 ;R3 在倒计时最后 3 秒被加 5 变成 6,7,8 时,跳转到 该状态的前 27S 循环体内

CJNE R3,#30,CC14 LJMP EE1 CC14:CJNE R3,#6,CC15

;每启动一次持续 30S ;双向红灯

L00P6: MOV TMOD,#01H ;启动定时器 0 MOV TH0,#0ECH MOV TL0,# 78H SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 LCALL Z1 INC R2 CJNE R2,#100,L00P6

MOV R2,#0 DEC R3 CJNE R3,#0,L00P6 MOV R2,40H MOV R3,41H MOV P1,42H RETI ;恢复现场

;外部中断 1 包括夜间模式,增加倒计时,减少倒计时 TT2:JB P2.0,NEXT1 ;夜间模式 LJMP INT_IR3 NEXT1:JB P2.1,NEXT2 ;增加倒计时 LJMP INT_IR2 NEXT2:LJMP INT_IR1 ;减少倒计时 ORG 1000H ;夜间模式中断入口地址 INT_IR3:MOV R0,#0 MOV R1,#0 MOV P1,#1BH LCALL Z3 MOV P1,#3FH LCALL Z3 INC R0 ;双向黄灯亮 ;双向黄灯灭

CJNE R0,#200,INT_IR3 ;每启动一次黄灯闪烁 5 小时 MOV R0,#0 INC R1 CJNE R1,#18,INT_IR3 INC R4 CJNE R4,#5,INT_IR3 MOV R3,#30H RETI ORG 1100H ;倒计时增加 5 秒 INT_IR2:INC R3 INC R3 INC R3 INC R3 INC R3 RETI ORG 1200H ;倒计时减少 5 秒 INT_IR1:CJNE R3,#1,LL1 MOV R3,#30

LJMP LL6 LL1:CJNE R3,#2,LL2 MOV R3,#30 LJMP LL6 LL2:CJNE R3,#3,LL3 MOV R3,#30 LJMP LL6 LL3:CJNE R3,#4,LL4 MOV R3,#30 LJMP LL6 LL4:CJNE R3,#5,LL5 MOV R3,#30 LJMP LL6 LL5:DEC R3 ;减 5 秒 DEC R3 DEC R3 DEC R3 DEC R3 LL6:RETI ;定时器 1 定时 10MS 子程序 TIMER1:MOV TMOD,#10H MOV TH1,#0ECH MOV TL1,# 78H SETB TR1 JNB TF1,$ CLR TF1 CLR TR1 RET ;数码管显示倒计时子程序 Z1:CLR P1.6 CLR P1.7 MOV A,R3 MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A SETB P1.6 LCALL DL1MS CLR P1.6 MOV A,B MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A

SETB P1.7 LCALL DL1MS CLR P1.7 RET ;黄灯闪烁时调用数码管显示程序 Z2:LCALL TIMER1 LCALL Z1 INC R2 CJNE R2,#50,Z2 MOV R2,#0 RET ;延时 0.5S Z3:LCALL TIMER1 INC R2 CJNE R2,#50,Z3 MOV R2,#0 RET ;延时 1MS DL1MS:MOV R6,#250 DJNZ R6,$ RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END


相关文章:
单片机交通灯程序(汇编语言).doc
单片机交通灯程序(汇编语言) - 用P0口的八个引脚控制交通灯闪烁 P1.0
交通灯单片机汇编语言.doc
交通灯单片机汇编语言 - 本文档是智能交通灯的基于51单片机的汇编语言,可在pr
51单片机交通灯设计汇编实验.pdf
51单片机交通灯设计汇编实验_电子/电路_工程科技_专业资料。用51单片机汇编语言设计交通灯实验 实验四、中断实验报告一、实验内容参照实验电路,设计交通灯控制系统。...
单片机交通灯实验报告(汇编语言)_图文.pdf
单片机交通灯实验报告(汇编语言)_建筑/土木_工程科技_专业资料。 您的评论 发布评论 用户评价 单片机交通灯实验报告(汇编语言),如何下载 2018-06-24 22:09:18...
基于51单片机汇编语言设计的交通灯.doc
基于51单片机汇编语言设计的交通灯 - 交通灯的控制 摘要: 本设计以 AT89
单片机交通灯实验报告(汇编语言).doc
单片机交通灯实验报告(汇编语言) - 实验四 单片机交通灯实验 1、实验要求 本实验分两部分, 第一部分是普通交通灯的模拟:初始状态 0 为东 西红灯,南北红灯.然后...
单片机汇编语言交通灯.doc
单片机汇编语言交通灯 - org 0000h ljmp main org 010
汇编单片机交通灯.doc
汇编单片机交通灯 - 信息与电气工程学院 1403 计算机(CDIO) 基于单片机交通灯设计 项目报告 (2015 /2016 学年第 二 学期) 软件总体设计 姓名:... 学号:...
单片机课程设计-智能交通灯(完整版).doc
单片机课程设计-智能交通灯(完整版) - 单片机 课程设计 毕业设计 智能交通灯 AT89C51 AT89C52 AT89S51 AT89S51
51单片机 交通灯 汇编语言编写.txt
51单片机 交通灯 汇编语言编写 - ;倒计时交通灯 ;四位共阳数码管 ;P0
基于单片机的交通灯的设计报告(汇编语言) (1)_图文.doc
基于单片机交通灯的设计报告(汇编语言) (1) - 交通灯的设计报告 摘要: 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控 制检测技术日益更新...
基于51单片机汇编语言设计的交通灯毕业论文.doc
基于51单片机汇编语言设计的交通灯毕业论文 - 交通灯的控制 摘要: 本设计以
基于51单片机的智能交通灯系统设计.doc
基于51单片机的智能交通灯系统设计_工学_高等教育_教育专区。内容包括:原理图,...(4)进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机 2 ...
单片机汇编语言设计的交通灯.txt
单片机汇编语言设计的交通灯 - 单片机汇编语言设计的交通灯 设计要求:用AT89c51 设计,要有驱动程序,东西南北方向的交通灯 用六个指示灯分别别表示两个方向的红黄...
基于AT89C51单片机的交通灯控制系统设计_图文.ppt
基于AT89C51单片机交通灯控制系统设计 - 基于AT89C51单片机交通灯控制系统设计 ? ? ? ? ? ? 1.1 项目概述 1.2 项目要求 1.3 系统设计 1.4 硬件...
单片机控制简单交通灯教学课件与自学教材_图文.ppt
单片机控制简单交通灯教学课件与自学教材 - 任务五 单片机控制简单交通灯 教学导航 任务单 任务准备 案例示范 知识梳理与总结 任务作业 任务五 单片机控制简单交通灯...
单片机交通灯课程设计报告[1].doc
单片机交通灯课程设计报告[1] - 摘 1. 2. 2.1. 要...
基于51单片机汇编语言设计的交通灯毕业设计论文.doc
基于51单片机汇编语言设计的交通灯毕业设计论文 - 交通灯的控制 摘要: 本设计
单片机课程设计交通灯设计.doc
课程设计(论文)任务书学 题院: 目: 电气工程学院 基于单片机交通灯控制 ...通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中 去,提高我们...
usb单片机cs51交通灯程序汇编语言.doc
usb单片机cs51交通灯程序汇编语言 - ORG 0000H A_BIT EQ
更多相关标签: