⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t0.lst

📁 52单片机开发板的实例程序
💻 LST
字号:
C51 COMPILER V7.06   T0                                                                    12/02/2010 16:37:59 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE T0
OBJECT MODULE PLACED IN T0.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T0.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*****************
   2          用定时器0来作一个秒表
   3          *************************/
   4          #include<reg52.h>
   5          #include<intrins.h>
   6          #define uint unsigned int
   7          #define uchar unsigned char
   8          sbit a=P1^0;
   9          sbit b=P1^1;
  10          sbit c=P1^2;
  11          /************************************
  12          共阴数码管0---9的译码表
  13          **********************/
  14          const uchar table[]={
  15                    0x3f,0x06,0x5b,0x4f,0x66,
  16                    0x6d,0x7d,0x07,0x7f,0x6f};
  17          uchar ms=0,s=0,fen=0;
  18          uchar tt=0;
  19          void delay(uint z)//延时函数
  20          {
  21   1              uint i,j;
  22   1              for(i=z;i>0;i--)
  23   1              for(j=110;j>0;j--);
  24   1      }
  25          void HC138(uchar i)//74HC138子函数
  26          {
  27   1        a=i&0x01;
  28   1        b=i&0x02;
  29   1        c=i&0x04;
  30   1      }
  31          void display(uchar count,uchar dat)//8位数码管分成4段,每段显示两位
  32          {
  33   1         uchar ge,shi;
  34   1         shi=dat/10;
  35   1         ge=dat%10;
  36   1         HC138(count);
  37   1         P2=table[ge];
  38   1         delay(1);
  39   1         HC138(count+1);
  40   1         P2=table[shi];
  41   1         delay(1);
  42   1      }
  43          void main()
  44          {               
  45   1              TMOD=0x01;//设定工作方式 
  46   1              TH0=(65536-4800)/256;//装入初值
  47   1              TL0=(65536-4800)%256;
  48   1              EA=1;  //开总中断
  49   1              ET0=1;  //开定时器中断
  50   1              TR0=1;  //启动定时器
  51   1                      while(1)
  52   1                      {
  53   2                        display(4,ms);//显示毫秒
  54   2                display(6,s);//显示秒
  55   2                display(0,fen);//显示分钟
C51 COMPILER V7.06   T0                                                                    12/02/2010 16:37:59 PAGE 2   

  56   2                      }
  57   1                      
  58   1      }
  59          void t0() interrupt 1//定时器0中断函数
  60          {
  61   1              TH0=(65536-4610)/256;//装入初值
  62   1              TL0=(65536-4610)%256;
  63   1              tt++;
  64   1          if(tt==2)
  65   1          {
  66   2             tt=0;
  67   2             ms++;
  68   2             if(ms==100)
  69   2               {
  70   3                  ms=0;
  71   3                  s++;
  72   3                  if(s==60)
  73   3                   {
  74   4                     s=0;
  75   4                     fen++;
  76   4                   }
  77   3               }
  78   2          }
  79   1      }
  80          
  81          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    183    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -