欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用定時器中斷實現數碼管0-99顯示(C編寫)

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發表于 2014-12-27 19:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. /*6月28日        星期一
  2. ;張培
  3. ;本程序用中斷實現數碼管0-99顯示 */
  4. #include <reg51.h>
  5. #define  unit   unsigned  int
  6. #define  uchar  unsigned  char
  7. bit      BT0;
  8. void  delay(unit n);
  9. main()
  10. {
  11.   unit b[10]={0x0C0,0x0F9,0x0A4,0x0B0,0x99,0x92,0x82,0x0F8,0x80,0x90};
  12.   unit a,d,timecount;
  13.   uchar  x;
  14.   TMOD=0X01;//T0工作方式1
  15.   TH0=0X0B1;
  16.   TL0=0X0E0;
  17.   TR0=1;//開啟T0
  18.   EA=1;//開啟總中斷
  19.   ET0=1;//開啟T0中斷
  20.   timecount=25;
  21.   
  22.   d=10;
  23.   a=0;
  24.   while (1)
  25.    {
  26.   
  27.    x=a/d;//把A的十位分離
  28.       P2=b[x];//查數組表
  29.    P3=0X01;//開十位片選
  30.       delay(1);//動態掃描
  31.    P3=0X00;//關十位片選
  32.    x=a%d;//把A的個位分離
  33.    P2=b[x];//查數組表
  34.    P3=0X02;//開個位片選
  35.    delay(1);//動態掃描
  36.    P3=0X00;//關十位片選
  37.    
  38.   if (BT0==1)//等待中斷的到來
  39.         BT0=1;
  40.     if (timecount==0)//如果到了0.5S,A加1
  41.        {a=a+1;
  42.               timecount=25;
  43.     }
  44.     else
  45.     timecount--;
  46. }

  47. }
  48. void  delay(unit n)//延時程序
  49. { unit  y;
  50.    unit  j;
  51.    for (y=n;y>0;y--)
  52.       for(j=5000;j>0;j--)
  53.    {;}
  54.   }void T0SER (void) interrupt 1 using 1//T0重新賦初植
  55. {
  56.   TH0=0X0B1;
  57.   TL0=0X0E0;
  58.   BT0=1;
  59.    
  60. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表