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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

精確到0.1秒的三位秒表單片機程序Proteus仿真(共陰極)

[復制鏈接]
ID:583433 發表于 2019-8-8 15:06 | 顯示全部樓層 |閱讀模式
采用80c52單片機,精確到0.1秒的三位秒表(共陰極)。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
11.jpg

單片機源程序如下:
  1. #include<reg52.h>          //頭函數
  2. #define led P0
  3. typedef unsigned char u8;
  4. typedef unsigned int u16;

  5. sbit P20=P2^0;                 //位定義
  6. sbit P21=P2^1;
  7. sbit P22=P2^2;
  8. sbit P23=P2^3;
  9. sbit P27=P0^7;

  10. sbit k1 = P3^2;
  11. sbit k2 = P3^3;
  12. sbit beep=P1^5;
  13. static u8 min = 0;
  14. static u8 sec = 0;
  15. static u8 spot = 0;

  16. u8  smgz[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  17.                     0x7f,0x6f};                                                                       

  18. void delay(u16 i)
  19. {
  20.     while(i--);
  21. }
  22. void display( )
  23. {
  24.         P23=0;
  25.         P0=smgz[spot%10];
  26.         delay(1000);
  27.         P23=1;
  28.         P22=0;
  29.         P0=smgz[sec%10]|0x80;
  30.         delay(1000);
  31.         P22=1;
  32.         P21=0;
  33.         P0=smgz[min%10];
  34.         delay(1000);
  35.         P21=1;
  36.         P20=0;
  37.         P0=smgz[min/10];
  38.         delay(1000);
  39.         P20=1;
  40. }
  41.                                                          
  42. void Timer0Init()
  43. {
  44.     TMOD |= 0X01;
  45.     TH0 = 0XFC;
  46.     TL0 = 0X18;
  47.     ET0 = 1;
  48.     IT0=1;//跳變沿出發方式(下降沿)
  49.     EX0=1;//打開INT0的中斷允許。
  50.     IT1=1;
  51.     EX1=1;
  52.     EA = 1;
  53.     TR0 = 1;     
  54. }
  55. void BEEP()
  56. {
  57.         while(1)
  58.         {        
  59.                 beep=~beep;
  60.                 delay(10); //延時大約100us           
  61.         }
  62. }
  63. void main()
  64. {

  65.     Timer0Init();
  66.     while(1)
  67.     {   
  68.             display( );
  69.     }            
  70. }
  71. void Timer0() interrupt 1
  72. {
  73.         static int Timer0_times = 0;
  74.         TH0 = 0XFC;
  75.         TL0 = 0X18;
  76.         Timer0_times++;
  77.         if(Timer0_times == 70)
  78.         {
  79.             if(spot < 9)
  80.                 spot++;
  81.             else if(sec < 9)
  82.             {
  83.                 sec++;
  84.                 spot = 0;
  85.             }
  86.             else
  87.             {
  88.                 min++;
  89.                 spot = sec = 0;
  90.                                 if(min>=12)
  91.                                 {
  92.                                         BEEP();
  93.                                 }
  94.                                 
  95.             }
  96.             Timer0_times = 0;
  97.         }
  98. }

  99. void Int0()    interrupt 0        //外部中斷0的中斷函數
  100. {
  101.     delay(1000);     //延時消抖
  102.     if(k1==0)
  103.     {
  104.         TR0 = ~TR0;
  105.     }
  106. }

  107. void Int1()    interrupt 2        //外部中斷1的中斷函數
  108. {
  109.     delay(1000);     //延時消抖
  110.     if(k2==0)
  111.     {
  112.         TR0 = 0;
  113.           min = sec = spot = 0;

  114.     }
  115. }
復制代碼

所有資料51hei提供下載:
精確到0.1秒的三位秒表(共陰極).rar (46.22 KB, 下載次數: 47)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区国产精品 | 国产91在线 | 中日 | 精品国产一区二区三区久久狼黑人 | 国产婷婷色综合av蜜臀av | 亚洲精品一二三区 | 91久久久久久久久久久 | 欧美亚洲综合久久 | 久久亚洲一区二区 | 国产在线精品一区二区 | 亚洲在线成人 | 国产九九精品 | 久久最新 | 国产91丝袜在线18 | 亚洲成人动漫在线观看 | 日本精品一区二区 | 18av在线播放 | 亚洲啊v | 国产精品视频一二三区 | 欧美一区免费在线观看 | 久久久久久久久久久久久久国产 | 成人小视频在线观看 | 国产精品视频久久久 | 91 在线| 成人午夜在线 | 一级黄色片免费在线观看 | 99久久免费精品国产免费高清 | 久草99| 四虎影视1304t | 欧美一级大黄 | 黄色网址免费在线观看 | 亚洲色图图片 | 欧美日韩一区在线观看 | 欧美九九| 国产亚洲一区二区三区在线观看 | 久久久123| 亚洲成人三区 | 黄一区二区三区 | 日韩欧美三区 | 欧美国产日韩在线观看 | 成人在线黄色 | 日本三级日产三级国产三级 |