




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录 1 1 设计任务和内容设计任务和内容 .1 1.1 设计任务 .1 1.2 功能要求说明 .1 1.3 设计课题总体方案介绍及工作原理说明 .2 1.3.1 工作原理 .2 1.3.2 总体方案介绍 .2 2 2 硬件设计硬件设计 .4 2.1 设计课题硬件系统各模块功能简要介绍 .4 2.1.1 晶振电路.4 2.1.2 显示及显示驱动电路 .4 2.1.3 键盘控制电路 .5 2.1.4 复位电路 .5 2.1.5 指示灯控制电路 .6 2.2 电路原理图 .7 2.3 电路 PCB 图 .7 2.4 元器件布局图 .7 2.5 元器件清单图 .7 3 3、设计课题软件系统的设计、设计课题软件系统的设计.8 3.1 单片机资源的使用情况 .8 3.2 软件系统各模块功能简要介绍 .8 3.3 软件系统程序流程框图 .8 3.4 程序清单 .11 4 4 设计总结设计总结.13 4.1 使用说明 .13 4.2 仿真结果 .13 4.3 误差分析 .15 4.4 设计体会 .15 4.5 教学建议 .16 参考文献参考文献.17 附附 录录.18 附录一 电路原理图 .18 附录二 PCB 图.19 附录三 元器件布局图 .20 附录四 元器件清单 .21 附录五 程序清单 .22 1 1 设计任务和内容设计任务和内容 1.1 设计任务设计任务 设计一个具有特定功能的十字路口交通灯。该交通灯上电或按键复位后能 自动显示系统提示符“P.” , 进入准备工作状态。按开始键则开始工作,按结 束键则返回“P.”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运行, 甲车道为主车道,每次通车时间为 60 秒,乙车道为次车道,每次通车时间为 30 秒,要求黄灯亮 3 秒,并且 1 秒闪烁一次。有应急车辆出现时,红灯全亮, 应急车辆通车时间 10 秒,同时禁止其他车辆通过。 1.21.2 功能要求说明功能要求说明 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主 干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯, 红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行 线外。用红、绿、黄发光二极管作信号灯。如图下图所示。设东西向为主干道, 南北为支干道。 (1)当交通灯上电或按键复位后能自动显示系统提示符“P.” ,进入准备工作 状态。 (2)干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (3)灯亮到红灯亮的转换过程中,要亮 3 秒黄灯作为过渡。黄灯亮时,原红灯 按 1Hz 的频率闪烁。 (4)应急车辆出现时,红灯全亮,应急车辆通车时间 10 秒,同时禁止其他车 辆通过。 北 东 南 西 图 1.1 交通灯示意图 2 1.31.3 设计课题总体方案介绍及工作原理说明设计课题总体方案介绍及工作原理说明 1.3.1 工作原理 甲、乙两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯。 红灯亮禁止通行,绿灯亮允许通行。黄灯闪亮提示人们注意绿、红灯的状态即 将切换。指示灯燃亮的方案如表 1。 表 1 交通灯状态转换图 计时60s3s30s3s 支道红灯亮红灯亮绿灯亮黄灯闪 亮 . 主道绿灯亮黄灯闪 亮 红灯亮红灯亮. (1) 电源提供方面 采用独立的稳压电源,此方案的优点是稳定可靠,且有各种成熟电路可供 使用。 (2) 显示方面 完全采用数码管显示,用来显示有限符号和数码字符。 (3) 键盘输入方面 直接在 I/O 口线上接按键开关,因为设计时精简和优化了电路,所以剩余 的口资源还比较多。我们共用到了 4 个按键,分别为:K1、K2、K3、K4。 1.3.2 总体方案介绍 该交通灯电路由单片机 AT89S52、键盘接口电路、显示接口电路、发光二 极管控制电路、时钟电路和复位电路构成,原理框图如图 1.2 所示。 3 图 1.2 系统总体框图 单片机可选用 AT89S52,它与 8051 系列单片机全兼容,但其内部带有 4KB 的 FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的 方便。南北向和东西向各采用 2 个数码管计时,同时需要对该方向的指示灯的 点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可 以选择线式 键盘。 4 2 硬件设计硬件设计 2.12.1 设计课题硬件系统各模块功能简要介绍设计课题硬件系统各模块功能简要介绍 2.1.1 晶振电路 时钟电路用来产生单片机工作所需要的时钟信号,单片机本身就是一个复杂 的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制 下严格地按时序进行工作。通过在芯片的外部 XTAL1 和 XTAL2 两个引脚跨接晶体 振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡电路。时钟电 路为单片机产生时钟脉冲序列,本设计中采用的晶振频率为 12MHz,电容为 33pF。 图 2.1.单片机系统的复位电路 2.1.2 显示及显示驱动电路 在本次课程设计中,为了使硬件电路更简单化,为了节省口线,我们采用 的是八位一体共阳数码管,显示原理跟单个 LED 的显示原理完全相同, 由于七 段数码显示器在显示字形代码时需要有足够的功率,所以需在显示器上加显示 驱动,本设计的显示驱动是采用 NPN 三极管作为驱动,并且,无论是位控线上 还是段控线上都串接一个电阻,以提高其输出功率,在这里采用 470 欧母电阻。 显示及驱动电路图如图 2.2。 5 图 2.2.单片机系统的复位电路 2.1.3 键盘控制电路 键盘是最常用的输入设备,是实现人机对话的纽带。按其结构形式可分为 非编码键盘和编码键盘。 编码键盘采用硬件方法产生键码。每按下一个键,键盘能自动生成键盘代 码,键数较多,且具有去抖动功能。这种键盘使用方便,但硬件较复杂。非编 码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬 件简单,广泛应用于各种单片机应用系统,在单片机控制电路中,可把单片机 使用的键盘分为独立式和矩阵式两种。独立式实际上就是一组独立的按键,这 些按键可直接与单片机的 I/O 口连接,即每个按键独占一条口线,这种接法简 单。矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵。 本设计中键盘数目较少,且为安装方便,因此在本设计中采用独立式接法。如 图 2.3 所示。 图 2.3 独立式按键 6 2.1.4 复位电路 复位电路用于产生复位信号,通过 RST 引脚送入单片机,复位是单片机的 初始操作,其主要功能是:为一些专用寄存器设置初始状态、程序状态字 PSW 清 0、程序计数器 PC 被赋值为 0000H 等,除了进入系统的正常初始化之外,当 由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需安装 复位键以重新启动。RST 引脚是复位信号的输入端,复位信号是高电平有效, 完成复位操作共需要 24 个状态周期,复位结束后,单片机从地址 0000H 单元 开始执行程序,SP 为 07H,其它寄存器大多数被置为 00H,本设计使用频率为 12MHz 的晶振,所以复位信号持续时间应超过 2s 才能完成复位操作。复位电 路分为上电复位、按键复位、按键脉冲复位三种,本次课程设计采用的是按键 复位,接线图如图 2.4。 图 2.4.单片机系统的复位电路 2.1.5 指示灯控制电路 本次课程设计采用 P1 口控制二极管的发光情况,口线送低电平有效,具体 设计如下:P1.2 控制东西方向的绿灯,P1.3 口控制东西方向的黄灯,P1.4 控制 东西方向的红灯,P1.5 控制南北方向的红灯,P1.6 控制南北方向的黄灯,P1.7 控制南北方向的绿灯。如图 2.5 所示。 7 图 2.5 指示灯控制电路 2.2 电路原理图 电路原理图见附录一所示。 2.3 电路 PCB 图 PCB 图见附录二所示。 2.4 元器件布局图 元器件布局图见附录三所示。 2.5 元器件清单图 元器件清单见附录四所示。 8 3 3、设计课题软件系统的设计、设计课题软件系统的设计 3.13.1 单片机资源的使用情况单片机资源的使用情况 P3 口为二极管的控制端 P0 口用作地址/数据总线 P2 口用作数据总线 P1.0、P1.1、P1.2、P1.3 口线作为键盘输入端 采用了 INTO 外部中断 既在 AT89S52 的 P0 口用来接八个发光二极管的阳极,控制其亮与灭,P0 口和 P2 口外接由 8 个 LED 数码管(LED1、LED0)构成的显示器,用 P2 口作 LED 的段码输出口(P2.0P2.7 对应于 LED 的 adp) ,P0 口作 LED 的位控输出线 (P0.1、P0.0 分别对应于 LED1、LED0) ,其中在 P1 的串行口外接 2 个三极管作 为显示驱动,显示为 2 个数码管(LED0LED1)进行动态显示。P1 口外接三个 个按键 K1、K2、K3、K4(分别对应于 P1.0、P1.1、P1.2、P1.3 口)用于调整 显示接口电路。 3.23.2 软件系统各模块功能简要介绍软件系统各模块功能简要介绍 主程序模块的主要任务是程序的初始化显示“P.” ,当没任何键按下时,显 示模块将一直不变,交通灯全部是熄灭的,当 K1 键按下并松开后开始倒计时, 其中在时间显示的过程中判断是否有键按下,当再次按下 K1 时,显示将重新开 始倒计时,如果是 K3 按下,将显示“P.” ,并且发光二极管全部熄灭,如果是 K2 按下,数码管将开始十秒倒计时,并且东西南北全部亮起红灯。 显示模块包括送缓冲区模块,送显示等,通过这些模块完成了显示的功能, 并能按照我们所熟悉的时钟时间进行显示。 3.33.3 软件系统程序流程框图软件系统程序流程框图 根据设计要求,程序框图如图 1 所示。由 C 语言完成。软件设计可以分为 以下几个功能模块: 主程序:初始化及调用控制灯的显示程序,主程序的流程图如图 3.1 所示。 显示程序模块:完成交通灯的秒数显示,显示程序流程图如图 3.2 所示。 按键判断模块:完成按键判断并还回键值,按键判断程序流程图如图 3.3 所示。 定时器模块:完成交通灯秒数的的定时,定时器程序流程图如图 3.4 所示。 交通灯模块:完成交通灯的状态转换,交通灯程序流程图如图 3.5 所示 9 图 3.1 主程序流程图 10 图 3.2 显示程序流程图 图 3.3 判断按键程序流程图 11 图 3.4 定时器中断程序流程图 12 开始 程序初始化 显示P. K1键按下否? K1键真按下? 南北绿灯亮东西红 灯亮 60秒到了? 南北黄灯闪亮东西 红灯亮 5秒到了? 南北红灯亮东西绿 灯亮 30秒到了? 南北红灯亮东西黄 灯闪亮 5秒到了? 有键按下? 有键按下? 有键按下? 有键按下? 判断按键 N Y N Y N N N N Y Y Y Y Y N N N N Y Y Y Y Y 图 3.5 交通灯状态转换流程图 3.4 程序清单 程序清单详见附录五 13 4 4 设计总结设计总结 4.1 使用说明 本实验主要是利用单片机 AT89S52、数码管和发光二极管组成,整个电路 结构比较简单,它能实现以下几个功能: 时间的显示。 红黄绿灯的发光与熄灭。 具体操作说明如下: 当交通灯上电或按键复位后能自动显示系统提示符 “P.” ,进入准备工作状态。当按下启动按钮 K1 并释放后,数码管显示将会从 “60 始倒计时,每隔一秒减 1,此时南北方向开始一直亮绿灯,东西方向一直 亮红灯,直到显示为“00”时,数码管将会从“03 开始倒计时,每隔一秒减 1,此时南北方向没隔一秒黄灯就闪烁一次,东西方向亮一直红灯,直到显示为 “00”时,数码管将会从“30 始倒计时,此时南北方向一直亮红灯,东西方向 一直亮绿灯,直到显示为“00”时,数码管又将从“03 开始倒计时,此时南北 方向一直亮红灯,东西方向每隔一秒黄灯就闪烁一次;当没有其他键按下时, 交通灯将这样一直循环下去。当按下结束键 K3 并释放后,数码管将显示“P.”,东 西南北方向无灯亮,当有其它键按下时,就退出,去执行该键的键功能。当按 下紧急键 K2 并释放后,数码管将显示“10” ,并且每隔一秒就减 1,东西南北 方向全部红灯亮,当没亮到显示“00”就有其它键按下时,就退出,执行该键 的键功能,当显示到“00”时,就会自动退出中断继续完成主程序。 4.2 仿真结果 当交通灯上电复位后,数码管显示“P.” ,仿真结果如图 4.1 所示;当按下 开始键 K1 后,南北方向就开始亮绿灯,东西方向开始亮红灯,显示器并开始从 60s 倒计时,仿真结果如图 4.2 所示;当按下紧急键 K3 后,南北方向和东西方 向均亮红灯,显示器并开始从 10s 倒计时,其仿真结果如图 4.3 所示; 图 4.1 上电显示 14 图 4.2 按下开始键后的显示(上) 图 4.2 按下开始键后的显示(下) 15 图 4.3 按下紧急键后的显示 4.3 误差分析 本次课程设计的误差就在于显示时间,我采用的是调用延时程序来让显示 器上数字共显示一秒钟,而循环一次的时间并不仅仅只是 2 次调用延时程序的 时间,其间 CPU 还执行其它指令,例如说将缓存区的内容送给累加器 A、查表 指令、将段控码送给 P2 口等等,因为它们都是微秒级的,而延时程序是毫秒级 的,因此在计算的过程中就可以省略了,每次循环除两次调用延时程序外,所 用时间为 15 微秒,一秒钟共循环了 60 次,此在显示器上只需要显示 1 秒数字, 事实上多显示了 900 微秒,误差率=0.9% 4.4 设计体会 经过一个多星期的时间,终于完成了这次的课程设计,在这期间,我觉得 这次课程设计的难点就在函数的调用以及在函数调用中跳出。程序编了很多遍, 最后还是没有成功,最后勉强成功,但还有一点小问题。我觉得这次课程设计 中的第二个难点就是:显示程序。送的数到显示器,然后调用延时程序(用的 是 1ms 的延时) ,因为数的显示要用人感觉到需要几百毫秒这,而我用得延时程 序只有 1ms,所以我用了一个循环显示程序,让它循环显示 80 次即可,不能用 16 在较正式的场合。 关于 PCB 制作,我认真查阅资料,在上学期理论学习的基础上,经过几个 星期的努力,又下了一次苦功夫,算是明白了制作一个系统的过程,也让我体 会到要成功的设计出某个东西,光靠单一的知识是不够的,必须要系统的知识, 对于这次的实物,我们采用的双面板制作,但是我是做了两次才成功的,第一 次的问题主要是线设置的比较细,容易断掉,排列的比较紧,给人的感觉就是 不美观,当我第二次再画 PCB 时,我就特意注意了这些细节,重新排了一下版, 调整了元器件之间的距离,并加大了线的宽度,加大了焊孔的内外直径。但又 出现了新的一些问题,线接错了,最后经过一天的修改终于弄好了 总结这次实习,在理论课上的学到的知识在这一周充分的和实践结合了起 来,发现了学习中遗漏的知识点,对于已经有所了解的知识有了更进一步认识。 4.5 教学建议 对于这学期的单片机教学,我个人认为总体上教的比较成功的。老师上课 讲得比较好。也比较负责。如果要说改进的话,我觉的这本教材有一点薄,上 面的程序不是很多,比如那上面没有独立式按键的讲解以及程序。那上面没有 C 的讲解,虽然又发了另一本书,但是比较厚,很难看,我觉的选一本既有汇 编又有 C 的比较好。还有一点我觉的书上还有一章没有讲(不过在这读书基本 上没有那个老师把书讲完的)要是能讲完就好了。 17 参考文献 李广弟,朱月秀.单片机基础M.北京:北京航空航天大学出版社, 2007. 李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社, 2004. 李东生,张勇,许四毛.protel99s 电路设计与应用M.北京:电子 工业出版社,2004. 张红润,马平安,张亚凡.单片机原理及应用M.北京:科学出版社, 2002. 18 附 录 附录一 电路原理图 附录 二 PCB 顶层 图 PCB 底层 图 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date:10-Sep-2010Sheet of File:I:下下下下下下下下下下下下下下下(下下下下).ddbDrawn By: EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U1 AT89S52 a 11 b 7 c 4 d 2 e 1 f 10 g 5 dp 3 d4 6 d3 8 d2 9 d1 12 LED1 LED1 a 11 b 7 c 4 d 2 e 1 f 10 g 5 dp 3 d4 6 d3 8 d2 9 d1 12 LED2 LED2 VDD R20 470R21 470R22 470R23 470R24 470R25 470R26 470R27 470 P20 P21 P22 P23 P24 P25 P26 P27 R00 470R01 2KR02 470R03 470R04 470R05 470R06 470R07 470 1 A 2 K D1 LED D2 LED D3 LED D4 LED D5 LED D6 LED D7 LED1 A 2 K D8 LED P00 P01 P02 P03 P04 P05 P06 P07 VCC P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 S1 SW R1 200 R2 1K +C3 22uF VCC RET RET X1 X2 Y1 12MH Z C1 33pF C2 33pF X1 X2 1 2 3 4 5 6 7 8 9 J5 10K P00 P01 P02 P03 P04 P05 P06 P07 P10 P11 P12 P13 P14 P15 P16 P17 LS1 BELL R12 1K VCCP31 P30 P31 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 ISP WE P15 RET P17 P16 VCC P37 1 2 J1 CON2 COMMON 1 NO 2 SS R13 1K P32 P33 P34 P35 P36 ALE/P PSEN GND D9 LED C 3 B 1 E 2 Q1 PNP Q2 PNP Q3 PNP Q4 PNP Q5 PNP Q6 PNP Q7 PNP Q8 PNP C 3 B 1 E 2 Q9PNP P00 P01 P02 P03 P04 P05 P06 P07 P10 P11 P12 P13 P14 P15 P16 P17 P20 P21 P22 P23 P24 P25 P26 P27 P30 P31 P32 P33 P34 P35 P36 P37 VCC 1 2 3 4 5 6 7 8 JP1 CON8 1 2 3 4 5 6 7 8 JP2 CON8 1 2 3 4 5 6 7 8 JP3 CON8 1 2 3 4 5 6 7 8 JP4 CON8 1 2 3 18B20 18B20 VCC Rk 4.7K P30 VCC RP0 470 RP1 470 RP2 470 RP3 470 RP4 470 RP5 470 RP6 470 RP7 470 P30 1 2 JP5 CON2VCC VDD P31 P32 P33 P34 P35 P36 P37 1 2 3 4 5 6 7 8 9 J2 10K VCC P10 P11 P12 P13 P14 P15 P16 P17 S2SW S3SW S4SW S6SW S7SW S8SWSK S9 S5SW 1 2 J3USB 下下18B20下下 下下下下 下下下 下下 下下下下 下下下下下 下下下下下 下下下下下下下 下下下下 下下下 下下下下 1 2 JX 1 CON2 1 2 JX 2 CON2 B20 B20 B21 B21 下下下 下下下 VCC 19 附录三 元器件布局图 20 附录四 元器件清单图 21 元器件及材料清单元器件及材料清单 附录五 元器件及材料名称规格数目备注 AT89S52 加底座 40P1 四位一体共阳数码管加底座 40P2 晶振 12MHz1 发光二极管 9 单排插40 脚 1 三极管 90129 蜂鸣器 1 小按键 9 下载口座子十芯 1 六脚按键开关 1 Usb 电源线加接口 1 电阻 2001 电阻 1K3 电阻 47024 电解电容 22uf1 瓷片电容 33pf2 排阻 10k2 短路冒 2 杜邦线 8P 1 PCB 板子 1 22 程序清单 本程序的相关设定: 显示器的设定:P1.0P1.1 制显示器的个位和十位的位选码 P0.0P0.7 控制显示器的段选码 按键的设定: P1.0P1. 4 控制交通灯的开启准备,返回准备,紧急事 件状态 /* * *第一个状态:主干道、支干道均亮红灯 10S * *第二个状态:主干道亮绿灯 60S、支干道亮红灯 * *第三个状态:主干道绿灯闪 3 次转亮黄灯、支干道亮红灯 3S * *第四个状态:主干道亮红灯、支干道亮绿灯 30S * *第五个状态:主干道亮红灯、支干道绿灯闪 3 次转亮黄灯 3S * *返回到第二个状态 * * * */ #include/头文件 #include/头文件 #define uchar unsigned char/宏定义 #define uint unsigned int/宏定义 sbit RED_ZHU = P30; sbit YELLOW_ZHU = P31; sbit GREEN_ZHU = P32; sbit RED_ZHI = P33; sbit YELLOW_ZHI = P34; sbit GREEN_ZHI = P35; sbit p3_0=P30; sbit p3_1=P31; sbit p3_7=P37; uint aa, bai,shi,ge,bb; /定义变量 /*数码管显示 0-9*/ uint code table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x0C,0 xbf; /电子 090313 显示 uint data table1=0,0,9,0,3,11,1,3; /*子函数声明*/ void delay(uint z); void delay0(uint z); /void init(uint a); void display(uint shi,uint ge); void disp(); void xtimer0(); void init1(); void init2(); void init3(); void init4(); void init5(); uchar keychuli(); uchar key(); /* 主函数 */ void main() uchar m,n; uchar k,b; 23 P0=0XFF; P1=0 xFF; P2=0 xFF; EA=1;/打开外部中断 while(1) k=key(); switch(k) case 0 x00: while(1) display(10,10); b=P1; if(b!=0 xff) break; case 0 x01: while(1) if(P1!=0 xff) break; Loop: init2();/第 2 个状态 init3(); /第 3 个状态 init4(); /第 4 个状态 init5();/第 5 个状态 break; case 0 x02: init1(); goto Loop; break; while(1) display(10,10); b=P1; if(b!=0 xff) break; break; case 0 x04: while(1) uchar i=80; b=P1; if(b!=0 xff) break; dodisp();while(i-) ; m=table10; for(n=0;n7;n+) table1n=table1n+1; table17=m; break; case 0 x08: while(1) uchar i=80; 24 b=P1; if(b!=0 xff) break; dodisp();while(i-) ; m=table10; for(n=0;n7;n+) table1n=table1n+1; table17=m; break; void init1()/第一个状态:主干道、支干道均亮红灯 10S uint temp; temp=11;/变量赋初值 TMOD=0 x01;/定时器 0 工作于方式 1 TH0=0 x4c; TL0=0 x00;/定时器赋初值 EA=1;/开外部中断 ET0=1;/开定时中断 TR0=1;/开定时器 0 while(1) RED_ZHU=0; /第一个状态主干道、支干道均亮红灯 10S RED_ZHI=0; GREEN_ZHU=1; GREEN_ZHI=1; YELLOW_ZHU=1; YELLOW_ZHI=1; if(aa=10)/定时 20*50MS=1S aa=0;/定时完成一次后清 0 temp-;/变量自增 /delay(10); if(temp=1)/定时 100S temp=11;/变量清 0 break; shi=temp/10;/显示十位 ge=temp%10;/显示个位 display(shi,ge); if(P1!=0 xff) break; 25 void init2()/第二个状态:主干道亮绿灯 60S、支干道亮红灯 uint temp; temp=61;/变量赋初值 TMOD=0 x01;/定时器 0 工作于方式 1 TH0=0 x4c; TL0=0 x00;/定时器赋初值 EA=1;/开外部中断 ET0=1;/开定时中断 TR0=1;/开定时器 0 while(1) RED_ZHU=1; RED_ZHI=0; GREEN_ZHU=0; GREEN_ZHI=1; YELLOW_ZHU=1;/第二个状态:主干道亮绿灯 60S、支干道亮红灯 YELLOW_ZHI=1; if(aa=20)/定时 20*50MS=1S aa=0;/定时完成一次后清 0 temp-;/变量自增 if(temp=1)/定时 100S temp=61;/变量清 0 break; shi=temp/10;/显示十位 ge=temp%10;/显示个位 display(shi,ge); if(P1!=0 xff) break; void init3() /第三个状态:主干道绿灯闪 3 次转亮黄灯、支干道亮红灯 3S uint temp; temp=7;/变量赋初值 TMOD=0 x01;/定时器 0 工作于方式 1 TH0=0 x4c; TL0=0 x00;/定时器赋初值 EA=1;/开外部中断 ET0=1;/开定时中断 TR0=1;/开定时器 0 while(1) RED_ZHI=0; GREEN_ZHU=1; YELLOW_ZHU=0; /YELLOW_ZHU=YELLOW_ZHU; if(aa=10)/定时 20*50MS=1S aa=0;/定时完成一次后清 0 temp-;/变量自增 26 YELLOW_ZHU=YELLOW_ZHU; /delay(1); if(temp=1)/定时 100S temp=4;/变量清 0 break; shi=temp/10/2;/显示十位 ge=temp%10/2;/显示个位 display(shi,ge); if(P1!=0 xff) break; void init4()/第四个状态:主干道亮红灯、支干道亮绿灯 30S uint temp; temp=31;/变量赋初值 TMOD=0 x01;/定时器 0 工作于方式 1 TH0=0 x4c; TL0=0 x00;/定时器赋初值 EA=1;/开外部中断 ET0=1;/开定时中断 TR0=1;/开定时器 0 while(1) RED_ZHU=0; RED_ZHI=1; YELLOW_ZHU=1;/第一个状态主干道、支干道均亮红灯 5S GREEN_ZHI=0; if(aa=20)/定时 20*50MS=1S aa=0;/定时完成一次后清 0 temp-;/变量自增 if(temp=1)/定时 100S temp=31;/变量清 0 break; shi=te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东公考真题2025
- 零售药店医疗器械各岗位培训考核试题及答案
- 度继续教育公需科目知识产权考试试题及答案(版)
- 药品管理法和药品网络销售管理办法培训试题及答案
- 事业单位招聘考试公共基础知识复习题库及答案
- 高血压健康管理试题-高血压知识
- 工程力学期末考试试卷测试题A与答案
- 2025年度安全培训中心保安人员服务合同下载
- 2025版车展期间展商洽谈与商务对接服务合同
- 2025年智能机器人研发与市场推广合作协议
- 安全伴我行-大学生安全教育知到智慧树章节测试课后答案2024年秋哈尔滨工程大学
- 有害物质过程管理系统HSPM培训教材
- 2025年蛇年年会汇报年终总结大会模板
- 存款代持协议书范文模板
- DB3301T 0374-2022 疗休养基地评价规范
- 胖东来企业文化指导手册
- 北师大版八年级物理(上册)期末复习题及答案
- 【历年真题合集+答案解析】2024年教资高中历史
- 委托别人找工作的协议
- 医技三基三严知识模拟习题含参考答案
- Y -S-T 732-2023 一般工业用铝及铝合金挤压型材截面图册 (正式版)
评论
0/150
提交评论