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

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

QQ登錄

只需一步,快速開始

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

為什么我的LCD1602單片機(jī)程序顯示日期時(shí)間錯(cuò)亂?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
下面是代碼。。。。。。。。只顯示年或者月或者日這樣單個(gè)是正常的,一起顯示就不對(duì)了

  1. #include<reg52.h>
  2. #include <intrins.h>
  3. #include <math.h>   
  4. #include <stdio.h>
  5. #include <1602.h>
  6. #include <24c02.h>

  7. #define uchar unsigned char        
  8. #define uint unsigned int

  9. uchar code word1[]={" Welcome........"};


  10. void second_display();
  11. void minute_display();
  12. void hour_display();
  13. void day_display();
  14. void month_display();
  15. void year_display();
  16. void init();
  17. void delay(uint z);
  18. void time();
  19. void display();
  20. void lcdready();

  21. uint s,min,h,d,m,y,i;
  22. uchar second[2];
  23. uchar minute[2];
  24. uchar hour[2];
  25. uchar day[2];
  26. uchar month[2];
  27. uchar year[4];

  28. sbit LE=P2^0;
  29. sbit DB=P0;


  30. void main()
  31. {        
  32.         LCD_Initial();    //液晶初始化
  33.         GotoXY(0,0);
  34.         Print_slow(word1);
  35.         LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   //清屏
  36.         init();
  37.         while(1)
  38.         {
  39.         
  40.         GotoXY(4,0);
  41.         Print("-");

  42.         GotoXY(7,0);
  43.         Print("-");

  44.         GotoXY(2,1);
  45.         Print(":");
  46.          
  47.         GotoXY(5,1);
  48.         Print(":");


  49.         year_display();
  50.         month_display();
  51.         day_display();
  52.         hour_display();
  53.         minute_display();
  54.         second_display();

  55.         }
  56. }




  57. void delay(uint z)
  58. {
  59.         uint x,y;
  60.         for(x=z;x>0;x--)
  61.                 for(y=110;y>0;y--);
  62. }



  63. void year_display()
  64. {

  65.         LE=1;

  66.         year[0]=y/1000+'0';
  67.         year[1]=y%1000/100+'0';
  68.         year[2]=y%1000%100/10+'0';
  69.         year[3]=y%10+'0';
  70.         GotoXY(0,0);
  71.         Print(year);

  72.         delay(50);
  73.         
  74.         LE=0;
  75. }


  76. void month_display()
  77. {

  78.         LE=1;

  79.         month[0]=m/10+'0';
  80.         month[1]=m%10+'0';
  81.         GotoXY(5,0);
  82.         Print(month);         

  83.         delay(50);

  84.         LE=0;

  85. }  

  86. void hour_display()
  87. {

  88.         LE=1;

  89.         hour[0]=h/10+'0';
  90.         hour[1]=h%10+'0';
  91.         GotoXY(0,1);
  92.         Print(hour);

  93.         delay(50);

  94.         LE=0;

  95. }

  96. void minute_display()
  97. {

  98.         LE=1;

  99.         minute[0]=min/10+'0';
  100.         minute[1]=min%10+'0';
  101.         GotoXY(3,1);
  102.         Print(minute);

  103.         delay(50);

  104.         LE=0;

  105. }

  106. void second_display()         
  107. {
  108.         LE=1;

  109.         second[0]=s/10+'0';
  110.         second[1]=s%10+'0';
  111.         GotoXY(6,1);
  112.         Print(second);

  113.         delay(50);

  114.         LE=0;

  115. }

  116. void day_display()
  117. {

  118.         LE=1;

  119.         day[0]=d/10+'0';
  120.         day[1]=d%10+'0';
  121.         GotoXY(8,0);
  122.         Print(day);

  123.         delay(50);

  124.         LE=0;

  125. }  


  126. void init()
  127. {        
  128.         s=0;
  129.         min=0;
  130.         h=0;
  131.         d=1;
  132.         m=1;
  133.         y=2001;
  134.         i=0;
  135.         LE=0;
  136.         EA=1;
  137.         ET0=1;
  138.         TMOD=0x01;
  139.         TH0=(65536-50000)/256;
  140.         TL0=(65536-50000)%256;
  141.         TR0=1;


  142. }

  143. void T0_rpt() interrupt 1
  144. {
  145.         TH0=(65536-50000)/256;
  146.         TL0=(65536-50000)%256;
  147.         i++;
  148.         time();
  149. }


  150. void time()
  151. {
  152.         if(i==20)
  153.         {
  154.                 i=0;
  155.                 s++;
  156.                 if(s==60)
  157.                 {
  158.                         s=0;
  159.                         min++;
  160.                         if(min==60)
  161.                         {
  162.                                 min=0;
  163.                                 h++;
  164.                                 if(h==60)
  165.                                 {
  166.                                         h=0;
  167.                                         min=0;
  168.                                         s=0;
  169.                                         d++;
  170.                                         if(d==29)
  171.                                                 if((y%4!=0)&&(m==2))
  172.                                                 {
  173.                                                         d=1;
  174.                                                         m++;
  175.                                                         if(m==13)
  176.                                                         {
  177.                                                                 m=1;
  178.                                                                 y++;
  179.                                                         }
  180.                                                 }
  181.                                         if(d==30)
  182.                                                 if((y%4==0)&&(m==2))
  183.                                                 {
  184.                                                         d=1;
  185.                                                         m++;
  186.                                                         if(m==13)
  187.                                                         {
  188.                                                                 m=1;
  189.                                                                 y++;
  190.                                                         }
  191.                                                 }
  192.                                         if(d==31)
  193.                                                 if((m==4)||(m==6)||(m==9)||(m==11))
  194.                                                 {
  195.                                                         d=1;
  196.                                                         m++;
  197.                                                         if(m==13)
  198.                                                         {
  199.                                                                 m=1;
  200.                                                                 y++;
  201.                                                         }
  202.                                                 }
  203.                                         if(d==32)
  204.                                                 if((m==1)||(m==3)||(m==5)||(m==7)||(m==8)||(m==10)||(m==12))
  205.                                                 {
  206.                                                         d=1;
  207.                                                         m++;
  208.                                                         if(m==13)
  209.                                                         {
  210.                                                                 m=1;
  211.                                                                 y++;
  212.                                                         }
  213.                                                 }
  214.                                 }
  215.                         }
  216.                 }
  217.         }        
  218. }

復(fù)制代碼

360截圖20170507003846335.jpg (153.46 KB, 下載次數(shù): 80)

360截圖20170507003846335.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:192756 發(fā)表于 2017-5-7 11:19 | 只看該作者
沒(méi)有看見你的print函數(shù)。你沒(méi)有貼
回復(fù)

使用道具 舉報(bào)

板凳
ID:111634 發(fā)表于 2017-5-7 11:33 | 只看該作者
本帖最后由 zl2168 于 2017-5-7 14:45 編輯

實(shí)例91  具有校正功能的時(shí)鐘1302(LCD1602顯示)
先Proteus仿真,確認(rèn)有效。
實(shí)例91 帶校正時(shí)鐘1302(LCD1602顯示).rar (52.68 KB, 下載次數(shù): 20)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil C和Proteus》清華大學(xué)出版社ISBN 978-7-302-41682-1,書中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。
仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購(gòu)買。


回復(fù)

使用道具 舉報(bào)

地板
ID:197554 發(fā)表于 2017-5-7 13:00 | 只看該作者
你沒(méi)有寫顯示函數(shù)  一起不行可能是顯示指針有錯(cuò)誤
回復(fù)

使用道具 舉報(bào)

5#
ID:196174 發(fā)表于 2017-5-7 16:19 | 只看該作者
ghkjhk 發(fā)表于 2017-5-7 11:19
沒(méi)有看見你的print函數(shù)。你沒(méi)有貼

這個(gè)函數(shù)在1602.h的頭文件里
//將字符輸出到液晶顯示
void Print(unsigned char *str)
{
    while(*str!='\0')
    {
        LCD_Write(LCD_DATA,*str);
        str++;
    }
}
回復(fù)

使用道具 舉報(bào)

6#
ID:196174 發(fā)表于 2017-5-7 16:20 | 只看該作者
a135587 發(fā)表于 2017-5-7 13:00
你沒(méi)有寫顯示函數(shù)  一起不行可能是顯示指針有錯(cuò)誤

顯示函數(shù)在1602.h的頭文件里
//將字符輸出到液晶顯示
void Print(unsigned char *str)
{
    while(*str!='\0')
    {
        LCD_Write(LCD_DATA,*str);
        str++;
    }
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区不卡在线 | 久久香焦 | 午夜a级理论片915影院 | 国产一区二区三区视频 | 在线免费观看a级片 | 夜夜骚视频 | 9191在线观看 | 亚洲区一| 91视频网址| 一本色道久久综合亚洲精品高清 | 精品av天堂毛片久久久借种 | 国产精品7777777 | 欧美精品成人一区二区三区四区 | 一级免费在线视频 | 黄网站在线播放 | 欧美精品第一页 | 粉嫩高清一区二区三区 | 在线观看中文字幕亚洲 | 亚欧精品 | 真人一级毛片 | 免费在线观看成人 | 一区二区三区在线电影 | 在线看片国产精品 | 成人免费视频网站在线观看 | 日韩三区在线 | 精品国产91亚洲一区二区三区www | 一区二区久久精品 | 91精品国产综合久久久久久 | 欧美日韩在线一区 | 成人精品久久 | 日韩精品专区在线影院重磅 | 国产精品久久久久久久粉嫩 | 国产精品一区二区三区久久久 | 日韩av第一页 | 日韩精品在线观看一区二区三区 | 日朝毛片| 夏同学福利网 | 81精品国产乱码久久久久久 | 精精精精xxxx免费视频 | 亚洲精品一区二区 | 在线免费观看黄a |