亚博智能论坛  
  
查看: 599|回复: 4

如何编写程序,通过数字键盘(0-9)将0x12改成0x36

  [复制链接]
  • TA的每日心情
    开心
    2017-7-27 10:11
  • 8

    主题

    22

    帖子

    53

    积分

    新手上路

    Rank: 1

    积分
    53
    发表于 2017-6-22 16:00:38 | 显示全部楼层 |阅读模式

    如题,考虑了很久,还是不知如何搞,现在的问题是ds1302修改时间,
    //顺序:秒,分,时,日,月,星期,年;格式:BCD
    uchar times[7]={0x50,0x59,0x23,0x06,0x09,0x01,0x15};
    定义了一个数组,想通过键盘(0-9)修改一下时间,例如把times[3]=0x06;修改为0x25,程序如何实现呢

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-7-29 14:25
  • 121

    主题

    161

    帖子

    576

    积分

    超级版主

    Rank: 9Rank: 9Rank: 9

    积分
    576
    发表于 2017-6-22 16:00:55 | 显示全部楼层
    temp=(read1302(reg)/16)*10+read1302(reg)%16读取转换成10进制
    10进制转换成BCD写入write1302(reg,(temp/10)*16+temp%10)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-7-29 14:25
  • 121

    主题

    161

    帖子

    576

    积分

    超级版主

    Rank: 9Rank: 9Rank: 9

    积分
    576
    发表于 2017-6-22 16:01:11 | 显示全部楼层
    读取到键盘如何得到数据那是你程序需要处理的问题,很简单了,最简单的方法,上次的按键值×10+这次的按键值
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    23

    帖子

    39

    积分

    新手上路

    Rank: 1

    积分
    39
    发表于 2017-6-22 16:02:08 | 显示全部楼层

    1. #define  uchar unsigned char  
    2. uchar times[7]={0x50,0x59,0x23,0x06,0x09,0x01,0x15};
    3. uchar read_key(void)
    4. {
    5.                  
    6.   // return key value

    7. }
    8. void chk_key(uchar key)
    9. {
    10.   switch( key )  
    11.   {
    12.     case 0:                 //key 0
    13.         times[3]=0x25;   
    14.     case 1:                 //key 1
    15.     case 2:                 //key 2
    16.     case 3:                                                                 //key 3
    17.     case 4:                                                                 //key 4
    18.     case 5:                                                                 //key 5
    19.     case 6:                                                                 //key 6
    20.     case 7:                                                                 //key 7
    21.     case 8:                                                                 //key 8
    22.     case 9:                                                                 //key 9
    23.     default:
    24.              break;
    25.   }

    26. }

    27. void main(void)
    28. {
    29.      uchar i;
    30.      i=read_key();
    31.      chk_key(i);
    32. }
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    16

    帖子

    35

    积分

    新手上路

    Rank: 1

    积分
    35
    发表于 2017-6-22 16:02:52 | 显示全部楼层

    楼主要的不是什么把什么改成什么的程序,而是要一个通过按键设置时间的程序吧。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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