//本人實際用過的 15 級聯 595驅動代碼 部分現在已經改成 3級 絕對好用
sbit LCD_CS = P5^4; //74HC595 片選
sbit LCD_DAT = P5^5; //74HC595 數據
sbit LCD_CLK = P3^3; //74HC595 時鐘
sbit LCD_OE = P1^4; //74HC595輸出使能
unsigned char LED_code[3]; //顯示緩沖
/*----------------------------
LED驅動---74HC595 3個級聯
-----------------------------*/
void LCD_send_data(void) //LED驅動
{
unsigned char tmp = 0 , i = 0, dat = 0;
LCD_CS = 0; //關輸出
delay_us(2); //延時
for( tmp = 0; tmp <= 2; tmp ++)
{
dat = LCD_code[tmp];//======待顯示數據
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; //開輸出
}
//
|