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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機+ds1302數字萬年歷設計

[復制鏈接]
跳轉到指定樓層
樓主
使用PRO和keil

單片機源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include <string.h>
  4. #define uint unsigned int
  5. #define uchar unsigned char

  6. sbit IO=P1^1;
  7. sbit SCLK=P1^0;
  8. sbit RST=P1^2;
  9. sbit RS=P2^0;
  10. sbit RW=P2^1;
  11. sbit EN=P2^2;

  12. uchar *WEEK[]=
  13. {
  14.         "SUN","***","MON","TUS","WEN","THU","FRI","SAT"
  15. };
  16. uchar LCD_DSY_BUFFER1[]={"DATE 00-00-00   "};
  17. uchar LCD_DSY_BUFFER2[]={"TIME 00:00:00   "};
  18. uchar DateTime[7];

  19. void DelayMS(uint ms)
  20. {
  21.   uchar i;
  22.   while(ms--)
  23.      { for(i=0;i<120;i++); }
  24. }

  25. void Write_A_Byte_TO_DS1302(uchar x)
  26. {
  27.   uchar i;
  28.   for(i=0;i<8;i++)
  29.     { IO=x&0x01;SCLK=1;SCLK=0;x>>=1; }
  30. }

  31. uchar Get_A_Byte_FROM_DS1302()
  32. {
  33.    uchar i,b=0x00;
  34.    for(i=0;i<8;i++)
  35.    {
  36.          b |= _crol_((uchar)IO,i);
  37.          SCLK=1;SCLK=0;
  38.    }
  39.    return b/16*10+b%16;
  40. }

  41. uchar Read_Data(uchar addr)
  42. {
  43.   uchar dat;
  44.   RST=0;SCLK=0;RST=1;
  45.   Write_A_Byte_TO_DS1302(addr);
  46.   dat=Get_A_Byte_FROM_DS1302();
  47.   SCLK=1;RST=0;
  48.   return dat;
  49. }

  50. void GetTime()
  51. {
  52.    uchar i,addr=0x81;
  53.    for(i=0;i<7;i++)
  54.    { DateTime[i]=Read_Data(addr);addr+=2; }
  55. }

  56. uchar read_lcd_state()
  57. {
  58.   uchar state;
  59.   RS=0;RW=1;EN=1;DelayMS(1);
  60.   state=P0;
  61.   EN=0;DelayMS(1);
  62.   return state;
  63. }

  64. void lcd_busy_wait()
  65. {
  66.   while((read_lcd_state()&0x80)==0x80);
  67.   DelayMS(5);
  68. }

  69. void write_lcd_data(uchar dat)
  70. {
  71.          lcd_busy_wait();
  72.          RS=1;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);
  73.          EN=0;
  74. }

  75. void write_lcd_command(uchar dat)
  76. {
  77.          lcd_busy_wait();
  78.          RS=0;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);
  79.          EN=0;
  80. }

  81. void init_lcd()
  82. {
  83.          write_lcd_command(0x38);
  84.          DelayMS(1);
  85.          write_lcd_command(0x01);
  86.          DelayMS(1);
  87.          write_lcd_command(0x06);
  88.          DelayMS(1);
  89.          write_lcd_command(0x0c);
  90.          DelayMS(1);
  91. }

  92. void set_lcd_pos(uchar p)
  93. {
  94.         write_lcd_command(p|0x80);
  95. }

  96. void Display_LCD_String(uchar p,uchar *s)
  97. {
  98.         uchar i;
  99.         set_lcd_pos(p);
  100.         for(i=0;i<16;i++)
  101.         {
  102.           write_lcd_data(s[i]);
  103.           DelayMS(1);
  104.         }
  105. }

  106. void Format_DateTime(uchar d,uchar *a)
  107. {
  108.    a[0]=d/10+'0';
  109.    a[1]=d%10+'0';
  110. }

  111. void main()
  112. {
  113.   init_lcd();
  114.   while(1)
  115.   {
  116.         GetTime();
  117.         Format_DateTime(DateTime[6],LCD_DSY_BUFFER1+5);
  118.           Format_DateTime(DateTime[4],LCD_DSY_BUFFER1+8);
  119.         Format_DateTime(DateTime[3],LCD_DSY_BUFFER1+11);

  120.         strcpy(LCD_DSY_BUFFER1+13,WEEK[DateTime[5]]);

  121.         Format_DateTime(DateTime[2],LCD_DSY_BUFFER2+5);
  122.         Format_DateTime(DateTime[1],LCD_DSY_BUFFER2+8);
  123.         Format_DateTime(DateTime[0],LCD_DSY_BUFFER2+11);

  124.         Display_LCD_String(0x00,LCD_DSY_BUFFER1);
  125.         Display_LCD_String(0x40,LCD_DSY_BUFFER2);
  126.   }
  127. }
復制代碼

所有資料51hei提供下載:
數字萬年歷設計.rar (74.58 KB, 下載次數: 35)

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

使用道具 舉報

沙發
ID:680973 發表于 2020-1-4 13:48 | 只看該作者
感謝分享,
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品大片 | 91视视频在线观看入口直接观看 | 日日天天 | 99草免费视频 | 欧美一区二区三区视频在线观看 | 玖草资源 | 国产高清免费视频 | 日韩一区中文字幕 | 日韩www| 久久成人免费 | 91麻豆精品国产91久久久资源速度 | 美国一级片在线观看 | 91精品国产手机 | 久久大陆 | 欧美电影在线 | 国产伦一区二区三区久久 | 成人午夜免费福利视频 | 精品视频在线观看 | 九九亚洲| 五月婷婷在线播放 | 久久精品中文 | 欧美二区乱c黑人 | jizz18国产 | 蜜桃精品噜噜噜成人av | 在线观看中文视频 | 国产91在线 | 中日 | 亚洲欧美日韩精品久久亚洲区 | 亚洲日日夜夜 | 欧美精品v国产精品v日韩精品 | 亚洲一区 中文字幕 | 亚洲精品中文字幕av | 日本一区二区三区四区 | 国产乱码精品一区二区三区忘忧草 | 99久久精品一区二区毛片吞精 | 久久久久久成人 | 久久成人综合 | 欧美一级片在线看 | 亚洲一区国产 | 精品视频久久久 | 天天干天天干 | 91最新视频|