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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3589|回復: 0
收起左側

簡易單片機電子時鐘仿真設計

[復制鏈接]
ID:272862 發表于 2018-1-7 19:20 | 顯示全部樓層 |閱讀模式
基于89c52單片機的電子時鐘設計。僅供參考。
0.jpg
單片機源程序如下:

  1. #include<reg52.h>
  2. #define uc unsigned char
  3. #define ui unsigned int
  4. sbit LED=P3^2;
  5. sbit key0=P3^3;
  6. sbit key1=P3^4;
  7. sbit key2=P3^5;
  8. sbit key3=P3^6;
  9. sbit wan=P3^7;
  10. uc min,hour,sec,num;
  11. bit bdata zhi;
  12. uc code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*0,1,2,3,4,5,6,7,8,9,.*/

  13. void delay(ui x)
  14. {
  15.         ui i,j;
  16.         for(i=0;i<x;i++)
  17.         for(j=0;j<121;j++);
  18. }
  19. void display()
  20. {
  21.         P0=tab[hour/10];
  22.         P2=0xdf;
  23.         delay(1);
  24.         P2=0xff;

  25.         P0=(tab[hour%10])|0x80;
  26.         P2=0xef;
  27.         delay(1);
  28.         P2=0xff;

  29.         P0=tab[min/10];
  30.         P2=0xf7;
  31.         delay(1);
  32.         P2=0xff;

  33.         P0=(tab[min%10])|0x80;
  34.         P2=0xfb;
  35.         delay(1);
  36.         P2=0xff;

  37.         P0=tab[sec/10];
  38.         P2=0xfd;
  39.         delay(1);
  40.         P2=0xff;

  41.         P0=tab[sec%10];
  42.         P2=0xfe;
  43.         delay(1);
  44.         P2=0xff;
  45. }

  46. void keyscan()
  47. {
  48.         if(key0==0)
  49.         {
  50.                 delay(5);
  51.                 if(key0==0)
  52.                 {
  53.                         LED=~LED;
  54.                         zhi=~zhi;
  55.                         if((hour>=12)&&(zhi==0))
  56.                         {       
  57.                                 hour=hour-12;
  58.                         }
  59.                         if((zhi==1)&&(wan==1))
  60.                         {
  61.                                 hour=hour+12;
  62.                         }                                          
  63.                 }
  64.                 while(!key0) display();
  65.         }
  66.         if(key1==0)
  67.         {
  68.                 delay(5);
  69.                 if((key1==0)&&(zhi==0))
  70.                 {
  71.                         hour++;
  72.                         if(hour==12)
  73.                         {
  74.                                 hour=0;
  75.                                 wan=~wan;
  76.                         }
  77.                 }
  78.                 if((key1==0)&&(zhi==1))
  79.                 {
  80.                         hour++;
  81.                         if(hour==24)
  82.                         hour=0;
  83.                 }
  84.                 while(!key1) display();
  85.         }
  86.         if(key2==0)
  87.         {
  88.                 delay(5);
  89.                 if(key2==0)
  90.                 {
  91.                         min++;
  92.                         if(min==60)
  93.                         min=0;
  94.                 }
  95.                 while(!key2) display();
  96.         }
  97.         if(key3==0)
  98.         {
  99.                 delay(5);
  100.                 if(key3==0)
  101.                 {sec=0;}
  102.                 while(!key3) display();
  103.         }
  104. }

  105. void init()
  106. {
  107.         sec=0;
  108.         min=30;
  109.         hour=12;
  110.         LED=1;
  111.         zhi=1;
  112.         wan=1;
  113.         TMOD=0x01;
  114.         TH0=(65536-50000)/256;
  115.         TL0=(65536-50000)%256;
  116.         EA=1;
  117.         ET0=1;
  118.         TR0=1;
  119. }

  120. void shizhi()
  121. {
  122.         if(hour>=12)
  123.         wan=1;
  124.         if((hour<12)&&(zhi==1))
  125.         wan=0;
  126. }

  127. void main()
  128. {
  129.         init();
  130.         while(1)
  131.         {
  132.                 display();
  133.                 keyscan();
  134.                 shizhi();
  135.         }
  136. }
  137. void time0() interrupt 1
  138. {
  139.         TH0=(65536-50000)/256;
  140.         TL0=(65536-50000)%256;
  141.         num++;
  142.         if(num==20)
  143.         {
  144.                 num=0;
  145.                 sec++;
  146.                 if(sec==60)
  147. ……………………

  148. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
簡易電子鐘.rar (60.9 KB, 下載次數: 34)


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费淫片aa视频免费 | 在线播放91 | 综合久久久久 | 精品三级在线观看 | 日韩欧美一区二区三区免费观看 | 久久综合九九 | 天堂在线免费视频 | 久久精品亚洲欧美日韩久久 | 秋霞国产| 91精品国产91久久久久久吃药 | 九九导航 | 欧美精品一二三区 | 久久一二区 | 国产偷录视频叫床高潮对白 | 天天操夜夜骑 | 欧美中文一区 | 亚洲午夜精品视频 | www.国产.com| 亚洲视频 欧美视频 | 啪一啪| 国产激情一区二区三区 | 在线视频日韩 | 日韩色视频 | 国产特级毛片aaaaaa喷潮 | 日韩中文字幕视频 | 一区二区三区免费 | 精品免费看 | 久久99精品久久久 | 一区二区精品 | 2一3sex性hd | 日韩精品一区二区三区视频播放 | 国产91精品久久久久久久网曝门 | 欧美精品在线免费 | 免费视频一区 | 国产精品一区二区av | 国产精品亚洲一区 | 91文字幕巨乱亚洲香蕉 | 亚洲激情一区二区 | 91精品国产高清久久久久久久久 | 久草中文在线 | 最新一级毛片 |