交通灯一、功能要求要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间都设为25秒,黄灯先亮5秒钟,才能变换运行车道;黄灯亮时,要求每秒钟闪亮一次
二、电路图说明:1)每一位数码管位选要分开,对应IO口参照程序中红色部分2)图示数码管为共阳,没加驱动数码管显示较暗,建议加驱动三、程序//TrafficLight
c#include"reg52
h"//IO口定义sbitred_1=P2^0;//南北方向sbitred_2=P2^3;//东西方向sbityellow_1=P2^1;sbityellow_2=P2^4;sbitgreen_1=P2^2;sbitgreen_2=P2^5;sbitcom1_1=P3^6;//十位南北方向数码管位选sbitcom1_2=P3^7;//个位南北方向sbitcom2_1=P3^4;//十位东西方向sbitcom2_2=P3^5;//个位东西方向//全局变量chartime=30;//倒计时unsignedcharnum1=0,num2=0;//辅助计时unsignedcharflag1=0,flag2=0;//黄灯闪标志位unsignedcharshi1,shi2,ge1,ge2;//数码管十位个位constunsignedcharledNum[]={//0123456789AbcdEF不显示-o(18)H(19)h(20)C(21)0(22)n(23)0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8e,0xFF,0xbf,0xa3,0x89,0x8b,0xc6,0xc0,0xab};//共阳数码管//中断优先级别T0>T1,数码管显示中断间隔2ms,计时时间间隔50ms//计时要求比较精确,间隔长,不应该被打断,故中断优先