|
51單片機(jī)做的74HC595驅(qū)動(dòng)控制LED
單片機(jī)代碼如下:
- #include<reg51.h>
- #include<intrins.h>
- sbit SRCLK=P3^6;
- sbit RCLK=P3^5;
- sbit SER=P3^4;
- void Hc595SendByte(unsigned char dat);
- void Delay10ms(unsigned int ) ;
- void main()
- {
- unsigned char ledNum;
- ledNum=0xfe;
- while(1)
- {
- Hc595SendByte(ledNum);
- ledNum=_cror_(ledNum,1);
- Delay10ms(50);
- }
- }
- /*******************************************************************************
- * 函數(shù)名 : Hc595SendByte(unsigned char dat)
- * 函數(shù)功能 : 想74H595發(fā)送一個(gè)字節(jié)的數(shù)據(jù)
- * 輸入 : 無(wú)
- * 輸出 : 無(wú)
- *******************************************************************************/
- void Hc595SendByte(unsigned char dat)
- {
- unsigned char a;
- SRCLK=0;
- RCLK=0;
- for(a=0;a<8;a++)
- {
- SER=dat>>7;
- dat<<=1;
- SRCLK=1;
- _nop_();
- _nop_();
- SRCLK=0;
- }
- RCLK=1;
- _nop_();
- _nop_();
- RCLK=0;
- }
- /*******************************************************************************
- * 函數(shù)名 : Delay10ms
- * 函數(shù)功能 : 延時(shí)函數(shù),延時(shí)10ms
- * 輸入 : c
- * 輸出 : 無(wú)
- *******************************************************************************/
- void Delay10ms(unsigned int c) //誤差 0us
- {
- unsigned char a,b;
- for(;c>0;c--)
- for(b=38;b>0;b--)
- for(a=130;a>0;a--);
- }
復(fù)制代碼
下載:
595LED.rar
(18.28 KB, 下載次數(shù): 43)
2017-3-22 15:03 上傳
點(diǎn)擊文件名下載附件
|
|