51單片機做的74HC595驅動控制LED
QQ圖片20170322150349.png (38.73 KB, 下載次數: 58)
下載附件
2017-3-22 15:02 上傳
單片機代碼如下:
- #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);
- }
- }
- /*******************************************************************************
- * 函數名 : Hc595SendByte(unsigned char dat)
- * 函數功能 : 想74H595發送一個字節的數據
- * 輸入 : 無
- * 輸出 : 無
- *******************************************************************************/
- 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;
- }
- /*******************************************************************************
- * 函數名 : Delay10ms
- * 函數功能 : 延時函數,延時10ms
- * 輸入 : c
- * 輸出 : 無
- *******************************************************************************/
- 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--);
- }
復制代碼
0.png (59.87 KB, 下載次數: 52)
下載附件
2017-3-23 01:23 上傳
下載:
595LED.rar
(18.28 KB, 下載次數: 43)
2017-3-22 15:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|