




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用单片机控制交通灯传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。下面介绍一种用单片机控制交通灯的方法。一、硬件 硬件电路如附图。的和直接驱动红、黄、绿灯,利用单片机的串口和二片串并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。二、软件 交通灯有红、黄、绿三种。红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。红灯亮秒,绿灯亮秒,黄灯亮秒。每组灯的亮暗状态以分钟为周期循环,故程序采用主、子程序方式,循环结构。另外,为了简化电路,红、黄、绿灯采用低电平点亮。源程序清单如下: : , , , ;点亮红、绿灯 , ;清零: , ;,转 , ;,点亮红、黄灯 : , ;,转 字串7 , ;,点亮绿、红灯 : ;为, 转: , ;,转 , ;,点亮黄、红灯 : , , ;,点亮红、绿灯 : : , , , ,: , , , ,$;查位 , , ,$:,:, 字串8 :,:,:,字串2 三.实验电路及连线四.实验说明1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。五.实验程序框图程序框图: 源代码: ORG 0000H LJMP START ORG 0040HSTART: MOV SP,#60H LCALL STATUS0 ;初始状态(都是红灯)CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯 LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS3 ;南北红灯,东西绿灯 LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯 LJMP CIRCLESTATUS0: ;南北红灯,东西红灯 MOV DPTR,#8300H MOV A,#0FH MOVX DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RETSTATUS1: ;南北绿灯,东西红灯 MOV DPTR,#08300H MOV A,#5AH ;南北绿灯,东西红灯 MOVX DPTR,A MOV R2,#50 ;延时5秒 LCALL DELAY RETSTATUS2: ;南北绿灯闪转黄灯,东西红灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次FLASH: MOV A,#5FH MOVX DPTR,A MOV R2,#03H LCALL DELAY MOV A,#5AH MOVX DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH MOV A,#0AH ;南北黄灯,东西红灯 MOVX DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RETSTATUS3: ;南北红灯,东西绿灯 MOV DPTR,#8300H MOV A,#0A5H MOVX DPTR,A MOV R2,#50 ;延时5秒 LCALL DELAY RETSTATUS4: ;南北红灯,东西绿灯闪转黄灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次FLASH1: MOV A,#0AFH MOVX DPTR,A MOV R2,#03H LCALL DELAY MOV A,#0A5H MOVX DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH1 MOV A,#05H ;南北红灯,东西黄灯 MOVX DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY NOP RETDELAY: ;延时子程序 PUSH 2 PUSH 1 PUSH 0DELAY1: MOV 1,#00HDELAY2: MOV 0,#0B2H DJNZ 0,$ DJNZ 1,DELAY2 ;延时 100 mS DJNZ 2,DELAY1 POP 0 POP 1 POP 2 RET END交通灯的程序及流程图电路说明: 由六个LED(两组红、绿、黄)控制东西向和南北向车流,两位数码管显示本状态剩余时间(秒),具体灯亮的的方式如下:流程图程序如下: ORG 0000H AJMP MAIN MAIN: MOV P2,#00H SETB P3.0 CLR P2.7 MOV P0,#0EEH ;LED显示红红 LCALL DEL CLR P3.0 MOV 7EH,#04H ;把41S 3S送入显示缓冲区 MOV 7DH,#01H MOV 7AH,#00H MOV 79H,#03H LCALL DISP MOV R6,#03H MOV R4,#29H AA1: MOV R5,#50H AA2: LCALL DISP DJNZ R5,AA2 MOV R0,#7AH LCALL DAAD1 ;南北数码显示各减1 MOV R0,#7EH LCALL DAAD1 DJNZ R6,AA1 ;3S时间是否到 LCALL DEL MOV P2,#00H SETB P3.0 CLR P2.7 MOV P0,#0BEH ;LED显示红绿 CLR P3.0 MOV 7EH,#03H ;把38S 30S 分别送入显示缓冲区 MOV 7DH,#08H MOV 7AH,#03H MOV 79H,#00H LCALL DISP MOV R6,#1EH MOV R4,#26H BB1: MOV R5,#50H BB2: LCALL DISP DJNZ R5,BB2 MOV R0,#7AH ;显示减1 LCALL DAAD1 MOV R0,#7EH LCALL DAAD1 DJNZ R6,BB1 ;30S是否到 MOV P2,#00H SETB P3.0 CLR P2.7 MOV P0,#0DEH ;LED显示红黄 LCALL DEL CLR P3.0 MOV 7EH,#00H ;把8S 5S分别送入显示缓冲区 MOV 7DH,#08H MOV 7AH,#00H MOV 79H,#05H LCALL DISP MOV R6,#05H MOV R4,#08H CC1: MOV R5,#50H CC2: LCALL DISP DJNZ R5,CC2 MOV R0,#7AH LCALL DAAD1 MOV R0,#7EH LCALL DAAD1 DJNZ R6,CC1 ;5S是否到 MOV P2,#00H SETB P3.0 CLR P2.7 MOV P0,#0EEH ;LED显示红红 LCALL DEL CLR P3.0 MOV 7EH,#00H MOV 7DH,#03H MOV 7AH,#04H MOV 79H,#01H LCALL DISP MOV R6,#29H MOV R4,#03H DD1: MOV R5,#50H DD2: LCALL DISP DJNZ R5,DD2 MOV R0,#7AH LCALL DAAD1 MOV R0,#7EH LCALL DAAD1 DJNZ R4,DD1 ;3S是否到 MOV P2,#00H SETB P3.0 CLR P2.7 MOV P0,#0EBH ;LED显示绿红 LCALL DEL CLR P3.0 MOV 7EH,#03H MOV 7DH,#00H MOV 7AH,#03H MOV 79H,#08H LCALL DISP MOV R6,#26H MOV R4,#1EH EE1: MOV R5,#50H EE2: LCALL DISP DJNZ R5,EE2 MOV R0,#7AH LCALL DAAD1 MOV R0,#7EH LCALL DAAD1 DJNZ R4,EE1 ;30S是否到 MOV P2,#00H SETB P3.0 CLR P2.7 MOV P0,#0EDH ;LED显示黄红 LCALL DEL CLR P3.0 MOV 7EH,#00H MOV 7DH,#05H MOV 7AH,#00H MOV 79H,#08H LCALL DISP MOV R6,#08H MOV R4,#05H FF1: MOV R5,#50H FF2: LCALL DISP DJNZ R5,FF2 MOV R0,#7AH LCALL DAAD1 MOV R0,#7EH LCALL DAAD1 DJNZ R4,FF1 ;5S是否到 LJMP MAIN ;返回主程序显示红红;*;显示子程序 显示缓冲区地址:79H,7AH,7BH,7CH,7DH,7EH;*DISP: PUSHDPHPUSHDPLPUSHACCPUSHPSW SETB RS1 ;改变当前寄存器组为组2 CLR RS0 MOV R1, #79H ;显示缓冲存储单元首地址 MOV R2, #01H ;从右至左显示 DISP1: MOVA, R1MOVDPTR, #TABMOVCA, A+DPTRMOVP0, A;送段控 MOVP2, R2 ;送位控ACALLDL ;延时2毫秒MOVA, R2JBACC.5, DISP2RLAINCR1MOVR2, AAJMPDISP1DISP2: POPPSW ;恢复当前寄存器组的组号POPACCPOPDPLPOPDPHRET;*;减1子程序;* DAAD1: MOV A,R0 DEC R0 SWAP A ORL A,R0 ADD A,#99H DA A MOV R2,A ANL A,#0FH MOV R0, A MOV A,R2 INC R0 ANL A,#0F0H SWAP A MOV R0,A RET;*;延时1MS子程序 (晶振为6MHZ);* DEL: MOV R2,#01H TIME0: MOV R3,#0FFH TIME1: DJNZ R3,TIME1 DJNZ R2,TIME0 RET ;延时2毫秒子程序 DL:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青年文明岗工作汇报
- 月子中心店长年终总结
- 道法教师工作总结
- 物流仓储智能化讲解
- 服务公司工作总结
- 阀门厂厂长年终总结报告
- 翻转课堂学习成果汇报
- 2025设备购买合同登记流程
- 2025年网络直播艺人经纪合同范本
- 利润分成合作协议7篇
- 文言文基础知识测验(含答案)统编版高中语文必修下册
- 装配式建筑装饰装修技术 课件 模块九 设备与管线部品
- 柴油MSDS化学品安全技术说明书
- 人教版九年级英语全一册 Unit 13 《We are trying to save the earth!》教学设计
- 质量管理五大工具之一SPC
- 2069-3-3101-002WKB产品判定准则-外发
- (正式版)JBT 14587-2024 胶体铅酸蓄电池 技术规范
- 医疗健康知识科普活动总结
- (高清版)DZT 0216-2020 煤层气储量估算规范
- 武汉过早文化研究报告
- 人教版四年级上册语文第一单元测试题(含答案)
评论
0/150
提交评论