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

📄 2_05_12g.lst

📁 时间触发嵌入式系统设计模式:使用8051系列微控制器开发可靠应用
💻 LST
📖 第 1 页 / 共 4 页
字号:
 160      =3  sbit T0   = 0xB4;       /* Timer 0 external input */
 161      =3  sbit T1   = 0xB5;       /* Timer 1 external input */
 162      =3  sbit WR   = 0xB6;       /* External data memory write strobe */
 163      =3  sbit RD   = 0xB7;       /* External data memory read strobe */
 164      =3  
 165      =3  /*------------------------------------------------
 166      =3  IP Bit Registers
 167      =3  ------------------------------------------------*/
 168      =3  sbit PX0  = 0xB8;
 169      =3  sbit PT0  = 0xB9;
 170      =3  sbit PX1  = 0xBA;
 171      =3  sbit PT1  = 0xBB;
 172      =3  sbit PS   = 0xBC;
 173      =3  sbit PT2  = 0xBD;
 174      =3  
 175      =3  /*------------------------------------------------
 176      =3  T2CON Bit Registers
 177      =3  ------------------------------------------------*/
 178      =3  sbit CP_RL2= 0xC8;      /* 0=Reload, 1=Capture select */
 179      =3  sbit C_T2 = 0xC9;       /* 0=Timer, 1=Counter */
 180      =3  sbit TR2  = 0xCA;       /* 0=Stop timer, 1=Start timer */
 181      =3  sbit EXEN2= 0xCB;       /* Timer 2 external enable */
 182      =3  sbit TCLK = 0xCC;       /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
 183      =3  sbit RCLK = 0xCD;       /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
 184      =3  sbit EXF2 = 0xCE;       /* Timer 2 external flag */
 185      =3  sbit TF2  = 0xCF;       /* Timer 2 overflow flag */
 186      =3  
 187      =3  /*------------------------------------------------
 188      =3  T2MOD Bit Values
 189      =3  ------------------------------------------------*/
 190      =3  #define DCEN_   0x01    /* 1=Timer 2 can be configured as up/down counter */
 191      =3  #define T2OE_   0x02    /* Timer 2 output enable */
 192      =3  
 193      =3  /*------------------------------------------------
 194      =3  PSW Bit Registers
 195      =3  ------------------------------------------------*/
 196      =3  sbit P    = 0xD0;
 197      =3  sbit FL   = 0xD1;
 198      =3  sbit OV   = 0xD2;
 199      =3  sbit RS0  = 0xD3;
 200      =3  sbit RS1  = 0xD4;
 201      =3  sbit F0   = 0xD5;
 202      =3  sbit AC   = 0xD6;
 203      =3  sbit CY   = 0xD7;
 204      =3  
 205      =3  /*------------------------------------------------
 206      =3  Interrupt Vectors:
 207      =3  Interrupt Address = (Number * 8) + 3
 208      =3  ------------------------------------------------*/
 209      =3  #define IE0_VECTOR	0  /* 0x03 External Interrupt 0 */
 210      =3  #define TF0_VECTOR	1  /* 0x0B Timer 0 */
 211      =3  #define IE1_VECTOR	2  /* 0x13 External Interrupt 1 */
 212      =3  #define TF1_VECTOR	3  /* 0x1B Timer 1 */
 213      =3  #define SIO_VECTOR	4  /* 0x23 Serial port */
 214      =3  
 215      =3  #define TF2_VECTOR	5  /* 0x2B Timer 2 */
 216      =3  #define EX2_VECTOR	5  /* 0x2B External Interrupt 2 */
 217      =3  
 218      =3  /*------------------------------------------------
 219      =3  ------------------------------------------------*/
C51 COMPILER V6.10  2_05_12G                                                               04/09/2001 14:58:54 PAGE 6   

 220      =3  #endif
 221      =3  
 222      =3  
  33      =2  
  34      =2  // Include oscillator / chip details here 
  35      =2  // (essential if generic delays / timeouts are used)
  36      =2  //  -
  37      =2  // Oscillator / resonator frequency (in Hz) e.g. (11059200UL)
  38      =2  #define OSC_FREQ (12000000UL)
  39      =2  
  40      =2  // Number of oscillations per instruction (4, 6 or 12)
  41      =2  // 12 - Original 8051 / 8052 and numerous modern versions
  42      =2  //  6 - Various Infineon and Philips devices, etc.
  43      =2  //  4 - Dallas, etc.
  44      =2  //
  45      =2  // Take care with Dallas devices 
  46      =2  // - Timers default to *12* osc ticks unless CKCON is modified 
  47      =2  // - If using generic code on a Dallas device, use 12 here
  48      =2  #define OSC_PER_INST (12)
  49      =2  
  50      =2  //------------------------------------------------------------------
  51      =2  // SHOULD NOT NEED TO EDIT THE SECTIONS BELOW
  52      =2  //------------------------------------------------------------------
  53      =2  typedef unsigned char tByte;
  54      =2  typedef unsigned int  tWord;
  55      =2  typedef unsigned long tLong;
  56      =2  
  57      =2  // Misc #defines
  58      =2  #ifndef TRUE
  59      =2  #define FALSE 0
  60      =2  #define TRUE (!FALSE)
  61      =2  #endif
  62      =2  
  63      =2  #define RETURN_NORMAL (bit) 0
  64      =2  #define RETURN_ERROR (bit) 1
  65      =2  
  66      =2  
  67      =2  //------------------------------------------------------------------
  68      =2  // Interrupts
  69      =2  // - see Chapter 13.  
  70      =2  //------------------------------------------------------------------
  71      =2  
  72      =2  // Generic 8051/52 timer interrupts (used in most schedulers)
  73      =2  #define INTERRUPT_Timer_0_Overflow 1
  74      =2  #define INTERRUPT_Timer_1_Overflow 3
  75      =2  #define INTERRUPT_Timer_2_Overflow 5
  76      =2  
  77      =2  // Additional interrupts (used in shared-clock schedulers)
  78      =2  #define INTERRUPT_EXTERNAL_0 0
  79      =2  #define INTERRUPT_EXTERNAL_1 2
  80      =2  #define INTERRUPT_UART_Rx_Tx 4
  81      =2  #define INTERRUPT_CAN_c515c 17
  82      =2  
  83      =2  //------------------------------------------------------------------
  84      =2  // Error codes 
  85      =2  // - see Chapter 14. 
  86      =2  //------------------------------------------------------------------
  87      =2  
  88      =2  #define ERROR_SCH_TOO_MANY_TASKS (1)
  89      =2  #define ERROR_SCH_CANNOT_DELETE_TASK (2)
  90      =2  
  91      =2  #define ERROR_SCH_WAITING_FOR_SLAVE_TO_ACK (3)
C51 COMPILER V6.10  2_05_12G                                                               04/09/2001 14:58:54 PAGE 7   

  92      =2  #define ERROR_SCH_WAITING_FOR_START_COMMAND_FROM_MASTER (3)
  93      =2  
  94      =2  #define ERROR_SCH_ONE_OR_MORE_SLAVES_DID_NOT_START (4)
  95      =2  #define ERROR_SCH_LOST_SLAVE (5)
  96      =2  
  97      =2  #define ERROR_SCH_CAN_BUS_ERROR (6)
  98      =2  
  99      =2  #define ERROR_I2C_WRITE_BYTE (10)
 100      =2  #define ERROR_I2C_READ_BYTE (11)
 101      =2  #define ERROR_I2C_WRITE_BYTE_AT24C64 (12)
 102      =2  #define ERROR_I2C_READ_BYTE_AT24C64 (13)
 103      =2  #define ERROR_I2C_DS1621 (14)
 104      =2  
 105      =2  #define ERROR_USART_TI (21)
 106      =2  #define ERROR_USART_WRITE_CHAR (22)
 107      =2  
 108      =2  #define ERROR_SPI_EXCHANGE_BYTES_TIMEOUT (31)
 109      =2  #define ERROR_SPI_X25_TIMEOUT (32)
 110      =2  #define ERROR_SPI_MAX1110_TIMEOUT (33)
 111      =2  
 112      =2  #define ERROR_ADC_MAX150_TIMEOUT (44)
 113      =2  
 114      =2  #endif
 115      =2  
 116      =2  /*------------------------------------------------------------------*-
 117      =2    ---- END OF FILE -------------------------------------------------
 118      =2  -*------------------------------------------------------------------*/
  25      =1  #include "SCH51a.H"
   1      =2  /*------------------------------------------------------------------*-
   2      =2    
   3      =2     SCH51a.h (v1.00)
   4      =2  
   5      =2    ------------------------------------------------------------------
   6      =2  
   7      =2     - see SCH51a.C for details
   8      =2  
   9      =2  
  10      =2     COPYRIGHT
  11      =2     ---------
  12      =2  
  13      =2     This code is from the book:
  14      =2  
  15      =2     PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  16      =2     [Pearson Education, 2001; ISBN: 0-201-33138-1].
  17      =2  
  18      =2     This code is copyright (c) 2001 by Michael J. Pont.
  19      =2   
  20      =2     See book for copyright details and other information.
  21      =2  
  22      =2  -*------------------------------------------------------------------*/
  23      =2  
  24      =2  #ifndef _SCH51_H
  25      =2  #define _SCH51_H
  26      =2  
  27      =2  #include "Main.h"
   1      =3  /*------------------------------------------------------------------*-
   2      =3  
   3      =3     Main.H (v1.00)
   4      =3  
   5      =3    ------------------------------------------------------------------
   6      =3     
   7      =3     'Project Header' (see Chap 9) for project 255_TICK (see Chap 37)
C51 COMPILER V6.10  2_05_12G                                                               04/09/2001 14:58:54 PAGE 8   

   8      =3  
   9      =3  
  10      =3     COPYRIGHT
  11      =3     ---------
  12      =3  
  13      =3     This code is from the book:
  14      =3  
  15      =3     PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  16      =3     [Pearson Education, 2001; ISBN: 0-201-33138-1].
  17      =3  
  18      =3     This code is copyright (c) 2001 by Michael J. Pont.
  19      =3   
  20      =3     See book for copyright details and other information.
  21      =3  
  22      =3  -*------------------------------------------------------------------*/
  23      =3  
  24      =3  #ifndef _MAIN_H
           =3 #define _MAIN_H
           =3 
           =3 //------------------------------------------------------------------
           =3 // WILL NEED TO EDIT THIS SECTION FOR EVERY PROJECT
           =3 //------------------------------------------------------------------
           =3 
           =3 // Must include the appropriate microcontroller header file here
           =3 #include <AT89x52.h>
           =3 
           =3 // Include oscillator / chip details here 
           =3 // (essential if generic delays / timeouts are used)
           =3 //  -
           =3 // Oscillator / resonator frequency (in Hz) e.g. (11059200UL)
           =3 #define OSC_FREQ (12000000UL)
           =3 
           =3 // Number of oscillations per instruction (4, 6 or 12)
           =3 // 12 - Original 8051 / 8052 and numerous modern versions
           =3 //  6 - Various Infineon and Philips devices, etc.
           =3 //  4 - Dallas, etc.
           =3 //
           =3 // Take care with Dallas devices 
           =3 // - Timers default to *12* osc ticks unless CKCON is modified 
           =3 // - If using generic code on a Dallas device, use 12 here
           =3 #define OSC_PER_INST (12)
           =3 
           =3 //------------------------------------------------------------------
           =3 // SHOULD NOT NEED TO EDIT THE SECTIONS BELOW
           =3 //------------------------------------------------------------------
           =3 typedef unsigned char tByte;
           =3 typedef unsigned int  tWord;
           =3 typedef unsigned long tLong;
           =3 
           =3 // Misc #defines
           =3 #ifndef TRUE
           =3 #define FALSE 0
           =3 #define TRUE (!FALSE)
           =3 #endif
           =3 
           =3 #define RETURN_NORMAL (bit) 0
           =3 #define RETURN_ERROR (bit) 1
           =3 
           =3 
           =3 //------------------------------------------------------------------
           =3 // Interrupts
           =3 // - see Chapter 13.  
C51 COMPILER V6.10  2_05_12G                                                               04/09/2001 14:58:54 PAGE 9   

           =3 //------------------------------------------------------------------
           =3 
           =3 // Generic 8051/52 timer interrupts (used in most schedulers)
           =3 #define INTERRUPT_Timer_0_Overflow 1
           =3 #define INTERRUPT_Timer_1_Overflow 3
           =3 #define INTERRUPT_Timer_2_Overflow 5

⌨️ 快捷键说明

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