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

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

QQ登錄

只需一步,快速開(kāi)始

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

四位數(shù)碼管共陰極的帶鬧鐘時(shí)鐘仿真,歷時(shí)四天終于成功

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
四天終于成功,分享在附件里
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. unsigned char code table[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};
  3. unsigned int num,tt;
  4. unsigned char ALARM,ALA_SWITCH,ALA_SHI,ALA_FEN,SHI,FEN,num1,num2,num3,num4;  
  5. sbit K1=P1^0;
  6. sbit K2=P1^1;
  7. sbit K3=P1^2;
  8. sbit K4=P1^3;
  9. sbit GLED=P0^0;
  10. sbit RLED=P0^1;
  11. sbit CLOCK_ADJ=P0^2;
  12. void delay(unsigned int a);
  13. void display(unsigned char a,unsigned char b);
  14. void readkey();
  15. void main()
  16. {      
  17.         RLED=0;
  18.         ALARM=0;
  19.         ALA_SWITCH=0;
  20.         CLOCK_ADJ=1;
  21.         ALA_SHI=12;
  22.         ALA_FEN=0;
  23.         SHI=0;
  24.         FEN=0;
  25.         num=0;
  26.         tt=0;
  27.         TMOD=0x01;      
  28.         EA=1;
  29.         ET0=1;
  30.         TR0=1;
  31.         TH0=(65536-50000)/256;//50ms
  32.         TL0=(65536-50000)%256;
  33.         while(1)
  34.         {               
  35.                 if(tt>=10)  
  36.                 {        RLED=!RLED;
  37.                         tt=0;
  38.                         num++;
  39.                         if(num>=120)
  40.                                 {
  41.                                  num=0;
  42.                                  FEN++;
  43.                                  }
  44.                         if(FEN>=60)
  45.                                 {
  46.                                  FEN=0;
  47.                                  SHI++;
  48.                                  }
  49.                         if(SHI>=24) SHI=0;               
  50.                 }
  51.                 if(ALA_SHI>=24)ALA_SHI=0;
  52.                 if(ALA_FEN>=60)ALA_FEN=0;
  53.                 if(SHI==ALA_SHI&&FEN==ALA_FEN)ALARM=1;
  54.                 else ALARM=0;
  55.                 readkey();
  56.                 if(CLOCK_ADJ==1)display(SHI,FEN);
  57.                 if(CLOCK_ADJ==0)display(ALA_SHI,ALA_FEN);      
  58.         }
  59. }
  60. void delay(unsigned int a)
  61. {
  62.         unsigned int x,y;
  63.         for(x=a;x>0;x--)
  64.                 for(y=100;y>0;y--);
  65. }        
  66. void time0() interrupt 1
  67. {
  68.         TH0=(65536-50000)/256;
  69.         TL0=(65536-50000)%256;
  70.         tt++;
  71.         if(ALARM==1&&ALA_SWITCH==1)GLED=!GLED;
  72.                
  73. }

  74. void display(unsigned char a,unsigned char b)
  75. {               
  76.         num1=a/10;
  77.         num2=a%10;
  78.         num3=b/10;
  79.         num4=b%10;
  80.       
  81.         P3=0xFF;
  82.         P2=table[num1];
  83.         P3=0x0E;                                             
  84.         delay(2);
  85.       
  86.         P3=0xFF;
  87.         if(num%2==0)
  88.         P2=table[num2]|0x80;
  89.         else P2=table[num2];
  90.         P3=0X0D;
  91.         delay(2);
  92.       

  93.         P3=0xFF;
  94.         P2=table[num3];
  95.         P3=0X0B;
  96.         delay(2);      
  97.       
  98.         P3=0xFF;
  99.         P2=table[num4];
  100.         P3=0X07;
  101.         delay(2);      
  102. }

  103. void readkey()
  104. {
  105.                 if(K1==0)
  106.                 {
  107.                         delay(5);
  108.                         delay(5);
  109.                         if(K1==0)CLOCK_ADJ=!CLOCK_ADJ;
  110.                         while(!K1) ;     
  111.                         delay(5);
  112.                         delay(5);                       
  113.                 }      
  114.                 if(K2==0)
  115.                 {
  116.                         delay(5);
  117.                         delay(5);
  118.                         if(K2==0)
  119.                         {
  120.                                 if(CLOCK_ADJ==1)SHI++;
  121.                                 if(CLOCK_ADJ==0)ALA_SHI++;
  122.                         }
  123.                         while(!K2);
  124.                         delay(5);
  125.                         delay(5);
  126.                 }
  127.                 if(K3==0)
  128.                 {
  129.                         delay(5);
  130.                         delay(5);
  131.                         if(K3==0)
  132.                         if(CLOCK_ADJ==1)FEN++;
  133.                         if(CLOCK_ADJ==0)ALA_FEN++;
  134.                         while(!K3) ;
  135.                         delay(5);
  136.                         delay(5);      
  137.                 }
  138.                 if(K4==0)
  139.                 {
  140.                         delay(5);
  141.                         delay(5);
  142.                         if(K4==0)
  143.                         {
  144.                         GLED=1;
  145.                         ALA_SWITCH=!ALA_SWITCH;
  146.                         }
  147.                         while(!K4);
  148.                         delay(5);
  149.                         delay(5);
  150.                 }               
  151. }
復(fù)制代碼

所有資料51hei提供下載:
不成功便成仁之終極ojbk無(wú)敵小霸王時(shí)鐘.zip (37.88 KB, 下載次數(shù): 84)


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

使用道具 舉報(bào)

沙發(fā)
ID:348345 發(fā)表于 2018-12-27 21:37 | 只看該作者
回復(fù)

使用道具 舉報(bào)

板凳
ID:391591 發(fā)表于 2019-1-8 16:08 | 只看該作者
你這用mcu直接驅(qū)動(dòng)數(shù)碼管合適不?
回復(fù)

使用道具 舉報(bào)

地板
ID:476064 發(fā)表于 2019-4-2 18:01 來(lái)自手機(jī) | 只看該作者
這個(gè)程序是怎么設(shè)置小時(shí)的?另外那個(gè)鬧鐘也沒(méi)法設(shè)置小時(shí)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩中文字幕免费 | av片在线观看 | 黄色av网站在线观看 | 一区二区三区av | 中文字幕黄色大片 | 中文字幕日本一区二区 | 影音先锋中文在线 | 成人免费在线视频 | 欧美精品综合在线 | 精品自拍视频 | 精品国产欧美一区二区三区成人 | 黄色欧美视频 | 中文字幕在线观看av | 国产在线精品一区 | 国产一区久久久 | 国产精品欧美一区喷水 | 男女污污网站 | 亚洲成人一区 | 日韩午夜电影 | 欧美二区在线 | 久久逼逼 | 国产一区中文 | 亚洲女人天堂网 | 狠狠操狠狠操 | 国产成人在线免费 | 久久久精品网站 | www.操.com| 在线观看你懂的网站 | 午夜影院毛片 | 成人不卡 | 成人欧美一区二区三区黑人孕妇 | 国产一区二区三区高清 | 国产精品99精品久久免费 | 亚洲日本激情 | 国产精品久久国产精品99 | 久久精品亚洲 | 免费大黄视频 | 久久久精品一区 | 国产精品久久久久免费 | 精品久久久久久久久亚洲 | 一区二区欧美在线 |