下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模拟交通灯设计目录摘要 . 1 绪论 21.1 设计思路 21.2 基本原理 22 交通灯自动控制电路硬件设计. 32.1 单片机的结构 32.2 主要元器件选择 32.3 交通口模型 32.4 总电气图 32.5 显示原理 43 交通灯自动控制电路软件设计. 53.1 单片机中断系统基本结构 53.2 交通灯自动控制的设计程序流程图 73.3 每秒钟的设定 73.4 计算器初值计 74 系统仿真 . 8附录一 程序流程图 10附录二 源程序代码 12总结与体会 191 绪论作为一种交通规则的指示, 交通灯它起着及其重要的作用。 从最初的单车道到现 在的四车道八车道等, 交通指示的自动控制也越
2、来越完善。 它不再仅仅拥有交通指示 的作用, 还有其它特殊情况的处理, 比如对闯红灯的肇事者进行的监督, 紧急救护车 的通过时保持道路畅通, 等等都需要非常的处理, 这也是对交通灯功能的新要求。 而 且,也从最初的只有红,黄,绿三种灯的指示到现在的倒计时电子显示,让人们从单 一的信号判别到时间的准确明了有了进一步认知。 这都表明交通灯的研究还具有它实 际的意义。1.1 设计思路交通灯的自动控制系统的主要功能包括:普通交通灯的显示、 LED倒计时显示。 振荡器和时钟电路:这部分电路主要由 89C51单片机和一些电容、晶振组成。 设计控制部分:主要由 89C51单片机的外部中断电路组成 1 。 设
3、计显示部分: LED数码显示部分。 LED数码显示部分由七段数码显示管组成。1.2 基本原理主体电路:交通灯自动控制模块。这部分电路主要由 89C51单片机的 I/O 端口、 定时计数器、外部中断扩展等组成。本设计先是通过单片机如 AT89C51并接数码管及发光二极管来模拟交通灯的变化 规律,8 个数码管用来显示秒值,东西南北各两个, 12 个发光二极管,东西南北各三 个,分为红绿黄三种颜色。设计思路,首先东西方向绿灯亮,南北方向红灯亮,同时 开始计时 20s,在 7段数码管上显示时间。当 20s 倒计时结束后,开始 3s倒计时, 并且东西方向绿灯开始闪烁, 南北方向红灯亮。当 3s 倒计时结
4、束后再开始 2s 倒计时, 并且东西方向黄灯亮, 南北方向还是红灯亮。 当 2s 倒计时结束后开始 20s 的倒计时, 此时是南北方向绿灯亮,东西方向红灯亮。接下来就是南北方向绿灯闪烁3s,再南北方向黄灯闪烁 2s,接着又开始循环。2 交通灯自动控制电路硬件设计2.1 单片机的结构单片微机 (Single-Chip Microcomputer) 简称为单片机。它在一块芯片上集中成 了中央处理单元 CPU、随机存储器 RAM、只读存储器 ROM、定时/ 计数和多功能输入 / 输出 I/O 口, 如并行口 I/O 、串行口 I/O 和转换 A/D等。就其组成而言,一块单片机 就是一台计算机 2 。
5、其典型结构如图所示。由于它具有体积小、功能强和价格便宜 等优点,因而被广泛地应用于产品智能化和工业控制自动化上。2.2 主要元器件选择1开关管的选择: BUTTON按钮2LED发光二极管 LEDRED LEDYELLOW LDEGREEN发光二极管的主要技术 参数有额定电压和额定工作电流。限流电阻 i 是限制线路电流的,阻值的 大小由 I=U/R 计算得到。例如发光二极管的额定电压为 2V,额定工作电流为 20mA,计算 Ri (5-2)/0.02=150 3 。3二位一体数码管 7SEG-MPX2-CAT-RED共: 阳数码管(红色) 4AT89C51系列单片机D24 D201YLED-YE
6、LLOW1RLED-RED1GYS SR SG2.3 交通路口模型图 2.1 模拟交通路口模型2.4 总电气图0A7 ZR0ZRZGD18D1-GREENZYZRZG1BU1AT89C51D24LED-YELD20D14LED-GREENBAR15PQN24249PQN14249总电路功能介绍: 设计主要研究交通灯自动控制。 本次设计的内容包括两个方面, 一是普通三色灯的指示; 二是两位一体数码管的倒计时显示; 最后就是对交通灯的模 拟设计。5R0105R0115R03 5R0125R01 5R02 5R06 5R05ED-LEEENRDG-LEDRD2D7R450LLOWLED-GREENC
7、133p 19X1CRYSTALC2 183C32p33pR13 910kU114568XTAL1P0.0/AD0P0.1/AD1XTAL2P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10ALEP2.3/A11P2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.2P3.2/INT0P1.3P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDP1.5P1.725141516172123281013AT89C51图 2.2 模拟交通灯
8、总电气图2.5 显示原理:当定时器定时为 1 秒,时程序跳转到时间显示及信号灯显示子程序, 它将依次显 示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在 显示黄灯的下一个时间, 这样依次把所有的灯色的时间显示完后在重新给时间计数器 赋初值 ,重新进入循环 4 。图 2.3 LED 与单片机连接电路3 交通灯自动控制电路 软件设计3.1 单片机中断系统基本结构中断是一项重要的计算机技术, 是处理正常工作与紧急状态的好办法, 是实现人 机实时交互的重要途径, 在单片机应用系统中, 中断技术得到了广泛应用。 下面详细 介绍单片机中断系统基本结构、 与中断相关的特殊寄存器的设
9、置及中断应用系统编程 方法。当 CPU查询到系统有中断请求时,如果系统处于中断允许状态, CPU将停止当前 的工作,响应中断请求,转向中断服务,中断服务完成后,返回原程序继续执行当前 任务,这叫单片机中断。89C51系列单片机中断系统结构如图 4.1 所示。能让 CPU产生中断的信号源叫中 断源。 89C51单片机有 NT0、INT1、T0、T1、TI、RI 六个中断源,但只有 EX0、ET0、 EX1、ET1、ES五个向量 ,下面简要介TC绍ON六个IT中0=0断源 5 。IT0=0图 3.1 单片机中断系统基本结构INT0、INT1:外部中断源,由 P3.2 和 P3.2 引脚输入。具有低
10、电平和脉冲两种触 发方式,在每个机器周期的 S5P2采样引脚信号,如有效则由硬件将它的中断请求标 志 IE 置 1,请求中断。当 CPU响应中断时,由硬件复位。T0、T1:定时/ 计数器中断,当定时 /计数器产生溢出时,置位中断请求标志 TF 请求中断处理。RI 、TI :串行中断, RI 是接收, TI 为发送。单片机串行口接收到一个字符后 RI 置 1,发送完一个字符 TI 置 1。值得注意的是, RI、 TI 在响应中断后,必须由用指 令将其复位。中断响应CPU在执行程序的过程中,在每个机器周期的 S5P2对中断标志位按中断优先级 进行查询,一旦查询到有中断请求, CPU只要不在执行同级
11、或高级的中断服务程序和 当前指令( RETI 指令或访问 IE、IP 的指令除外)执行完毕两种情况,则响应中断。 如果当前正在执行的指令是 RETI 或访问 IE 、IP 的指令,则当前指令执行完毕后, CPU 才可响应中断。 中断响应时间可以从中断信号被查询开始算起, 中断响应时间在以下 三种情况下,响应时间还会更长: CPU正在执行一个比要响应的中断源优先级相等或更高的中断源的中断服务 程序,此时须等到中断服务程序执行完毕才可中断响应。 正在执行的当前指令不是在最后一个机器周期,只有指令执行完后才响应中 断。 如果当前执行的是 RETI或访问 IE、IP 的指令, 则当前指令执行完毕后,
12、CPU 需再执行一条指令才可以中断响应,因此附加等待响应时间不会超过 5 个机器周期。单片机响应中断后, 将转向特定的入口进行中断服务, 单片机的中断入口地址如 表 3.1 所示。表 3.1 MCS-51 单片机中断服务程序入口地址表中断源入口地址IE0 (外部中断 0)0003HTF0(定时器 0 溢出中断)000BHIE1 (外部中断 1)0013HTF1(定时器 1 溢出中断)001BHRI+TI (串行口中断)0023H从表中可以看出, 两相邻中断源的入口地址间隔为 8 个单元。这意味着如果要 把中断源对应的中断服务程序从入口地址开始存放, 则程序的长度不能超过 8 个字 节,否则会影
13、响到下一个中断源的入口地址的使用。 而通常的情况下, 中断服务程 序的长度不止 8 个字节,因此,常见的处理方法是: 在入口地址处存放一条无条件 转移指令,通过这条转移指令转向对应的中断服务程序入口, 中断服务程序以 RETI 为结束。中断请求的撤销 6CPU响应中断请求,在中断返回( RETI)之前,该中断请求应被撤除,否则会引 发另一次中断。定时/ 计数器中断请求撤销 :CPU在响应中断后,由硬件自动清除中断请求标志 TF。外部中断请求撤销 :如果采用脉冲触发方式, CPU在响应中断后,由硬件自动清 除中断请求标志 IE ;对于电平触发方式的外部中断请求,中断标志的撤销是自动的, 由于造成
14、中断请求的低电平继续存在, 所以在响应中断后再次会产生中断请求, 为此响应中断后要撤销外部信号单片机有 INT0、INT1 两个外部中断源, INT0对应单片机 P3.0,INT1 对应 P3.2 单片机的外部中断与特殊寄存器 IE、TCON、IP 有关。 INT0 中断入口地址是 0003H, INT1 中断入口地址是 000BH,下面介绍单片机外部中断的设置与应用。3. 2交通灯自动控制的设计程序流程框图初始化程序南北红灯亮,东西绿灯亮 20 秒倒计时显示 东西黄灯闪亮 2 秒 南北绿灯亮,东西红灯亮 20 秒倒计时显示 南北黄灯闪亮 2 秒END 2图 3.2 交通灯自动控制的设计程序流
15、程框图3.3 每秒钟的设定延时方法可以有两种一中是利用 MCS-51内部定时器才生溢出中断来确定 1 秒的时 间,另一种是采用软延时的方法。3.4 计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到 TH和 TL 中的。我们可 以把计数器记满为零所需的计数值设定为 C和计数初值设定为 TC 可得到如下计算通 式: TC=M-C4 系统仿真由交通灯自动控制程序一开始可以看到, 首先东西方向绿灯亮, 南北方向红灯亮, 同时开始计时 20s,在 7 段数码管上显示时间。当 20s 倒计时结束后,开始 3s 倒计 时,并且东西方向绿灯开始闪烁,南北方向红灯亮。当 3s 倒计时结束后再开始
16、 2s 倒计时,并且东西方向黄灯亮,南北方向还是红灯亮。当 2s 倒计时结束后开始 20s 的倒计时, 此时是南北方向绿灯亮, 东西方向红灯亮。 接下来就是南北方向绿灯闪烁 3s,再南北方向黄灯闪烁 2s,接着又开始循环。仿真结果如下所示。R7RRRR5R450505050505050SZZSSSZZD11ZRZGly33pC1D4DLDE9D-GREENSS50 50D2D18A D22ZRZG0ZGD24D20LED-YELL-GREEN7Q1PN42497 ZR0R15Q1Q2PN4249PN4249Q2图 4.1 模拟黄灯闪亮时的仿真图图 4.2 模拟交通灯运行仿真图附录一 程序流程图
17、图 1 主程序流程图附录二 源程序代码:SECOND1 EQU30H;东西路口计时寄存器SECOND2 EQU31H;南北路口计时寄存器DBUFEQU40H;显示码缓冲 1TEMPEQU44H;显示码缓冲 2LED_G1BITP1.0;东西路口绿灯LED_Y1BITP1.1;东西路口黄灯LED_R1BITP1.2;东西路口红灯LED_G2BITP1.5;南北路口绿灯LED_Y2BITP1.6;南北路口黄灯LED_R2BITP1.7;南北路口红灯ORG0000HLJMPSTARTORG0003HLJMPINTO0ORG0100HSTART: MOVTMOD,#01H置 T0 工作方式 1MOVT
18、H0,#3CHMOVTLO,#0B0HCLRTFOSETBTRO启动 T0SETBEX0SETB PX0设置外中断 0 高优先级SETB EALOOP: MOVR2,#20置 1s 计数初值MOVR3,#20绿灯亮 20SMOVSECOND1,#20东西路口计时显示初值 20sMOVSECOND2,#20南北路口计时显示初值 20sLCALLDISPLAYLCALLSTATEL调用状态 1WAIT1:JNBTF0,WAIT1查询 50ms 到否CLRTF0MOVTH0,#3CH恢复 T0 定时初值 50msMOVTL0,#0B0HDJNZR2,WAIT1判断 1s 到否?未到继续状态 1MOV
19、R2,#20置 50ms 计数初值DECSECIND1东西路口显示时间减 1DECSECOND2南北路口显示时间减 1LCALLDISPLAYDJNZR3,WAIT1状态 1 维持 20sMOVR2,#5置 50ms 计数初值MOVR3,#3绿灯闪烁 3sMOVR4,#4闪烁间隔 200msMOVSECOND1,#5东西路口计时显示初值 5sMOVSECOND2,#5南北路口计时显示初值 5sLCALLDISPLAYWAIT2:LCALLSTATE2调用状态 2JNBTF0,WAIT2查询 50ms 到否CLRTF0MOVTH0,#3CH恢复 T0 定时初值 50msMOVTL0,#0B0HD
20、JNZR4,WAIT2判断 200ms 到否?未到继续状态CPLLED_G1东西绿灯闪烁MOVR4,#4闪烁 200msDJNZR2,WAIT2判断 1s 到否?未到继续状态 2MOVR2,#5置 50ms 计数初值DECSECOND1东西路口显示时间减 1DECSECOND2南北路口显示时间减 1LCALLDISPLAYDJNZR3,WAIT2状态 2 维持 3sMOVR2,#20置 50ms 计数初值MOVR3,#2黄灯闪烁 2sMOVSECOND1,#2东西路口计时显示初值 2sMOVSECOND2,#2南北路口计时显示初值 2sLCALLDISPLAYWAIT3:LCALLSTATE3
21、调用状态 3JNBTF0,#3CH查询 100ms 到否CLRTF0MOVTH0,#3CH恢复 T0 定时初值 100msMOVTL0,#0B0HDJNZR2,WAIT3判断 1s 到否?未到继续状态 3MOVR2,#20置 100ms 计数初值DECSECOND1东西路口显示时间减 1DECSECOND2南北路口显示时间减 1LCALL DISPLAYDJNZR3,WAIT3状态 3 维持 2sMOVR2,#20置 50ms 计数初值MOVR3,#20红灯闪烁 20sMOVSECOND1,#25东西路口计时显示初值 20sMOVSECOND2,#25南北路口计时显示初值 20sLCALL D
22、ISPLAYWAIT4:LCALLSTATE4调用状态 4JNBTF0,WAIT4查询 100ms 到否CLRTF0MOVTH0,#3CH恢复 T0 定时初值 100msMOVTL0,#0B0HDJNZR2,WAIT4判断 1s 到否?未到继续状态 4MOVR2,#20置 100ms 计数初值DECSECOND1东西路口显示时间减 1DECSECOND2南北路口显示时间减 1LCALLDISPLAYDJNZR3,WAIT4状态 4 维持 2sMOVR2,#5置 50ms 计数初值MOVR3,#4红灯闪烁 20sMOVR3,#3绿灯闪烁 3sMOVSECOND1,#20东西路口计时显示初值 20
23、sMOVSECOND2,#20南北路口计时显示初值 20sLCALLDISPLAYWAIT5:LCALLSTATE5调用状态 5JNBTF0,WAIT5查询 100ms 到否CLRTF0MOVTH0,#3CH恢复 T0 定时初值 100msMOVTL0,#0B0HDJNZR4,WAIT5判断 200ms 到否?未到继续状态CPLLED_G2南北绿灯闪烁MOVR4,#4闪烁 200msDJNZR2,WAIT5判断 1s 到否?未到继续状态 5MOVR2,#5置 100ms 计数初值DECSECOND1东西路口显示时间减 1DECSECOND2南北路口显示时间减 1LCALLDISPLAYDJNZ
24、R3,WAIT5状态 5 维持 3sMOVR2,#20置 50ms 计数初值MOVR3,#20红灯闪烁 2sMOVSECOND1,#20东西路口计时显示初值 20sMOVSECOND2,#20南北路口计时显示初值 20sLCALLDISPLAYWAIT6:LCALLSTATE6调用状态 4JNBTF0,WAIT6查询 100ms 到否CLRTF0MOVTH0,#3CH恢复 T0 定时初值 100msMOVTL0,#0B0HDJNZR2,WAIT6判断 1s 到否?未到继续状态 6MOVR2,#20置 100ms 计数初值DECSECOND1DECSECOND2LCALLDISPLAYDJNZR
25、3,WAIT6LJMPLOOPSTATE1:SETB LED_G1CLRLED_Y1CLRLED_R1CLRLED_G2CLRLED_Y2SETB LED_R2RETSTATE2:CLRLED_Y1CLRLED_R1CLRLED_G2CLRLED_Y2SETBLED_R2RETSTATE3:CLRLED_G1CLRLED_R1CLRLED_G2CLRLED_Y2SETB LED_R2SETB LED_Y1RETSTATE4:CLRLED_G1CLRLED_Y1东西路口显示时间减 1南北路口显示时间减 1状态 6 维持 3s状态 1 东西路口路灯亮南北路口红灯亮状态 2南北路口红灯亮状态 3南北
26、路口红灯亮东西路口黄灯亮状态 4SETB LED_R1东西路口红灯亮SETB LED_G2南北路口绿灯亮CLRLED_Y2CLRLED_R2RETSTATE5:状态 5CLRLED_G1CLRLED_R1SETB LED_R1东西路口红灯亮CLRLED_Y2CLRLED_R2RETSTATE6:状态 6CLRLED_G1CLRLED_Y1SETB LED_R1东西路口红灯亮CLRLED_G2CLRLED_R2SETB LED_Y2南北路口黄灯亮RETDISPLAY:数码显示MOVA,SECOND1东西路口计时寄存器MOVB,#10DIVABMOVDBUF+3,AMOVA,BMOVDBUF+2,
27、AMOVSECOND2南北路口计时寄存器MOVB,#10DIYABMOVDBUF+1,AMOVA,BMOVDBUF,AMOVR0,#DBUFMOVR1,#TEMPMOVR7,#4DP10:MOVDPOTR,#LEDMAPMOVA,R0MOVCA,A+DPTRMOVR1,AINCR0INCR1DJNZR7,DP10MOVR0,#TEMPMOVR1,#4DP12:MOVR7,#8MOVA,R0DP13:RLCAMOVP3.0,CCLRP3.1SETBP3.1DJNZR7,DP13INCR0DJNZR1,DP12RETLENMAP:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H
28、,7FH,6FHORG0200HINTO0:PUSHPSWPUSHACCSETBLED_R1SETBLED_R2CLRLED_G1CLRLED_Y1CLRLED_G2CLRLED_Y2POPPSWPOPACCRETIEND体会与总结通过综合实践,实现电子产品从点穴观念设计到生成物理数据的全过程。它 改变了以往采用定量计 算和搭电路实验为基础的传统设计方式, 是电子电路的分 析与设计方法发生了重大变革, 成为当今电子系 统及专用集成电路设计中不可缺 少的重要手段。 . 目前,在电子行业设计中,实用电路辅助设计软件对产 品进行辅助设计已经 成为了一种趋势,这类软件的问世极大地提高了电路设计人员第一
29、产品的设计质 量 与效率。鉴于目前计算机技术的发展,作为一名电子专业的学生,应该对这方 面的知识有一个比较系统的 了解。通过这次综合实践的锻炼,我学到了很多的知 识。对我们来说设计电路图是一个比较复杂和艰难的 事情,通过制作这个简易的 四路抢答器,首先,我了解了设计电路的程序,对电路设计过程有了一个较为 系 统的了解;对单个的元器件的特性有了进一步的了解, 并且一方面, 使我在知识上的应用上了一个层次, 更深一层地了解到书本上我们应该掌握的理论,并将其付诸实践,应用到人们的日常生活中去,从而使我 找到了更浓厚的学习兴趣,也认识到单片机技术在现代生活中的重要地位,看到这个“口香糖大小的迷你 主机”的无限潜能。 。比如,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025~2026学年浙江省湖州市高二下学期6月期末考试生物试卷
- 2026 四川 政府服务中心事业单位易错点巩固训练卷
- 2026年山西省职业院校技能大赛-中职组(动漫制作赛项)考试题库(带答案)
- 2026年江苏省职业院校技能大赛-中职组(网络建设与运维赛项)考试题库(带答案)
- 2026年江苏省职业院校技能大赛-高职组(化工生产技术赛项)考试题库(带答案)
- 2026年广东省职业院校技能大赛-高职组(化学实验技术赛项)考试题库(带答案)
- 2026年《分级护理制度》考试试题(含答案)
- DB34T5181-2025乡镇综合运输服务场站设置规范
- 第九章重积分课件
- 第三单元风筝课件
- 一年级上册数学期中质量检测卷(青岛版五四学制)(含答案)
- 四川省南充市高2027届高考适应性考试(一诊)(全科)数学+答案
- 2026北京市海淀区招聘社区工作者123人笔试备考试题及答案解析
- 半导体供应链韧性研究与对策分析
- 医学康复科病历书写规范培训
- 2026年秋季小学低年级班主任课堂纪律管理经验课件
- 2026秋新教材人教PEP版六年级上册英语全册教案(单元整体教学设计)
- 文书模板-城市公交客运企业安全管理检查表
- 2026版《残疾人保障和发展“十五五”规划》学习与解读
- 2026年广东省春季高考(学考)语文真题(含解析)
- 中外航海文化知到课后答案智慧树章节测试答案2025年春中国人民解放军海军大连舰艇学院
评论
0/150
提交评论