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

QQ登錄

只需一步,快速開始

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

用定時(shí)器中斷實(shí)現(xiàn)數(shù)碼管0-99顯示(C編寫)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-27 19:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. /*6月28日        星期一
  2. ;張培
  3. ;本程序用中斷實(shí)現(xiàn)數(shù)碼管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];//查數(shù)組表
  29.    P3=0X01;//開十位片選
  30.       delay(1);//動(dòng)態(tài)掃描
  31.    P3=0X00;//關(guān)十位片選
  32.    x=a%d;//把A的個(gè)位分離
  33.    P2=b[x];//查數(shù)組表
  34.    P3=0X02;//開個(gè)位片選
  35.    delay(1);//動(dòng)態(tài)掃描
  36.    P3=0X00;//關(guān)十位片選
  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)//延時(shí)程序
  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. }
復(fù)制代碼


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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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