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

下载本文档

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

文档简介

单片机原理课程设计任务书班级:2006电子6,10一. 实训目的1. 熟悉软件的操作和使用方法;2. 了解单片机中断系统、定时/计数器的编程应用3进一步熟练使用开发系统的各种调试方法。二. 设备89C51 基本实验单元、计算机设备系统、发光二极管显示单元三. 实训原理(一)实训说明用8051单片机设计一交通信号灯模拟控制系统,能够完成正常情况下的轮流放行以及特殊情况和紧急情况下的红绿灯控制1掌握单片机中断系统、定时/计数器的编程应用。2通过对交通灯控制程序的编写与调试,掌握中断程序的结构。3正常情况下A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行1分钟(其中5秒用于警告),B道放行30秒(其中5秒用于警告)。4一道有车而另一道无车时,使有车车道放行,K2键按下表示A道有车,K3键按下表示B道有车。5K1键按下表示有紧急车辆通过时,A、B道均为红灯。控制码表P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0控制码(P1口数据)状态说明(空)(空)B线绿灯B线黄灯B线红灯A线绿灯A线黄灯A线红灯11111111110111100011011110111100F3HF5HDEHEEHA线放行,B线禁止A线警告,B线禁止A线禁止,B线放行A线禁止,B线警告(二) 实训连线表A01A06A08A15连接1+5V/GND+5V/GND+5V/GNDU1P20/U1P7连接2GNDKC1连接3P1.0-P1.5LED0-LED5连接4INT0KR1连接5T0KR2U1P1连接6T1KR3U1P2连接7INT1U1P3注:74LS08安装在A15模块的U1位置,上对齐。(三)程序流程图交通信号灯模拟控制系统程序流程图四. 实训步骤1. 输入程序并检查无误,对程序进行汇编、调试,然后烧写程序到89c51单片机;2. 连接A01、A06、A08和A15各相应的引脚;3. 运行程序,看交通灯是否正常运行,按下K5、K1键,观察交通灯的变化情况,按下K9键看是不是两道交通灯都变为红灯。五 思考题 改变程序,同时实现左转弯和右转弯控制?课程设计时间及进度安排课程设计集中在一周(5天)进行。为保证达到预计的教学任务及目的,以小组为单位分别进行资料的收集、方案论证、电路设计、编程、调试、实验及改进。具体进度及要求安排如下:时 间内 容第1天布置课题,落实任务,确定课题及组织形式,收集课题相关的技术资料。第2天方案论证、分析、讨论,电路设计、设计各模块程序框图第3天软件设计第4天整理资料、写课程设计报告第5天整理资料、写课程设计报告,递交课程设计报告、总结设计报告中的几点说明设计完成后,要求每个同学写出设计报告。设计报告包括设计过程、逻辑电路图、程序框图、程序、调试说明、心得体会等内容,逻辑电路图和程序框图必须按照下列原则画出。1、程序框图的原则是: 程序框图一般有几个框图构成,通常所有的框图画在一张图纸上。所画框图不必太详细,也不能太模糊,关键是要反映出程序的主要思路,逻辑顺序,输入输出以及控制点的设计思想。 框图要能清晰地表示出控制信息和数据信息的流向。信息的流向可以是任意的,通常由左至右、自上到下。 所有框图和连线必须清晰整齐。2、画逻辑电路图的原则是: 一般把电路的输入端画在左边,输出端画在右边,重要的电路画在上部,不重要的画在下部 。 所有通路应尽量连接,连接线可交叉,但若相交则要用一个圆点表示。如果走线拥挤须将通路分开画时,应在断口两端做上标记。 超出一张纸的逻辑电路,应使用同一坐标系统(像地图一样),标出信号从一张到另一张的引出点和引入点。参考程序:BANK0_REGEQU00H;选择第0组寄存器BANK1_REGEQU08H;选择第1组寄存器BANK2_REGEQU10H;选择第2组寄存器BANK3_REGEQU18H;选择第3组寄存器ORG0000HLJMPMAIN;指向主程序ORG0003HLJMPEMERG;指向紧急车辆出现中断程序 外部中断0ORG0013HLJMPONEBUSY;指向一道有车另一道无车中断程序 外部中断1ORG0100HMAIN: lcall delay MOVPSW,#BANK0_REGMOVSP,#30HSETB PX0;置外部中断0为高优先级中断MOVTCON,#00H;置外部中断0,中断1为电平触发MOVTMOD,#10H;置定时器1为方式1MOVIE,#85H;开CPU中断,开外中断0、 中断1中断Again:MOV P1,#06 ;0F3H ;A绿灯放行,B红灯禁止MOVR2,#110 ;置0.5秒循环次数DISP1:LCALL DELAY;调用0.5秒延时子程序DJNZ R2,DISP1 ;55秒不到继续循环MOV R2,#06;3秒钟 置A绿灯闪烁循环次数WARN1:CPLP1.2;A绿灯闪烁LCALL DELAYDJNZ R2,WARN1 ;闪烁次数未到继续循环MOV P1,#0ah ;F5H A黄灯警告,B红灯禁止MOVR2,#04YEL1:LCALL DELAYDJNZ R2,YEL1 ;2秒未到继续循环MOVP1,#021h;DEH A红灯,B绿灯MOVR2,#50DISP2:LCALL DELAYDJNZ R2,DISP2 ;25秒未到继续循环MOVR2,#06HWARN2:CPLP1.5;B绿灯闪烁LCALL DELAYDJNZ R2,WARN2MOVP1,#011h ;EEH; A红灯,B黄灯MOVR2,#04HYEL2:LCALLDELAYDJNZR2,YEL2LJMP Again;循环执行主程序;-;紧急情况中断子程序;-EMERG:PUSHP1;P1口数据压栈PUSH02H;R2寄存器压栈PUSHTH1 ;TH1压栈PUSHTL1;TL1压栈MOVP1,#09H ;0f6h A,B道均为红灯MOVR5,#40 ;置20秒循环初值DELAY0:LCALLDELAYDJNZ R5,DELAY0;20秒未到继续循环POPTL1;弹栈恢复现场POPTH1POP03HPOPP1RETI;返回主程序;-;路有车一路无车中断子程序ONEBUSY;-ONEBUSY:CLREA;关中断PUSHP1;压栈PUSH03HPUSHTH1PUSHTL1SETB EA;开中断JNBP3.4,BP;A道无车转向MOVP1,#03H;0f3h ;A绿灯,B红灯SJMP DELAY1;转向5秒延时BP:JNBP3.5,EXIT;B道无车退出中断MOVP1,#21H;0deh ;A红灯,B绿灯DELAY1:MOVR6,#10;置0.5秒循环初值NEXT:LCALL DELAYDJNZ R6,NEXT;5秒未到继续循环EXIT:CLREAPOPTL1;弹栈恢复现场POPTH1

温馨提示

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

评论

0/150

提交评论