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

📄 counter_t1.lst

📁 主要是can工业总线方面的应用程序
💻 LST
字号:
C51 COMPILER V7.06   COUNTER_T1                                                            12/12/2007 18:04:02 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE COUNTER_T1
OBJECT MODULE PLACED IN E:\制作和~1\总线开发\试验程序\BASIC_~1\COUNTE~1\COUNTER_T1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\制作和~1\总线开发\试验程序\BASIC_~1\COUNTE~1\COUNTER_T1.C DB SB OE

stmt level    source

   1          
   2          //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   3          //功能描述:
   4          //      T1按键为计数按键,数码管显示按键的次数                                  &
   5          //      上电后数码管显示0,十进制显示                                          &
   6          
   7          
   8          //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   9          //【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                   &
  10          //【声明】 作者: PIAE小组
  11          /*
  12          
  13          */
  14          
  15          #include <reg52.h>
  16          #include <intrins.h>
  17          #include <counter_t1_def.h>
  18          
  19          
  20          void Timer1( void ) interrupt 3  using 1
  21          {//T1为计数器
  22   1          EA = 0;
  23   1          TH1 = 0xFF;
  24   1          TL1 = 0xFF;
  25   1          Show_Data++;////计数单元加1
  26   1          EA = 1;
  27   1      }
  28          
  29          void main(void)
  30          {
  31   1          CPU_init();
  32   1          _nop_();
  33   1          while(1)
  34   1          {
  35   2              NOPS;
  36   2      ///////////////////////数码管显示程序/////////////////////////////////
  37   2              led_seg7(1,Show_Data);
  38   2              LED_RED = !LED_RED;
  39   2              LED_GRE = !LED_GRE;
  40   2      
  41   2      ///////////////////////数码管显示程序/////////////////////////////////
  42   2          }//while 结束
  43   1      }//main结束
  44          
  45          
  46          void Delay(uchar delay_time)
  47          {//延时程序
  48   1          while(delay_time--)
  49   1          {}
  50   1      }
  51          
  52          
  53          void CPU_init(void)
  54          {//初始化CPU
  55   1          TMOD = 0x50;//T1为计数模式
C51 COMPILER V7.06   COUNTER_T1                                                            12/12/2007 18:04:02 PAGE 2   

  56   1          TH1 = 0xFF;
  57   1          TL1 = 0xFF;//计数器设定初值
  58   1          TR1 = 1;
  59   1          ET1 = 1;//打开T1计数中断
  60   1          EA = 1; //打开总中断
  61   1          SJA1000_CS = 1;//片选无效
  62   1      }
  63          
  64          
  65          void led_seg7(uchar from,uchar number)  //from(1_4):数码管显示起始位置(从右到左),number:显示的数
  66          {
  67   1          uchar digit,temp_l;
  68   1          uchar temp_h=0x7f;
  69   1          temp_h = _cror_(temp_h,from-1);   //确定从哪一位开始显示,即确定高四位
  70   1          temp_h = temp_h & 0xf0;           //取高四位
  71   1          temp_l = P2 & 0x0f;               //取P2的低四位
  72   1          P2 = temp_h | temp_l;             //设定P2口
  73   1      
  74   1          if(number==0)
  75   1          {
  76   2              P0 = led[0];
  77   2              Delay(5);
  78   2              P0 = 0xff;
  79   2          }
  80   1      
  81   1          else
  82   1          {
  83   2              while(number)
  84   2              {
  85   3                  digit = number%10 ;
  86   3                  number /= 10;
  87   3                  P0 = led[digit] ;
  88   3                  Delay(5);
  89   3                  temp_h = P2 & 0xf0;               //取P2的高四位
  90   3                  temp_h = temp_h | 0x0f;           //拼装 temp_h,进行位选
  91   3                  temp_h = _cror_(temp_h,1);
  92   3                  temp_h = temp_h & 0xf0;           //取高四位
  93   3                  temp_l = P2 & 0x0f;               //取P2的低四位
  94   3                  P0 = 0xff;
  95   3                  P2 = temp_h | temp_l;             //设定P2口
  96   3              }//while结束
  97   2          }//else结束
  98   1          
  99   1      }
C51 COMPILER V7.06   COUNTER_T1                                                            12/12/2007 18:04:02 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


CPU_init . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
Show_Data. . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
LED_RED. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
LED_GRE. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A2H  1
SJA1000_CS . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
Timer1 . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
led. . . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  11
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
_Delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0008H  -----
  delay_time . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
_led_seg7. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  from . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  number . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  digit. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
  temp_l . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  temp_h . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    159    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   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 + -