单片机交通灯课程设计.doc_第1页
单片机交通灯课程设计.doc_第2页
单片机交通灯课程设计.doc_第3页
单片机交通灯课程设计.doc_第4页
单片机交通灯课程设计.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机技术课程设计说明书 交 通 灯 系 、 部: 电气与信息工程系 学生姓名: 指导教师: 职称 副教授 专 业: 电子信息工程 班 级: 完成时间: 2011年12月26日 摘 要近年来,随着科技的飞速发展,单片机的应用在不断的深入,同时带动传统控制检测技术日益更新。单片机往往作为一个核心部件来使用。当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。一个好的交通控制系统,将给道路拥挤,违章控制等方面给予技术革新,随着大规模集成电路及计算机技术的迅速发展,以及在控制技术方面的广泛应用。设备有了很大的发展,是现代科技发展的主流方向。本设计采用单片机系统以及外部设备,采用的是单片机汇编语言来编写程序。基于AT89S52这款单片机,事先已经做好电路实物图,程序设计使用软件KEIL4编写,使用USB将程序生成16进制文件下载到单片机里面然后再运行。本文主要从单片机的应用上来实现十字路口交通灯的管理,用以控制过往车辆的正常通行。关键词:单片机;交通灯;汇编ABSTRACTIn recent years, with the rapid development of science and technology, the application of SCM in constant development, and promote the traditional control detection technology is updated. Microcontroller as a core component to use.The modern age is an era of automation, traffic light control and many other sectors of the equipment are closely related with the computer. A good traffic control system, will give road congestion, illegal control give technical innovation, along with the large scale integrated circuit and the rapid development of computer technology, as well as a technology in the control of the application. Equipment had very great progress, is the modern science and technology development direction.This design uses a single chip system and an external device, is used in single-chip assembly language to write procedures. The single chip microcomputer based on AT89S52, have good circuit diagram, program design using the software is written in KEIL4, using USB procedures to generate 16 hex file downloaded to a single-chip inside and then run.This article mainly from the application of SCM to realize the crossroads traffic lights management, to control the vehicle past the normal traffic.Key words:Single chip microcomputer;The traffic lights;Compilation目 录1 功能概述6 1.1 课题任务与功能要求6 1.2 方案概述62 课题硬件系统设计7 2.1 各模块的电路简介7 2.1.1 单片机最小系统7 2.1.2 按键电路7 2.1.3 流水灯电路7 2.1.4 数码管电路7 2.1.5 下载口电路7 2.2 系统电路图7 2.3 元器件清单7 2.4 硬件测试8 2.5 所做实物图83 课题软件系统设计9 3.1 单片机资源使用情况9 3.2 软件各模块简要介绍9 3.2.1 主程序9 3.2.2 显示程序9 3.2.3 键处理和键扫描程序9 3.2.4 延时程序9 3.3 程序流程框图10 3.3.1 主程序的流程框图10 3.3.2 键扫子程序流程框图11 3.3.3 显示子程序流程框图11 3.3.4 延时程序流程框图12 3.3 程序流程框图124 交通灯的设计结论26 4.1 使用说明26 4.2 交通灯运行图26 4.3 设计体会26结束语27致谢28参考文献29附录30附录311 功能概述1.1 课题任务与功能要求设计一个具有特定功能的十字路口交通灯。该交通灯上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。按开始键则开始工作,按结束键则返回“P.”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。1.2 方案概述本设计采用的是单片机以及其外部设备组成硬件电路,其中包括单片机、数码管显示器。数码管的P0口接段控,P2口接位控。除此之外还有晶振电路、复位电路、电源电路和下载口电路。程序设计采用的是汇编语言编写,本设计是十字路口交通灯,S1为甲路主干道控制键,S2为乙路次干道控制键,S3为紧急车辆控制键,S4为结束键。 AT89S52 是一种低功耗,高性能的CMOS 8位微型计算机。它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。交通灯系统结构如图1如示。 图1 交通灯系统结构图2 课题硬件系统设计2.1 各模块的电路简介2.1.1 单片机最小系统单片机最小系统包括电源电路、时钟电路和复位电路。只有当单片机有了这些电路才会工作。电源电路给单片机供电,时钟电路给单片机提供计数时间,复位电路可以实现单片机的复位。2.1.2 按键电路按键电路的设计就是在一段公共接地,另一端通过上拉电阻接到P1口,当有键按下时,相应的口就会变成低电平,产生一个下降沿。2.1.3 流水灯电路流水灯电路直接挂接在单片机的P3口上,采用共阳接法。蜂鸣器接在P3.1口上。2.1.4 数码管电路数码管的段控口接在单片机的P0口上,位控通过三极管接在单片机的P2口上。2.1.5 下载口电路下载口的1脚接在P1.5口,2脚悬空,3脚接在单片机的复位口上,4脚接P1.6口,5脚接P1.7口,6脚接地,7、8、8、10脚接地。2.2 系统电路图原理图见附录2.3 元器件清单所需元器件清单如表1所示表1 元器件清单器件型号数量器件型号数量单片机AT89S521个按键普通4个晶振12MHZ1个开关6脚开关1个电容22uf,33pf若干数码管HSN5642S2个电阻普通若干下载接口10针接口1个单排针10针接口1个蜂鸣器脉冲式1个2.4 硬件测试实物做好后,使用USB下载线连接单片机的下载口和电脑的USB口,把老师给的测试程序编入单片机中,检查是否各模块的功能显示正常。若有问题,则需对实物进行检查并修改。2.5 所做实物图所做实物图如图2所示 图2 所做实物图3 课题软件系统设计3.1 单片机资源使用情况、P3口为二极管的控制端、P0口用作地址/数据总线、P2口用作地址/数据总线、P1.0、P1.1、P1.2、P1.3口线作为键盘输入端既在AT89S52的P3口用来接八个发光二极管的阴极,控制其亮与灭,P0口和P2口外接由8个LED数码管构成的显示器,用P0口作LED的段码输出口(P0.0P0.7对应于LED的adp),P2口作LED的位控输出线,P2口外接四个个按键A、B、C、D(分别对应于P1.0、P1.1、P1.2、P1.3口)用于调整显示接口电路。3.2 软件各模块简要介绍软件的设计是由汇编语言来编写的,分成各个模块分别为主程序、显示程序、键处理和键扫描程序、延时程序,以下给予相应的介绍。3.2.1 主程序主程序是程序的入口,在主程序中会一直调用显示程序、键扫描程序和延时程序,当没有键按下是数码管会一直显示P点,当有键按下是,就会按操作执行。3.2.2 显示程序显示程序主要完成数码管的动态显示,将相应的段控码送往P0口,相应的位控码送往P2口,实现显示需要的字符信息。3.2.3 键处理和键扫描程序键处理程序主要是将从P1口取值送往单片机进行取反。键扫描程序主要是判断是否有键按下,即度过前沿抖动之后再判断是否有键按下,如果确实有键按下再判断是否释放,同样也要度过后沿抖动。最终将处理完的键值作为返回值返回。3.2.4 延时程序主程序和显示程序中将会调用到延时程序,是用来倒计时的时候延时1秒的作用。3.3 程序流程框图3.3.1 主程序的流程框图主程序流程框图如图3所示 图3 程序流程框图3.3.2 键扫子程序流程框图键扫子程序流程框图如图4所示 图4 键扫子程序流程框图3.3.3 显示子程序流程框图显示子程序流程框图如图5所示 图5 显示子程序流程框图3.3.4 延时程序流程框图延时程序流程框图如图6所示 图6 延时程序流程框图3.4 程序清单/*主程序*/ORG 0000HLJMPMAIN ORG 0030HMAIN:MOV SP, #60H MOV PSW, #00H LOOP:MOV 7CH, #16MOV 7DH, #16 MOV 7EH, #16 MOV 7FH, #17 LOOP1: LCALL KEYMOV R0, #20H CJNE R0, #01H, KEY1 LJMP JIACHEDAOKEY1: CJNE R0, #02H, KEY2 LJMP YICHEDAOKEY2: LCALL DIR LJMP LOOP1TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH ;0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,灭,P. /共阳极 表格区*/ /*甲车道绿灯亮60s,乙车道红灯亮60s*/JIACHEDAO: MOV P3, #0EBH MOV 7CH, #16MOV 7DH, #16 MOV 30H,#0MOV 31H,#6MOV 7EH, 30HMOV 7FH, 31HLCALL DELAY1SMOV 30H,#9MOV 31H,#5MOV 7EH, 30HMOV 7FH, 31HLCALL DELAY1SYANG: DEC 30HMOV 7CH, #16MOV 7DH, #16MOV 7EH, 30HMOV 7FH, 31HMOV R0, #100 LOOP2: LCALL DIR LCALL KEY MOV R1, #20H CJNE R1, #01H, YXW LJMP JIACHEDAO YXW: CJNE R1,#02H, YXW1LJMP YICHEDAOYXW1: CJNE R1,#04H, YXW2LJMP JINCHEDAOYXW2: CJNE R1,#08H, YXW3 LJMP LOOPYXW3: LCALL DELAY1MS DJNZ R0, LOOP2 CJNE R1, #02H, YXW4 LJMP YICHEDAO YXW4: MOV A, 30H CJNE A, #00H, YANG DEC30H MOV 7CH, #16 MOV 7DH, #16 MOV 30H, #9 MOV 7EH, 30H MOV 7FH, 31H LCALL DELAY1S MOV A, 31H CJNE A, #00H, YANGYANG1: MOV 7CH, #16 MOV 7DH, #16MOV 7FH, 31HMOV 30H,#9 MOV 7EH, 30H LCALL DELAY1SDDC: DEC 30H MOV 7CH, #16 MOV 7DH, #16MOV 7FH, 31HMOV 7EH, 30H MOV R0, #100LOOP3: LCALL DIR LCALL KEY MOV R1, #20H CJNE R1, #01H, YXW5 LJMP JIACHEDAOYXW5: CJNE R1, #02H, YXW6 LJMP YICHEDAOYXW6: CJNE R1, #04H, YXW31 LJMP JINCHEDAOYXW31: CJNE R1, #08H, YXW7 LJMP LOOP YXW7: LCALL DELAY1MS DJNZ R0, LOOP3 MOV R1, #30H CJNE R1, #00H, DDC MOV P3,#0FFH/*甲车道黄灯亮5s,乙车道红灯亮5s*/HD1: CLR P3.5 CLR P3.2MOV 7CH, #16MOV 7DH, #16MOV 7FH, #16MOV 30H, #5MOV 7EH, 30HLCALL DELAY1SSETB P3.2DEC 30HMOV 7CH, #16MOV 7DH, #16MOV 7FH, #16MOV 7EH, 30HMOV R0, #100LOOP4: LCALL DIRLCALL KEYMOV R1, #20H CJNE R1, #01H, YXW8LJMP JIACHEDAOYXW8: CJNER1,#02H,YXW9LJMPYICHEDAOYXW9: CJNER1,#04H,YXW10LJMPJINCHEDAOYXW10: LCALL DELAY1MS DJNZR0, LOOP4 YANG2: CLRP3.5CLRP3.2MOV7CH,#16MOV7DH,#16MOV7FH,#16MOV30H,#3MOV7EH,30HLCALLDELAY1SSETBP3.2DEC30HMOV7CH,#16MOV7DH,#16MOV7FH,#16MOV7EH,30HMOVR0,#100 LOOP5:LCALLDIRLCALLKEYMOV R1, #20H CJNE R1, #01H, YXW11LJMP JIACHEDAO YXW11:CJNER1,#02H,YXW12LJMPYICHEDAO YXW12:CJNER1,#04H,YXW13LJMPJINCHEDAO YXW13:LCALL DELAY1MS DJNZ R0, LOOP5 YANG3: CLRP3.5CLRP3.2MOV7CH, #16MOV7DH, #16MOV7FH, #16MOV30H,#1MOV7EH, 30HLCALLDELAY1SSETBP3.2SETBP3.5/*甲车道红灯30s,乙车道绿灯30s*/YICHEDAO:MOVP3, #0BEHMOV7EH, #16MOV7FH, #16MOV30H, #0MOV31H, #3MOV7CH, 30HMOV7DH, 31HLCALLDELAY1SMOV7EH, #16MOV7FH, #16MOV30H, #9MOV31H, #2MOV7CH, 30HMOV7DH, 31HLCALLDELAY1S YANG4:DEC 30H MOV 7EH, #16MOV 7FH, #16MOV 7CH, 30HMOV 7DH, 31HMOV R0, #100LOOP6: LCALL DIR LCALL KEY MOV R1, #20H CJNE R1, #01H, YXW14 LJMP JIACHEDAOYXW14: CJNER1, #02H,YXW15 LJMPYICHEDAOYXW15: CJNER1, #04H,YXW16 LJMPJINCHEDAOYXW16: CJNER1, #08H,YXW17 LJMPLOOPYXW17: LCALL DELAY1MS DJNZ R0, LOOP6 MOV A, 30H CJNE A, #00H, YANG4 DEC 31H MOV 7EH, #16 MOV 7FH, #16 MOV 30H, #9 MOV 7CH, 30H MOV 7DH, 31H LCALL DELAY1S MOV A, #00H CJNE A, 31H, YANG4YANG5: MOV 7EH, #16 MOV 7FH, #16 MOV30H, #9 MOV7DH, 31H MOV 7CH, 30H LCALLDELAY1SDCD: DEC30H MOV 7EH, #16 MOV 7FH, #16MOV7DH,31HMOV7CH,30H MOV R0, #100LOOP7: LCALL DIR LCALL KEY MOV R1, #20H CJNE R1, #01H, YXW18 LJMP JIACHEDAOYXW18: CJNE R1, #02H, YXW19 LJMP YICHEDAOYXW19: CJNE R1, #04H, YXW20 LJMP JINCHEDAOYXW20: CJNE R1, #08H, YXW21 LJMP LOOPYXW21: LCALL DELAY1MS DJNZ R0, LOOP7 MOV R1, #30H CJNE R1, #00H, DCD MOV P3, #0FFH/*甲车道红灯5s,乙车道黄灯5s*/HD2:CLR P3.1 CLRP3.6MOV 7EH, #16MOV 7FH, #16MOV 7DH, #16MOV 30H, #5MOV 7CH, 30HLCALL DELAY1SSETB P3.6DEC 30HMOV 7EH, #16MOV 7FH, #16MOV 7DH, #16MOV 7CH, 30HMOV R0,#100LOOP8:LCALL DIRLCALL KEYMOV R1, #20H CJNE R1, #01H, YXW22LJMP JIACHEDAOYXW22:CJNE R1, #02H,YXW23LJMP YICHEDAOYXW23:CJNE R1, #04H,YXW24LJMP JINCHEDAOYXW24:LCALL DELAY1MS DJNZ R0, LOOP8YANG6: CLR P3.1CLR P3.6MOV 7EH, #16MOV 7FH, #16MOV 7DH, #16MOV 30H,#3MOV 7CH, 30HLCALL DELAY1SSETB P3.6DEC 30HMOV 7EH, #16MOV 7FH, #16MOV 7DH, #16MOV 7CH, 30HMOV R0, #100LOOP9:LCALL DIRLCALL KEYMOV R1, #20H CJNE R1, #01H, YXW30LJMP JIACHEDAOYXW30:CJNER1,#02H,YXW25LJMPYICHEDAOYXW25:CJNER1,#04H,YXW26LJMPJINCHEDAOYXW26:LCALL DELAY1MS DJNZ R0, LOOP9YANG7: CLR P3.1CLRP3.6MOV 7EH, #16MOV 7FH, #16MOV 7DH, #16MOV 30H,#1MOV 7CH, 30HLCALLDELAY1SSETBP3.1SETBP3.6LJMPJIACHEDAO/*紧急情况,甲车道红灯10s,乙车道红灯10s*/JINCHEDAO:MOVP3, #0BBHMOV7CH, #16MOV7DH, #16MOV30H, #0MOV31H, #1MOV7EH, 30HMOV7FH, 31HLCALLDELAY1SMOV7CH, #16MOV7DH, #16MOV7FH, #16MOV30H, #9MOV7EH, 30HLCALLDELAY1SYANG8:DEC30H MOV 7CH,#16MOV 7DH,#16MOV 7FH,#16MOV 7EH,30HMOV R0,#100 LOOP10:LCALL DIR LCALL KEY MOV R1, #20H CJNE R1, #01H, YXW27 LJMP JIACHEDAOYXW27: CJNER1, #02H,YXW28 LJMPYICHEDAOYXW28: CJNER1, #04H,YXW29 LJMPJINCHEDAOYXW29: LCALL DELAY1MS DJNZ R0, LOOP10 MOV A, 30H CJNE A, #00H, YANG8 LJMP JIACHEDAO /*子程序区*/*延时1s子程序*/DELAY1S: MOV R5, #100 DSB1: LCALL DIR DJNZ R5, DSB1 RET /*延时1MS子程序*/DELAY1MS: MOV R7, #04H WEI:MOV R6, #0FFHWEI1:DJNZ R6, WEI1DJNZ R7, WEIRET /*显示子程序*/DIR: PUSH PSW PUSH DPH PUSH DPL PUSH ACC MOV PSW, #08H MOV R1, #7CH MOV R2, #0EFH MOV R3, #04H DZ: MOV A, R1 MOV DPTR, #TAB MOVC A, A+DPTR MOV P2, R2 MOV P0, A LCALL DELAY1MS MOV A, R2 RL A MOV R2, A INC R1 DJNZ R3, DZ POP PSW POP ACC POP DPL POP DPH RET /*键扫描子程序*/KEY: LCALL KEYCHULI MOV A, 20H JZ EXIT LCALL DIR LCALL DIR LCALL KEYCHULI MOV A, 20H JZ EXIT MOV B, 20HKEY11: LCALL KEYCHULI MOV A, 20H JZ KEY4 LCALL DIR LJMP KEY11KEY4: MOV 20H, BEXIT: RETKEYCHULI: PUSH ACC PUSH DPL PUSH DPH PUSH PSW MOV PSW, #10H MOV P1, #0FFH MOV A, P1 CPL A ANL A, #0FH MOV 20H, A MOV PSW, #00H POP PSW POP ACC POP DPL POP DPH RET END4 交通灯的设计结论4.1 使用说明上电后,8个数码管显示初始状态即最左边的一个数码管显示P.。如果未显示P.,只需按一下复位键即可使其显示出P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论