include#defineucharunsignedchar#defineuintunsignedint//定义三个灯sbitsw,P,,sbitsw,P,,sbitsw,P,,sbitkey_ew=P,,sbitkey_sn=P,,sbitBZ=P,,ucharTH,TL;ucharSN=,EW=,NN=,uinttt,ii,jj,kk;//数码管,应该是,eg。LED模拟交通灯本例中的,LED分成东西向和南北向两组,各组指示灯均有相向的,红色、黄色与,绿色的LED,本例中对应的LED单独进行定义,程序运行时模拟了十字路口交通信号灯得切换过程与显示效果。本例电路如下图:(呵呵图片插入不进来)程序设计调试与实训:源程序中用。
sbitYellow_nb=P,,//南北黄灯标志sbitYellow_dx=P,,//东西黄灯标志sbitGreen_nb=P,,sbitGreen_dx=P,,sbitBuzz=P,,bitBuzzer_Indicate;bittime=,//灯状态循环标志bitset=,//调时方向切换键标志ucharcodetable[={//共阴极字型码,。设计说明,因为本设计是交通灯控制设计,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态,东西红灯,南北红灯,然后转状态l南北绿灯通车,东西红灯;过一段时间转状态,南北绿灯闪几次转亮黄灯,延时,,东西仍然红灯;再转状态,东西绿灯通车,南北红灯。
首先设置按键按下可以进行红灯和绿灯时间调整。其次按键调整时间。最后调整完后再次按下设置程序回到倒计时运行即可。要求:一路延时,,一路延时,(演示时为节省时间,一路延时,,一路延时,>>两路时间分别用不同的数码管显示;--相同的,即可。--比如:--东西绿灯、南北红灯,两个方向的数字显示,都是,倒计时。--东西红灯、南北绿灯,两个方向的数字显示,都是,倒计时。
参考《片机C语言创新教程》温子祺等著。源码转自:《片机C语言创新教程》。/*实验名称:交通灯实验描述:交通灯实验要求红灯亮,,绿灯亮,,黄灯亮,,当红灯切换为绿灯或者绿灯切换为红灯,要实现灯闪烁。红灯、绿灯、黄灯的点亮持续时间可以通过串口来修改。;while({XBYTE[,=,,;//南北红灯亮,东西绿灯亮rw_time=,rn_time=,delay_s(;for(i=,i<,i ){XBYTE[,=,,//南北黄灯亮delay_s(;XBYTE[,=,,//南北绿灯闪。
暂无评论内容