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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

AT89C51單片機為核心的可調(diào)電子時鐘時鐘仿真+代碼

[復(fù)制鏈接]
ID:431392 發(fā)表于 2018-11-22 19:27 | 顯示全部樓層 |閱讀模式
AT89C51單片機為核心的可調(diào)電子時鐘時鐘,有原程序(附上注解)

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png

單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code table[]="   HH:MM:ss!  ";
  5. uchar code table1[]="WWW.BAIDU.COM";
  6. sbit E=P3^4;        //液晶使能端
  7. sbit RS=P3^5;        //液晶數(shù)據(jù)命令選擇端
  8. sbit dula=P2^6;                //申明U1鎖存器的鎖存端
  9. sbit wela=P2^7;                //申明U2鎖存器的鎖存端
  10. sbit s_add=P2^0;
  11. sbit s_dec=P2^1;
  12. sbit m_add=P2^2;
  13. sbit m_dec=P2^3;
  14. sbit h_add=P2^4;
  15. sbit h_dec=P2^5;

  16. sbit fun=P3^0;
  17. sbit add=P3^1;
  18. sbit dec=P3^2;
  19. uchar num ,ssf;
  20.         int time=0;
  21.          char hh=12;
  22.          char mm=22;
  23.          char ss=33;
  24.          char funnum=0;
  25. void delay(uint z)
  26. {
  27. while(z--);
  28. }
  29. void write_com(uchar com)
  30. {
  31.         RS=0;
  32.         P0=com;
  33.         delay(5);
  34.         E=1;
  35.         delay(5);
  36.         E=0;
  37. }
  38. void write_data(uchar date)
  39. {
  40.         RS=1;
  41.         P0=date;
  42.         delay(5);
  43.         E=1;
  44.         delay(5);
  45.         E=0;
  46. }
  47. void init()
  48. {
  49.         dula=0;
  50.         wela=0;
  51.         E=0;
  52.         write_com(0x38);//設(shè)置16X2顯示,5X7點陣,8位數(shù)據(jù)接口
  53.         write_com(0x0c);//設(shè)置開顯示,不顯示光標
  54.         write_com(0x06);//寫一個字符后地址指針加1
  55.         write_com(0x01);//顯示清零,數(shù)據(jù)指針清零



  56. }
  57. void Timer0Init(void)                //1毫秒@12.000MHz
  58. {
  59.   
  60.         TMOD &= 0xF0;                //設(shè)置定時器模式
  61.         TMOD |= 0x01;                //設(shè)置定時器模式
  62.         TL0 = 0x18;                //設(shè)置定時初值
  63.         TH0 = 0xFC;                //設(shè)置定時初值
  64.         TF0 = 0;                //清除TF0標志
  65.         TR0 = 1;                //定時器0開始計時
  66.         EA=1;
  67.         ET0=1;
  68. }

  69. void main()
  70. {

  71.         init();
  72.         Timer0Init();
  73.         write_com(0x80);
  74.         for(num=0;num<11;num++)
  75.         {
  76.                 write_data(table[num]);
  77.                 delay(5);
  78.         }

  79.          write_com(0x80);
  80.         while(1)
  81.         {

  82. if(ssf==1)
  83. { ssf=0;
  84. write_com(0x80+3);
  85. write_data((hh/10)+'0');
  86. write_data((hh%10)+'0');
  87. write_com(0x80+6);
  88. write_data((mm/10)+'0');
  89. write_data((mm%10)+'0');
  90. write_com(0x80+9);
  91. write_data((ss/10)+'0');
  92. write_data((ss%10)+'0');

  93. }
  94.                 if (h_add==0)
  95.                 {
  96.                 ssf=1;
  97.                 while(!h_add);
  98.                 hh++;
  99.                 if(hh==24) hh=0;
  100.                 }
  101.                 if (h_dec==0)
  102.                 { ssf=1;
  103.                 while(!h_dec);
  104.                 hh--;
  105.                 if(hh==-1) hh=23;
  106.                 }
  107.                 if (m_add==0)
  108.                 {
  109.                 ssf=1;
  110.                 while(!m_add);
  111.                 mm++;
  112.                 if(mm==60) mm=0;
  113.                 }
  114.                 if (m_dec==0)
  115.                 { ssf=1;
  116.                 while(!m_dec);
  117.                 mm--;
  118.                 if(mm==-1) mm=59;
  119.                 }
  120.         if (s_add==0)
  121.                 {
  122.                 ssf=1;
  123.                 while(!s_add);
  124.                 ss++;
  125.                 if(ss==60) ss=0;
  126.                 }
  127.                 if (s_dec==0)
  128.                 { ssf=1;
  129.                 while(!s_dec);
  130.                 ss--;
  131.                 if(ss==-1) ss=59;
  132.                 }
  133. if(fun==0)
  134. { while(!fun) ;
  135.   funnum++;         EA=0;
  136.   if(funnum==4)        {EA=1; funnum=0;}

  137. }
  138.                 if(funnum==1)
  139.                 {if(add==0)
  140.                 { while(!add); hh++;if(hh==24)hh=0; ssf=1;}                  
  141.                 if(dec==0)
  142.                 { while(!dec);
  143.                    hh--;
  144.                    if(hh==-1)hh=23;
  145.                    ssf=1;  
  146.                 }
  147.                   
  148.                 }
  149. if(funnum==2)
  150. {if(add==0)
  151. { while(!add);        mm++;if(mm==60)mm=0; ssf=1; }
  152. if(dec==0)
  153. { while(!dec);  mm--;if(mm==-1)mm=59; ssf=1; }  
  154. }
  155. if(funnum==3)
  156. {if(add==0)
  157. { while(!add);        ss++;if(ss==60)ss=0; ssf=1; }
  158. if(dec==0)
  159. { while(!dec);  ss--;if(ss==-1)ss=59; ssf=1; }  
  160. }


  161.         }
  162. }

  163. time0()        interrupt  1
  164. {
  165.         TL0 = 0x18;                //設(shè)置定時初值
  166.         TH0 = 0xFC;                //設(shè)置定時初值
  167. time++;
  168. if(time==1000)
  169. { time=0; ssf=1;
  170.    ss++;
  171.    if(ss==60)
  172.    {  ss=0;
  173.       mm++;
  174.           if(mm==60)
  175.           {         mm=0;
  176.             hh++;
  177.                 if(hh==24)
  178.                 { hh=0;
  179.                 }
  180.           
  181.           }
  182.    
  183.    
  184.    }



  185. }


  186. }
復(fù)制代碼
0.png
所有資料51hei提供下載:
可調(diào)時鐘.rar (14.12 KB, 下載次數(shù): 57)
回復(fù)

使用道具 舉報

ID:484023 發(fā)表于 2019-3-4 09:11 | 顯示全部樓層
你好  這個功能能介紹下嗎
回復(fù)

使用道具 舉報

ID:490020 發(fā)表于 2019-3-14 13:58 | 顯示全部樓層
很好,收藏了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩18| 精品在线视频播放 | 亚洲一一在线 | 欧美日韩成人在线观看 | 久久久91精品国产一区二区三区 | 丁香久久 | 日韩毛片在线观看 | 白浆在线| 国产精品久久国产精品99 | 看一级毛片视频 | 少妇黄色| 中文字幕在线观看一区 | 欧美日韩精品一区二区 | 免费a国产| 国产成人艳妇aa视频在线 | www一级片 | 国产网站在线免费观看 | 九九国产 | 中文字幕 视频一区 | 亚洲免费在线观看视频 | 日韩不卡在线 | 日韩在线一区二区三区 | 国产福利视频 | 97精品超碰一区二区三区 | 日韩波多野结衣 | 天天干天天操天天爽 | 中文字幕在线第二页 | 99热视| 成人av一区二区亚洲精 | 国产精品一区久久久 | 欧美国产日韩成人 | 国产真实精品久久二三区 | 免费在线观看av网站 | 日本精品一区二区 | 密室大逃脱第六季大神版在线观看 | 天天干夜夜操视频 | 国产一级大片 | 天天玩天天干天天操 | 中文字幕在线观看www | 中文字幕久久久 | 第一区在线观看免费国语入口 |