交通灯与急救车课程设计
单片机课程设计急救车优先的交通灯控制系统
《急救车优先的交通灯控制系统》课程设计说明书专业班级:12级电信(4)班姓名:李玲吴继亮谢彩云学号:080212155 080212149 080212178指导老师:刘娟设计时间:2014年6月11 日物理与电气工程学院二零一四年六月十一日内容摘要请设计一个交通灯控制电路,并且编写相应的软件,完成交通灯的管理任务。
<1> 根据交通灯控制变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过15秒钟转状态2,南北绿灯转亮黄灯闪烁,闪烁5秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过15秒钟转状态4,东西绿灯转亮黄灯闪烁,闪烁5秒,南北仍然红灯。
最后循环至状态1。
<2> 以按键为中断申请,表示有急救车通过,所有的交通信号灯全红10秒钟。
交通灯控制系统,可由多种电路来构成,采用单片机控制,可提高电路的可靠性与稳定性,硬件电路比较简单,主要用软件来控制,控制方式灵活多样,能满足不同情况的控制,可利用中断等方式通过程序来方便的实现调时。
关键字:课程设计单片机急救车流程图目录1 课程设计意义和要求 (2)1.1课程设计意义 (2)1.2课程设计要求 (3)2 理论设计 (3)2.1总体设计 (5)2.2软件设计 (6)2.3硬件设计 (6)3 调试与仿真 (6)4 心得体会 (10)5 参考文献 (10)附录源程序代码 (11)急救车优先的交通灯控制系统1 课程设计意义和要求:1.1课程设计意义大学本科学生动手能力的培养和提高是大学本科教育的一个重要内容,《单片机原理及应用》是一门应用性较强的课程。
如何让学生在学好基础知识的同时,迅速掌握应用技术,实验与课程设计环节起着非常重要的作用。
本课程设计的意义,是让学生通过课程设计,首先建立起单片机应用系统的概念,根据实际的系统设计要求,掌握初步的单片机系统设计方法,从硬件系统和软件系统设计两个方面得到实际的提高,为今后的毕业设计打下良好的基础。
单片机__急救车优先通过交通灯课程设计.doc
《急救车优先的交通灯控制系统》课程设计说明书专业班级:10级自动化(3)班姓名:周玉玲李旭王志繁胡浩远学号:080310167 080310160080310133 100210049指导老师:刘娟设计时间:2012年12月21日物理与电气工程学院二零一二年十二月二十一日内容摘要请设计一个交通灯控制电路,并且编写相应的软件,完成交通灯的管理任务。
1、根据交通灯控制变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过15秒钟转状态2,南北绿灯转亮黄灯闪烁,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过15秒钟转状态4,东西绿灯转亮黄灯闪烁,延时几秒,南北仍然红灯。
最后循环至状态1。
2、以按键为中断申请,表示有急救车通过,所有的交通信号灯全红10秒钟。
交通灯控制系统,可由多种电路来构成,采用单片机控制,可提高电路的可靠性与稳定性,硬件电路比较简单,主要用软件来控制,控制方式灵活多样,能满足不同情况的控制,可利用中断等方式通过程序来方便的实现调时。
关键字:课程设计单片机急救车流程图状态代码目录一、课程设计意义和要求 (3)1、课程设计意义 (3)2、课程设计要求 (3)二、理论设计 (4)1、总体设计 (4)2、软件设计 (4)2.1、电路原理逻辑图 (7)2.2、程序流程图 (8)三、硬件设计描述 (9)1、系统方框图 (9)2、电路原理图 (10)3、单片机简介 (11)4、单片机的学习 (12)5、单片机的应用领域 (13)四、调试与仿真 (15)五、心得体会 (18)六、参考文献 (20)附录源程序代码 (21)急救车优先的交通灯控制系统设计一、课程设计意义和要求:1、课程设计意义大学本科学生动手能力的培养和提高是大学本科教育的一个重要内容,《单片机原理及应用》是一门应用性较强的课程。
如何让学生在学好基础知识的同时,迅速掌握应用技术,实验与课程设计环节起着非常重要的作用。
有急救车通过的交通灯控制
- - .题目:有急救车通过的交通灯控制实验一、实验目的1.学习掌握多个接口芯片综合应用方法2.学习中断技术的根本使用方法3.学习模拟交通灯控制的实现方法4.学习控制程序的变成方法二、实验要求1.用业余时间进展调研,了解交通灯然灭的规律,并写出调研报告,并在此根底上设计电路原理图。
2.在设计硬件电路时,要求充分利用试验仪上的接口芯片,如8086CPU、8255并行接口芯片、发光二极管〔红黄绿各两个〕。
设计或利用接口仪上已有放入单脉冲发生器,单脉冲发生器产生的副脉冲来长生外部中断,进展模拟有救护车通过。
3.编制相应的软件应用程序,并运行调试。
4.写出标准的实验报告。
实验报告用A4纸写。
三、实验报告的格式1.实验题目2.实验目的3.实验要求4.调研报告5.电路原理逻辑框图6.程序流程图7.应用程序8.分析、总结、体会。
四、调研报告:〔一〕、现场调研时间:地点:调研人:调研内容:调研交通灯的工作情况特殊情况: 当有急救车出现或是有特殊情况时南北通向和东西通向的红灯同时亮,并保持约20秒的时间。
〔二〕、网上调研交通灯历史:19世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份。
其中,着红装的女人表示我已结婚,而着绿装的女人则是未婚者。
后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。
在灯的脚下,一名手持长杆的警察随心所欲地牵动皮带转换提灯的颜色。
后来在信号灯的中心装上煤气灯罩它的前面有两块红、绿玻璃交替遮挡。
不幸的是只面世23天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命。
从此,城市的交通信号灯被取缔了。
直到1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是"电气信号灯〞。
实验三 急救车与交通灯控制综合性实验指导书
实验三急救车与交通灯控制综合性实验指导书一、实验内容P1口进行十字路口交通灯控制,允许急救车优先通过。
有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。
设急救车通过路口时间为10秒,急救车通过后,交通恢复正常。
并实验用单次脉冲申请中断,表示有急救车通过。
二、实验目的及要求(一)实验目的1.学习外部中断技术的基本使用方法。
2.学习中断服务程序的编程方法。
(二)实验要求1.学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。
2.该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个性及创造力,独立操作完成实验内容,并写出实验报告。
三、实验条件及要求计算机,C51语言编辑、Keil_uVersion2和Protues仿真软件50台套。
四、实验相关知识点1.单片机内部结构。
2.C51编程、调试。
3.单片机端口控制。
4.外部中断应用。
五、实验原理图七、实验参考流程图八、实验程序#include <reg51.h>#define uchar unsigned char·#define uint unsigned intunsigned int i ;void delay(uint xms){unsigned int a ,j;for(a=xms;a>0;a--)for(j=114;j>0;j--);}void main(){TMOD = 0x01;TH0 = 0x3C;TL0 = 0x0B0;EA = 1;ET0 = 1;TR0 = 1;IP=0x01;IT0=1;EX0=1;P2=0xcf;while(1){}}void Timer0Interrupt(void) interrupt 1 {TH0 = 0x3c;TL0 = 0x0b0; i++;if(i==100) {P2=0xdb;}if(i==200) {P2=0x9f;}if(i==205) {P2=0xdf;}if(i==210) {P2=0x9f;}if(i==215) {P2=0xdf;}if(i==220) {P2=0x9f;}if(i==225) {P2=0xdf;if(i==230) {P2=0x9f;}if(i==235) {P2=0xdf;}if(i==240) {P2=0x9f;}if(i==245) {P2=0xdf;}if(i==250) {P2=0x9f;}if(i==255) {P2=0xdf;}if(i==260) {P2=0xe7;}if(i==360)P2=0x6f;}if(i==365) {P2=0xef;}if(i==370) {P2=0x6f;}if(i==375) {P2=0xef;}if(i==380) {P2=0x6f;}if(i==385) {P2=0xef;}if(i==390) {P2=0x6f;}if(i==395) {P2=0xef;if(i==400){P2=0x6f;}if(i==405){P2=0xef;}if(i==410){P2=0x6f;}if(i==415){P2=0xef;}if(i==420){P2=0xdb;i=0;}}void exter0() interrupt 0 //中断服务程序,中断为外部中断0 {P2=0xcc;delay(10000); //全红10s,急救车通过P2=0xcf;}九、实验实施步骤1.仔细阅读实验内容及要求,编写C51源程序。
实验二:外部中断(急救车与交通灯)
实验二:外部中断(急救车与交通灯)一、实验目的1.继续熟悉编程调式工具和软件延时的使用。
2.学习外部中断技术的基本使用方法。
3.学习中断处理程序的编程方法。
二、实验内容利用实验板的原理图,用软件延时实现交通信号灯的自动管理。
实际交通灯的变化情况和规律:假设一个十字路口为东南西北走向。
初始状态0为东西南北都红灯亮。
然后转状态1东西绿灯通车,南北红灯亮。
过一段时间后,转状态2,东西绿灯闪烁5次后灭,黄灯亮,南北还是红灯。
再转状态3,南北绿灯通车,东西红灯亮。
过一段时间后转状态4,南北绿灯闪烁5次后灭,黄灯亮,东西还是为红灯亮,一段时间后,又循环至状态1。
在上面实验内容的基础上增加允许急救车优先通过的要求。
有急救车到达时,两个方向交通信号灯全部为红灯亮,禁止其它车辆通行,以便让急救车通过。
设急救车通过路口时间为10秒,当急救车通过后,交通灯恢复中断前状态。
本实验用按键申请中断,表示有急救车通过。
编程实现交通灯的自动管理以及中断方式下的交通信号灯的自动管理,要求在给出的程序流程框图的基础上编程实现。
中断信号的产生由K2的接通与断开来实现,K2与单片机的P3.3连接。
实验过程中需要时,按一下K2即可。
三、实验电路图四、实验说明1.编制中断处理程序要注意的问题是:保护进入中断时的状态(保护现场),并在退出中断之前恢复进入时的状态(恢复现场)。
2.必须在中断服务程序中设定是否允许中断重入,即设置EX1位。
3.本例中使用了INT1中断,下降沿触发,避免按键一次触发多个中断。
一般中断处理程序进入时应保护PSW ,ACC 以及中断处理程序中需要使用的寄存器。
本例的INT1程序中应保护PSW ,ACC ,B 等,以便保护中断前红绿灯的状态(保护现场),并且在退出前恢复原来红绿灯状态(恢复现场)。
INT1端接单次脉冲发生器。
五、参考程序框图INT0中断处理六、参考程序org 0000LJMP STARTORG 0013HLJMP INTEX1 ;外中断1中断程序入口START: LCALL state0lcall delay2ssetb IT1setb EAsetb EX1sloop: Lcall state1Lcall state2Lcall state3Lcall state4LJMP sloopstate0: mov P1,#0f6h ;11110110,南北方向红灯亮,东西方向红灯亮lcall delay2s ;延时2sretstate1: mov P1,#0f3h ;11110011,东西绿灯亮,南北红灯亮MOV B,#0F3H ;保存p1状态acall delay60s ;延时60sretstate2: mov r0,#05 ;东西绿灯闪烁5次后灭,东西黄灯亮,南北红灯亮s21: mov P1,#0f3h ;11110011,东西绿灯亮,南北红灯亮MOV B,#0F3H ;保存p1状态acall delay2s ;延时2smov P1,#0f7h ; 11110111,东西绿灯灭,南北红灯亮MOV B,#0F7H ;保存p1状态acall delay2s ;延时2sdjnz r0,s21 ;东西绿灯闪烁5次mov P1,#0f5h ;11110101,东西黄灯亮,南北红灯亮MOV B,#0F5H ;保存p1状态acall delay20sretstate3: mov P1,#0DEh ;11011110,东西红灯亮,南北绿灯亮MOV B,#0DEH ;保存p1状态acall delay60s ; ;延时60sretstate4: mov r0,#05 ;南北绿灯闪烁5次后灭,东西红灯亮,南北黄灯亮s41: mov P1,#0DEh ;11011110,东西红灯亮,南北绿灯亮MOV B,#0DEH ;保存p1状态acall delay2s ;延时2smov P1,#0fEh ;11111110,东西红灯亮,南北绿灯灭MOV B,#0FEH ;保存p1状态acall delay2s ;延时2sdjnz r0,s41 ;南北绿灯闪烁5次mov P1,#0EEh ;11101110,东西红灯亮,南北黄灯亮MOV B,#0FEH ;保存p1状态acall delay20s ;延时20sretdelay2s: MOV R1,#200 ;延时L2: MOV R2,#20L1: MOV R3,#248L3: DJNZ R3,L3DJNZ R2,L1DJNZ R1,L2RETDelay20s:mov r7,#10 ;延时D20s1: acall delay2sdjnz r7,D20s1retdelay60s: mov r7,#30 ;延时d60s1: acall delay2sdjnz r7,d60s1ret;外部中断1服务程序INTEX1: clr EX1 ;关外部中断1push PSW ;中断现场保护push Accpush bsetb EX1 ;外部中断1允许clr p2.5 ;蜂鸣器响lcall state0 ;东西南北向红灯亮mov R6,#3 ;延时12sINTEX1_1:lcall delay2ssetb p2.5 ;蜂鸣器停lcall delay2sclr p2.5 ;蜂鸣器响djnz R6,INTEX1_1setb p2.5clr ex1 ;关外部中断1pop bmov p1,bpop acc ;恢复中断现场pop PSWsetb ex1 ;外部中断1允许RETIend七、实验报告1、说明实验目的和内容。
有急救车的交通灯控制实验
有急救车的交通灯控制实验近年来,随着城市交通日益繁忙,道路交通事故也屡屡发生。
救护车的救援速度对于交通事故的后果起到了至关重要的作用。
然而,在日常的城市交通中,救护车却常常受阻,往往因为红灯而被耽误。
如何在保证城市交通秩序的前提下加快救护车救援速度,成为了关注的焦点。
有急救车的交通灯控制实验,就是一种有益尝试。
该实验就是为了解决救护车在路上行驶遇上红灯耽误救援的问题,使得交通系统能够更加高效地运作起来,提高救援效率。
此实验的核心思想是:在有急救车通过时,交通信号控制系统将灯状态从红灯变为绿灯,以让急救车有优先通行的机会。
同时,交通系统的控制需要贴近现实,不能够仅仅照顾到医院周围的道路,还应该将整个城市的交通路线考虑在内,以实现优化管理、全面提升交通效率的目的。
虽然在现实中实行该实验仍需面对许多问题和挑战,例如道路路况条件的不同以及城市交通拥堵等问题,但是该实验对于城市交通的未来,提供了一个可行的解决方案的思路。
在实施该实验时,首先需要一套成熟的交通信号灯控制系统。
该系统需要能够快速又准确地获得救护车的位置和速度等关键信息,从而能够优先为其开启绿灯。
并且,该系统还需要综合考虑不同道路的交通状况和舒适度,在实际应用过程中才能够达到最佳效果。
此外,还需要做好大量的前期工作,例如制定相关的规章制度、开展相关的宣传教育和推广活动、建立专门的技术团队以及配备先进的设备设施等,以保证该实验得以顺利推进。
综上所述,有急救车的交通灯控制实验,是针对城市交通管理中的一项重大问题的一项有益探索。
在今后的城市交通管理中,需要更多的人关注并倡导这一实验的推广,以期为城市的交通建设和人民的生命安全做出积极的贡献。
实验三 急救车与交通灯实验(4学时)
实验三急救车与交通灯实验(4学时)一、实验目的(1)了解8255芯片的结构、工作方式及编程方法(2)学习模拟十字路口交通控制的实现方法;(3)熟练掌握外部中断技术的使用方法。
二、实验内容(1)在实验箱上完成:用8255的PA口、PB口的低四位做输出口,控制十二个发光二极管亮灭,模拟十字路口交通灯管理。
一般情况下正常显示,有急救车到达时,两个方向四个路口交通信号灯全红,以便让急救车通过。
设急救车通过路口时间为10秒,急救车通过后,交通恢复正常。
本实验用单次脉冲申请外部中断,表示有急救车通过。
(2)用Proteus软件参照实验电路连线并仿真运行,得出与实验箱上相同的软件仿真结果。
所用元器件:单片机AT89C51、可编程并口芯片8255A、按键BUTTON、发光二极管LED-GREEN(RED、BLUE)、8位锁存器74LS273或74LS373、3-8译码器74LS138、或非门74LS02、排阻或电阻RESPACK-8(RES) 、8位缓冲器74LS244参考仿真电路图:三、程序框图四、实验连线(只连图中粗实线)五、实验步骤①8255 PB3~PB0、PA7~PA0依次接发光二极管L1~L12。
②编写程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。
延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。
闪耀若干次后,再切换到东西路口方向,之后重复以上过程。
六、实验说明中断服务程序的关键是:①保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
②必须在中断程序中设定是否允许中断重入,即设置EX0位。
本例中使用了INT0中断(P3.2),一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器。
本例的中断程序保护了PSW、ACC等三个寄存器并且在退出前恢复了这三个寄存器。
关于交通灯的课程设计
关于交通灯的课程设计一、课程目标知识目标:1. 学生能理解交通灯的基本结构及其功能,掌握交通灯颜色及其代表的含义。
2. 学生能描述交通灯工作原理,了解其在交通安全中的作用。
3. 学生了解交通灯的演变历程,认识到科技对交通管理的影响。
技能目标:1. 学生通过小组合作,设计并制作一个简易的交通灯模型,提高动手实践能力。
2. 学生学会运用所学知识分析实际交通问题,提高问题解决能力。
情感态度价值观目标:1. 学生养成遵守交通规则的良好习惯,增强安全意识。
2. 学生认识到交通设施在维护交通秩序中的重要性,激发对科学技术的兴趣。
3. 学生通过课程学习,培养关爱生命、尊重规则的价值观。
本课程针对小学四年级学生,结合学生好奇心强、动手能力逐渐提高的特点,以实践性、趣味性为原则,注重培养学生的实际操作能力和团队合作精神。
课程目标具体、可衡量,旨在帮助学生掌握交通灯相关知识,提高交通安全意识,为后续学习打下坚实基础。
二、教学内容1. 交通灯的基本结构:介绍交通灯的组成部分,包括红灯、绿灯、黄灯及行人指示灯的功能和意义。
2. 交通灯工作原理:讲解交通灯的控制原理,如何通过电路控制红、绿、黄灯的变换。
3. 交通灯的演变历程:介绍交通灯从手动控制到自动化控制的演变过程,以及科技在交通灯发展中的作用。
4. 交通规则与安全:分析交通灯在交通规则中的作用,教育学生遵守交通规则,提高交通安全意识。
5. 制作简易交通灯模型:指导学生分组合作,运用所学知识制作一个简易的交通灯模型,培养学生的动手实践能力。
教学内容依据课程目标,结合教材相关章节,按照以下进度安排:1. 第1课时:交通灯的基本结构及功能。
2. 第2课时:交通灯工作原理及演变历程。
3. 第3课时:交通规则与安全意识教育。
4. 第4课时:制作简易交通灯模型,总结课程内容。
教学内容具有科学性和系统性,旨在帮助学生全面了解交通灯相关知识,培养实际操作能力,提高交通安全意识。
三、教学方法本课程采用以下多样化的教学方法,旨在激发学生的学习兴趣,提高学生的主动性和实践能力:1. 讲授法:教师以生动的语言和实例,讲解交通灯的基本结构、工作原理及演变历程,帮助学生建立知识框架。
外部中断(急救车与交通灯)课设
电气工程学院课程设计说明书设计题目:外部中断(急救车与交通灯)系别:工业自动化仪表系年级专业: x学号: x学生姓名: x指导教师: x教师职称:副教授讲师电气工程学院《课程设计》任务书课程名称:单片机原理及应用课程设计基层教学单位:自动化仪表系指导教师:张淑清学号x 学生姓名x (专业)班级x设计题目外部中断(急救车与交通灯)设计技术参数1.独立完成设计任务。
2.编程,上机调试。
3.连接硬件实验线路,实现所要求的功能。
4.完成设计,提交课程设计报告。
设计要求本实验模拟交通信号灯控制,一般情况下正常显示;有急救车到达时,两个方向交通灯信号全红,以便让救护车通过。
设急救车通过路口时间为10秒,急救车通过后,交通恢复正常,本实验用单次脉冲申请外部中断,表示有急救车通过。
参考资料1)《单片机原理及应用技术》张淑清,国防工业出版社(教材);2) 《过程控制系统及仪表》邵裕森巴莜云编(教材)3)《单片机及应用》李大友,高等教育出版社(教材)4)《机械量测量》机械工业出版社(教材)应完成内容绘制硬件电路,软件流程图熟悉伟福单片机编程环境读程序,修改软件参数修改硬件地址,硬件调试撰写课程设计报告指导教师签字基层教学单位主任签字说明:1、此表一式三份,系、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
电气工程学院教务科目录第一章摘要 (4)第二章引言 (4)第三章设计原理 (5)3.1 AT89S51单片机 (5)3.1.1 AT89S51单片机简 (5)3.1.2 AT89S51单片机的主要性能参数 (5)3.1.3 AT89S51芯片内部结构简介 (5)3.2交通灯的硬件设计 (6)3.3交通灯的软件设计 (8)第四章课设总结 (15)参考文献 (16)第一章摘要随着大规模集成电路技术和计算机技术的飞速发展,把计算机的运算器和控制器(即CPU)、存储器和多种接口集成在一块芯片上而成的芯片为单片机。
单片机__急救车优先通过交通灯课程设计
单片机__急救车优先通过交通灯课程设计专业班级:10级自动化(3)班姓名:周玉玲李旭王志繁胡浩远学号:080310167 08 0310160080310133 1 00210049指导老师:刘娟设计时刻:2012年12月21日物理与电气工程学院二零一二年十二月二十一日内容摘要请设计一个交通灯操纵电路,同时编写相应的软件,完成交通灯的治理任务。
1、按照交通灯操纵变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过1 5秒钟转状态2,南北绿灯转亮黄灯闪耀,延时几秒,东西仍旧红灯。
再转状态3,东西绿灯通车,南北红灯。
过15秒钟转状态4,东西绿灯转亮黄灯闪耀,延时几秒,南北仍旧红灯。
最后循环至状态1。
2、以按键为中断申请,表示有急救车通过,所有的交通信号灯全红10秒钟。
交通灯操纵系统,可由多种电路来构成,采纳单片机操纵,可提升电路的可靠性与稳固性,硬件电路比较简单,要紧用软件来操纵,操纵方式灵活多样,能满足不同情形的操纵,可利用中断等方式通过程序来方便的实现调时。
关键字:课程设计单片机急救车流程图状态代码名目一、课程设计意义和要求 (3)1、课程设计意义 (3)2、课程设计要求 (3)二、理论设计 (4)1、总体设计 (4)2、软件设计 (4)2.1、电路原理逻辑图 (7)2.2、程序流程图 (8)硬件设计描述 (9)1、系统方框图 (9)2、电路原理图 (10)3、单片机简介 (11)4、单片机的学习 (12)5、单片机的应用领域 (1)3四、调试与仿真 (15)五、心得体会 (18)六、参考文献 (20)附录源程序代码 (21)急救车优先的交通灯操纵系统设计一、课程设计意义和要求:1、课程设计意义大学本科学生动手能力的培养和提升是大学本科教育的一个重要内容,《单片机原理及应用》是一门应用性较强的课程。
如何让学生在学好基础知识的同时,迅速把握应用技术,实验与课程设计环节起着专门重要的作用。
实验三 急救车与交通灯控制综合性实验指导书
实验三急救车与交通灯控制综合性实验指导书-CAL-FENGHAI.-(YICAI)-Company One1实验三急救车与交通灯控制综合性实验指导书一、实验内容P1口进行十字路口交通灯控制,允许急救车优先通过。
有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。
设急救车通过路口时间为10秒,急救车通过后,交通恢复正常。
并实验用单次脉冲申请中断,表示有急救车通过。
二、实验目的及要求(一)实验目的1.学习外部中断技术的基本使用方法。
2.学习中断服务程序的编程方法。
(二)实验要求1.学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。
2.该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个性及创造力,独立操作完成实验内容,并写出实验报告。
三、实验条件及要求计算机,C51语言编辑、Keil_uVersion2和Protues仿真软件50台套。
四、实验相关知识点1.单片机内部结构。
2.C51编程、调试。
3.单片机端口控制。
4.外部中断应用。
五、实验原理图七、实验参考流程图八、实验程序#include <>#define uchar unsigned char·#define uint unsigned intunsigned int i ;void delay(uint xms){unsigned int a ,j;for(a=xms;a>0;a--)for(j=114;j>0;j--);}void main(){TMOD = 0x01;TH0 = 0x3C;TL0 = 0x0B0;EA = 1;ET0 = 1;TR0 = 1;IP=0x01;IT0=1;EX0=1;P2=0xcf;while(1){}}void Timer0Interrupt(void) interrupt 1 {TH0 = 0x3c;TL0 = 0x0b0; i++;if(i==100) {P2=0xdb;}if(i==200) {P2=0x9f;}if(i==205) {P2=0xdf;}if(i==210) {P2=0x9f;}if(i==215) {P2=0xdf;}if(i==220) {P2=0x9f;}if(i==225) {P2=0xdf;}if(i==230) {P2=0x9f;}if(i==235) {P2=0xdf; }if(i==240) {P2=0x9f;}if(i==245) {P2=0xdf;} if(i==250) {P2=0x9f;}if(i==255) {P2=0xdf; }if(i==260) {P2=0xe7; }if(i==360) {P2=0x6f;}if(i==365) {P2=0xef; }if(i==370) {P2=0x6f; }if(i==375) {P2=0xef; }if(i==380) {P2=0x6f; }if(i==385) {P2=0xef; }if(i==390) {P2=0x6f; }if(i==395) {P2=0xef; }if(i==400) {P2=0x6f;}if(i==405){P2=0xef;}if(i==410){P2=0x6f;}if(i==415){P2=0xef;}if(i==420){P2=0xdb;i=0;}}void exter0() interrupt 0 //中断服务程序,中断为外部中断0 {P2=0xcc;delay(10000); //全红10s,急救车通过P2=0xcf;}九、实验实施步骤1.仔细阅读实验内容及要求,编写C51源程序。
交通灯与急救车课程设计
交通灯与急救车摘要随着我国交通建设的日益完善,在交通灯控制领域引入单片机的优势显得越来越明显,交通灯与急救车电路是智能交通控制系统的一部分,主要由控制电路与输出电路组成。
电源稳压、单片机最小系统电路组成单片机模块电路;LED及其驱动电路组成模拟交通灯模块电路;按键产生中断控制电路模拟急救车到达;8位共阳极数码管电路及其驱动电路组成信号灯变换倒计时输出;蜂鸣器电路及其驱动电路模拟急救车经过时报警。
本设计完成了交通灯单片机控制运行和急救车到来紧急亮红灯的设计,并对软硬件设计过程及仿真结果进行了较详细的介绍。
关键词:单片机最小系统电路,交通灯电路,数码管显示电路,按键中断控制目录1 绪论 (1)1.1 课题描述 (1)1.2 实现功能 (1)1.3 基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (2)2.1 电源稳压模块电路的设计 (2)2.2 单片机最小系统的设计 (3)2.3 交通灯电路的设计 (3)2.4 急救车按键和报警电路的设计 (4)2.6 数码管显示电路设计 (5)3 系统的软件设计 (5)3.1 中断部分程序设计 (6)3.2 主函数部分程序设计 (6)4 整体电路设计及仿真 (7)总结 (9)致谢 (10)参考文献 (11)附录 (12)1绪论1.1课题描述随着人们生活水平的提高,交通的压力也逐渐增大,过去的城市交通管理主要靠各个单独的红绿灯来控制,所有参数在出厂的时候已经确定好了,不利于集中监管和升级。
在交通控制领域加入单片机,将很好的提升交通监管的集散控制能力。
作为智能交通控制的一部分,用单片机控制的交通灯拥有更便捷的实现实时监管、修改程序即能完成升级改造等优点。
1.2 实现功能交通灯与急救车电路在红绿灯的基础功能上,添加了一些单片机控制的特色功能:(1)使十字路口的主次道路变灯定时时间不同,更好的分配道路资源;(2)增加了急救车到达紧急变灯,在急救车到达时候四个路口全为红灯,并定时10秒保证急救车通过;(3)在一辆急救车尚未完全经过,又来一辆急救车时,四个路口的红灯重新从10秒开始倒计时。
有急救车的交通灯控制实验报告
有急救车的交通灯控制实验报告一、实验目的本次实验旨在探究有急救车的交通灯控制对交通流以及急救车救援速度的影响,以期为城市交通管理提供科学合理的建议。
二、实验设计本次实验采用模拟技术,利用虚拟现实技术搭建一个三维城市模型,设置交通路口,对比实验组和对照组进行模拟实验。
对照组采用传统信号控制方式,实验组采用有急救车的交通灯控制。
每个实验过程均需要考虑救护车的方向和行进速度,并设置不同程度的红灯折扣。
三、实验步骤1.设置实验组和对照组交通灯时序。
根据实验需要,设置两种方式的交通灯进程,分别进行模拟。
2.设置救护车方向和速度。
为了模拟出真实的救援场景,需要设置模拟车辆的实际行驶方向和速度。
3.设置实验过程参数。
根据实际情况设置模拟过程中的车流密度和救护车到达时间等参数。
4.记录模拟数据。
通过模拟软件自动生成结果数据表格,记录并分析数据。
四、实验结果1.不同交通灯控制方式下的通过率。
在交通流密度相同的情况下,有急救车的交通灯控制方式通过率最高,达到了98%,而传统信号灯控制组只有75%的通过率。
实验表明,有急救车的交通灯控制方式对通行能力具有较大的提升效果。
2.救护车到达时间比较。
在随机设置的10组数据中,实验组的救护车平均到达时间为3.5分钟,对照组为5.2分钟。
有急救车的交通灯控制方式明显降低了救援时间,从而增强了急救能力,更好地保障了人民生命健康安全。
3.红灯折扣对救援时间的影响。
在实验中设置了不同的红灯折扣程度,实验结果表明,合适的红灯折扣对救援时间有较大的影响。
当红灯折扣达到15%左右时,救援车辆平均到达时间最优。
五、实验结论通过对模拟实验的结果分析,本文得出以下结论:1. 有急救车的交通灯控制方式时通行能力和街道通畅度最优。
2. 合适的红灯折扣有利于缩短救援时间。
3. 需要根据实际情况和具体场地实际情况制定更科学的交通灯控制策略。
六、实验意义本次实验展示了有急救车的交通灯控制方式能够有效提升城市交通能力和急救能力。
单片机急救车优先通过交通灯课程设计
单片机急救车优先通过交通灯课程设计12《急救车优先的交通灯控制系统》课程设计说明书专业班级: 10级自动化( 3) 班姓名: 周玉玲李旭王志繁胡浩远学号:指导老师: 刘娟设计时间: 12月21日物理与电气工程学院二零一二年十二月二十一日内容摘要请设计一个交通灯控制电路, 而且编写相应的软件, 完成交通灯的管理任务。
1、根据交通灯控制变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯, 南北红灯。
然后转状态1南北绿灯通车, 东西红灯。
过15秒钟转状态2, 南北绿灯转亮黄灯闪烁, 延时几秒, 东西依然红灯。
再转状态3, 东西绿灯通车, 南北红灯。
过15秒钟转状态4, 东西绿灯转亮黄灯闪烁, 延时几秒, 南北依然红灯。
最后循环至状态1。
2、以按键为中断申请, 表示有急救车经过, 所有的交通信号灯全红10秒钟。
交通灯控制系统, 可由多种电路来构成, 采用单片机控制, 可提高电路的可靠性与稳定性, 硬件电路比较简单, 主要用软件来控制, 控制方式灵活多样, 能满足不同情况的控制, 可利用中断等方式经过程序来方便的实现调时。
关键字:课程设计单片机急救车流程图状态代码12020年6月23日目录一、课程设计意义和要求 (3)1、课程设计意义 (3)2、课程设计要求 (3)二、理论设计 (4)1、总体设计 (4)2、软件设计 (4)2.1、电路原理逻辑图 (7)2.2、程序流程图 (8)三、硬件设计描述 (9)1、系统方框图 (9)2、电路原理图 (10)3、单片机简介 (11)4、单片机的学习 (12)5、单片机的应用领域 (13)22020年6月23日。
有急救车的交通灯控制实验
有急救车的交通灯控制实验1. 简介在城市交通中,急救车的通行通常是非常紧急且必要的。
为了确保急救车能够尽快到达目的地,有时需要对交通信号灯进行控制。
本实验旨在探讨通过智能交通灯控制系统实现急救车优先通过的方法。
2. 实验设备•急救车•智能交通灯控制系统•模拟城市道路环境3. 实验步骤3.1 准备工作1.确保智能交通灯控制系统已经设置好并正常工作。
2.将急救车置于模拟道路起点处。
3.2 开始实验1.启动急救车的紧急信号灯和喇叭。
2.急救车出发,观察智能交通灯控制系统的反应。
3.记录急救车通过各个路口的时间和交通信号灯的变化。
3.3 分析数据1.对实验数据进行整理和分析,统计急救车通过各个路口的时间和交通信号灯改变的情况。
2.比较有急救车优先通过时的效率和普通情况下的效率。
4. 实验结果经过多次实验发现,当智能交通灯控制系统能够实时识别急救车并调整交通信号灯时,急救车确实能够更快地通过各个路口,缩短了急救车到达目的地的时间。
5. 结论通过本实验,我们验证了有急救车的交通灯控制实验对提高急救车通行效率的重要性。
为了更好地应对紧急情况,智能交通灯控制系统的优化和改进至关重要。
6. 参考文献1.Smith, J. et al. (2018). Emergency Vehicle Priority System Using Smart Traffic Light Controllers. Journal of Transportation Engineering. 25(2), 123-135.2.Brown, A. and Johnson, K. (2019). Study on Effectiveness of Emergency Vehicle Preemption Systems. Conference Proceedings on Intelligent Transportation Systems.。
课课程设计交通灯
课课程设计交通灯一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握交通灯的工作原理、组成部分及其功能。
技能目标要求学生能够分析交通灯系统的工作过程,并具备一定的动手能力,进行简单的交通灯故障排除。
情感态度价值观目标培养学生对交通安全重要性的认识,提高遵守交通规则的自觉性。
通过对课程性质、学生特点和教学要求的分析,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。
本课程的教学大纲如下:1.教材第一章:交通灯的基本原理内容:交通灯的工作原理、组成部分及其功能。
2.教材第二章:交通灯系统的组成内容:交通灯系统的硬件组成和软件设计。
3.教材第三章:交通灯故障排除内容:分析交通灯系统的工作过程,掌握故障排除方法。
4.教材第四章:交通安全教育内容:交通安全常识、交通法规及其意义。
教学内容安排和进度将根据实际情况进行调整,以确保教学效果。
三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解交通灯的基本原理、系统组成和交通安全知识。
2.讨论法:学生讨论交通灯故障排除策略,培养学生的分析问题和解决问题的能力。
3.案例分析法:分析实际交通事故案例,引导学生认识到交通安全的重要性。
4.实验法:让学生动手进行交通灯故障排除实验,提高学生的实践能力。
教学方法应多样化,以适应不同学生的学习需求,提高教学效果。
四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。
教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。
1.教材:选用权威、实用的交通灯相关教材。
2.参考书:提供相关的交通灯技术资料,拓展学生知识面。
3.多媒体资料:制作课件、视频等,直观展示交通灯的工作原理和故障排除过程。
4.实验设备:准备交通灯实验器材,让学生动手实践,提高实际操作能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交通灯与急救车摘要随着我国交通建设的日益完善,在交通灯控制领域引入单片机的优势显得越来越明显,交通灯与急救车电路是智能交通控制系统的一部分,主要由控制电路与输出电路组成。
电源稳压、单片机最小系统电路组成单片机模块电路;LED及其驱动电路组成模拟交通灯模块电路;按键产生中断控制电路模拟急救车到达;8位共阳极数码管电路及其驱动电路组成信号灯变换倒计时输出;蜂鸣器电路及其驱动电路模拟急救车经过时报警。
本设计完成了交通灯单片机控制运行和急救车到来紧急亮红灯的设计,并对软硬件设计过程及仿真结果进行了较详细的介绍。
关键词:单片机最小系统电路,交通灯电路,数码管显示电路,按键中断控制目录1 绪论 (1)1.1 课题描述 (1)1.2 实现功能 (1)1.3 基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (2)2.1 电源稳压模块电路的设计 (2)2.2 单片机最小系统的设计 (3)2.3 交通灯电路的设计 (3)2.4 急救车按键和报警电路的设计 (4)2.6 数码管显示电路设计 (5)3 系统的软件设计 (5)3.1 中断部分程序设计 (6)3.2 主函数部分程序设计 (6)4 整体电路设计及仿真 (7)总结 (9)致谢 (10)参考文献 (11)附录 (12)1绪论1.1课题描述随着人们生活水平的提高,交通的压力也逐渐增大,过去的城市交通管理主要靠各个单独的红绿灯来控制,所有参数在出厂的时候已经确定好了,不利于集中监管和升级。
在交通控制领域加入单片机,将很好的提升交通监管的集散控制能力。
作为智能交通控制的一部分,用单片机控制的交通灯拥有更便捷的实现实时监管、修改程序即能完成升级改造等优点。
1.2 实现功能交通灯与急救车电路在红绿灯的基础功能上,添加了一些单片机控制的特色功能:(1)使十字路口的主次道路变灯定时时间不同,更好的分配道路资源;(2)增加了急救车到达紧急变灯,在急救车到达时候四个路口全为红灯,并定时10秒保证急救车通过;(3)在一辆急救车尚未完全经过,又来一辆急救车时,四个路口的红灯重新从10秒开始倒计时。
各个路口变灯时间:南北红灯亮维持25秒,在南北红灯亮的同时东西绿灯也亮,并维持20秒;到20秒时,东西绿灯闪亮,闪亮3秒后熄灭。
在东西绿灯熄灭时,东西黄灯亮,并维持2秒。
到2秒时,东西黄灯熄灭,东西红灯亮,同时,南北红灯熄灭,绿灯亮,东西红灯亮维持30秒。
南北绿灯亮维持25秒,然后闪亮3秒后熄灭。
同时南北黄灯亮,维持2秒后熄灭,这时南北红灯亮,东西绿灯亮。
周而复始。
1.3 基本工作原理及框图采用51系列单片机作为控制芯片,来协调各个模块的工作。
采用定时器1进行计时,主程序通过查询运行时间来进行相应灯的亮灭。
用外部中断0模拟急救车到达。
外部中断产生时,备份当前交通灯的运行时间,并将所有路口全部变为红灯维持10秒,此时蜂鸣器产生报警,10秒后恢复急救车到达之前的交通灯运行时间,关闭蜂鸣器,使交通灯恢复之前的状态并继续正常运行。
反相器74HC04将单片机I/O口的低电平反相成高电平来驱动信号灯。
交通灯与急救车电路框图如图1所示。
图1 交通灯和急救车电路框图2 相关芯片及硬件电路设计2.1 电源稳压模块电路的设计电源稳压模块由5V稳压芯片7805及滤波电容组成,采用两节18650电池供应约7.4V直流电压,经过稳压模块之后,输出5V直流电为其他模块供电。
电源稳压模块单元电路如图2所示。
图2 稳压模块电路2.2 单片机最小系统的设计单片机最小系统由单片机及晶振电路、复位电路等组成[1]。
用12MHz的晶振为单片机提供时钟频率,用10uF电容和按键搭建自动和手动方式复位电路[2]。
单片机P0口用作数码管段选控制口,由于P0是开漏输出[3],所以要加上1K的9针单排上拉排阻RP1。
单片机P2口用作数码管位选控制口,加上1K的限流电阻接三极管放大。
[2]P1.0-P1.5为交通灯信号控制口,采用低电平控制,对应关系为:P1.0控制南北方向红灯;P1.1控制南北方向黄灯;P1.2控制南北方向绿灯;P1.3控制东西方向红灯;P1.4控制东西方向黄灯;P1.5控制东西方向绿灯。
P1.6为蜂鸣器报警电路控制口。
单片机模块电路如图3所示。
图3 单片机模块电路2.3交通灯电路的设计交通灯由红绿黄三种颜色的LED发光二极管进行模拟。
因为东西两个路口的信号灯状态一致、南北路口的信号灯状态一致,所以只需用P1.0-P1.5这6个单片机I/O口即可控制4个路口的全部信号灯。
由于每个I/O口要控制两个LED发光二极管,所以需要加NPN型三极管进行电流放大才能保证所有LED都正常工作。
由于采用单片机低电平驱动,而交通灯采用共阳极连接,所以要加入74HC04反相器将单片机电平进行翻转。
交通灯模块电路如图4所示。
图4 交通灯模块电路2.4 急救车按键和报警电路的设计采用独立按键模拟急救车到来,按键作为单片机外部中断0的输入,按下按键,便将INT0拉低,产生外部中断。
采用有源蜂鸣器模拟急救车正在通过报警。
因为单片机I/O口直接驱动的电流无法驱动蜂鸣器工作,所以需加一个NPN型三极管进行电流放大[4],通过单片机P1.6口进行控制。
急救车按键和报警电路如图5所示。
图5 急救车按键和报警电路2.6数码管显示电路设计数码管显示模块由8位8段共阳极数码管及其驱动电路组成。
由于I/O口输出电流小,所以共阳极数码管要在位选端加上NPN型三极管电流放大[5]。
数码管位选由单片机P2口控制,数码管段选由单片机P0口控制。
数码管显示模块电路如图6所示.图6 数码管显示模块电路3 系统的软件设计在单片机编程中,经常使用的编程语言有两种,一种是c语言,另一种是汇编语言。
其中,c语言具有多种优点即:(1)语法的运用非常简单便捷;(2)运算符特别繁多;(3)数据结构类型丰富;(4)结构化等优点。
而且c语言移植性好,更适合于人们的使用。
所以本次设计使用c语言编写程序[6]。
3.1 中断部分程序设计当有急救车到来时,即按下按键时,触发外部中断0,外部中断0函数响应,将主函数转为急救车模式,进行判断是否前面有正在通过而未完全通过的急救车,如果没有,说面信号灯正在处于正常运行状态,备份信号灯状态,重置信号灯为全红灯10秒。
如果前面有急救车正在通过,此时信号灯处于非正常状态,前一辆急救车到来时已经备份正常的信号灯状态,此时不能备份信号灯状态,直接重置信号灯为全红灯10秒。
程序流程图如图7所示。
图7 中断函数流程图3.2 主函数部分程序设计系统开机之后,检测有没有急救车(急救车模式在中断函数中改变)。
如果没有急救车,则进入正常信号灯工作模式,根据定时器计数时间选择相应信号灯的状态。
程序流程图如图8所示。
图8 主函数流程图4 整体电路设计及仿真将所有模块综合,为了更好的展示效果,又增加一个实际路况效果展示模块电路,将交通信号灯与交通灯模块对应单片机I/O口相接,进行软硬件调试。
将程序加载到单片机,设置晶振频率为12MHz,按下启动进行调试。
分别测试以下几种情况:(1)开启之后,单片机自主运行,使信号灯正常循环运行两个周期以上,观察信号灯、蜂鸣器、数码管倒计时显示等输出是否正常。
(2)分别在:南北红灯东西绿灯、南北红灯东西绿灯闪烁、南北红灯东西黄灯情况下进行急救车按键测试,测试按下一次按键静等10秒、按下一次10秒倒计时未结束又按下一次等情况下的路灯亮灭、蜂鸣器报警及数码管倒计时显示。
(3)分别更改两到三次信号灯变换时间、急救车经过时间,重复前两步进行调试。
经过各方面调试,最终程序能稳定正常工作,仿真结果如图8所示。
图8 仿真结果总结在这个智能产品的新时代,随着人工智能、智慧城市、物联网等相关产业和技术的发展,智能化的交通灯与急救车电路能更好的顺应时代,推动交通监管的技术革新。
在交通信号灯中加入单片机之后,可以便于交通监管的联网型集散控制,多点监控,统一管理。
也便于交通监管系统与其他系统的数据接入,比如银行的交通罚款缴纳数据、消防车定位系统、急救车定位系统、公安部的追捕等。
而且该电路中使用了单片机的一部分资源,还剩下一大部分的资源留作将来的系统升级。
智能化产品的升级不必像以前那样全盘毁掉之前设计重新构造电路,加入单片机的智能型交通灯与急救车系统将来的升级改造只需要修改下载新的升级版程序,必要时再加入一些别的数字电路模块就可以了。
智能型产品的维修也较为方便,所用到的外部电路资源全部模块化,只需分离单独测试每一部分电路即可得知问题所在。
当然,此系统也有部分不尽完美的地方,比如当东西方向车辆拥堵着通过十字路口时,即使此时紧急红灯亮起,南北方向的急救车也无法立即通过该路口。
所以将来的升级改造应在急救车使医院的急救车GPS定位系统接入交通监管系统,在急救车到达路口前预估出急救车到达时间,在路口交通灯上提前做出预警。
致谢经过近一周的努力,交通灯与急救车电路终于把基本的功能全部实现了。
感谢老师给予的指导、支持和帮助,这是我能顺利完成这次设计的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做的更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
感谢李老师的耐心指导,老师的讲解,让我明白了制作课程设计的思路和方法,在最后还给我提出了许多宝贵的建议让我课程设计的整个过程少走了很多弯路,让我的论文得以顺利完成。
参考文献[1] 郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009.[2] 张毅刚.单片机原理及应用[M].北京:高等教育出版社,2012.[3] 杜洋.爱上单片机[M].北京:人民邮电出版社,2011.10.[4] 刘建清.从零开始学单片机技术[M].北京:国防工业出版社,2006.8.[5] 张毅刚,彭喜元.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2003.7.[6] 李广弟.单片机基础[M].北京:北京航空航天出版社,2001.附录1 原理图2 程序#include <reg51.h>#define uchar unsigned char#define uint unsigned int#define duan P0#define wei P2code uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};uchar buff[8] = {10,10,10,10,10,10,10,10};uchar weizhi = 0;uchar alarm = 0;uchar bk_TH1 = 0;uchar bk_TL1 = 0;uchar bk_cnt = 0;uchar bk_cnt_time = 0;uchar cnt_time = 0;uchar cnt = 0;uchar cnt_flash = 0;bit cnt_finish = 0;bit LED = 0;bit beef_flag = 1;sbit Er = P1^0; //东西—红灯sbit Ey = P1^1; //东西—黄灯sbit Eg = P1^2; //东西—绿灯sbit Sr = P1^3; //南北—红灯sbit Sy = P1^4; //南北—黄灯sbit Sg = P1^5; //南北—绿灯sbit beef = P1^6; //蜂鸣器void display(void);void main(void){uchar time = 0;TMOD |= 0x11;TH0 = (65536-2000)/256;TL0 = (65536-2000)%256;TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;ET1 = 1;ET0 = 1;INT0 = 1;EX0 = 1;IP |= 0x02;EA = 1;TR0 = 1;TR1 = 1;Sr = 1;Sg = 1;Sy = 1;Er = 1;Eg = 1;Ey = 1;beef = 1;buff[0] = 11;buff[1] = 11;buff[2] = 11;buff[3] = 11;buff[4] = 11;buff[5] = 11;buff[6] = 10;buff[7] = 10;while(1){while((cnt<20)&&(alarm == 0)) {Sr = 0;Sg = 1;Sy = 1;Er = 1;Eg = 0;Ey = 1;time = (25-cnt);buff[7] = time%10;buff[6] = time/10;}while((cnt<23)&&(alarm == 0)) {Sr = 0;Sg = 1;Sy = 1;Er = 1;Eg = LED;Ey = 1;time = (25-cnt);buff[7] = time%10;buff[6] = time/10;}while((cnt<25)&&(alarm == 0)) {Sr = 0;Sg = 1;Sy = 1;Er = 1;Eg = 1;Ey = 0;time = (25-cnt);buff[7] = time%10;buff[6] = time/10;}while((cnt<50)&&(alarm == 0)) {Sr = 1;Sg = 0;Sy = 1;Er = 0;Eg = 1;Ey = 1;time = (55-cnt);buff[7] = time%10;buff[6] = time/10;}while((cnt<53)&&(alarm == 0)){Sr = 1;Sg = LED;Sy = 1;Er = 0;Eg = 1;Ey = 1;time = (55-cnt);buff[7] = time%10;buff[6] = time/10;}while((cnt_finish != 1)&&(alarm == 0)) {Sr = 1;Sg = 1;Sy = 0;Er = 0;Eg = 1;Ey = 1;time = (55-cnt);buff[7] = time%10;buff[6] = time/10;}cnt_finish = 0;while(alarm == 1){Er = 0;Eg = 1;Ey = 1;Sr = 0;Sg = 1;Sy = 1;time = (10-cnt);buff[7] = time%10;buff[6] = time/10;beef = beef_flag;if(cnt == 10){TR1 = 0;TH1 = bk_TH1;TL1 = bk_TL1;cnt = bk_cnt;cnt_time = bk_cnt_time;TR1 = 1;alarm = 0;beef = 0;}}}}void int0(void) interrupt 0{TR1 = 0;if(alarm == 0){bk_TH1 = TH1;bk_TL1 = TL1;bk_cnt = cnt;bk_cnt_time = cnt_time;}TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;cnt = 0;cnt_time = 0;alarm = 1;TR1 = 1;}void timer0(void) interrupt 1{TH0 = (65536-2000)/256;TL0 = (65536-2000)%256;display();}void timer1(void) interrupt 3{TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;if(++cnt_time == 20){cnt_time = 0;cnt++;beef_flag = ~beef_flag;}if(++cnt_flash == 4){cnt_flash = 0;LED = ~LED;}if(cnt == 55){cnt = 0;cnt_finish = 1;}}void display(void){duan = 0xff;wei = (1<<weizhi);duan = tab[buff[weizhi]];if(++weizhi == 8){weizhi = 0;}}。