单片机C语言程序设计:定时器控制交通指示灯
/* 名称:定时器控制交通指示灯
说明:东西向绿灯亮 5s 后,黄灯闪烁,闪烁 5 次亮红灯,
红灯亮后,南北向由红灯变成绿灯,5s 后南北向黄灯闪烁,
闪烁 5 次后亮红灯,东西向绿灯亮,如此往复。
*/
#includereg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0; //东西向指示灯
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P0^3; //南北向指示灯
sbit YELLOW_B=P0^4;
sbit GREEN_B=P0^5;
//延时倍数,闪烁次数,操作类型
变量
uchar Time_Count=0,Flash_Count=0,Operation_Type=1;
//定时器 0 中断函数
void T0_INT() interrupt 1
{
TL0=-50000/256;
TH0=-50000%256;
switch(Operation_Type)
{
case 1: //东西向绿灯与南北向红灯亮 5s
RED_A=0;YELLOW_A=0;GREEN_A=1;
RED_B=1;YELLOW_B=0;GREEN_B=0;
if(++Time_Count!=100) return; //5s(100*50ms)切换
Time_Count=0;
Operation_Type=2;
break;
1
2
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码