|
#include "intrins.h"
#include "string.h"
#include "STC15Fxxxx.h"
#include "main.h"
#include "W25QXX.h"
#include "COG12864-5V.h"
#include "zima.h"
#include "DS18B20.h"
#include "setTem.h"
#include "key.h"
#include "AT24C0X.h"
void InitG(unsigned int dat,unsigned int dath,unsigned int datl)//12864液晶界面顯示內容初始化化
{
// 顯示形式: 20.3 C
Print(0,38,songti,"溫度");
DisplayDigit(0,70,mao);
DisplayDigit(0,78,dig[dat%10000/1000]);
DisplayDigit(0,86,dig[dat%1000/100]);
DisplayDigit(0,93,dian);
DisplayDigit(0,104,dig[dat%100/10]);
DisplayDigit(0,112,se);
DisplayDigit(0,120,si);
//顯示形式為 上限溫度:35
Print(4,0,songti,"上限溫度");
DisplayDigit(4,64,mao);
DisplayDigit(4,74,dig[dath/10]);
DisplayDigit(4,82,dig[dath%10]);
//顯示形式為 下限溫度:8
Print(6,0,songti,"下限溫度");
DisplayDigit(6,64,mao);
DisplayDigit(6,74,dig[datl/10]);
DisplayDigit(6,82,dig[datl%10]);
}
void main()
{
unsigned char keyvalue = 0xff,i;
PortInit(); //端口初始化
InitTimer(); //定時器0初始化
InitSPI(); //W25QXX初始化
COG_Initialize(); //設置液晶顯示格式
LCD_Clr(); //清屏
while(1)
{
keyvalue = key_scan(); //獲取按鍵值
tem = Conversion(ds18b20ReadTemp());//獲取溫度
temh = read_24c04(0x80);
teml = read_24c04(0x86);
warn(); //警報界限判斷
InitG(tem,temh,teml); //12864液晶顯示
LCD_Clr(); //清屏
Delay(10);
setwendu(keyvalue); //設置上下限溫度值
if(TR0 == 1) //進入定時器0中斷后開始對frq累加
{
for(i=0;i<30;i++)
{
frq++;
}
}
}
}
|
-
1.jpg
(3.27 MB, 下載次數: 42)
下載附件
2019-5-16 11:55 上傳
圖片.jpg
-
-
基于12864顯示溫度及報警系統.rar
2019-5-16 11:43 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
2.16 MB, 下載次數: 39, 下載積分: 黑幣 -5
評分
-
查看全部評分
|