![]() |
1638 驅動10個數碼管+3x8個按鍵,最優綜合ic ![]() |
void Write_allLED(u8 LED_flag) //控制全部LED函數,LED_flag表示各個LED狀態 { u8 i; for(i=0;i<8;i++) { if(LED_flag&(1<<i)) { //Write_DATA(2*i+1,3); Write_DATA(2*i+1,1); } else Write_DATA(2*i+1,0); } } 這里報下面的警告要怎么 解決吶 main.c(32): warning C188: 'parameter 1': value truncated |
void Write_allLED(unsigned char LED_flag) //控制全部LED函數,LED_flag表示各個LED狀態 { unsigned char i; for(i=0;i<8;i++) { if(LED_flag&(1<<i)) //Write_DATA(2*i+1,3); Write_DATA(2*i+1,1); else Write_DATA(2*i+1,0); } } 看了N多全程,這個LED顯示都這么寫的,總不會靈活應用 |
zxy2266 發表于 2020-3-14 15:00 俺也是,反復的都是一樣的全程,總是學到實際應用的技術,只想把每一個按鍵應用到各自的功能,LED發光管也能對應的顯示不同的IO口狀態。 |
資料很有用,已下載看過了,謝謝分享! |
Write_oneLED(unsigned char num,unsigned char flag); Write_allLED(unsigned char LED_flag) ; 這兩個函數沒有用吧? |
不錯,剛好手上有個這片子的表頭。 |
51單片機IO 讀 一般設置1 為輸入 |
lastreg 發表于 2020-6-28 14:15 單片機把DIO拉高,就是說對應管腳是單片機內部電阻在拉高,如果TM1638的DIO管腳輸出電平為低,單片機對應bit為0,反之是1 |
12MHZ晶振,跑在1T的單片機會有錯誤,跑在12T單片機正常 |
這個讀函數 DIO=1設置為輸入,是啥意思呢? unsigned char TM1638_Read(void) //讀數據函數 { unsigned char i; unsigned char temp=0; DIO=1; //設置為輸入 for(i=0;i<8;i++) { temp>>=1; CLK=0; if(DIO) temp|=0x80; CLK=1; } return temp; } |
模塊早買了,商家程序也給了,就是不會點 |
非常感謝,剛好再找呢,謝謝 |
這個不就是TM1638自帶的例程?! |
非常感謝,下載來試試看 |
下載測試很好用,謝謝分享 |
新手過來學習一i下。感覺非常不錯 |
好文章,正好需要 |
TM1638的代碼,我下載看下, |
寫的還不錯 |
新手進來學習 |
新手進來學習下 |
很好,可以直接用。 |
下載來學習一下 |