|
基于51單片機(jī)的電子溫度計(jì)Altium Designer畫(huà)的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
單片機(jī)源程序如下:
- #include <reg51.h>
- #include "LCD1602.h"
- #include "temp.h"
- unsigned char datas[9]; //定義數(shù)組
- unsigned char *TempDisplay(int);
- void Delay100ms(unsigned int t);
- void Delay100ms(unsigned int t) //@12.000MHz
- {
- unsigned char i, j;
- i = 195;
- j = 138;
- do
- do
- {
- while (--j);
- } while (--i);
- while(--t);
- }
- /*******************************************************************************
- * 函數(shù)名 : main
- * 函數(shù)功能 : 主函數(shù)
- * 輸入 : 無(wú)
- * 輸出 : 無(wú)
- *******************************************************************************/
- void main()
- {
- bit k;
- LcdInit(); //初始化LCD1602
- LCD_disp_string(2,0,"thermometer");
- while(1)
- {
- Delay100ms(8);//1s鐘刷一次
- k = ~k;
- if(k) LCD_disp_char(2,0,'T');
- else LCD_disp_char(2,0,'t');
- TempDisplay(Ds18b20ReadTemp());
- LCD_disp_string(4,1,datas);
- }
- }
- /*******************************************************************************
- * 函數(shù)名 : LcdDisplay()
- * 函數(shù)功能 : LCD顯示讀取到的溫度
- * 輸入 : v
- * 輸出 : 無(wú)
- *******************************************************************************/
- unsigned char *TempDisplay(int temp) //lcd顯示
- {
- unsigned char dat[5],i=0;
- bit fu;
- float tp;
- if(temp< 0) //當(dāng)溫度值為負(fù)數(shù)
- {
- fu = 1;
- //因?yàn)樽x取的溫度是實(shí)際溫度的補(bǔ)碼,所以減1,再取反求出原碼
- temp=temp-1;
- temp=~temp;
- }
- else
- {
- fu = 0;
- }
- tp=temp;
- temp=tp*0.0625*100+0.5;
- //留兩個(gè)小數(shù)點(diǎn)就*100,+0.5是四舍五入,因?yàn)镃語(yǔ)言浮點(diǎn)數(shù)轉(zhuǎn)換為整型的時(shí)候把小數(shù)點(diǎn)
- //后面的數(shù)自動(dòng)去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進(jìn)1了,小于0.5的就
- //算由?.5,還是在小數(shù)點(diǎn)后面。
-
- dat[0] = temp / 10000;
- dat[1] = temp % 10000 / 1000;
- dat[2] = temp % 1000 / 100;
- dat[3] = temp % 100 / 10;
- dat[4] = temp % 10;
-
- if(fu) datas[i++] = '-';
- if(dat[0]) datas[i++] = dat[0] + '0';
- if(dat[1] || (i-(unsigned char)fu)) datas[i++] = dat[1] + '0';
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
電子溫度計(jì).rar
(628.67 KB, 下載次數(shù): 69)
2018-1-9 18:31 上傳
點(diǎn)擊文件名下載附件
|
|