|
發(fā)布時間: 2019-1-16 23:03
正文摘要:三個595 一個用于段,其他兩個用在位選。 單獨顯示8位數(shù)碼管都行,但是只要兩個段碼數(shù)據(jù)都輸入進去,就變成亂碼了。如圖 wei_duan[3];定義三個595的變量 xierushuju[16]; void main() { & ... |
yfpc2006 發(fā)表于 2019-1-27 11:31 強人!值得學(xué)習(xí)咯 |
| 參與人數(shù) 4 | 黑幣 +88 | 收起 理由 |
|---|---|---|
|
| + 10 | |
|
| + 8 | 很給力! |
|
| + 35 | 很給力! |
|
| + 35 | 贊一個! |
|
//本人實際用過的 15 級聯(lián) 595驅(qū)動代碼 部分現(xiàn)在已經(jīng)改成 3級 絕對好用 sbit LCD_CS = P5^4; //74HC595 片選 sbit LCD_DAT = P5^5; //74HC595 數(shù)據(jù) sbit LCD_CLK = P3^3; //74HC595 時鐘 sbit LCD_OE = P1^4; //74HC595輸出使能 unsigned char LED_code[3]; //顯示緩沖 /*---------------------------- LED驅(qū)動---74HC595 3個級聯(lián) -----------------------------*/ void LCD_send_data(void) //LED驅(qū)動 { unsigned char tmp = 0 , i = 0, dat = 0; LCD_CS = 0; //關(guān)輸出 delay_us(2); //延時 for( tmp = 0; tmp <= 2; tmp ++) { dat = LCD_code[tmp];//======待顯示數(shù)據(jù) for(i = 0; i <= 7; i ++) { LCD_CLK = 0; delay_us(2); //延時 if( (dat & 0x80) == 0x80) LCD_DAT = 1; else LCD_DAT = 0; dat <<= 1; delay_us(2); //延時 LCD_CLK = 1; delay_us(2); //延時 } } LCD_CS = 1; //開輸出 } // |
Powered by 單片機教程網(wǎng)