找回密码
 立即注册

QQ登录

只需一步,快速开始

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

大神们,新手求教,对于十进制的变量数组如何写入1602液晶数据使其显示原来的十进....

[复制链接]
跳转到指定楼层
楼主
ID:229016 发表于 2017-11-5 14:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2黑币
以下是从ds1302读回来BCD码转化为十进制,可1602必须写入相应的字符或ASCLL码,恳请大神们给予意见
void time_pros(void)      //把BCD码转换成十进制
{  
   
read_rtc();
    disp[0]='2';
disp[1]='0';
disp[2]=time_data[0]%16;  //年十位
disp[3]=time_data[0]/16;  //年个位
disp[4]='-';
disp[5]=time_data[1]%16;  //月十位
disp[6]=time_data[1]/16;  //月个位
disp[7]='-';
disp[8]=time_data[2]%16;  //日十位
disp[9]=time_data[2]/16;  //日个位
disp[10]='-';
disp[11]=time_data[3]%16;       //时十位
disp[12]=time_data[3]/16;  //时个位
disp[13]='-';
disp[14]=time_data[4]%16;   //分十位
disp[15]=time_data[4]/16;   //分个位
disp[16]='-';
disp[17]=time_data[5]%16;     //秒十位
disp[18]=time_data[5]/16;      //秒个位
}

void display()
{
  uchar i,j;
  write_com(0x80);
  for(i=0;i<10;i++)
  {
    time_pros();
    write_data(disp[ i]);
delayms(5);
  }
  write_com(0x80+0x40);
  for(j=11;j<19;j++)
  {
    time_pros();
    write_data(disp[j]);
delayms(5);
   }
}

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

使用道具 举报

沙发
ID:232524 发表于 2017-11-5 16:18 | 只看该作者
十进制数字转化对应的字符型只要加'0'(字符0)
回复

使用道具 举报

板凳
ID:111634 发表于 2017-11-5 19:17 | 只看该作者
xi先学点单片机基本理论和知识吧!!!否则,即使这个问题解决了,后面其他问题也会多多。不过,你是想应付老师,还是真想学单片机?若只想混混,就算了,免得我费口舌;若真想学单片机,我介绍你2本书,张志良编著的:《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学。《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行,可演示,可观测,程序语句条条有注解。与其他书比较一下,有比较才能有鉴别!绝不忽悠你!
回复

使用道具 举报

地板
ID:229016 发表于 2017-11-6 12:28 | 只看该作者
zl2168 发表于 2017-11-5 19:17
xi先学点单片机基本理论和知识吧!!!否则,即使这个问题解决了,后面其他问题也会多多。不过,你是想应付 ...

好的,谢谢,其实我只是感兴趣在自学而已
回复

使用道具 举报

5#
ID:229016 发表于 2017-11-6 12:28 | 只看该作者
liut_text 发表于 2017-11-5 16:18
十进制数字转化对应的字符型只要加'0'(字符0)

嗯,出来了,我C语言学的太烂
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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