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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7930|回復: 2
收起左側

51單片機 DS1302電子鐘 帶仿真和源程序

[復制鏈接]
ID:72643 發表于 2016-5-20 09:31 | 顯示全部樓層 |閱讀模式
51單片機 DS1302電子鐘 帶仿真和源程序

0.png 0.png

部分程序預覽:
  1. /*****************************************************************
  2. 介紹:DS1302模塊程序文件,調用時請根據你所接的IO口不同修改io sclk rst的值
  3. 使用說明:調用時,只用調用
  4.                                  (1)ds1302_init_time()初始化時鐘函數
  5.                                  (2)ds1302_get_time(uint8 *dat)獲取時間函數 定義一個數組data[7],形參即為data
  6.                                  (3)ds1302_write_data(uint8 addr,uint8 dat)寫入數據函數 addr值參見ds1302.h中定義的命令
  7. 作者:方正電子工作室                                        聯系QQ:1959635216
  8. 時間:20150323                                                                淘寶店鋪:
  9. *****************************************************************/

  10. #include<reg52.h>
  11. #include"common.h"
  12. #include"ds1302.h"

  13. sbit io                = P1^0;
  14. sbit sclk        = P1^1;
  15. sbit rst        = P1^2;

  16. /******************DS1302寫入命令***********************
  17. 輸入參數:地址addr
  18. *************************************************************/
  19. void ds1302_write_cmd(uint8 addr)
  20. {
  21.         uint8 i;
  22.         rst = 0;
  23.         sclk = 0;
  24.         rst = 1;
  25.         for(i=0;i<8;i++)
  26.         {
  27.                 io = addr & 0x01;
  28.                 sclk = 1;
  29.                 sclk = 0;
  30.                 addr >>= 1;
  31.         }
  32. }

  33. /******************DS1302指定地址讀數據***********************
  34. 輸入參數:地址addr
  35. 輸出參數:時間dat
  36. *************************************************************/
  37. void ds1302_read_data(uint8 addr,uint8 *dat)
  38. {
  39.         uint8 i;
  40.         ds1302_write_cmd(addr);
  41.         for(i=0;i<8;i++)
  42.         {
  43.                 *dat >>= 1;
  44.                 if(io == 1)
  45.                         *dat |= 0x80;
  46.                 sclk = 1;
  47.                 sclk = 0;
  48.         }
  49.         *dat = *dat/16*10 + *dat%16;
  50. }

  51. /******************DS1302指定地址寫數據***********************
  52. 輸入參數:地址addr 時間dat
  53. *************************************************************/
  54. void ds1302_write_data(uint8 addr,uint8 dat)
  55. {
  56.         uint8 i;
  57.         dat = dat/10*16 + dat%10;
  58.         ds1302_write_cmd(addr);
  59.         for(i=0;i<8;i++)
  60.         {
  61.                 io = dat & 0x01;
  62.                 sclk = 1;
  63.                 sclk = 0;
  64.                 dat >>= 1;
  65.         }
  66. }

  67. /******************DS1302初始化時間***********************
  68. 初時化時間為 2015-03-26 星期四 23:59:50
  69. *************************************************************/
  70. void ds1302_init_time()
  71. {
  72.         uint8 temp;
  73.         ds1302_read_data(0xc1,&temp);
  74.         if(temp!= 0xaa)
  75.         {
  76.                 ds1302_write_data(write_wp,0);                //允許寫操作
  77.                 ds1302_write_data(write_sec,50);
  78.                 ds1302_write_data(write_min,59);
  79.                 ds1302_write_data(write_hour,23);
  80.                 ds1302_write_data(write_date,26);
  81.                 ds1302_write_data(write_mon,3);
  82.                 ds1302_write_data(write_year,15);
  83.                 ds1302_write_data(write_week,3);
  84.                 ds1302_write_data(0xc1,0xaa);                        //寫入初始化標志RAM
  85.         }
  86. }

  87. /******************DS1302獲取時間***********************
  88. 輸出參數:時間dat
  89. *************************************************************/
  90. void ds1302_get_time(uint8 *dat)
  91. {
  92.         uint8 i,addr = 0x81;
  93.         for(i=0;i<7;i++)
  94.         {
  95.                 ds1302_read_data(addr,dat);
  96.                 addr += 2;
  97.                 dat++;
  98.         }
  99. }
復制代碼


LCD1602顯示DS1302時鐘.rar

62.11 KB, 下載次數: 120, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:237239 發表于 2018-4-11 17:26 | 顯示全部樓層
此帖僅作者可見

使用道具 舉報

ID:437276 發表于 2018-12-3 16:34 | 顯示全部樓層
此帖僅作者可見

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕 在线观看 | 久久午夜剧场 | 五月天综合影院 | 日韩黄色免费 | 欧美电影在线观看网站 | 二区av | 日本不卡一区 | 成人免费观看视频 | 久久午夜精品 | www日韩高清 | 亚洲成人精品一区二区 | 欧美在线天堂 | 精品一区电影 | 国产精品区一区二 | 色成人免费网站 | 97精品超碰一区二区三区 | 亚洲视频在线一区 | 日韩免费一级 | 亚洲欧美日韩精品久久亚洲区 | 亚洲国产一区二区三区 | 欧美日韩在线一区 | 成人影院网站ww555久久精品 | 中文字幕乱码一区二区三区 | 亚洲天堂网站 | 国产欧美一级二级三级在线视频 | 中文字幕成人在线 | 91视频电影 | 91成人在线视频 | 久久久久久国 | 日韩一区不卡 | 男人天堂av网站 | 一区二区av| 日韩欧美亚洲 | 久久久www| 九热在线 | 黄色在线免费观看 | av在线播放不卡 | 国产精品久久久久一区二区三区 | 91精品久久久久久久久久 | 国产日韩精品一区 | 日日操操 |