【正文】
D1D2D3D4D5D6D7P2.5P2.4P2.7P2.6D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U27 4 L S 3 7 3D7P 2 .0P 2 .1P 2 .4P 2 .5P 2 .2P 2 .3P 2 .6P 2 .7C1S W 1d x s h iC9S W 2d x g eC7S W 3n b s h iC1S W 4n b g eD5L E D G RE E ND6L E D R E DP2.1P2.0D7L E D G RE E ND8L E D R E DP2.3P2.2東西通行時間設定南北通行時間設定東西通行時間顯示南北通行時間顯示復位電路振蕩電路西 東北南D0D1D2D3D4D5D6D7P2.5P2.4南北通行時間顯示D0D1D2D3D4D5D6P2.7P2.6D7東西通行時間顯示 9 A D 0A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 0A D 7D0D7A D 1A D 2A D 3A D 4A D 5A D 6D1D2D3D4D5D6X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1C12uFR12 0 0R21kX1CR Y S T A LC23 0 p FC33 0 p FD1L E D G RE E ND2L E D G RE E ND3L E D R E DD4L E D R E DP2.1P2.0P2.3P2.2D0D1D2D3D4D5D6D0D1D2D3D4D5D6D7P2.5P2.4P2.7P2.6D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U27 4 L S 3 7 3D7P 2 . 0P 2 . 1P 2 . 4P 2 . 5P 2 . 2P 2 . 3P 2 . 6P 2 . 7C1S W 1d x s h iC9S W 2d x g eC7S W 3n b s h iC1S W 4n b g eD5L E D G RE E ND6L E D R E DP2.1P2.0D7L E D G RE E ND8L E D R E DP2.3P2.2東西通行時間設定南北通行時間設定東西通行時間顯示南北通行時間顯示復位電路振蕩電路西 東北南D0D1D2D3D4D5D6D7P2.5P2.4南北通行時間顯示D0D1D2D3D4D5D6P2.7P2.6D7東西通行時間顯示 圖 3 十、軟件設計方案 為了使倒計時更為準確,使用定時器作為倒計時的基準時間,系統(tǒng)使用 6M的晶振,定時器設置為 中斷一次。 // 口作為東西向七段顯示器十位選擇口 sbit dxge=P2^6。 // 口作為東西向紅燈選擇口 sbit dxgreen=P2^2。//定義七段顯示器顯示函數(shù) void delay2s(void)。//定義東西綠燈閃爍子函數(shù) void nb_shanshuo(void)。//定義全局變量 char table[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90}。 delay2s()。 nbred=0。//輸入掃描轉(zhuǎn)化 if(Time=dxshuru)//判斷東西向定時是否達到設定值,達到則跳出 { shuruzhuanhua()。Time=dxshuru)//判斷時間達到倒數(shù)三秒時綠燈閃爍 { dx_shanshuo()。 nbgreen=0。//輸入掃描轉(zhuǎn)化 display((dxshuru+nbshuru)Time,0)。 } if(Time==(dxshuru+nbshuru))//閃爍完成 換為東西綠燈,南北紅燈 { dxred=1。 Time=0。 EA = 1。 //初值重裝 TL0 = 0xAF。 } } void display(unsigned char T,unsigned char n)//顯示子函數(shù)實現(xiàn) { unsigned char shi,ge。 dxge=0。 delay2Ms()。 nbshi=0。 git=0xFF。 dxshi=0。 nbge=1。 git=table[ge]。 for(z=50。i) for(j=150。 for(o=50。p) for(q=15。 for(。k) for(j=10。amp。 dxgreen=1。 dxred=1。 Delay1ms(1000)。 P2=0XDF。 nbgreen=1。 dxgreen=1。 } } void shuruzhuanhua(void)//輸入轉(zhuǎn)化子函數(shù)實現(xiàn) { unsigned char a,b,c,d。 d=a%16。 nbshuru=c*10+d。在課本上學的畢竟是理論知識,理解也不會太深,只有像做這種課程設計才能真真正正的提 高自