久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1817|回復: 1
打印 上一主題 下一主題
收起左側

Protues中DS1302仿真效果不正確,哪個大神能幫忙看看什么原因?

[復制鏈接]
跳轉到指定樓層
樓主

/*主函數*/
  1. #include<reg52.h>

  2. extern void Init_1602();
  3. extern void ShowStr_1602(unsigned char x,unsigned char y,unsigned char *str);

  4. extern void Init_ds1302();
  5. extern unsigned char Read_ds1302(unsigned char reg);

  6. bit flag200ms=0;
  7. unsigned char cnt;
  8. unsigned char time[8];
  9. unsigned char str[12];
  10. unsigned char stmp=0xAA;

  11. void Init_time0();

  12. void main()
  13. {
  14.         unsigned char i;

  15.         Init_time0();
  16.         Init_ds1302();
  17.         Init_1602();
  18.         
  19.         while(1)
  20.         {
  21.                 if(flag200ms)
  22.                 {
  23.                         flag200ms=0;
  24.                         for(i=0;i<7;i++)
  25.                         {
  26.                                 time[i]=Read_ds1302(i);
  27.                         }
  28.                         if(stmp!=time[0])
  29.                         {
  30.                                 str[0]='2';
  31.                                 str[1]='0';
  32.                                 str[2]=(time[6]>>4)+'0';
  33.                                 str[3]=(time[6]&0x0F)+'0';
  34.                                 str[4]='-';
  35.                                 str[5]=(time[4]>>4)+'0';
  36.                                 str[6]=(time[4]&0x0f)+'0';
  37.                                 str[7]='-';
  38.                                 str[8]=(time[3]>>4)+'0';
  39.                                 str[9]=(time[3]&0x0f)+'0';
  40.                                 str[10]='\0';
  41.                                 ShowStr_1602(0,0,str);

  42.                                 ShowStr_1602(0,1,"Week:");
  43.                                 str[0]=(time[5]&0x0f)+'0';
  44.                                 str[1]='\0';
  45.                                 ShowStr_1602(5,1,str);

  46.                                 str[0]=(time[2]>>4)+'0';
  47.                                 str[1]=(time[2]&0x0f)+'0';
  48.                                 str[2]=':';
  49.                                 str[3]=(time[1]>>4)+'0';
  50.                                 str[4]=(time[1]&0x0f)+'0';
  51.                                 str[5]=':';
  52.                                 str[6]=(time[0]>>4)+'0';
  53.                                 str[7]=(time[0]&0x0f)+'0';
  54.                                 str[8]='\0';
  55.                                 ShowStr_1602(8,1,str);

  56.                                 stmp=time[0];
  57.                         }                                
  58.                 }               
  59.         }                        
  60. }

  61. void Init_time0()
  62. {
  63.         TMOD = 0x01;
  64.     TH0 = 0x0DC;
  65.     TL0 = 0x00;
  66.     EA = 1;
  67.     ET0 = 1;
  68.     TR0 = 1;
  69. }

  70. void interrupttime0()interrupt 1
  71. {
  72.         TH0 = 0x0DC;
  73.     TL0 = 0x00;

  74.         cnt++;

  75.         if(cnt>=2)
  76.         {
  77.                 cnt=0;
  78.                 flag200ms=1;
  79.         }
  80. }
  81. /*DS1302*/[/i][i]#include<reg52.h>

  82. sbit DS1302_RST=P2^1;
  83. sbit DS1302_IO=P2^2;
  84. sbit DS1302_SCLK=P2^3;

  85. void WriteByte_ds1302(unsigned char dat)
  86. {
  87.         unsigned char mask;
  88.         for(mask=0x01;mask!=0;mask<<=1)
  89.         {
  90.                  if(mask&dat!=0)
  91.                          DS1302_IO=1;
  92.                  else
  93.                          DS1302_IO=0;
  94.                  DS1302_SCLK=1;
  95.                  DS1302_SCLK=0;
  96.         }        
  97. }
  98. void Write_ds1302(unsigned char reg,unsigned char dat)
  99. {
  100.         DS1302_RST=1;
  101.         WriteByte_ds1302((reg<<1)|0x80);
  102.         WriteByte_ds1302(dat);        
  103.         DS1302_RST=0;               
  104. }
  105. unsigned char ReadByte_ds1302()
  106. {
  107.         unsigned char date;
  108.         unsigned char mask;
  109.         for(mask=0x01;mask!=0;mask<<=1)
  110.         {
  111.                 if(DS1302_IO!=0)
  112.                 {
  113.                         date|=mask;
  114.                 }        
  115.                 DS1302_SCLK=1;
  116.                 DS1302_SCLK=0;
  117.         }        
  118.         return date;        
  119. }

  120. unsigned char Read_ds1302(unsigned char reg)
  121. {
  122.         unsigned char date;

  123.         DS1302_RST=1;
  124.         WriteByte_ds1302(reg<<1|0x81);
  125.         date=ReadByte_ds1302();
  126.         DS1302_RST=0;
  127.         
  128.         return date;        
  129.                         
  130. }
  131. void Init_ds1302()
  132. {
  133.         unsigned char time[]={0x10,0x3,0x11,0x27,0x15,0x25,0x30};
  134.         unsigned char i;
  135.         
  136.         
  137.         DS1302_RST=0;
  138.         DS1302_SCLK=0;
  139.         i=Read_ds1302(0);
  140.         if((i&0x80)!=0)
  141.         {
  142.                 Write_ds1302(7,0x00);
  143.                 for(i=0;i<7;i++)
  144.                 {
  145.                         Write_ds1302(i,time[i]);
  146.                 }        
  147.         }        
  148. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:96682 發表于 2019-11-27 18:02 來自手機 | 只看該作者
復位電路實物上有點不妥,注入 1302 旁邊那設備信號能沒事么
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产乱码久久久久久久久 | 日韩av在线播 | 最新毛片网站 | 99久久久99久久国产片鸭王 | 国产精品久久久久久久久久软件 | 亚洲精品99999 | 色婷婷av久久久久久久 | 蜜桃视频在线观看www社区 | 亚洲国产成人av | 久久久久国产一区二区三区 | 成人一区二区在线 | 视频三区 | 日韩中文一区二区 | 一区二区视频在线 | 色综合视频 | 久久久成人网 | 亚洲福利视频一区二区 | 可以免费看的毛片 | 日韩a视频 | 久草视频观看 | 亚州精品天堂中文字幕 | 天天天堂 | 亚洲一页 | 国产亚洲成av人片在线观看桃 | 五月激情婷婷六月 | 九九一级片 | 久久香蕉网 | 国产乱码精品一区二区三区中文 | 国产免国产免费 | 免费的日批视频 | 成人小视频在线免费观看 | a在线免费观看 | 中文字幕一区二区三区四区五区 | 91在线一区 | 国产一区二区影院 | 一级特黄色毛片 | 高清亚洲 | 国产精品久久久久久久久久不蜜臀 | 欧美中文在线 | 夜夜骑首页 | 精品国产欧美 |