|
这样写的 大循环扫描按键程序,一直扫描不到,问下这个怎么改, 我按键4个功能 一个功能键一个加减键还有一个返回键 一直检测不到,上电时间在走,就是检测不到按键扫描,。
大家给个建议,
void main()
{
down_init(); //自动下载的头文件刚开始调用这个函数就可自动下载 不需要关掉开关
cmg88();
lcd_init(); //调用液晶屏初始化子函数
//ds1302_init(); //调用DS1302时钟的初始化子函数
init(); //调用定时计数器的设置子函数
while(1) //无限循环下面的语句:
{
keyscan(); //调用键盘扫描子函数
}
}
void timer0() interrupt 1 //取得并显示日历和时间
{
TH0=(65536-45872)/256; //定时器T0的高四位=0
TL0=(65536-45872)%256;
//读取温度返回值。
flag=ReadTemperature();
//读取秒时分周日月年七个数据
miao = BCD_Decimal(read_1302(0x81));
fen = BCD_Decimal(read_1302(0x83));
shi = BCD_Decimal(read_1302(0x85));
ri = BCD_Decimal(read_1302(0x87));
yue = BCD_Decimal(read_1302(0x89));
nian=BCD_Decimal(read_1302(0x8d));
week=BCD_Decimal(read_1302(0x8b));
//显示温度、秒、时、分数据:
writetemp(10,flag);//显示温度,从第二行第12个字符后开始显示
write_sfm(0x47,miao);//秒,从第二行第8个字后开始显示(调用时分秒显示子函数)
write_sfm(0x44,fen);//分,从第二行第5个字符后开始显示
write_sfm(0x41,shi);//小时,从第二行第2个字符后开始显示
//显示星
write_week(week);
//显示日、月、年数据:
write_nyr(0x09,ri);//日期,从第二行第9个字符后开始显示
write_nyr(0x06,yue);//月份,从第二行第6个字符后开始显示
write_nyr(0x03,nian);//年,从第二行第3个字符后开始显示
}
|
|