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

📄 shizhongketiaoziqi1-3.lst

📁 设计中主要是数态显示
💻 LST
字号:
C51 COMPILER V7.02b   SHIZHONGKETIAOZIQI1_3                                                05/11/2008 15:44:59 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE SHIZHONGKETIAOZIQI1_3
OBJECT MODULE PLACED IN shizhongketiaoziqi1-3.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE shizhongketiaoziqi1-3.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg51.h>//头文件
   2          #define uint unsigned int
   3          #define uchar unsigned char//宏定义,注意格式,不带分号*
   4          unsigned char code table0[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//段码表共阳极
   5          unsigned char code table2[]={0xFB,0xF7,0xEF,0xDF,0xBF,0x67F};//位码表
   6          sbit k1=P3^3;
   7          sbit k2=P3^4;
   8          sbit k3=P3^5;//键盘定义部分
   9          void chushihua();
  10          void display5(uchar aa,uchar bb,uchar cc,uchar dd,uchar shi,uchar ge);
  11          void delay(uchar z);//子程序声名部分
  12          uchar aa,bb,cc,dd,shi,ge,ss,num,shu,temp;//定义全局变量
  13          uint a;
  14          void main()//主函数
  15          {
  16   1        chushihua();
  17   1        while(1)
  18   1         {
  19   2               display5(aa,bb,cc,dd,shi,ge);
  20   2          }
  21   1      }
  22          void delay(uchar z)//带参数的延时子程序
  23          {
  24   1        uchar x,y;
  25   1        for(x=z;x>0;x--)
  26   1         for(y=110;y>0;y--);
  27   1      }
  28          void chushihua()//初始化子程序
  29          {
  30   1         num=23;
  31   1         shu=58;
  32   1         temp=0;//赋初值
  33   1         aa=num/10;
  34   1         bb=num%10;
  35   1         cc=shu/10;
  36   1         dd=shu%10;
  37   1         shi=temp/10;
  38   1         ge=temp%10;//位隔离部分
  39   1         P2=0xff;//先关所有数码管,为了防止有暗影和乱码出现
  40   1         delay(10);
  41   1        TMOD=0X01;//选择T0工作在模式1
  42   1        TH0=(65536-46080)/256;
  43   1        TL0=(65536-46080)%256;//赋初值50毫秒晶振11.0592MHZ
  44   1        EA=1;//开总中断
  45   1        ET0=1;//开定时器0中断
  46   1        TR0=1;//启动定时器0 
  47   1      }
  48          void display5(uchar aa,uchar bb,uchar cc,uchar dd,uchar shi,uchar ge)//显示之程序
  49          {
  50   1                if(ss==20)
  51   1                 {
  52   2                     ss=0;
  53   2                         temp++;
  54   2                      }
  55   1                 if(k1==0)//键盘部分
C51 COMPILER V7.02b   SHIZHONGKETIAOZIQI1_3                                                05/11/2008 15:44:59 PAGE 2   

  56   1                          {
  57   2                                TR0=0;//进来先关定时器
  58   2                                delay(10);//消抖语句
  59   2                                if(k1==0);
  60   2                                while(!k1);
  61   2                                delay(10);//消抖语句
  62   2                                while(!k1);//松手检测
  63   2                                temp++;
  64   2                                if(temp==60)temp=0;
  65   2                                TR0=1;//出去之前先开定时器
  66   2                              }
  67   1                      if(temp==60)
  68   1                        {
  69   2                         temp=0;
  70   2                         shu++;
  71   2                        }
  72   1      
  73   1                         if(k2==0)//键盘部分
  74   1                          {
  75   2                                TR0=0;//进来先关定时器
  76   2                                delay(10);//消抖语句
  77   2                                if(k2==0);
  78   2                                while(!k2);
  79   2                                delay(10);//消抖语句
  80   2                                while(!k2);//松手检测
  81   2                                shu++;
  82   2                                if(shu==60)shu=0;
  83   2                                TR0=1;//出去之前先开定时器
  84   2                              }
  85   1      
  86   1                 shi=temp/10;
  87   1                 ge=temp%10;                    
  88   1                 P2=0xff;
  89   1                 delay(5);
  90   1                 P0=table0[shi];
  91   1                 delay(5);
  92   1                 P2=0xf7;
  93   1                 delay(5);
  94   1      
  95   1                 P2=0xff;
  96   1                 delay(5);
  97   1                 P0=table0[ge];
  98   1                 delay(5);
  99   1                 P2=0xfb;
 100   1                 delay(5);
 101   1                 if(shu==60)
 102   1                   {
 103   2                    shu=0;
 104   2                        num++;
 105   2                   }
 106   1                      if(k3==0)//键盘部分
 107   1                          {
 108   2                                TR0=0;//进来先关定时器
 109   2                                delay(10);//消抖语句
 110   2                                if(k3==0);
 111   2                                while(!k3);
 112   2                                delay(10);//消抖语句
 113   2                                while(!k3);//松手检测
 114   2                                num++;
 115   2                                if(num==24)num=0;
 116   2                                TR0=1;//出去之前先开定时器
 117   2                              }
C51 COMPILER V7.02b   SHIZHONGKETIAOZIQI1_3                                                05/11/2008 15:44:59 PAGE 3   

 118   1             cc=shu/10;//分时隔离部分
 119   1                 dd=shu%10;                     
 120   1                 P2=0xff;
 121   1                 delay(5);
 122   1                 P0=table0[cc];//段选部分
 123   1                 delay(5);
 124   1                 P2=0xdf;//位选部分
 125   1                 delay(5);
 126   1      
 127   1                 P2=0xff;
 128   1                 delay(5);
 129   1                 P0=table0[dd];
 130   1                 delay(5);
 131   1                 P2=0xef;
 132   1                 delay(5);
 133   1                 if(num==24)num=0;
 134   1                 aa=num/10;
 135   1                 bb=num%10;                     
 136   1                 P2=0xff;
 137   1                 delay(5);
 138   1                 P0=table0[aa];
 139   1                 delay(5);
 140   1                 P2=0x7f;
 141   1                 delay(5);
 142   1      
 143   1                 P2=0xff;
 144   1                 delay(5);
 145   1                 P0=table0[bb];
 146   1                 delay(5);
 147   1                 P2=0xbf;
 148   1                 delay(5);  
 149   1      }
 150          void timer0()interrupt 1//中断部分,不用声明,中段T0
 151          {
 152   1        TH0=(65536-46080)/256;
 153   1        TL0=(65536-46080)%256;//重赋初值 
 154   1        ss++;
 155   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    443    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12       6
   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 + -