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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1834|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:592145 發(fā)表于 2019-11-27 15:29 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

/*主函數(shù)*/
  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. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:96682 發(fā)表于 2019-11-27 18:02 來自手機(jī) | 只看該作者
復(fù)位電路實(shí)物上有點(diǎn)不妥,注入 1302 旁邊那設(shè)備信號(hào)能沒事么
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美精品 | 一区二区三区精品视频 | 亚洲丝袜天堂 | 午夜精品久久久久久久 | 国产一区在线免费 | 日韩精品一区二区三区中文字幕 | av在线播放网址 | 亚洲精品一区二区另类图片 | 在线观看免费福利 | 久久精品亚洲一区二区三区浴池 | 日本免费一区二区三区四区 | 很黄很污的网站 | 国产美女视频 | 97精品超碰一区二区三区 | 黄色成人av | 亚洲国产精品福利 | 亚洲免费在线 | 久久国产免费 | 免费看av大片 | 波多野结衣中文字幕一区二区三区 | 日本福利在线观看 | 国产一区二区精品在线 | 久久99精品久久久久久国产越南 | 欧美久久久久久 | 日本精品一区二区三区在线观看视频 | av免费看片| 99re国产精品 | 久久福利电影 | 久久久国产一区二区三区四区小说 | 成人在线免费视频 | 国产高清亚洲 | 国产黄色大片在线免费观看 | 国产精品久久久久久久久久久久 | 国产精品成人一区二区 | 99精品国产一区二区青青牛奶 | 天天干天天爽 | 区一区二区三在线观看 | 国产在线观看一区二区三区 | 久久精品免费一区二区三 | 午夜不卡一区二区 | 欧美国产日韩在线观看成人 |