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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

DS1302+Stc12c5a60s2+按鍵的proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
DS1302+Stc12c5a60s2+按鍵



單片機源程序如下:
  1. #include "ds1302.h"
  2. unsigned char second,minute,hour,week,day,month,year;                //秒、分、時、星期、日、月、年
  3. //---DS1302時鐘初始化2016年5月7日星期六12點00分00秒。---//
  4. //---存儲順序是秒分時日月周年,存儲格式是用BCD碼---//
  5. unsigned char time[]={0x06,0x03,0x14,0x03,0x12,0x30,0x00};        //初始時間數組
  6. /*****************************************************************************
  7. 函數功能:向DS1302送一字節數據子程序
  8. 入口參數:
  9. 出口參數:
  10. *****************************************************************************/
  11. void InputByte(unsigned char byte1)
  12. {
  13.         char i;
  14.         for(i=8;i>0;i--)
  15.         {
  16.                 DS1302_IO=(bit)(byte1&0x01);
  17.                 DS1302_CLK=1;
  18.                 _nop_();
  19.                 DS1302_CLK=0;
  20.                 byte1>>=1;
  21.         }
  22.         return;
  23. }
  24. /*****************************************************************************
  25. 函數功能:讀DS1302一個字節子程序
  26. 入口參數:
  27. 出口參數:
  28. *****************************************************************************/
  29. unsigned char outputbyte(void)  
  30. {
  31.         unsigned char i;
  32.         unsigned ucdat=0;
  33.         for(i=8;i>0;i--)
  34.         {
  35.                 DS1302_IO=1;
  36.                 ucdat>>=1;
  37.                 if(DS1302_IO)ucdat|=0x80;
  38.                 DS1302_CLK=1;
  39.                 _nop_();
  40.                 DS1302_CLK=0;
  41.          }
  42.          return(ucdat);
  43. }
  44. /*****************************************************************************
  45. 函數功能:向DS1302某地址寫一字節數據子程序
  46. 入口參數:addr,TDat
  47. 出口參數:
  48. *****************************************************************************/
  49. void write_ds1302(unsigned char addr,unsigned char TDat)
  50. {
  51.         DS1302_RST=0;
  52.         _nop_();
  53.         DS1302_CLK=0;
  54.         _nop_();
  55.         DS1302_RST=1;
  56.          InputByte(addr);
  57.         _nop_();
  58.         InputByte(TDat);
  59.         DS1302_CLK=1;
  60.         _nop_();
  61.         DS1302_RST=0;
  62. }
  63. /*****************************************************************************
  64. 函數功能:讀DS1302地址子程序
  65. 入口參數:add
  66. 出口參數:timedata
  67. *****************************************************************************/
  68. unsigned char read_ds1302(unsigned char addr)
  69. {
  70.         unsigned char timedata;
  71.         DS1302_RST=0;
  72.         _nop_();
  73.         DS1302_CLK=0;
  74.         _nop_();
  75.         DS1302_RST=1;
  76.         InputByte(addr);
  77.         timedata=OutputByte();
  78.         DS1302_CLK=1;
  79.         _nop_();
  80.         DS1302_RST=0;
  81.         return(timedata);
  82. }
  83. /*****************************************************************************
  84. 函數功能:初始化DS1302子程序
  85. 入口參數:time[](全局變量)
  86. 出口參數:
  87. *****************************************************************************/
  88. void initial_ds1302()
  89. {
  90.         write_ds1302(0x8e,0x00);                //寫保護寄存器,在對時鐘或RAM寫前WP一定要為0
  91.         write_ds1302(0x8c,time[0]);                //年
  92.         write_ds1302(0x88,time[1]);                //月
  93.         write_ds1302(0x86,time[2]);                //日
  94.         write_ds1302(0x8A,time[3]);                //星期
  95.         write_ds1302(0x84,time[4]);                //時
  96.         write_ds1302(0x82,time[5]);                //分
  97.         write_ds1302(0x80,time[6]);                //秒
  98.         write_ds1302(0x8e,0x80);                //寫保護寄存器
  99. }
  100. /*****************************************************************************
  101. 函數功能:讀DS1302時間子程序
  102. 入口參數:
  103. 出口參數:全局變量(second,minute,hour,week,day,month,year)
  104. *****************************************************************************/
  105. void read_time()
  106. {
  107.         second=read_ds1302(0x81);                //秒寄存器
  108.         minute=read_ds1302(0x83);                //分
  109.         hour=read_ds1302(0x85);                        //時
  110.         week=read_ds1302(0x8B);                        //星期
  111.         day=read_ds1302(0x87);                        //日
  112.         month=read_ds1302(0x89);                //月
  113.         year=read_ds1302(0x8d);                        //年
  114.    
  115. }
復制代碼


資料不全,缺源碼,求大家補全程序啊:
protues.zip (38.21 KB, 下載次數: 65)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:495323 發表于 2019-3-24 23:51 | 只看該作者
你好,我在用proteus仿真,你的芯片是怎么選擇的?有沒有教程一些可以入門的,有的話發我郵箱或是加好友也行   
回復

使用道具 舉報

板凳
ID:129825 發表于 2020-3-5 22:22 | 只看該作者
你說的這個Stc12c5a60s2單片機你給的資料沒有
回復

使用道具 舉報

地板
ID:558937 發表于 2020-3-30 23:17 | 只看該作者
東西都不給就讓下載?
回復

使用道具 舉報

5#
ID:308257 發表于 2020-4-22 16:46 | 只看該作者
protues仿真不了STC12系列,沒有這個芯片,需要用AT89代替,然后外接AD芯片等。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品在 | 99re6热在线精品视频播放 | 永久看片 | 成人欧美一区二区三区1314 | 草草视频在线播放 | 久久久久久国产精品三区 | 国产91综合| www.av在线 | 国产目拍亚洲精品99久久精品 | 一区二区精品电影 | 五月天婷婷综合 | 亚洲欧美激情国产综合久久久 | 亚洲午夜精品视频 | 一区二区三区视频在线 | 中文字幕第一页在线 | 成人高清在线视频 | 亚洲黄色在线免费观看 | 亚洲一区二区三区桃乃木香奈 | 久久亚| 日日天天 | 国产超碰人人爽人人做人人爱 | 久久精品国产一区二区三区不卡 | 81精品国产乱码久久久久久 | 草草草影院 | 久久久国产精品入口麻豆 | 国产一区不卡 | 亚洲国产成人精品女人久久久野战 | 中文二区 | 日韩看片 | 在线伊人| 亚洲一区二区三区免费视频 | 欧美在线综合 | 精品国产乱码久久久 | 红桃视频一区二区三区免费 | av影音资源 | 国产成人综合在线 | 天天操,夜夜爽 | 三级黄片毛片 | 日日操夜夜操天天操 | 亚洲高清视频在线观看 | 99精品欧美一区二区三区 |