/*******************************************************************************
* 实验名 :温度+时钟显示
* 使用的IO :
* 实验效果 :1602显示温度
* 注意 :
*******************************************************************************/
#include
#include"lcd.h"
#include"ds1302.h"
#include"temp.h"
sbit K1=P3^1;
sbit K2=P3^0;
sbit K3=P3^2;
sbit K4=P3^3;
uchar CNCHAR[6] = "摄氏度";
void Int0Configuration();
void LcdDisplay(int);
void UsartConfiguration();
unsigned char SetState,SetPlace;
void Delay10ms(void); //误差 0us
void LcdDisplay1();
/*******************************************************************************
* 函数名 : main
* 函数功能 : 主函数
* 输入 : 无
* 输出 : 无
*******************************************************************************/
void main()
{
unsigned char i;
Int0Configuration();
UsartConfiguration();
LcdInit(); //初始化LCD1602
LcdWriteCom(0x80+0x4f); //写地址 80表示初始地址
LcdWriteData('C');
Ds1302Init();
while(1)
{
if(SetState==0)
{
Ds1302ReadTime();
}
else
{
if(K1==0) //检测按键K1是否按下
{
Delay10ms(); //消除抖动
if(K1==0)
{
SetPlace++;
if(SetPlace>=7)
SetPlace=0;
}
while((i<50)&&(K1==0)) //检测按键是否松开
{
Delay10ms();
i++;
}
i=0;
}
if(K2==0) //检测按键K2是否按下
{
Delay10ms(); //消除抖动
if(K2==0)
{
TIME[SetPlace]++;
if(