|
/* 液晶演示程序DV12864G-COG,串行接口!
驅(qū)動IC是:UC1701X或兼容的IC,比如ST7565R
*/
#include <stc15f2k60s2.H>
#include "common.h"
#include "JLX12864.h" //液晶顯示
#include "delay.h" //延時函數(shù)
#include <intrins.h>
#include <Ctype.h>
#include "nongli.h" //農(nóng)歷轉(zhuǎn)換
#include "zk.c" //字庫文件
#include "zk1.c" //字庫文件
#include "xianshi.h" //顯示處理
#include "ds18B20.h" //溫度讀取
#include "key.h" //按鍵處理
#include "ds1302.h" //時鐘芯片
sbit cs1=P2^0;
sbit reset=P2^1;
sbit rs=P2^2;
sbit sclk=P2^4;
sbit sid=P2^3;
extern char sec,min,hour,day,month,year,week; //定義全局變量,秒,分,時,日,月,年和星期
extern bit century; //定義世紀(jì)位:0為20世紀(jì),1為19世紀(jì)。
extern uchar setflag; //時鐘設(shè)置狀態(tài)
bit timeset=0; //1302時間設(shè)置標(biāo)志
uint tvalue; //溫度值
bit tflag; //負(fù)溫度標(biāo)志
void waitkey()
{
repeat:
if(key==1) goto repeat;
else delay(1000);
}
void main(void)
{
initial_lcd(); //初始化JLX2864
if (timeset)
init1302(); //時間初始化
clear_screen(); //清屏
century=0;
while(1)
{
tvalue=Ds18b20_Temp(); //讀取溫度
sec=read1302(0x81); //讀秒
min=read1302(0x83); //讀分
hour=read1302(0x85); //讀時
day=read1302(0x87); //讀日期
month=read1302(0x89); //讀月
week=read1302(0x8b); //讀星期
year=read1302(0x8d); //讀年
//需把以上數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制存儲
sec=(sec>>4)*10+sec%16;
min=(min>>4)*10+min%16;
hour=(hour>>4)*10+hour%16;
day=(day>>4)*10+day%16;
month=(month>>4)*10+month%16;
year=(year>>4)*10+year%16;
Conversion(century,year,month,day); //轉(zhuǎn)換為陰歷數(shù)據(jù)
// read_temp(); //讀出溫度值
ds1820disp(); //溫度值顯示
key(); //掃描按鍵
if(setflag==0)
disp_time(); //調(diào)用顯示時間程序
}
}
|
-
4.jpg
(80.45 KB, 下載次數(shù): 194)
下載附件
2020-7-9 01:45 上傳
農(nóng)歷溫度萬年歷
-
3.jpg
(47.61 KB, 下載次數(shù): 173)
下載附件
2020-7-9 01:45 上傳
JLX12864液晶屏
-
-
帶農(nóng)歷萬年歷JLX DS302 DS18B20-3.7z
2021-6-25 00:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
29.3 KB, 下載次數(shù): 292, 下載積分: 黑幣 -5
全部程序
評分
-
查看全部評分
|