




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长江学院课程设计报告 课程设计题目: 交通信号灯控制系统制作设计 2011年 06月 06日单片机控制交通灯控制系统设计摘要十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本设计是根据我所学习的单片机课程,按照大纲要求对我进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术,对我将来的工作以及生活和学习都有很密切的联系。当今世界的发展是以科学技术为基础的,微控技术在生产中所占的比重也越来越大。单片机的出现是近代计算机技术发展史上的一个重要里程碑。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。 目 录 1引言.42原件型号及参数.5 2.1 MSC-51芯片简介 .5 2.2双色发光二极管.5 2.3双色灯与数码显示的对应关系.52.4交通灯的状态.62.5硬件连线.62.6 8279使用简介.63 CAD电路原理图与说明.8 4件设计流程图与源程序清单.95实验心得与体会.206参考文献.211引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。大多红绿灯由红绿黄三色圆形投光器组成:“红”灯表示“停止”,“黄”灯表示“注意”,“绿”灯表示“通行”。本电路设计了一个简易的交通灯控制系统,利用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)正常状态:状态数值持续时间工作状况101101010(5AH)20秒东西红灯南北绿灯200001010(0AH)1秒东西红灯南北黄灯闪烁310100110 (A5H)20秒东西绿灯南北红灯400000110(05H)1秒南北红灯东西黄灯闪烁(2)紧急状态状态数值持续时间工作状况100001111(OFH)10秒东西南北全部红灯2.5 硬件连线(1)采用P1口输出,P1.0P1.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引脚图18279 在键盘工作方式时,可设置为双键互锁方式和 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 ;清除显示 RAMLEDWR0 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 0040HSTART: 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,WAIT0CIRCLE: LCALL ST1WAIT1: MOV A,R1 MOV R2,A LCALL DISPLAY CJNE R1,#02,WAIT1FLASH: 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,WAIT3FLASH1: LCALL ST4 MOV A,R1 MOV R3,A LCALL DISPLAY CJNE R1,#00,FLASH1 LJMP CIRCLEST0: MOV DPTR,#8300h MOV a,#0FH ;东西南北全红 MOVX DPTR,a MOV R1,#05 RETST1: MOV DPTR, #8300H ; 东西绿灯南北红灯 MOV A, 32h MOV R1, A MOV A, #5AH MOVX DPTR, A RETST2: 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 RETST3: MOV DPTR,#8300H ;南北绿灯东西红灯 MOV A,33h MOV R1,A MOV A,#0A5H MOVX DPTR,A RETST4: 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 RETINT_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 RETIDELAY: ;延时子程序 PUSH 8 ;保存现场 PUSH 9 MOV 8,#0HDELAY1: MOV 9,#0H DJNZ 9,$ DJNZ 8,DELAY1 POP 9 ;恢复现场 POP 8 RETINIT8279: ;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 RETINT_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 EXIT0LOOP9: CJNE A,#30H,NEXT ;判断是否南北绿灯时间重置 CLR TR1LOOP8: 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 LOOP8LOOP: 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 EXIT0NEXT: CJNE A,#37H,EXIT0 ;判断是否东西绿灯时间重置 CLR TR1LOOP7: 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 LOOP7LOOP1: CJNE A,#32H,EXIT2 MOV A,33H ;减计数子程序 SUBB A,#01 MOV 33H,A MOV R3,A LCALL DISPLAY SJMP LOOP7EXIT2: CJNE A,#35H, LOOP7EXIT0: 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 R1EXIT: 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 ;显示秒低位 RETKEYCAN: 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 EXIT3RD_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 RETLEDSEG: 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,37
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 葡萄酒鉴赏师培训课件
- 2025年山东省安全员B证复审考试模拟100题及答案
- 葡萄酒知识培训大全课件
- 茶艺与茶文化校考试题及答案
- 2025设备购销合同协议书范本
- 仓储保管员中级考试题及答案
- 2025地下停车场车位租赁合同
- 2024译林版八年级英语上册Unit2 School life(重难词汇)含答案
- 2025年中小学体育教师招聘考试判断题库及答案(共500题)
- 2025船舶股份合同范本
- 《Premiere影视剪辑》课件-概述篇
- 中级财务会计PPT完整全套教学课件
- 廉洁培训ppt课件-廉洁培训课件
- TNXFSA 059-2023 锁鲜枸杞规程
- (完整)《走遍德国》配套练习答案
- GB/T 34239-2017聚3-羟基丁酸-戊酸酯/聚乳酸(PHBV/PLA)共混物长丝
- GB/T 26814-2011微波消解装置
- GB/T 13384-2008机电产品包装通用技术条件
- 新部编版四年级上册语文全册完整课件
- 政府信息公开申请表
- FANUC工业机器人离线与应用项目7 工业机器人KAREL程序
评论
0/150
提交评论