版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于51单片机的交通信号灯控制系统设计第交通信号灯采用发光二极管共阴极接法,当输入高电平时二极被点亮。图为对应的交通信号灯的电路图为图:图5-3交通信号灯的红绿灯电路图其中D1,D4,D6为东西方向红绿灯,D2,D3,D5也为东西方向红绿灯,D8,D10,D12为南北方向红绿灯,D7,D9,D11为南北方向红绿灯。5.4交通信号控制码交通灯控制电路的核心元件采用单片机AT89C51,其内部带有4KB的ROM,无须扩展存储器。信号灯的控制由单片机的p1.0~p1.5控制,6个信号灯以共阴极方式连接,当P1口输出为高电平时信号灯点亮,为实现上述控制要求,P1口共输出四种控制码如表5-1所示:表5-1P1口输出控制码列表B道绿灯B道黄灯B道红灯A道绿灯A道黄灯A道红灯控制码状态说明P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0000011000CHA道放行B道禁止000010100AHA道警告B道禁止0010000121HA道禁止B道放行0001000111HA道禁止B道警告5.5倒计时显示设计要实现计时功能则需要使用定时器来计时,通过设置定时器的初始值来控制溢出中断时间的时间间隔,再利用一个变量记录定时器的溢出的次数,达到定时1秒的功能。当即使每到1秒后,东西、南北信号灯个状态的暂存剩余时间的变量减1。但暂存变量的时间减到0时,切换至下一个状态,如此循环重复执行。本设计采用动态扫描,用4个数码管分别显示东西、南北的倒计时,将暂存各状态剩余时间的数字从变量中提取出“个位”和“十位”,用动态扫描的方式在数码管中显示。整个程序依据定时器的溢出数来计时,每计时1秒则相应状态的时间减1,一直减到0时触发下一个状态的开始。其具体显示状态如图5-4所示:图5-4动态扫描LED显示5.6复位电路设计单片机复位是使CPU初始化操作,主要是使CPU与其他功能部件都处在一个确定初始状态,并从这个状态开始工作。复位后PC=0000H,是单片机从第一个单元取指令。无论是在单片机刚接上电源时还是断电后或者发生故障后都要复位。单片机复位期间不产生ALE和PSEN信号,即ALE=0和PSEN=1,复位期间不会有任何取指令操作。在RST引脚持续加上两个机器周期(24个振荡周期)的高电平,单片机即发生复位。例如,若时钟频率为12MHz,每个机器周期为1us,则只需2us以上时间的高电平即可实现复位。复位电路图如图5-5所示:图5-5复位电路该电路除具备上电复位功能外,若要复位,则只需按图中的RESET键,此时,电源Vcc经电阻R1、R2分压,在RST端产生一个复位高电平。复位后内部各专用寄存器状态如表5-2所示,其中“@”表示无效位。表5-2专用寄存器状态显示表寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIP@@000000BSBUF不定IE0@@00000BPCON0@@@0000B5.7时钟电路设计时钟电路用于产生单片机工作所需要的时钟信号,唯一的时钟信号控制下的时序可以保证单片机各部件的同步工作。根据产生的方式不同分为内部和外部两种时钟电路,本设计使用内部时钟,电路图如5-6所示:图5-6内部时钟电路图89c51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为芯片引脚XTAL2。而在芯片外部,XTAL1和XTAL2之间由用户自行跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。ALE引脚上出现的信号时周期性的,在每个机器周期内两次出现高电平,ALE信号每出现一次CPU就进行一次取址操作,但由于不同指令的字节数和机器周期数不同,因此取址指令操作也随指令不同而有小的区别。5.8键盘设计由于键盘数量不多,选择独立式按键与P1口连接作为四个按键的输入,每个按键单独占用一根I/O口线,每个按键的工作不会影响其他I/O口线的工作状态。当逐位查询每根口线的输入状态时,如某一根口线输入低电平,则可确认该口线所对应的键已按下,然后,再转向该键的功能处理程序。用四个键S1、S2、S3、S4以及两个用来提示键盘状态的LED电路图如图5-7所示:图5-7按键电路图四个按键的功能依次是:S1(设定键):在倒计时模式时,按下此键后倒计时停止倒计时,进入设置状态;如果已经处于设置状态则此键无效。S2(减一键):在设置状态时,每按一次递减键,初始值的数字减1。S3(增一键):在设置状态时,每按一次递增键,初始值的数字增1。S4(确认键):在设置状态时,按下此键后,单片机按照新的初始值进行倒计时及显示倒计时的数字。如果已经处于计时状态则此键无效。在实现键盘的扫描和运行模式的切换时,主程序在初始化一些变量和寄存器之后,需要不断循环地读取键盘的状态和动态扫描数码管显示相应的数字,根据键盘的键值实现设置状态、计时的切换。第六章交通信号灯软件设计软件设计应用汇编语言,以其较好的可读性和可移植性很好的完成了本次设计任务。程序设计上使用定时器0中断开控制交通灯的正常工作。定时器1中断控制特殊车辆的通行时间;外部中断INT1用于紧急情况、流量控制和恢复等,外部中断INT0用于特种车辆通行处理。系统采用两个状态标志位来记录交通灯的循环状态。程序流程图如下:A道禁止B道警告延时显示置显示初始值延时显示A道警告B道禁止延时5sA道禁止B道警告延时显示置显示初始值延时显示A道警告B道禁止延时5sA道禁止B道放行A到放行B道禁止延时时显示开始初始化显示初始值设置中断响应保护现场A道放行B道禁行延时10s恢复现场返回延时1ms返回显示个位数延时1ms显示次数=0?R2十位数设置显示次数秒个位数转字形码R1个位数秒十位数转字形码拆分秒数开始显示秒数减1秒数转十进制Y返回显示个位数延时1ms显示次数=0?R2十位数设置显示次数秒个位数转字形码R1个位数秒十位数转字形码拆分秒数开始显示秒数减1秒数转十进制Y延时1ms返回显示个位数延时1ms显示次数=0?R2十位数设置显示次数秒个位数转字形码R1个位数秒十位数转字形码拆分秒数开始显示秒数减1秒数转十进制YN延时1ms显示十位数图6-1程序流程图红绿灯的8位LED动态显示子程序如下:显示子程序入口显示子程序入口延时1ms取代显示数据查表换成相应端选码→P0口右移一位,显示下一位动态显示初始化显缓指针加189C51初始化程序设计P2口位选码8位显示完吗?返回图6-2程序流程图总结经过这一个多的查资料、设计与思考,毕业论文已基本完成。刚开始时头脑一片空白,没有一点思路,不知道从何插手,由于以前都是学一些书本上的死的知识,根本不会灵活应用,而且也没做过什么太接近现实的设计,所以那时一直很茫然,在网上查资料也不知道从何查起,原来学的东西跟实际操作有很大的脱节,开始时有过放弃的念头,后来辅导老师告诉我们怎么查资料,针对课题向哪个方向考虑,我们头脑中才有了个清晰的思路。后来开始做了,也往图书馆跑了好多次,但书面上的资料很少,很多都是从网上查的。开始那时查到的资料都是一些简单的材料堆砌,没有一个核心,后来经过我们小组的商量,我们大浪淘沙从其中挑选了一些很有价值的材料,再加上我们自己的一些思路,论文很快有了轮廓。然后就是根据各个环节再针对性的找资料,而且把一些学过的一些知识也很好的糅合在论文中。整个过程中也遇到很多困难,不是芯片不合适就是接口不知怎么接,但在班集体这个知识的讨论的小集体里困难一个个都迎刃而解。整个过程让我明白了一句话“办法总比困难多”。通过毕业论文我对原来学过的知识有了更深的理解,原来想着在大学里学不到很多东西,直到做完毕业,才知道是自己不会联系实际应用!当设计接近尾声的时候回顾设计的整个流程,才发现有好多东西都需要更深一步的学习。原来听说自己的专业是个热门专业,同时也是当下市场分析中最受欢迎的一个,而且他的就业面相当宽,但自己对它了解的不是很多,做毕业设计的时候才知道自己掌握的东西有多么少。现在已面临毕业,这次设计对以后我的学习态度,以及面以后走上工作岗位后的生活也有很大的影响。致谢本设计历时一个月左右,经过资料的搜集、整理加工,最终基本完成。并对课题有了较深的理解。在这里首先感谢辅导老师郭老师对我的精心辅导在本毕业设计期间,得到了郭英军老师耐心指导,学到了一定的设计方法,从而使我能够比较顺利地完成设计。我想以后的生活中我会充分应用老师所提供给我的经验和知识,达到学以致用的目的。经过多天的不懈努力终于完成了。直到最后设计完成的时候才知道老师的良苦用心。参考文献[1]高泽溪,高成.直接数字频率合成器(DDS)及其性能分析.北京:北京航空航天大学出版社,2002,187~191[2]白居宪.低噪声频率合成.西安:西安交通大学出版社,1995,224~230[3]褚振勇,翁木云.FPGA设计及应用.西安:西安电子科技大学出版社,2003,219~263[4]房小翠,王金凤.单片微型计算机与机电接口技术.北京:国防工业出版社,2002,79~86[5]皮红梅,李英顺.单片机开发中的定时方法.沈阳:石油化工高等专科学校学报,2002,171~192[6]何利民.单片机应用系统设计.北京:北京航空航天大学出版社,1991,21~33[7]李珍.单片机原理与控制技术.北京:清华大学出版社,2002,149~158[8]范立南.单片微机接口与控制技术.沈阳:辽宁大学出版社,1996,69~77[9]张友德.单片微型机原理、应用与实践.上海:复旦大学出版社,1992,73~81[10]李华.MCS-51系列单片机实用接口技术.北京:北京航空航天大学出版社,1993,23~31[11]何希庆,高伟.MCS-51单片机原理、实验、实例.山东:山东大学出版社,1989,124~136[12]张毅刚,彭喜元,姜守达.新编MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,2003,153~168[13]胡汉才.单片机原理及接口技术.北京:清华大学出版社,1996,66~78[14]廖焕霖.Protel99电路板设计者必读.北京:冶金工业出版,2000,108~128[15]张义和.ProtelPCB99设计与应用技巧.北京:科学出版社,2000,[16]李云,杨玉峰,梅顺良.ITS系统中GPRS智能移动终端的设计.电讯技术,2006.044(004):96[17]余发山.单片机原理及应用技术.中国矿业大学出版社.2003[18]杨凌霄.微型计算机原理及应用.中国矿业大学出版社.2004[19]张凯,马忠梅编著.MCS-51单片机综合系统及设计开发.北京:科学出版社,1996[20]何立民编著.单片机高级教程.北京:北京航空航天大学出版社,2000附录A:软件程序编程主程序:ORG2000HMOVDPTR,#7F00H;MOVA,#0BH;PA、PC口均为输出MOVX@DPTR,A;MAIN:SETBEA;开中断SETBEX0;MOV50H,#1FH;设置时间显示初值;MOVP1,@0CH;A道放行B道禁止MOVR7,#19H;延时秒数MAIN1:LCALLDISP;调1秒延时、及显示子程序DJNZR7,MAIN1;MOVP1,#0AH;A道警告B道禁行MOVR7,05H;延时秒数MAIN2:LCALLDISP;DJNZR7,MAIN2;MOV50H,#1FH;设时间显示初值MOVP1,#21H;A道禁行B道放行MOVR7,#19H;延时秒数MAIN3:LCALLDISP;DINZR7,MAIN3;MOVP1,#11H;A道禁行B道警告MOVR7,#05H;延时秒数MAIN4:LCALLDISP;DJNZR7,MAIN4;AJMPMAIN;循环=================计数器软件延时========================延时显示子程序:ORG2000H;DISP:MOVR6,#01H;设置显示位寄存器初值(右边一位)MOVTMOD,#01H;定时计数器T0设置为定时方式的模式1MOVR5,#0AH;定时其操作循环10次DEL1:MOVTH0,#3CH;定时器100ms计数器的初值MOVTL0,#B0H;SETBTR0;启动定时器DEL2:DEC50H;显示秒数减1MOVB,#0AH;DIVB;拆分秒数ADDA,#2BH;MOVCA,@A+PC;查表个位数的字型码MOVR1,A;个位数字型码送R1MOVA,B;ADDA,#25H;MOVCA,@A+PC;查表十位数的字型码MOVR2,A;十位数字型码送R2MOVA,R6;位控码MOVDPTR,#7F03H;MOVX@DPTR,A;MOVA,R1;送个位数显示MOVDPTR,#7F01H;MOVX@DPTR,A;LCALLDELAY;延时1msMOVA,R6;RLA;位控左移MOVR6,A;MOVDPTR,#7F03H;MOVX@DPTR,A;MOVA,R2;送十位数显示MOVDPTR,#7F01H;MOVX@DPTR,A;LCALLDELAY;延时1msJNBTF0,$;检测100ms循环控制CLRTF0;DJNZR5,DEL1;100ms循环控制RET;返回TABLE:DBCOH,F9H,A4H,B0H,99H;DB92H,82H,F8H,80H,90H;DELAY:MOVR7,#02H;延时1ms子程序DEL3:MOVR6,#0F9H;DEL4::DJNZR6,DEL2;DJNZR7,DEL1;RETEND=======================中断服务程序==========================ORG0003H;外中断0入口地址LJMPINTER0;ORG2100H;INTER0:PUSH50H;保护现场PUSHP1;MOVP1,#00H;两车道禁止MOVR7,#0AH;延时10秒INT0:LCALLDISP;调显示DJNZR7,INTO;POPP1;恢复现场POP50H;RET1;中断返回0.5秒延时子程序:DELAY:MOVR3,#0AH;MOVTH1,#3CH;MOVTL1,#0B0H;SETBTR1;LP1:JBCTF1,LP2;SJMPLP1;LP2:MOVTH1,#0B0H;DJNZR3,LP1;RETEND====================独立式按键编程============================KEY:ORLP1,#0F0H;置P1.4~P1.7为输入状态MOVA,P1;读键值,键闭合相应位为0CPLA;取反,键闭合相应位为1ANLA,#11110000B;屏蔽低四位保留有键值的高四位JZGRET;全0,无键闭合,返回LCALLDLY10ms;非全0,有键闭合,调10ms延时子程序MOVA,P1;重读键值,键闭合为0CPLA;取反,键闭合相应位为1ANLA,#11110000B;屏蔽低四位保留有键值的高四位JZGEET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《过敏性紫癜曹伟》课件
- 《代商务礼仪》课件
- 《确定市场调研目标》课件
- 房屋租赁合同(2篇)
- 《硬盘使用前的处理》课件
- 2024年汽轮机油产品研发与技术转移合作协议3篇
- 2025年郑州货运从业资格证题库
- 2025年昌都货运从业资格证考试模拟考试题库下载
- 2024年混凝土构件生产及安装合同
- 2025年济南道路运输从业人员从业资格考试
- 监理公司各部门职责
- 253种中药材粉末显微鉴别主要特征
- 论辛弃疾词作的愁情主题及其审美价值
- 新形势下我国保险市场营销的现状、问题及对策
- LTE无线网络优化PPT课件
- 动态血压监测在社区高血压患者管理的意义
- 管道中英文对照表
- 240灯控台_说明书
- 新形势下加强市场监管局档案管理工作的策略
- 例行检查和确认检验程序
- 上海旅游资源基本类型及其旅游区布局特点(共5页)
评论
0/150
提交评论