十字路口交通灯设计课程设计(编辑修改稿)内容摘要:

控制 C 程序 ***********************************************************/ include define uint unsigned int define uchar unsigned char /*****定义控制位 *******************************************/ sbit nbg=P1^0。 sbit nby=P1^1。 sbit nbr=P1^2。 sbit dxg=P1^3。 sbit dxy=P1^4。 sbit dxr=P1^5。 sbit nbgw=P1^6。 sbit dxgw=P1^7。 sbit dxwc=P3^0。 sbit nbwc=P3^1。 sbit tsqk=P3^2。 sbit buzzy=P3^4。 sbit wei1=P3^6。 sbit wei2=P3^7。 uchar count0=41,count1=31,count2=16,count3=6,y1,y2,z1,z2,x1,x2,v1,v2。 uchar code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 /**********************延时子程序 **************************/ void dely1() {uint a1,b1。 for(a1=0。 a15。 a1++) for(b1=0。 b1125。 b1++)。 } /**********************蜂鸣器子程序 *******************/ void sound(uchar t) { uchar i,j。 for(i=0。 i150。 i++) {dxr=0。 nbr=0。 wei1=0。 wei2=0。 P0=0x40。 nby=1。 nbg=1。 dxg=1。 dxy=1。 nbgw=1。 dxgw=1。 buzzy = ~buzzy。 for(j=0。 jt。 j++)。 } } /*****************显示子函数 ******************************/ void gg1() {count0。 if(count0==5) count0=40。 y1=count0/10。 y2=count0%10。 } void gg2() {count1。 if(count1==5) count1=30。 z1=count1/10。 z2=count1%10。 } void gg3() { count2。 if(count2==5) count2=15。 x1=count2/10。 x2=count2%10。 } void gg4() { count3。 if(count3==0) count3=5。 v1=count3/10。 v2=count3%10。 } void nbdisplay() {uint k,o。 nbg=0。 P2=0xf6。 for(o=0。 o35。 o++) { gg1()。 for(k=0。 k100。 k++) { wei1=0。 P0=table1[y1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[y2]。 dely1()。 wei2=1。 } } } /*南北绿灯亮 35 秒 */ void nbdisplaygw() {uint k1,o1。 nbgw=0。 nbr=0。 P2=0xf3。 for(o1=0。 o110。 o1++) { gg3()。 for(k1=0。 k1100。 k1++) { wei1=0。 P0=table1[x1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[x2]。 dely1()。 wei2=1。 } } }/*南北拐弯路灯亮 10 秒,南北红灯也亮 */ void nb5gw() {uint k2,k3,o2。 nbr=0。 P2=0xf3。 for(o2=0。 o25。 o2++) { gg4()。 for(k2=0。 kk2++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 nbgw=1。 } for(k3=0。 k350。 k3++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 nbgw=0。 } } }/*南北拐弯 5秒倒计时路灯闪亮,南北红灯也亮 */ void dxdisplay() {uint m,q。 dxg=0。 dxr=1。 P2=0xf9。 for(q=0。 q25。 q++) { gg2()。 for(m=0。 m100。 m++) {wei1=0。 P0=table1[z1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[z2]。 dely1()。 wei2=1。 } } } /*东西绿灯亮 25秒 */ void dxdisplaygw() {uint m1,q1。 dxgw=0。 P2=0xf3。 dxr=0。 for(q1=0。 q110。 q1++) { gg3()。 for(m1=0。 m1100。 m1++) { wei1=0。 P0=table1[x1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[x2]。 dely1()。 wei2=1。 } } } /*东西拐弯路灯亮 10 秒,东西红灯也亮 */ void dx5gw() {uint m2,m3,q2。 dxgw=0。 dxr=0。 P2=0xf3。 for(q2=0。 q25。 q2++) { gg4()。 for(m2=0。 mm2++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 dxgw=1。 } for(m3=0。 m350。 m3++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 dxgw=0。 } } } /*东西拐弯 5 秒倒计时路灯闪亮,东西红灯也亮 */ void nb5g() { uint n,n1,n0。 for(n0=0。 n05。 n0++) {gg4()。 for(n=0。 n50。 n++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 nbg=1。 } for(n1=0。 n150。 n1++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 nbg=0。 } } } /*南北绿灯 5秒倒计时,同时人行道 5秒倒计时 */ void nb5y() {uint n2,n3,n6。 for(n6=0。 n65。 n6++) { gg4()。 for(n2=0。 nn2++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 nby=1。 } for(n3=0。 n350。 n3++) { wei1=0。 P0=table1[v1]。 dely1()。 wei1=1。 wei2=0。 P0=table1[v2]。 dely1()。 wei2=1。 nby=0。 } } } /*南北黄灯 5秒倒计时 */ void dx5。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。