找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2707|回复: 0
打印 上一主题 下一主题
收起左侧

问一个1602显示万年历的问题

[复制链接]
跳转到指定楼层
楼主
ID:85983 发表于 2015-11-16 20:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这样写的 大循环扫描按键程序,一直扫描不到,问下这个怎么改, 我按键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个字符后开始显示       


}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表