解决办法在1302的读字节函数:

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code s8[18]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x88,0x89,0xbf,0xfe,0xf7,0xc7,0xbe,0xb7};
//共阳极数码管0-9,A,H,-,-(再上一格),_,灭,,,的字段码
uchar dssjs[20]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar dssjf[20]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//存储定时时间
uchar time[2]={12,00}; //存储分,小时
uchar w6[6]={0x01,0x02,0x04,0x08,0x10,0x20};
//位选择码
uchar k;
uchar shu[6]={0x00,0x00,0x00,0x00,0x00,0x00};//储存数码管要显示的数据
/*DS1302引脚定义*/
sbit SCL = P3^0;
sbit IO = P3^1;
sbit CE = P3^2;/*74hc595引脚定义*/
sbit ds = P1^0;
sbit rck = P1^2;
sbit sck = P1^1;void Delay(uint n)
{while(n--);
}/************************************************
*名称:DS1302_Sendchar()
*描述:向DS1302写字节
*变量:dat
************************************************/
void DS1302_Sendchar(uchar dat)
{uchar i;for(i=0;i<8;i++){SCL = 0;IO = (bit)(dat & 0x01);dat >>= 1;SCL = 1;}
}/************************************************
*名称:DS1302_Rendchar2()
*描述:从ds1302读取字节
*变量:dat
************************************************/
uchar DS1302_Readchar()
{uchar dat,i;for(i=0;i<8;i++){if(IO == 1){dat = dat|0x80;}SCL = 1;dat >>= 1;SCL = 0;}IO = 0;//将读1个字节函数最后加上I/O=0即可消除85显示return dat;
}/************************************************
*名称:DS1302_WriteADD()
*描述:向1302寄存器写数据
*变量:com,dat
************************************************/
void DS1302_WriteADD(uchar com,uchar dat)
{CE = 0;SCL = 0;CE = 1;DS1302_Sendchar(com);DS1302_Sendchar(dat);SCL = 1;CE = 0;
}/************************************************
*名称:DS1302_ReadADD()
*描述:从1302指定寄存器内读数据
*变量:com
************************************************/
uchar DS1302_ReadADD(uchar com)
{uchar dat;CE = 0;SCL = 0;CE = 1;DS1302_Sendchar(com);dat = DS1302_Readchar();SCL = 1;CE = 0;return dat;
}/************************************************
*名称:DS1302_Init()
*描述:初始化DS1302
*变量:无
************************************************/
void DS1302_Init()
{
//  uchar flag;
//  flag = DS1302_ReadADD(0x81);
//  if(flag & 0x80)
//  {DS1302_WriteADD(0x8e,0x00);DS1302_WriteADD(0x80,((21/10)<<4|(21%10)));DS1302_WriteADD(0x82,((12/10)<<4|(12%10)));DS1302_WriteADD(0x84,((13/10)<<4|(13%10)));DS1302_WriteADD(0x86,((14/10)<<4|(14%10)));DS1302_WriteADD(0x88,((1/10)<<4|(1%10)));DS1302_WriteADD(0x8c,((1/10)<<4|(1%10)));              DS1302_WriteADD(0x8e,0x80);
//  }
}/************************************************
*名称:set595()
*描述:595向数码管发送数据
*变量:dat
************************************************/
void set595(uchar dat)
{uchar i;rck=0;for(i=0;i<8;i++){if(dat & 0x80){ds=1;}else{ds=0;}sck=1;dat<<=1;sck = 0;}rck = 1;
}/************************************************
*名称:main()
*描述:主函数
************************************************/
void main()
{uchar ReadValue;   //储存从1302读取的数据DS1302_Init();     //将1302初始化TMOD=0x01;TH0=64536/256;TL0=64536%256;ET0=1;TR0 = 1;EA=1;while(1){ReadValue = DS1302_ReadADD(0x81);  //从分寄存器读time[0]=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); //将读出数据转化ReadValue = DS1302_ReadADD(0x85);  //从时寄存器读time[1]=((ReadValue&0x70)>>4)*10 + (ReadValue&0x0F); //将读出数据转化shu[0]=s8[15];shu[1]=s8[15];shu[2]=s8[(time[1]/10)];shu[3]=s8[(time[1]%10)];shu[4]=s8[(time[0]/10)];shu[5]=s8[(time[0]%10)];}
}
void timer0() interrupt 1//刷新数码管显示
{TH0=64536/256;TL0=64536%256;set595(0xff);set595(0x00);set595(shu[k]);set595(w6[k]);k++;if(k==6) k=0;
}

DS1302显示85问题相关推荐

  1. DS4800 用串口登陆0.1改成85状态

    DS4800 用串口登陆0.1改成85状态 1.首先按ctrl+break提示如下 space> within 5 seconds Baud rate set to 9600 Press wit ...

  2. css input 内容换行显示,CSS - 如何实现强制不换行、自动换行、强制换行 以及 chrom默认焦点 IE下 Input 默认出现叉...

    *:focus {outline: none;} input::-ms-clear {display:none;} 一般的文字截断(适用于内联与块): .text-overflow { display ...

  3. 【51项目】电子密码锁设计

    设计采用AT89S52单片机作为核心控制单元,配以相应的硬件电路,完成开锁密码的设置.存储.校对.提醒和报警功能. 硬件结构 整体电路 软件结构 液晶驱动12864.c 1 /* ********** ...

  4. Nature子刊:涵盖20多万个基因组的人体肠道微生物参考基因组集

    Nature子刊:涵盖20多万个人体肠道微生物基因组的参考基因组集 A unified catalog of 204,938 reference genomes from the human gut ...

  5. VBA编程常用语句(转载)

    1.Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Comp ...

  6. CVPR 2021 | 对抗攻防新方向:动作识别算法容易被攻击!

    智源导读:对抗样本是近年来非常热门的研究问题,但是大多数的研究往往针对于静态数据(图像.文本.几何),然而时序数据上的探索往往较少,本文主要是研究了一种特殊但十分重要的时序数据--骨架动作下的黑盒攻击 ...

  7. Goods:注册页面保存User功能发送邮件以及激活功实现

    UserService 1 // 激活功能更 2 public void activation(String code) throws UserException { 3 /* 4 * 1通过激活码查 ...

  8. iOS开发UI篇—UITableviewcell的性能优化和缓存机制

    iOS开发UI篇-UITableviewcell的性能问题 一.UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource ...

  9. sku属性组合小例子

    参考: http://www.cnblogs.com/hsp-blog/p/6215721.html http://blog.csdn.net/csdn924618338/article/detail ...

最新文章

  1. 泛在电力物联网(能源互联网+物联网)浅析
  2. shell 输入输出脚本
  3. C++程序代码优化的方法
  4. 【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解(ArrayList、 LinkedList 和 Vector之间的区别)
  5. 编写高质量代码改善C#程序的157个建议——建议157:从写第一个界面开始,就进行自动化测试...
  6. 将关闭窗口的按钮放在窗口右边
  7. silverlight + wcf(json格式) + sqlserver存储过程分页
  8. npm ERR! Please try running this command again as root/Administrator.
  9. SpringBoot————快速搭建springboot项目
  10. 国内主流Android安卓应用市场简介
  11. Android Studio使用JDBC远程连接mysql的注意事项(附示例)
  12. 确定要离开当前页面吗
  13. sap更改主题_SAP EP 主题设置
  14. 百度文库下载文档,没财富值,没下载卷也能下载
  15. php共生模式,phpwamp单身狗模式的详解与分析,单身狗模式/即霸体模式的作用讲解。...
  16. 【金猿投融展】Techsun天正聚合——联接品牌与人
  17. magic API构建和基础实现
  18. 解决刷GApps时的Error 70报错或64
  19. Pi滤波中磁珠和电感的使用注意事项
  20. 大数据分析学习的详细解读

热门文章

  1. OpenGL蓝宝书源码学习(二十三)第七章——MultiTexture多重纹理
  2. 英语口语8000句(1)
  3. 【python读取小觅智能双目相机视频流】
  4. 国内第1套_Spring4 视频教程-佟刚-专题视频课程
  5. 毕业半年,收获人生第一个一百万,聊聊我的四年大学
  6. arduino智能浇花系统_解放双手!自己动手做一个简易智能浇花系统
  7. 【各类计划安排模板】
  8. 工业级浪涌保护器的重要作用
  9. Centos7中java开发环境配置总结
  10. ArcGIS Server 9.3 安装步骤及相关注意事项