|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
幫忙看看__74HC595級聯(lián)動態(tài)顯示的C程序 |
| 作者:江蘇野馬 欄目:單片機 |
/*該程序為兩片74HC595級聯(lián)實現(xiàn)8位7段LED動態(tài)顯示的驅動測試程序 在8個7段LED上顯示"01234567"*/ #include<reg51.h> #define uCHAR unsigned CHAR uCHAR bdata OutByte; /*定義待輸出字節(jié)變量*/ sbit Bit_Out=OutByte^7; /*定義輸出字節(jié)的最高位,即輸出位*/ sbit Bout=P2^0; /*位輸出引腳*/ sbit Sclk=P2^1; /*位同步脈沖輸出*/ sbit SLclk=P2^2; /*鎖存脈沖輸出*/ uCHAR code Segment[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77, /*共陰7段LED段碼表*/ 0x7c,0x39,0x5e,0x79,0x71,0x76,0x73,0x3e,0x00}; void OneLed_Out(uCHAR i,uCHAR Location) /*輸出點亮一個7段LED顯示器*/ { uCHAR j; OutByte=Location; /*先輸出位碼*/ for(j=1;j<=8;j++) { Bout=Bit_Out; Sclk=0;Sclk=1;Sclk=0; /*位同步脈沖輸出*/ OutByte=OutByte<<1; } OutByte=Segment[i]; /*再輸出段碼*/ for(j=1;j<=8;j++) { Bout=Bit_Out; Sclk=0;Sclk=1;Sclk=0; /*位同步脈沖輸出*/ OutByte=OutByte<<1; } SLclk=0;SLclk=1;SLclk=0; /*一個鎖存脈沖輸出*/ } void main() { uCHAR i=0; uCHAR Location=1; /*定義位碼*/ while(1) { OneLed_Out(i,Location); i=i+1; Location=Location<<1; if(i==8) /*8次一輪*/ { i=0; Location=1; } } }
|
| 2樓: | >>參與討論 |
| 作者: 江蘇野馬 于 2006/4/7 1:59:00 發(fā)布:
搞的我有點暈 同樣電路,匯編弄弄很順手就實現(xiàn)了 可這個C,我實在想不出問題出在哪兒 請高手指點一二 |
|
| 3樓: | >>參與討論 |
| 作者: computer00 于 2006/4/7 2:16:00 發(fā)布:
也許是 Sclk=0;Sclk=1;Sclk=0; 太快了?加幾個nop進去, 讓它在那忽悠一陣```````` |
|
| 4樓: | >>參與討論 |
| 作者: likee 于 2006/4/7 2:25:00 發(fā)布:
看不出有什么問題,樓主也沒有說有什么問題,圈圈也沒有說... 怎么圖中沒有復位呢? |
|
| 5樓: | >>參與討論 |
| 作者: 江蘇野馬 于 2006/4/7 10:33:00 發(fā)布:
電路是在PROTEUS軟件下仿真調試的,所以復位可以略 謝謝樓上幾位 查出問題了 因為是共陰極顯示器 位碼要取反后再按逐位輸出 少了一個“~”按位取反 |
|
| 6樓: | >>參與討論 |
| 作者: cf100 于 2006/4/8 16:15:00 發(fā)布:
好好的一個C,寫得比匯編還難看 void OneLed_Out(uchar i,uchar Location) /*輸出點亮一個7段LED顯示器*/ { uchar j,k; OutByte=Location; /*先輸出位碼*/ for(k=0;k<2;k++) { for(j=1;j<=8;j++) { SLclk=0; Sclk=0; Bout=Bit_Out; Sclk=1; /*位同步脈沖輸出*/ OutByte=OutByte<<1; SLclk=1; } OutByte=Segment[i]; /*再輸出段碼*/ } } |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |