|
發布時間: 2023-11-25 08:59
正文摘要:/*---------------------------------------------------------------------*/ /* --- STC MCU Limited ------------------------------------------------*/ /* --- STC 1T Series MCU Demo Programme ------- ... |
lkc8210 發表于 2023-11-29 10:05 void DisplayScan(void) { P1= ~T_COM[2-display_index]; P2 = ~t_display[LED3[display_index]]; if(++display_index >= 3) display_index = 0; //8位結束回0 }主要位碼不是同一個字節,在P1和P3上的 |
hjx5548 發表于 2023-11-28 22:26 不對,沒學過C語言? |
lkc8210 發表于 2023-11-27 09:00 u8 code T_COM[]={0x10,0x20}; //位碼 u8 code T_COM1[]={0x80}; //位碼0000 1000 這里這樣修改的 |
lkc8210 發表于 2023-11-26 14:33 for(i=0; i<3; i++) LED8 = 0x10; //上電消隱 else F0 = 1, j = 400 - j; //溫度 < 0度 // LED8[4] = j / 1000; //顯示溫度值 LED8[1] = (j % 1000) / 100; LED8[2] = (j % 100) / 10 + DIS_DOT; LED8[3] = j % 10; if(LED8[3] == 0) LED8[3] = DIS_BLACK; if(F0) LED8[3] = DIS_; //顯示- } else //錯誤 { for(i=0; i<3; i++) LED3 = DIS_; } 主函數里面這樣修改對嗎? |
lkc8210 發表于 2023-11-26 14:33 u8 LED3[3]; //顯示緩沖 u8 display_index; //顯示位索引 u8 display_index1; //顯示位索引 bit B_1ms; //1ms標志 void DisplayScan(void) { P1= ~T_COM[2-display_index];P3= ~T_COM1[display_index]; P2 = ~t_display[LED3[display_index]]; if(++display_index >= 3) display_index = 0; //8位結束回0 } 這樣修改對嗎? |
hjx5548 發表于 2023-11-26 15:36 對,取三位來顯示 如36.5 |
lkc8210 發表于 2023-11-26 14:33 for(i=0; i<8; i++) LED8[i ] = 0x10; //上電消隱 while(1) { if(B_1ms) //1ms到 { B_1ms = 0; if(++msecond >= 300) //300ms到 { msecond = 0; j = Get_ADC12bitResult(3); //參數0~15,查詢方式做一次ADC, 返回值就是結果, == 4096 為錯誤 if(j < 4096) { /* LED8[0] = j / 1000; //顯示ADC值 LED8[1] = (j % 1000) / 100; LED8[2] = (j % 100) / 10; LED8[3] = j % 10; if(LED8[0] == 0) LED8[0] = DIS_BLACK; */ j = get_temperature(j); //計算溫度值 if(j >= 400) F0 = 0, j -= 400; //溫度 >= 0度 else F0 = 1, j = 400 - j; //溫度 < 0度 LED8[4] = j / 1000; //顯示溫度值 LED8[5] = (j % 1000) / 100; LED8[6] = (j % 100) / 10 + DIS_DOT; LED8[7] = j % 10; if(LED8[4] == 0) LED8[4] = DIS_BLACK; if(F0) LED8[4] = DIS_; //顯示- } 這部分嗎? |
lkc8210 發表于 2023-11-26 14:33 u8 LED8[8]; //顯示緩沖 改為u8 LED8[3]; 這樣對嗎? |
hjx5548 發表于 2023-11-26 10:50 對,但本來是8位 你要把數值轉數組的函數也改一下 |
coody_sz 發表于 2023-11-25 21:32 /********************** 顯示掃描函數 ************************/ void DisplayScan(void) { P7 = ~T_COM[7-display_index]; P6 = ~t_display[LED8[display_index]]; if(++display_index >= 8) display_index = 0; //8位結束回0 } 是不是只要修改這個函數? |
coody_sz 發表于 2023-11-25 21:32 如果移植到STC8H1K芯片上,哪些寄存器需要修改? |
| 改為直接IO驅動即可。 |