找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機制作一個定時鬧鐘程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:730947 發(fā)表于 2020-5-23 22:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這里是源碼部分
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit we=P2^7;
  5. sbit du=P2^6;
  6. uchar code table[]={0x3f,0x06,0x5B,0x4F,0x66,
  7.                0x6D,0x7D,0x07,0x7F,0x6F,
  8.                0x77,0x7C,0x39,0x5E,0x79,
  9.                0x71,0x76,0x38,0x37,0x3E,
  10.                0x73,0x5C,0x40,0x00,};
  11. uchar num=0,aa,s,g,m,f,h;
  12. void delay(uchar x);
  13. void main()
  14. {   
  15.     TMOD=0x01;    //設(shè)置內(nèi)部中斷0,1的工作方式為方式1   
  16.     EA=1;          //開總中斷
  17.     ET0=1;        //允許中斷   
  18.     TR0=1;          //開中斷0         
  19.     TH0=0x4c;
  20.     TL0=0x00;
  21.     while(1)
  22.     {   
  23.             du = 1;
  24.             P0 = 0;
  25.             du = 0;

  26.             we = 1;
  27.             P0 = 0x3e;
  28.             we = 0;

  29.             du = 1;
  30.             P0 = table[s];      //十位
  31.             du = 0;

  32.             delay(10);

  33.             du = 1;
  34.             P0 = 0;
  35.             du = 0;

  36.             we = 1;
  37.             P0 = 0x3d;
  38.             we = 0;


  39.             du = 1;
  40.             P0 = table[g];         //個位
  41.             du = 0;
  42.             delay(10);

  43.             du = 1;
  44.             P0 = 0;
  45.             du = 0;

  46.             we = 1;
  47.             P0 = 0x1f; //顯示分鐘
  48.             we = 0;

  49.             du = 1;
  50.             P0 = table[m];
  51.             du = 0;

  52.             delay(10);

  53.             du = 1;
  54.             P0 = 0;
  55.             du = 0;

  56.             we = 1;
  57.             P0 = 0x2f;
  58.             we = 0;

  59.             du = 1;
  60.             P0 = table[h];      
  61.             du = 0;

  62.             delay(10);

  63.         if(aa == 20)   
  64.         {            
  65.             aa = 0;
  66.             if(num == 59)
  67.             {
  68.                 num = 0;
  69.                 f++;
  70.             }
  71.             else
  72.                 num++;
  73.             s = num/10;
  74.             g = num%10;
  75.             m = f%10;
  76.             h = f/10;               
  77.         }
  78.         if(h == 6)
  79.         f = 0;
  80.     }
  81. }
  82. void timer0() interrupt 1 //內(nèi)部中斷0
  83. {
  84.     TH0=0x4c;
  85.     TL0=0x00;
  86.     aa++;
  87. }
  88. void delay(uchar x)
  89. {
  90.     uchar y,z;
  91.     for(y=x;y>0;y--)
  92.         for(z=120;z>0;z--)

  93. }
復(fù)制代碼

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2020-5-24 19:24 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表