|
HC6800-ES-V2.0 發表于 2018-12-15 00:01 你有這個板子的電子鐘(C語言)的程序沒有?只要求能調節時間就可以 |
|
file:///C:/Users/Administrator/Desktop/595-2-seg.gif |
595-2-seg.gif (63.98 KB, 下載次數: 93)
48.24 KB, 下載次數: 17
|
74hc595是串入并出的芯片,利用51單片機模擬串行接口使用,簡單使用如下 sbit data_595 = P3^4; sbit clk_595 = P3^6; sbit LATCH_595 = P3^5; void wr_bits(uchar num) { uchar i; for(i=0;i<8;i++) { if(num&0x80) //′ó¸ßλËí data_595 =1; else data_595 =0; clk_595 =0; _nop_(); clk_595 =1; //½«êy¾YD′èë595 num<<=1; //Ïò×óòƶˉò»Î» } LATCH_595=0; _nop_(); LATCH_595=1;//éÏéyÑØËø′æ } void main() { while(1) wr_bits(0xfe); } |
jefelee 發表于 2018-12-15 08:22 能給我寫段程序看看嗎?就點亮兩個燈就可以 |
|
看一下這段程序 void led(u16 dat) { u8 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; } |
|
1. 打開百度 2. 搜對應的數據手冊 3. 仔細看數據手冊 4. 可以開始畫流程圖了 5. 寫程序 6. 測試 適用所有外圍電路 |
|
哈哈哈,你發的問題,正是我有的板子,程序也有啊。 #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--); } 注意:需要將JOE跳線帽J13接GND,595模塊的JP595跳線帽J14接上,595的LED才會亮!! |