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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

12864顯示可調時鐘天氣日歷

[復制鏈接]
跳轉到指定樓層
樓主
ID:375092 發表于 2018-7-19 19:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
程序簡單清晰,有疑問帖子留言回復!

單片機源程序如下:
  1. #include "reg51.h"
  2. #define uchar unsigned char
  3. #define        uint unsigned int
  4. sbit RS=P2^6;
  5. sbit RW=P2^5;
  6. sbit EP=P2^7;
  7. sbit K1=P3^1;
  8. sbit K2=P3^0;
  9. sbit K3=P3^2;
  10. uchar num,t;
  11. uchar K1num;
  12. char s,f,m;
  13. uchar code table  []="2017-05-21 MON";
  14. uchar code table1 []="  00: 00: 00 AM";
  15. uchar code table2 []="重慶今日 多云";
  16. uchar code table3 []="東方  20-25 *C";
  17. void init1();
  18. void delay(uint k)
  19. {
  20.         uint i,j;
  21.         for(i=k;i>0;i--)
  22.                 for(j=110;j>0;j--);
  23. }
  24. void write(uchar com)
  25. {
  26.         RS=0;
  27.         RW=0;
  28.         P0=com;
  29.         delay(5);
  30.         EP=1;
  31.         delay(5);
  32.         EP=0;
  33. }
  34. void read(uchar date)
  35. {
  36.         RS=1;
  37.         RW=0;
  38.         P0=date;
  39.         delay(5);
  40.         EP=1;
  41.         delay(5);
  42.         EP=0;
  43. }
  44. void init()
  45. {
  46.         RS=0;
  47.         RW=0;
  48.         EP=0;
  49.         write(0x38);
  50.         write(0x0c);
  51.         write(0x06);
  52.         write(0x01);
  53.         write(0x80);
  54.         for(num=0;num<14;num++)
  55.         {
  56.                 read(table[num]);
  57.                 delay(20);
  58.         }
  59.         write(0x90);
  60.         for(num=0;num<11;num++)
  61.         {
  62.                 read(table2[num]);
  63.                 delay(20);
  64.         }
  65.         write(0x98);
  66.         for(num=0;num<14;num++)
  67.         {
  68.                 read(table3[num]);
  69.                 delay(20);
  70.         }
  71.         write(0x88);
  72.         for(num=0;num<16;num++)
  73.         {
  74.                 read(table1[num]);
  75.                 delay(20);
  76.         }
  77. }
  78. void write_sfm(uchar add,uchar date)
  79. {
  80.         uchar shi,ge;
  81.         shi=date/10;
  82.         ge=date%10;
  83.         write(0x83+add);
  84.         read(0x30+shi);
  85.         read(0x30+ge);
  86. }
  87. void key()
  88. {
  89.         if(K1==0)
  90.         {
  91.                 delay(5);
  92.                 if(K1==0)
  93.                 {
  94.                         K1num++;
  95.                         while(!K1);
  96.                         if(K1num==1)
  97.                         {
  98.                                 TR0=0;
  99.                                 write(0x83+10);                  //為啥子是 0x83  ???
  100.                                 write(0x0f);                 //重新規定,顯示光標
  101.                         }
  102.                 }
  103.                 if(K1num==2)
  104.                 {
  105.                         write(0x83+8);
  106.                 }
  107.                 if(K1num==3)
  108.                 {
  109.                         write(0x83+6);
  110.                 }
  111.                 if(K1num==4)
  112.                 {
  113.                         K1num=0;
  114.                         write(0x0c);                          //無光標 ,不閃爍
  115.                         TR0=1;
  116.                 }
  117.         }
  118.         if(K1num!=0)
  119.         {
  120.                 if(K2==0)
  121.                 {
  122.                         delay(5);
  123.                         if(K2==0)
  124.                         {
  125.                                 while(!K2);
  126.                                 if(K1num==1)
  127.                                 {
  128.                                         m++;
  129.                                         if(m==60)
  130.                                         m=0;
  131.                                         write_sfm(10,m);
  132.                                         write(0x83+10);
  133.                                 }
  134.                                 if(K1num==2)
  135.                                 {
  136.                                         f++;
  137.                                         if(f==60)
  138.                                         f=0;
  139.                                         write_sfm(8,f);
  140.                                         write(0x83+8);
  141.                                 }
  142.                                 if(K1num==3)
  143.                                 {
  144.                                         s++;
  145.                                         if(s==23)
  146.                                         s=0;
  147.                                         write_sfm(6,s);
  148.                                         write(0x83+6);
  149.                                 }
  150.                         }
  151.                 }
  152.                 if(K3==0)
  153.                 {
  154.                         delay(5);
  155.                         if(K3==0)
  156.                         {
  157.                                 while(!K3);
  158.                                 if(K1num==1)
  159.                                 {
  160.                                         m--;
  161.                                         if(m==1)
  162.                                         m=59;
  163.                                         write_sfm(10,m);
  164.                                         write(0x83+10);
  165.                                 }
  166.                                 if(K1num==2)
  167.                                 {
  168.                                         f--;
  169.                                         if(f==1)
  170.                                         f=59;
  171.                                         write_sfm(8,f);
  172.                                         write(0x83+8);
  173.                                 }
  174.                                 if(K1num==3)
  175.                                 {
  176.                                         s--;
  177.                                         if(s==1)
  178.                                         m=23;
  179.                                         write_sfm(6,s);
  180.                                         write(0x83+6);
  181.                                 }
  182.                         }
  183.                 }
  184.         }
  185. }
  186. void main()
  187. {
  188.         init();
  189.         init1();
  190.         while(1)
  191.         {
  192.                 key();
  193.         }
  194. }
  195. void init1()
  196. {
  197.         TMOD=0x01;
  198.         EA=1;
  199.         ET0=1;
  200.         TR0=1;
  201.         TH0=(65636-50000)/256;
  202.         TL0=(65636-50000)%256;
  203. }
  204. void time0() interrupt 1
  205. {
  206.         TH0=(65636-50000)/256;
  207.         TL0=(65636-50000)%256;
  208.         t++;
  209.         if(t==18)           //與上面的50000有一秒左右
  210.         {
  211.                 t=0;
  212.                 m++;
  213.                 if(m==60)
  214.                 {
  215.                         m=0;
  216.                         f++;
  217.                         if(f==60)
  218.                         {
  219.                                 f=0;
  220.                                 s++;
  221.                                 if(s==24)
  222.                                 {
  223.                                         s=0;
  224.                                 }
  225.                                 write_sfm(6,s);
  226.                         }
  227.                         write_sfm(8,f);
  228.                 }
  229.                 write_sfm(10,m);
  230.         }
  231. }
復制代碼

所有資料51hei提供下載:

12864顯示可調時鐘天氣日歷.zip (41.23 KB, 下載次數: 26)


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

使用道具 舉報

沙發
ID:1 發表于 2018-7-19 20:19 | 只看該作者
本帖需要分享原理圖后才可獲得100積分
回復

使用道具 舉報

板凳
ID:375092 發表于 2018-7-20 10:32 | 只看該作者
12864顯示的開發板原理圖,有問題留言回復,謝謝!

HC6800-ES V2.0 新版.pdf

759.71 KB, 下載次數: 12, 下載積分: 黑幣 -5

51板子程序原理圖

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美综合网| 欧美久久精品一级黑人c片 91免费在线视频 | 日韩一区二区在线观看视频 | a久久久久久 | 国产精品视屏 | 欧美精品国产精品 | 亚洲一av| 一区二区精品 | 亚洲网址 | 国产视频一区二区 | 欧美一区精品 | 久久精彩视频 | h片免费在线观看 | 亚洲播放一区 | 久久99精品视频 | 免费特级黄毛片 | 久久com | 在线黄色影院 | 日本电影韩国电影免费观看 | 国产精品久久九九 | 成年人在线视频 | 天天综合日日夜夜 | 日韩一区中文字幕 | 中文字幕国产视频 | 亚洲专区在线 | 亚洲午夜久久久 | 国产精品久久午夜夜伦鲁鲁 | 国产精品性做久久久久久 | 亚洲精品在线免费观看视频 | www.成人在线视频 | 你懂的国产 | 亚洲高清视频一区 | 在线成人 | 国产久视频 | 精品国产久 | 91在线精品秘密一区二区 | 嫩草伊人| 日日碰狠狠躁久久躁96avv | 日韩av一二三区 | 四虎影院免费在线播放 | 人人干人人超 |