收藏 分销(赏)

单片机控制交通灯控制系统设计.doc

上传人:二*** 文档编号:4598405 上传时间:2024-10-03 格式:DOC 页数:19 大小:80KB 下载积分:5 金币
下载 相关 举报
单片机控制交通灯控制系统设计.doc_第1页
第1页 / 共19页
本文档共19页,全文阅读请下载到手机保存,查看更方便
资源描述
- - 长江学院课程设计报告 课程设计题目:交通信号灯控制系统 制作设计 2011年 06月 06日 单片机控制交通灯控制系统设计 摘要 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本设计是根据我所学习的单片机课程,按照大纲要求对我进展的一次课程检验,是进展单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术,对我将来的工作以及生活和学习都有很密切的联系。当今世界的开展是以科学技术为根底的,微控技术在生产中所占的比重也越来越大。单片机的出现是近代计算机技术开展史上的一个重要里程碑。近年来,随着电子技术和微机计算机的迅速开展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。 目 录 1.引言................................................................................................4 2.原件型号及参数............................................................................5 2.1 MSC-51芯片简介 ….................................................................5 2.2双色发光二极管…....................................................................5 2.3双色灯与数码显示的对应关系………………..……………….....5 2.4交通灯的状态………………...……………………………….....6 2.5硬件连线……………………………………..……………….....6 2.68279使用简介................................................................................6 3 CAD电路原理图与说明....................................................................84件设计流程图与源程序清单............................................................9 5实验心得与体会...............................................................................20 6参考文献...........................................................................................21 1引言 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。大多红绿灯由红绿黄三色圆形投光器组成:“红〞灯表示“停顿〞,“黄〞灯表示“注意〞,“绿〞灯表示“通行〞。本电路设计了一个简易的交通灯控制系统,利用51单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。并运用按键设置两个方向的通行时间〔绿灯点亮的时间〕,使系统的工作符合一般交通灯控制要求。 2元器件的型号及参数 2.1 MSC-51芯片简介 AT89S52是MCS-51系列单片机的典型产品,我们以这一代表性的机型进展系统的讲解。AT89S52单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 2.2双色发光二极管 双色发光二极管是将一个红色LED管芯和一个绿色LED管芯封装在一起、公用负端的一个集成器件。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。实验中,采用4只双色发光二极管〔DLED)分别模拟安装在东、西、南、北4个路口上的4只交通灯,每只双色发光二极管由74LS240反向驱动器驱动,74LS240输入控制端为DR和DG,分别控制DLED红灯和黄灯的工作。具体控制如下: 发光二极管的控制: R 0 G 1 红色 R 1 G 0 绿色 R 0 G 0 黄色 R 1 G 1 不发光 2.3双色灯与数码管显示的对应关系 3号数码管〔DR4〕 北 2号数码管〔DR3〕 西 1号数码管〔DR2〕 南 0号数码管〔DR1〕 东 2.4交通灯的状态 〔1〕正常状态: 状态 数值 持续时间 工作状况 1 01101010(5AH) 20秒 东西红灯南北绿灯 2 00001010(0AH) 1秒 东西红灯南北黄灯闪烁 3 10100110 (A5H) 20秒 东西绿灯南北红灯 4 00000110(05H) 1秒 南北红灯东西黄灯闪烁 〔2〕紧急状态 状态 数值 持续时间 工作状况 1 00001111(OFH) 10秒 东西南北全部红灯 2.5硬件连线 〔1〕采用P1口输出,P1.0~P1.7分别与DG1,DR1,DG2,DR2,DG3,DR3,DG4,DR4相连; 〔2〕P3.2和P3.3分别与按键开关K1、K2相连,K1的优先级高于K2; 〔3〕在爱迪克实验教学机上,数码管和8279部已经连接好,不需再连线。 2.6 8279使用简介 8279可按其功能分为:键盘功能块;显示功能块;控制功能块;与CPU接口功能块控制功能块包括控制和定时存放器,定时和控制,扫描计数器三局部。 它主要用来控制键盘和显示功能块工作.控制和定时存放器:用于存贮来自CPU的编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定时存放器中,并经译码,建立适当的功能. 定时和控制:它含根本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器,分频系数可由程序预置,使部频率为100KHz,从而能给出5.1ms键盘扫描时间和10.3ms反跳时间,其它计数器将此根本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数.    本图片为8279引脚图 [1] 8279 在键盘工作方式时,可设置为双键互锁方式和 N 键循回方式。 双键互锁方式:假设有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFO RAM 中。 N 键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入 FIFO RAM 中。 2.5.2显示方式 显示功能块包括:显示存放器,16X8显示RAM,显示地址存放器. 显示RAM和显示存放器8279部有16X8的显示RAM,通过显示存放器和两个四位端口0UT A0-3,0UT BO-3来刷新显示,显示器可以是白炽灯,也可以是8段数码管,显示RAM可以是16X8的形式,也可以构成两个16x4 的RAM形式,显示RAM可由CPU进展读写,被读写的RAM字节地址由显示地址存放器指示. 显示地址存放器保存当前CPU读或写的那个RAM地址,以及正显示着的那两个4位半字节的地址,读写地址由CPU命令编程,也可置为每次读写后地址自动加1的工作方式,在设置了正确的工作方式后,显示RAM可直接由CPU读出,半字节A和半字节B地址自动由8279更新,以适应由CPU送入的数据,A和B半字节可独立送入,也可作为一个字送入,随CPU所设置的工作方式而定 3 CAD电路原理图与说明 4软件设计流程图与源程序清单及注解 4.1主程序流程图 主程序 程序注入 返回 4.2源程序清单及注解 Z8279 EQU 08701H ;8279 状态/命令口地址 D8279 EQU 08700H ;8279 数据口地址 LEDMOD EQU 00H ;左边输入八位字符显示 ;外部译码键扫描方式,双键互锁 LEDFEQ EQU 2FH ;扫描速率 LEDCLS EQU 0C1H ;去除显示 RAM LEDWR0 EQU 80H ;设定的将要写入的显示RAM地址 ORG 0000H AJMP START ORG 0003H ;INT 0 中断入口地址 LJMP INT_0 ORG 000BH ;INT T0 入口地址 AJMP INT_T0 ORG 001BH ;INT T1 入口地址 AJMP INT_T1 ORG 0040H START: MOV SP,#60H LCALL INIT8279 ;初始化8279 MOV R6,#00H MOV R1,#0H ;南北 MOV R2,#0H ;东西 MOV 32h,#10 MOV 33h,#8 MOV TMOD, #10H ;置T1为方式1 SETB EX0 ;INT 0 中断有效 SETB IT0 SETB PX0 MOV TMOD,#11H MOV TL0,#00H ;50 mS 的时间常数 MOV TH0,#04CH MOV TL1,#00H ;50 mS 的时间常数 MOV TH1,#04CH MOV R0,#20H SETB TR0 SETB TF1 SETB ET0 SETB TR1 SETB ET1 SETB EA ;开总中断 LCALL ST0 ;置初始状态南北东西全红 WAIT0: MOV A,R1 MOV R2,A MOV R3,A LCALL DISPLAY CJNE R1,#00,WAIT0 CIRCLE: LCALL ST1 WAIT1: MOV A,R1 MOV R2,A LCALL DISPLAY CJNE R1,#02,WAIT1 FLASH: LCALL ST2 MOV A,R1 MOV R2,A LCALL DISPLAY CJNE R1,#00,flash LCALL ST3 WAIT3: MOV A,R1 MOV R3,A LCALL DISPLAY CJNE r1,#02,WAIT3 FLASH1: LCALL ST4 MOV A,R1 MOV R3,A LCALL DISPLAY CJNE R1,#00,FLASH1 LJMP CIRCLE ST0: MOV DPTR,#8300h MOV a,#0FH ;东西南北全红 MOVX DPTR,a MOV R1,#05 RET ST1: MOV DPTR, #8300H ; 东西绿灯南北红灯 MOV A, 32h MOV R1, A MOV A, #5AH MOVX DPTR, A RET ST2: MOV DPTR,#8300H ;绿灯闪3次 MOV A,#5FH MOVX DPTR,A LCALL DELAY ;调用延时 LCALL DELAY LCALL DELAY MOV A,#5AH MOVX DPTR,A LCALL DELAY ;调用延时 LCALL DELAY LCALL DELAY RET ST3: MOV DPTR,#8300H ;南北绿灯东西红灯 MOV A,33h MOV R1,A MOV A,#0A5H MOVX DPTR,A RET ST4: MOV DPTR,#8300H ;绿灯闪3次 MOV A,#0AFH MOVX DPTR,A LCALL DELAY ;调用延时 LCALL DELAY LCALL DELAY MOV A,#0A5H MOVX DPTR,A LCALL DELAY ;调用延时 LCALL DELAY LCALL DELAY RET INT_0: PUSH PSW ;保护现场 PUSH 2 PUSH 90H CLR EX0 MOV P1, #0FH ;南北,东西都亮红灯 MOV R2, #100 ;延时10秒 LCALL DISPLAY SETB EX0 POP 90H ;恢复现场 POP 2 POP PSW RETI DELAY: ;延时子程序 PUSH 8 ;保存现场 PUSH 9 MOV 8,#0H DELAY1: MOV 9,#0H DJNZ 9,$ DJNZ 8,DELAY1 POP 9 ;恢复现场 POP 8 RET INIT8279: ;8279初始化子程序 PUSH DPH ;保存现场 PUSH DPL PUSH ACC LCALL DELAY ;延时 MOV DPTR ,#Z8279 MOV A,#LEDMOD ;置8279工作方式 MOVX DPTR,A MOV A,#LEDFEQ ;置键盘扫描速率 MOVX DPTR,A MOV A,#LEDCLS ;去除 LED 显示 MOVX DPTR,A LCALL DELAY ;延时 POP ACC ;恢复现场 POP DPL POP DPH RET ;显示字符子程序 ;输入: R4,位置 R5,值 DISLED: PUSH DPH ;保存现场 PUSH DPL PUSH ACC MOV A,#LEDWR0 ;置显示起始地址 ADD A,R4 ;加位置偏移量 MOV DPTR,#Z8279 MOVX DPTR,A ;设定显示位置 MOV DPTR,#LEDSEG ;置显示常数表起始位置 MOV A,R5 MOVC A,A+DPTR ;查表 MOV DPTR,#D8279 MOVX DPTR,A ;显示数据 POP ACC ;恢复现场 POP DPL POP DPH RET INT_T0: ;INT_T1中断效劳子程序 PUSH DPH ;保护现场 PUSH DPL PUSH ACC PUSH PSW CLR TR0 MOV TL0,#00H ;50mS 定时常数 MOV TH0,#4CH SETB TR0 LCALL KEYCAN ;8279键盘扫描 MOV A, R6 CJNE R6,#00H,LOOP9 SJMP EXIT0 LOOP9: CJNE A,#30H,NEXT ;判断是否南北绿灯时间重置 CLR TR1 LOOP8: MOV R6,#00H ;加计数子程序 LCALL KEYCAN MOV A,R6 CJNE A,#31H, LOOP MOV A,32H ADD A,#01 DA A MOV 32H, A MOV R2, A LCALL DISPLAY SJMP LOOP8 LOOP: CJNE A,#32H,EXIT1 MOV A,32H SUBB A,#01 ;减计数子程序 MOV 32H,A MOV R2,A LCALL DISPLAY SJMP LOOP8 EXIT1: CJNE A,#35H,LOOP8 SJMP EXIT0 NEXT: CJNE A,#37H,EXIT0 ;判断是否东西绿灯时间重置 CLR TR1 LOOP7: MOV R6,#00H LCALL KEYCAN MOV A, R6 CJNE A,#31H,LOOP1 MOV A,33H ;加计数子程序 ADD A,#01 DA A MOV 33H,A MOV R3,A LCALL DISPLAY SJMP LOOP7 LOOP1: CJNE A,#32H,EXIT2 MOV A,33H ;减计数子程序 SUBB A,#01 MOV 33H,A MOV R3,A LCALL DISPLAY SJMP LOOP7 EXIT2: CJNE A,#35H, LOOP7 EXIT0: SETB TR1 MOV R6, #00 POP PSW ;恢复现场 POP ACC POP DPL POP DPH RETI ;中断返回 INT_T1: ;INT_T1中断效劳子程序 PUSH DPH ;保护现场 PUSH DPL PUSH ACC PUSH PSW CLR TR1 MOV TL1,#00H ;50mS 定时常数 MOV TH1,#4CH SETB TR1 DJNZ R0,EXIT ;判断是否到1000毫秒 MOV R0,#20 ; 判断是否到1秒 DEC R1 EXIT: POP PSW ;恢复现场 POP ACC POP DPL POP DPH RETI ;中断返回 DISPLAY: MOV B, #10 MOV A, R2 DIV AB ;除法指令 MOV R4,#1 MOV R5,A ;商放在高位 LCALL DISLED ;显示秒高位 MOV R4,#0 MOV R5,B ;余数放在低位 LCALL DISLED ;显示秒低位 MOV B, #10 MOV A, R3 DIV AB MOV R4,#7 MOV R5,A ;商放在高位 LCALL DISLED ;显示秒高位 MOV R4,#6 MOV R5,B ;余数放在低位 LCALL DISLED ;显示秒低位 RET KEYCAN: PUSH DPH ;保存现场 PUSH DPL PUSH PSW MOV DPTR,#Z8279 MOVX A,DPTR ;读8279状态 ANL A,#07H ;屏蔽D7-D3 JNZ RD_KB ;判断是否有键输入 MOV A,#0H ;置标志(无键输入) SJMP EXIT3 RD_KB: MOV A,#40h ;读 FIFO RAM 命令 MOVX DPTR,A MOV DPTR,#D8279 MOVX A,DPTR ;读键 ANL A,#3FH ;屏蔽 SHIFT 和 CTRL 键 MOV DPTR,#KEYCODE ;键码表起始地址 MOVC A,A+DPTR ;查表 MOV R6,A EXIT3: POP PSW ;恢复现场 POP DPL POP DPH RET LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7' DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F' DB 6DH,40H,08H,00H,59H,0FH,76H ;'U,-,_, ,I,O,P, ' KEYCODE:DB 30H,31H,32H,33H,34H,35H,36H,37H ;'1,2,Q,W,A,S,+,Z' DB 38H,39H,3AH,3BH,3CH,3DH,3EH,3FH ;'3,4,E,R,D,F,X,C' END 5实验心得与体会 本次实习设计了交通灯控制系统,设计了一个简易的交通灯控制系统,利用51单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。并运用按键设置两个方向的通行时间〔绿灯点亮的时间〕和暂缓通行时间〔黄灯点亮的时间〕,使系统的工作符合一般交通灯控制要求。 通过这次单片机实习,让我们明白了一个单片机开发系统的整个流程,使我和组成员得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我们在单片机的根本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧〔特别是C语言〕的掌握方面都能向前迈了一大步,以后遇到单片机的系统开发,可以以此为依据,为单片机的开发扫除一点障碍,同时也让我接触到和初步了解了一些我以前没有遇到过的软件。 总之,学校安排这次实习,让我和组员受益匪浅! 6 参考文献 1. 伟人编著.单片微型计算机原理及其应用.:清华大学,1989 2. 何立民编著.单片机应用系统设计.:航空航天大学,1995 3.王建校等编著.51系列单片机及C51程序设计.,科学,2002 4.维成 加国 编著 单片机原理与应用及C51程序设计 :清华大学,2006.8 5.余锡存,编著.单片机微机原理及接口技术[M].:电子科技,2000.12 6.付家才 编著 单片机控制工程实践技术 :化学工业 7.德营 志霞. 单片机原理及接口技术,中国水利水电 , 2006 8.广弟 朱月秀.单片机根底,航空航天大学 ,2007.6 - word.zl
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服