|
/* 液晶演示程序DV12864G-COG,串行接口!
驱动IC是:UC1701X或兼容的IC,比如ST7565R
*/
#include <stc15f2k60s2.H>
#include "common.h"
#include "JLX12864.h" //液晶显示
#include "delay.h" //延时函数
#include <intrins.h>
#include <Ctype.h>
#include "nongli.h" //农历转换
#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; //定义世纪位:0为20世纪,1为19世纪。
extern uchar setflag; //时钟设置状态
bit timeset=0; //1302时间设置标志
uint tvalue; //温度值
bit tflag; //负温度标志
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); //读年
//需把以上数据转换为十进制存储
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); //转换为阴历数据
// read_temp(); //读出温度值
ds1820disp(); //温度值显示
key(); //扫描按键
if(setflag==0)
disp_time(); //调用显示时间程序
}
}
|
评分
-
查看全部评分
|