装订交卷日期:
装订顺序: (1)封面(2)毕业设计(报告)成绩评定记录(3)标题、中文摘要及
关键词(4)正文(5)附录(6)参考文献
毕业设计(报告)成绩评定记录表
注:1.此表适用于参加毕业答辩学生的毕业设计(报告)成绩评定;
2.平时成绩占20%、卷面评阅成绩占50%、答辩成绩占30%,在上面的评分表中,可分别按20分、50分、30分来量化评分,三项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。
教务处制
毕业设计(报告)成绩评定记录表
注:1.此表适用于不参加毕业答辩学生的毕业设计(报告)成绩评定;
2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。
教务处
郑重申明
本人呈交的毕业实习报告(设计),是在导师的指导下,独立进行实习和研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业实习报告(设计)的成果不包含他人享有著作权的内容。对本毕业实习报告(设计)所涉及的实习和研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本毕业实习报告(设计)的知识产权归属于作者与培养单位。
学生签名: 日期
摘要
交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。交通信号灯控制方式很多。本系统采用MCS-51系列单片机AT89C52为中心器件来设计交通灯控制器,实现了红绿灯循环点亮,同时数码管显示倒计时时间,倒计时剩5秒时黄灯闪烁警示;本系统还设置了一个紧急模式,按下紧急模式按钮,各个方向都为红灯,所有车辆禁止通行。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。
关键词:单片机;交通灯
第一章 绪论
1.1 单片机概述
单片机(单片微型计算机)是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
随着微电子技术,自动控制技术,微机应用技术的发展,使单片微型计算机也得到迅速的发展,单片微型计算机是微型计算机的一个重要分支,单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
单片机的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。它已成为工业控制领域,智能仪器仪表,尖端武器,日常生活中最广泛使用的控制器。
1.2 交通灯发展现状
最早的交通灯出现于一八六八年英国伦敦。那时的交通灯只有红、绿两色,经改良后,
再增加一盏黄色的灯,红灯表示停止,黄灯表示准备,绿灯则表示通行。颜色也有各自要表达的含意,要表达热或剧烈的话,最强是红色,其次是黄色。绿色则有较冷及平静的含意。因此,人们常以红色代表危险,黄色代表警觉,绿色代表安全。由于红光的穿透力最强,其他颜色的光很容易被散射,在雾天里就不容易看见,而红光最不容易被散射,即使空气能见度比较低,也容易被看见,不会发生事故。所以我们用红色表示禁止。
中国最早的马路红绿灯,是于1928年出现在上海的英租界。
从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子
定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。
目前,交通灯已是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制。
面向21世纪的智能化汽车的交通运输系统应使车、路高度智能化,使人、车、路三者合一,逐步实现汽车在公路上自动安全地运行。为解决交通堵塞,交通事故的国际难题而发展起来的智能交通系统,是将先进的信息技术,数据通讯和传输技术、电子自动控制技术及计算机处理技术等有效地用于整个地面运输管理体系,全方位发挥作用的实时、准确、高效的公路综合管理系统。
第二章 系统方案
2.1 系统要求指标及其功能
本系统要实现: 1.正常模式
第一阶段:东西方向绿灯亮,南北方向红灯亮,倒计时60秒。此时东西方向车
辆通行,南北方向禁止。
第二阶段:当计时到最后5秒,东西方向绿灯灭,黄灯每秒闪烁一次。
第三阶段:当计时到零后,东西方向红灯亮,南北方向绿灯亮,再次倒计时60秒。此时东西方向车辆禁止,南北方向车辆通行。
第四阶段:当计时到最后5秒,南北方向绿灯灭,黄灯每秒闪烁一次。 2.紧急模式:按下紧急按钮,各个方向都强制变为红灯。所有方向禁止通行。
2.2 各种方案选择比较
2.2.1 实现方式的选择
方案一:采用纯数字门电路。通过各种逻辑门电路的组合连接,实现系统功能。此方案
设计复杂,电路复杂,功能单一,且需要门电路较多,成本较高,也不美观。维护调试都比较麻烦。
方案二:采用单片机为主控制器。此方案电路简单,设计工作主要是软件设计,设计较
为灵活,功能都是通过软件实现,硬件花费少;应用KEIL 软件,C语言编程,软件设计也较为方便。系统易于调试维护。应用单片机使得系统更具有智能化的特色,是当今的主流。故采用本方案。
2.2.3 显示模块的选择
方案一:采用大屏幕点阵显示屏。此方案显示效果较好,但设计复杂,成本较高,性价
比低。
方案二:采用数码管显示。此器件价格较低廉,能显示数字,亮度较高,且规格较多,
满足系统显示要求。本系统可选用大尺寸、高亮度的LED数码管。故选用此方案。
2.2.4 时钟电路的选择
方案一:采用555集成电路组成振荡电路,输出信号作为单片机时钟输入。但此方案
输出频率较低,且计时不准确,成本也较高。
方案二:采用晶振组成时钟电路。此方案硬件花费少,计时准确,成本较低,系统工作
频率快。
2.3 系统的描述
图2.3.1 交通灯的系统框图
本系统以AT89C52单片机为控制核心,结合LED发光二极管,数码管电路等外围电
路,通过单片机I/O口实现对发光二极管亮灭的控制,数码管显示的控制。程序设计方面,东西,南北两个方向转换时间均为60秒,其中绿灯55秒,紧接着黄灯5秒,每秒闪烁一次,期间数码管显示倒计时时间,60秒计时结束,转换到另一方向,依次循环。紧急按钮的作用是紧急状态下,所有方向均为红灯,禁止一切车辆通行。
第三章 电路设计
3.1 系统总体设计
本设计的主要电路有:单片机STC89C52最小系统、数码管显示驱动模块、按键输入模块,LED发光二极管电路,交通灯仿真模拟模块。
外围电路都与单片机引脚I/O口相连,以实现单片机对外围电路的控制,实现相应功能。
3.2 单元电路设计
3.2.1 单片机最小系统
图3.2.1 单片机最小系统
如图3.2.1 单片机最小系统包括单片机、时钟电路、复位电路。其他引脚I/O相应的扩
充功能。
3.2.2 电源电路
图3.2.2 电源电路
本电源电路如上图所示,应用7805三端稳压电源模块构成。输出稳压5V电压,为单
片机、LED灯和数码管提供工作电压。电容为滤波作用,使输出电源更平滑稳定。
3.2.3 数码管与发光二极管电路
如右图,数码管为共阳极数码管,发光二极管为
共阳极,有红、绿、蓝三种颜色,代表红绿灯。数码管和发光二极管安放在东、西、南、北4个方向。
3.2.3 交通灯模拟仿真模块
通过PROTUES 软件仿真的方式搭建仿真模块如图。
图3.2.3 交通灯仿真模块
第四章 程序设计
4.1程序总体流程图
图4.1.1 系统总体流程图
程序设计实现功能为东西,南北两个方向转换时间均为60秒,其中绿灯55秒,紧接
着黄灯5秒,每秒闪烁一次,期间数码管显示倒计时时间,60秒计时结束,转换到另一方向,依次循环。紧急按钮的作用是紧急状态下,所有方向均为红灯,禁止一切车辆通行。
第五章 测试与仿真
5.1测试方法
5.2测试效果
测试仿真工具:Protues软件仿真
图5.2.1 Protues仿真总体效果图
以上为各个状态下交通灯的显示状态。满足设计要求。
第五章 总结
本系统以STC89C52单片机为控制核心,结合周边电路。经过测试,各项功能指标均
达到设计要求,且电路设计简洁,程序设计也较为简单,界面效果简洁美观,操作简单实用。
通过此次毕业课题的设计,让我学到很多东西,一方面,它是3年大学所学知识的一
个综合应用,考察了我大学所学的知识,是一次彻底的知识巩固和提高。另一方面,通过综合的应用设计,锻炼了我应用知识的能力和动手能力。同时,在设计的过程中,也锻炼了我解决问题的能力,遇到问题坚持不懈的毅力和细心程度。让我在以后求职就业中更好的学习和提高自己。
第六章 参考文献
[1] 李全利. 单片机原理及接口技术.高等教育出版社 [2] 公茂法. 单片机原理与实践.北京航空航天出版社
[3] 全国大学生电子设计竞赛组委会. 第九届全国大学生电子设计竞赛获奖作品选编.北京理工大学出版社
[4] 及力. Protel 99原理图与PCB设计教程. 电子工业出版社
第七章 附录
/*===========================程序清单========================*/ #include
typedef unsigned char uchar; typedef unsigned int uint; #define DATA P0 #define ON 0 #define OFF 1
sbit WE1=P2^0; sbit WE2=P2^1; sbit NS1=P2^2; sbit NS2=P2^3;
sbit WE_R=P1^0; sbit WE_Y=P1^1; sbit WE_G=P1^2; sbit NS_R=P1^3; sbit NS_Y=P1^4; sbit NS_G=P1^5;
bit flag,alarm_flag;
uchar sec;
uchar code lab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f};
/*======================自定义子程序===================*/ void delays(uchar s,uchar init);
void init_T1();
void delay500ms();
void delay20ms();
void init_INT0();
/*========================主程序=====================*/
void main()
{
uchar i; init_T1(); init_INT0(); while(1) { while(!alarm_flag) { WE_G=ON; WE_Y=OFF; //数码管编码
NS_G=OFF; NS_Y=OFF; NS_R=ON;
WE_G=OFF; delays(55,59); WE_G=OFF; WE_Y=ON; WE_R=OFF; NS_G=OFF; NS_Y=OFF; NS_R=ON; for(i=5;i>0;i--) { } WE_Y=ON; delay500ms(); WE_Y=OFF; delay500ms(); sec--;
WE_R=ON; NS_G=ON; NS_Y=OFF; NS_R=OFF; delays(55,59); WE_G=OFF; WE_Y=OFF; WE_R=ON; NS_G=OFF; NS_Y=ON; NS_R=OFF; for(i=5;i>0;i--) { NS_Y=ON; delay500ms(); NS_Y=OFF; delay500ms(); sec--;
}
} sec=0; WE_G=OFF; WE_Y=OFF; WE_R=ON; NS_G=OFF; NS_Y=OFF; NS_R=ON; }
void delay500ms()
{
uchar i; for(i=10;i>0;i--) { TMOD=TMOD|0X10; TH0=15536/256; TL0=15536%256;
}
} while(!TF0) { } TF0=0; if(alarm_flag) return;
void delays(uchar s,uchar init) {
uchar i; if(init) sec=init; while(s--) { for(i=20;i>0;i--) { TMOD=TMOD|0X10; TH0=15536/256; TL0=15536%256; TR0=1; while(!TF0)
} } } } TF0=0; if(alarm_flag) return; sec--;
void delay20ms() {
}
void init_T1()
{
TMOD=0X11; TH1=60536/256; TL1=60536%256; ET1=1; TR1=1; uchar i,j; for(i=40;i>0;i--) for(j=250;j>0;j--);
} void init_INT0()
{
}
void INT0_SIR() interrupt 0 {
}
void T1_SIR()
{
TH1=60536/256; TL1=60536%256; if(flag) { interrupt 3 EX0=0; delay20ms(); if(INT0)return; alarm_flag=~alarm_flag; EX0=1; EA=1; EX0=1; IT0=1;
} } WE2=0; NS1=0; NS2=0; DATA=~lab[sec/10]; WE1=1; NS1=1; flag=0; else { } WE1=0; WE2=0; NS1=0; NS2=0; DATA=~lab[sec%10]; WE2=1; NS2=1; flag=1;
装订交卷日期:
装订顺序: (1)封面(2)毕业设计(报告)成绩评定记录(3)标题、中文摘要及
关键词(4)正文(5)附录(6)参考文献
毕业设计(报告)成绩评定记录表
注:1.此表适用于参加毕业答辩学生的毕业设计(报告)成绩评定;
2.平时成绩占20%、卷面评阅成绩占50%、答辩成绩占30%,在上面的评分表中,可分别按20分、50分、30分来量化评分,三项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。
教务处制
毕业设计(报告)成绩评定记录表
注:1.此表适用于不参加毕业答辩学生的毕业设计(报告)成绩评定;
2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。
教务处
郑重申明
本人呈交的毕业实习报告(设计),是在导师的指导下,独立进行实习和研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业实习报告(设计)的成果不包含他人享有著作权的内容。对本毕业实习报告(设计)所涉及的实习和研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本毕业实习报告(设计)的知识产权归属于作者与培养单位。
学生签名: 日期
摘要
交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。交通信号灯控制方式很多。本系统采用MCS-51系列单片机AT89C52为中心器件来设计交通灯控制器,实现了红绿灯循环点亮,同时数码管显示倒计时时间,倒计时剩5秒时黄灯闪烁警示;本系统还设置了一个紧急模式,按下紧急模式按钮,各个方向都为红灯,所有车辆禁止通行。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。
关键词:单片机;交通灯
第一章 绪论
1.1 单片机概述
单片机(单片微型计算机)是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
随着微电子技术,自动控制技术,微机应用技术的发展,使单片微型计算机也得到迅速的发展,单片微型计算机是微型计算机的一个重要分支,单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
单片机的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。它已成为工业控制领域,智能仪器仪表,尖端武器,日常生活中最广泛使用的控制器。
1.2 交通灯发展现状
最早的交通灯出现于一八六八年英国伦敦。那时的交通灯只有红、绿两色,经改良后,
再增加一盏黄色的灯,红灯表示停止,黄灯表示准备,绿灯则表示通行。颜色也有各自要表达的含意,要表达热或剧烈的话,最强是红色,其次是黄色。绿色则有较冷及平静的含意。因此,人们常以红色代表危险,黄色代表警觉,绿色代表安全。由于红光的穿透力最强,其他颜色的光很容易被散射,在雾天里就不容易看见,而红光最不容易被散射,即使空气能见度比较低,也容易被看见,不会发生事故。所以我们用红色表示禁止。
中国最早的马路红绿灯,是于1928年出现在上海的英租界。
从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子
定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。
目前,交通灯已是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制。
面向21世纪的智能化汽车的交通运输系统应使车、路高度智能化,使人、车、路三者合一,逐步实现汽车在公路上自动安全地运行。为解决交通堵塞,交通事故的国际难题而发展起来的智能交通系统,是将先进的信息技术,数据通讯和传输技术、电子自动控制技术及计算机处理技术等有效地用于整个地面运输管理体系,全方位发挥作用的实时、准确、高效的公路综合管理系统。
第二章 系统方案
2.1 系统要求指标及其功能
本系统要实现: 1.正常模式
第一阶段:东西方向绿灯亮,南北方向红灯亮,倒计时60秒。此时东西方向车
辆通行,南北方向禁止。
第二阶段:当计时到最后5秒,东西方向绿灯灭,黄灯每秒闪烁一次。
第三阶段:当计时到零后,东西方向红灯亮,南北方向绿灯亮,再次倒计时60秒。此时东西方向车辆禁止,南北方向车辆通行。
第四阶段:当计时到最后5秒,南北方向绿灯灭,黄灯每秒闪烁一次。 2.紧急模式:按下紧急按钮,各个方向都强制变为红灯。所有方向禁止通行。
2.2 各种方案选择比较
2.2.1 实现方式的选择
方案一:采用纯数字门电路。通过各种逻辑门电路的组合连接,实现系统功能。此方案
设计复杂,电路复杂,功能单一,且需要门电路较多,成本较高,也不美观。维护调试都比较麻烦。
方案二:采用单片机为主控制器。此方案电路简单,设计工作主要是软件设计,设计较
为灵活,功能都是通过软件实现,硬件花费少;应用KEIL 软件,C语言编程,软件设计也较为方便。系统易于调试维护。应用单片机使得系统更具有智能化的特色,是当今的主流。故采用本方案。
2.2.3 显示模块的选择
方案一:采用大屏幕点阵显示屏。此方案显示效果较好,但设计复杂,成本较高,性价
比低。
方案二:采用数码管显示。此器件价格较低廉,能显示数字,亮度较高,且规格较多,
满足系统显示要求。本系统可选用大尺寸、高亮度的LED数码管。故选用此方案。
2.2.4 时钟电路的选择
方案一:采用555集成电路组成振荡电路,输出信号作为单片机时钟输入。但此方案
输出频率较低,且计时不准确,成本也较高。
方案二:采用晶振组成时钟电路。此方案硬件花费少,计时准确,成本较低,系统工作
频率快。
2.3 系统的描述
图2.3.1 交通灯的系统框图
本系统以AT89C52单片机为控制核心,结合LED发光二极管,数码管电路等外围电
路,通过单片机I/O口实现对发光二极管亮灭的控制,数码管显示的控制。程序设计方面,东西,南北两个方向转换时间均为60秒,其中绿灯55秒,紧接着黄灯5秒,每秒闪烁一次,期间数码管显示倒计时时间,60秒计时结束,转换到另一方向,依次循环。紧急按钮的作用是紧急状态下,所有方向均为红灯,禁止一切车辆通行。
第三章 电路设计
3.1 系统总体设计
本设计的主要电路有:单片机STC89C52最小系统、数码管显示驱动模块、按键输入模块,LED发光二极管电路,交通灯仿真模拟模块。
外围电路都与单片机引脚I/O口相连,以实现单片机对外围电路的控制,实现相应功能。
3.2 单元电路设计
3.2.1 单片机最小系统
图3.2.1 单片机最小系统
如图3.2.1 单片机最小系统包括单片机、时钟电路、复位电路。其他引脚I/O相应的扩
充功能。
3.2.2 电源电路
图3.2.2 电源电路
本电源电路如上图所示,应用7805三端稳压电源模块构成。输出稳压5V电压,为单
片机、LED灯和数码管提供工作电压。电容为滤波作用,使输出电源更平滑稳定。
3.2.3 数码管与发光二极管电路
如右图,数码管为共阳极数码管,发光二极管为
共阳极,有红、绿、蓝三种颜色,代表红绿灯。数码管和发光二极管安放在东、西、南、北4个方向。
3.2.3 交通灯模拟仿真模块
通过PROTUES 软件仿真的方式搭建仿真模块如图。
图3.2.3 交通灯仿真模块
第四章 程序设计
4.1程序总体流程图
图4.1.1 系统总体流程图
程序设计实现功能为东西,南北两个方向转换时间均为60秒,其中绿灯55秒,紧接
着黄灯5秒,每秒闪烁一次,期间数码管显示倒计时时间,60秒计时结束,转换到另一方向,依次循环。紧急按钮的作用是紧急状态下,所有方向均为红灯,禁止一切车辆通行。
第五章 测试与仿真
5.1测试方法
5.2测试效果
测试仿真工具:Protues软件仿真
图5.2.1 Protues仿真总体效果图
以上为各个状态下交通灯的显示状态。满足设计要求。
第五章 总结
本系统以STC89C52单片机为控制核心,结合周边电路。经过测试,各项功能指标均
达到设计要求,且电路设计简洁,程序设计也较为简单,界面效果简洁美观,操作简单实用。
通过此次毕业课题的设计,让我学到很多东西,一方面,它是3年大学所学知识的一
个综合应用,考察了我大学所学的知识,是一次彻底的知识巩固和提高。另一方面,通过综合的应用设计,锻炼了我应用知识的能力和动手能力。同时,在设计的过程中,也锻炼了我解决问题的能力,遇到问题坚持不懈的毅力和细心程度。让我在以后求职就业中更好的学习和提高自己。
第六章 参考文献
[1] 李全利. 单片机原理及接口技术.高等教育出版社 [2] 公茂法. 单片机原理与实践.北京航空航天出版社
[3] 全国大学生电子设计竞赛组委会. 第九届全国大学生电子设计竞赛获奖作品选编.北京理工大学出版社
[4] 及力. Protel 99原理图与PCB设计教程. 电子工业出版社
第七章 附录
/*===========================程序清单========================*/ #include
typedef unsigned char uchar; typedef unsigned int uint; #define DATA P0 #define ON 0 #define OFF 1
sbit WE1=P2^0; sbit WE2=P2^1; sbit NS1=P2^2; sbit NS2=P2^3;
sbit WE_R=P1^0; sbit WE_Y=P1^1; sbit WE_G=P1^2; sbit NS_R=P1^3; sbit NS_Y=P1^4; sbit NS_G=P1^5;
bit flag,alarm_flag;
uchar sec;
uchar code lab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f};
/*======================自定义子程序===================*/ void delays(uchar s,uchar init);
void init_T1();
void delay500ms();
void delay20ms();
void init_INT0();
/*========================主程序=====================*/
void main()
{
uchar i; init_T1(); init_INT0(); while(1) { while(!alarm_flag) { WE_G=ON; WE_Y=OFF; //数码管编码
NS_G=OFF; NS_Y=OFF; NS_R=ON;
WE_G=OFF; delays(55,59); WE_G=OFF; WE_Y=ON; WE_R=OFF; NS_G=OFF; NS_Y=OFF; NS_R=ON; for(i=5;i>0;i--) { } WE_Y=ON; delay500ms(); WE_Y=OFF; delay500ms(); sec--;
WE_R=ON; NS_G=ON; NS_Y=OFF; NS_R=OFF; delays(55,59); WE_G=OFF; WE_Y=OFF; WE_R=ON; NS_G=OFF; NS_Y=ON; NS_R=OFF; for(i=5;i>0;i--) { NS_Y=ON; delay500ms(); NS_Y=OFF; delay500ms(); sec--;
}
} sec=0; WE_G=OFF; WE_Y=OFF; WE_R=ON; NS_G=OFF; NS_Y=OFF; NS_R=ON; }
void delay500ms()
{
uchar i; for(i=10;i>0;i--) { TMOD=TMOD|0X10; TH0=15536/256; TL0=15536%256;
}
} while(!TF0) { } TF0=0; if(alarm_flag) return;
void delays(uchar s,uchar init) {
uchar i; if(init) sec=init; while(s--) { for(i=20;i>0;i--) { TMOD=TMOD|0X10; TH0=15536/256; TL0=15536%256; TR0=1; while(!TF0)
} } } } TF0=0; if(alarm_flag) return; sec--;
void delay20ms() {
}
void init_T1()
{
TMOD=0X11; TH1=60536/256; TL1=60536%256; ET1=1; TR1=1; uchar i,j; for(i=40;i>0;i--) for(j=250;j>0;j--);
} void init_INT0()
{
}
void INT0_SIR() interrupt 0 {
}
void T1_SIR()
{
TH1=60536/256; TL1=60536%256; if(flag) { interrupt 3 EX0=0; delay20ms(); if(INT0)return; alarm_flag=~alarm_flag; EX0=1; EA=1; EX0=1; IT0=1;
} } WE2=0; NS1=0; NS2=0; DATA=~lab[sec/10]; WE1=1; NS1=1; flag=0; else { } WE1=0; WE2=0; NS1=0; NS2=0; DATA=~lab[sec%10]; WE2=1; NS2=1; flag=1;