單片機實驗5:LCD1602顯示ds18b20測出來的溫度,超溫蜂鳴器就發(fā)出聲音報警.
0.png (56.81 KB, 下載次數(shù): 110)
下載附件
2017-6-5 01:22 上傳
單片機源程序如下:
- /**************************************************************************************
- * 溫度警報 *
- 實現(xiàn)現(xiàn)象:下載程序后插上LCD1602液晶在開發(fā)板上,上面顯示溫度限值,下邊顯示實時溫度
- 當溫度達到限值時,蜂鳴器發(fā)聲
- ***************************************************************************************/
- #include<reg52.h>
- #include "main.h"
- #include "lcd1.h"
- #include "delay.h"
- #include "ds18b20.h"
- #include "color.h"
- uchar CNCHAR[6] = "0";
- char i, buf[] = {0, 0, 0}; //定義數(shù)組
- /***********************************************
- 函數(shù)名: mydisplay(uint x)
- 函數(shù)功能: LCD顯示溫度
- **********************************************/
- void LcdDisplay(uint temp) /*LCD顯示溫度*/
- {
- buf[0] = temp/100;
- buf[1] = temp%100/10;
- buf[2] = temp%100%10;
- write_com(0x80+0x42);
- write_date('0'+buf[0]); //十位
- SBUF = '0'+buf[0];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
- while (!TI); //等待發(fā)送數(shù)據(jù)完成
- // TI = 0;
-
- write_com(0x80+0x43);
- write_date('0'+buf[1]); //個位
- SBUF = '0'+buf[1];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
- while (!TI); //等待發(fā)送數(shù)據(jù)完成
- // TI = 0;
- write_com(0x80+0x45);
- write_date('0'+buf[2]); //小數(shù)點后一位
- SBUF = '0'+buf[2];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
- while (!TI); //等待發(fā)送數(shù)據(jù)完成
- // TI = 0;
-
- for(i=0; i<6; i++)
- {
- SBUF = CNCHAR[i];//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
- while (!TI); //等待發(fā)送數(shù)據(jù)完成
- // TI = 0;
- }
- }
- void guding() //固定顯示
- {
- //顯示 T:
- write_com(0x80+0x40); //寫地址 80表示初始地址
- write_date('T');
- write_com(0x80+0x41); //寫地址 80表示初始地址
- write_date(':');
- //顯示 ‘.’
- write_com(0x80+0x44); //寫地址 80表示初始地址
- write_date('.'); //顯示 ‘.’
- //顯示攝氏度
- write_com(0x80+0x46); //寫地址 80表示初始地址
- write_date(0xdf); //顯示 ‘.’
- write_com(0x80+0x47); //寫地址 80表示初始地址
- write_date('C'); //顯示 ‘.’
-
- // write_charstr( 1,1," TEMPmax=30'C"); //第 行,第 列
-
- }
- void main(void) //0xdf
- initlcd(); //lcd初始化
- guding(); //固定顯示
- while(1)
- {
- read1();
- warn(tempwarn);
- LcdDisplay(get());
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
實驗5:LCD1602顯示18b20溫度.rar
(42.29 KB, 下載次數(shù): 138)
2017-6-4 13:11 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|