熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-9-5 07:22
正文摘要:這個(gè)溫度計(jì)用的共陽(yáng)的數(shù)碼管,這個(gè)7的f段亮了變成帶鉤的7了,請(qǐng)師傅們指點(diǎn)下改那里能不讓f段亮變成正常的7,謝謝您! |
問(wèn)題已經(jīng)解決了把0x47改成0x45好了,謝謝師傅們 |
謝謝師傅們的耐心解答謝謝 |
uchar code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B} 把這里的0X47改成0X07就可以了 |
修改一下代碼 |
不就是字庫(kù)定義問(wèn)題,很簡(jiǎn)單,看仔細(xì)就可以找到。 |
習(xí)慣就好,就像 6 和 9 一樣多一橫少一橫都是還是那個(gè)數(shù)字 |
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff 這是個(gè)數(shù)組是0-9,最后一個(gè)0XFF是全熄狀態(tài) 0XF8 H G F E D C B A 1 1 1 1 1 0 0 0 8 4 2 1 8 4 2 1 F 8 對(duì)應(yīng)的數(shù)碼管只亮ABC三個(gè)筆畫(huà)的嘛 |
共陽(yáng)數(shù)碼管,低電平有效,7是0XF8是不帶勾的7啊,帶勾的7是0XD8 |
不同的接法這個(gè)是不一樣的 |
把程序放上來(lái)不要圖片,圖片看不清楚![]() ![]() |
這個(gè)不看你線路的解法或者你程序中數(shù)組是沒(méi)法給你答案的,不同的接法這個(gè)是不一樣的。 |
看他中括號(hào)里的數(shù)組,第八個(gè)的十六進(jìn)制是怎么寫(xiě)的。 |
#include <AT89X52.h> #define uint unsigned int#define uchar unsigned char //宏定義#define SET P3_1 //定義調(diào)整鍵#define DEC P3_2 //定義減少鍵#define ADD P3_3 //定義增加鍵#define BEEP P3_6 //定義蜂鳴器#define ALAM P1_2 //定義燈光報(bào)警#define DQ P3_7 //定義DS18B20總線I/O bit shanshuo_st; //閃爍間隔標(biāo)志bit beep_st; //蜂鳴器間隔標(biāo)志sbit DIAN = P0^5; //小數(shù)點(diǎn)uchar x=0; //計(jì)數(shù)器signed char m; //溫度值全局變量uchar n; //溫度值全局變量uchar set_st=0; //狀態(tài)標(biāo)志signed char shangxian=38; //上限報(bào)警溫度,默認(rèn)值為38signed char xiaxian=5; //下限報(bào)警溫度,默認(rèn)值為38//uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};uchar code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};///*****顯示開(kāi)機(jī)初始化等待畫(huà)面*****/void Disp_init(void) { P0 = ~0x80; //顯示---- P2 = 0x7F; Delay(200); P2 = 0xDF; Delay(200); P2 = 0xF7; Delay(200); P2 = 0xFD; Delay(200); P2 = 0xFF; //關(guān)閉顯示}/*****顯示溫度子程序*****/void Disp_Temperature(void) //顯示溫度{ P0 = ~0x98; //顯示C P2 = 0x7F; Delay(100); P2=0xff; P0=~LEDData[n]; //顯示個(gè)位 P2 = 0xDF; Delay(100); P2=0xff; P0 =~LEDData[m%10]; //顯示十位 DIAN = 0; //顯示小數(shù)點(diǎn) P2 = 0xF7; Delay(100); P2=0xff; P0 =~LEDData[m/10]; //顯示百位 P2 = 0xFD; Delay(100); P2 = 0xff; //關(guān)閉顯示}/*****顯示報(bào)警溫度子程序*****/void Disp_alarm(uchar baojing){ P0 =~0x98; //顯示C P2 = 0x7F; Delay(100); P2=0xff; P0 =~LEDData[baojing%10]; //顯示十位 P2 = 0xDF; Delay(100); P2=0xff; P0 =~LEDData[baojing/10]; //顯示百位 P2 = 0xF7; Delay(100); P2=0xff; if(set_st==1)P0 =~0xCE; else if(set_st==2)P0 =~0x1A; //上限H、下限L標(biāo)示 P2 = 0xFD; Delay(100); P2 = 0xff; //關(guān)閉顯示 |
#include <AT89X52.h> #define uint unsigned int#define uchar unsigned char //宏定義#define SET P3_1 //定義調(diào)整鍵#define DEC P3_2 //定義減少鍵#define ADD P3_3 //定義增加鍵#define BEEP P3_6 //定義蜂鳴器#define ALAM P1_2 //定義燈光報(bào)警#define DQ P3_7 //定義DS18B20總線I/O bit shanshuo_st; //閃爍間隔標(biāo)志bit beep_st; //蜂鳴器間隔標(biāo)志sbit DIAN = P0^5; //小數(shù)點(diǎn)uchar x=0; //計(jì)數(shù)器signed char m; //溫度值全局變量uchar n; //溫度值全局變量uchar set_st=0; //狀態(tài)標(biāo)志signed char shangxian=38; //上限報(bào)警溫度,默認(rèn)值為38signed char xiaxian=5; //下限報(bào)警溫度,默認(rèn)值為38//uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};uchar code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};// |
后面這張圖片上傳后這么模糊呀,我拍的好清晰的 |
Powered by 單片機(jī)教程網(wǎng)