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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2147|回復(fù): 0
收起左側(cè)

單片機(jī)萬年歷設(shè)計(jì)簡單1602顯示ds1302采集系統(tǒng) Proteus仿真程序

[復(fù)制鏈接]
ID:508977 發(fā)表于 2019-12-18 16:49 | 顯示全部樓層 |閱讀模式
根據(jù)電路圖,編寫程序使得LCD1602顯示器顯示DS1302時(shí)鐘芯片當(dāng)前年、月、日、十、分和秒信息。

附件包含對應(yīng)仿真和C程序
51hei.png

單片機(jī)源程序如下:
  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. }
復(fù)制代碼

所有資料51hei提供下載:
萬年歷設(shè)計(jì).zip (150.13 KB, 下載次數(shù): 25)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲伊人久久综合 | 欧美视频免费在线观看 | h视频免费在线观看 | 91视频在线观看 | 国产激情视频在线观看 | 99精品电影| 91电影| 国产区精品视频 | 亚洲综合区 | 亚洲成人av在线 | 麻豆一区一区三区四区 | 99热热 | 美美女高清毛片视频免费观看 | 91精品国产欧美一区二区 | 久久精品欧美视频 | 国产精品成人一区二区三区吃奶 | 色综合久久天天综合网 | 免费中文字幕日韩欧美 | 欧美激情一区二区三区 | 美女国内精品自产拍在线播放 | 三级欧美 | 特一级黄色毛片 | 金莲网 | 欧美1区2区 | 欧美一级全黄 | 在线一区二区三区 | 国产精品成人一区二区三区夜夜夜 | 久久久久久免费免费 | 久久99精品久久久久蜜桃tv | 国产午夜精品一区二区三区嫩草 | 精品国产一区二区 | 国产 亚洲 网红 主播 | 国产精品久久久久久吹潮日韩动画 | 日韩美香港a一级毛片免费 国产综合av | 国产精品久久久久久久久久久久午夜片 | 亚洲高清在线 | 国产精品国产a | 福利二区 | 中文字幕乱码一区二区三区 | 福利视频一区二区三区 | 91精品国产一区二区三区动漫 |