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

📄 common.lst

📁 单片机学习的最好例子, 1.51多任务切换 2.红外解码 3.数码管扫描显示 4.1602LCD的现实,以及文字动画效果 5.系统构架,资源整合,菜单应用,按键板,其它更新中
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  COMMON                                                               04/04/2009 22:01:16 PAGE     1


MACRO ASSEMBLER A51 V1.12
NO OBJECT MODULE REQUESTED        
ASSEMBLER INVOKED BY: C:\PROGRA~1\MANLEY\MEDWINV3\A51.EXE COMMON.INC DB

LOC  OBJ            LINE     SOURCE

                       1     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                       2     ;;System common part
                       3     ;;  
                       4     ;;  Memory assign in the direct RAM 128Byte(0x00~0x7F):
                       5     ;;  
                       6     ;;  0x00~0x07(  8Byte ): Local varible address(RO,R1,R2,R3,R4,R5,R6,R7)
                       7     ;;  0x08~0x1F( 24Byte ): Task Buffer address(RAM)    
                       8     ;;  0x20~0x2F( 16Byte ): Global varible address(Don't forget bit access)
                       9     ;;
                      10     ;;  0x30~0x45( 22Byte ): LCD Buffer address         
                      11     ;;  0x46~0x5D( 24Byte ): COM Buffer address         
                      12     ;;  0x5E~0x75( 24Byte ): E2PROM Buffer address       
                      13     ;;
                      14     ;;  0x76~0x77(  2Byte ): Task return address(POP this address value to PC when execute RET instruction in task function)
                      15     ;;  0x78~0x7F(  8Byte ): Stack Buffer address       
                      16     ;;
                      17     ;;  Memory assign From external(xdata) memory:
                      18     ;;  0x00~0xF0( 240Byte ): Task Buffer address(xdata)   
                      19     ;;
                      20     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      21     ;Defines
                      22     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      23     ;MCU define
                      24     DEFINE_MCU_AUXR                   EQU 0x8E ;8052 Register
*** ERROR #3 IN 24 (COMMON.INC, LINE 24): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      25     
                      26     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      27     ;Crystal and Timer define
  C000                28     DEFINE_CRYSTAL_FREQUENCY          EQU 11059200 ;Hz
                      29     
                      30     DEFINE_TIMER_MODE                 EQU 0x03;00000010B
*** ERROR #3 IN 30 (COMMON.INC, LINE 30): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      31     
                      32     ;How to compute the timer counter begin value
                      33     ;Example: 100us (255-(100us/(1s/11.0592MHz*12)) = 0xA3(about)
                      34     ;The Multi Task switch need about 250ms maximal 10 Task  
                      35     DEFINE_TIMER0_COUNTER_BEGIN_VALUE EQU 0x00;0xA3
*** ERROR #3 IN 35 (COMMON.INC, LINE 35): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      36     
                      37     DEFINE_SLEEP_1s_BYTE0             EQU 0xE8
*** ERROR #3 IN 37 (COMMON.INC, LINE 37): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      38     DEFINE_SLEEP_1s_BYTE1             EQU 0x03
*** ERROR #3 IN 38 (COMMON.INC, LINE 38): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      39     
                      40     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      41     ;Stack define
                      42     ;SP=start+1
                      43     DEFINE_SP_START_ADDRESS           EQU 0x7F - DEFINE_TASK_STACK_SIZE
*** ERROR #3 IN 43 (COMMON.INC, LINE 43): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      44     
                      45     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      46     ;Task RET address
                      47     ;Warning: don't alter the value in this address 
                      48     ;If task function no loop it will RET this address value to PC
                      49     DEFINE_TASK_RET_ADDRESS_H         EQU DEFINE_SP_START_ADDRESS
*** ERROR #23 IN 49 (COMMON.INC, LINE 49): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      50     DEFINE_TASK_RET_ADDRESS_L         EQU DEFINE_TASK_RET_ADDRESS_H - 1
*** ERROR #23 IN 50 (COMMON.INC, LINE 50): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
A51 MACRO ASSEMBLER  COMMON                                                               04/04/2009 22:01:16 PAGE     2

                      51     
                      52     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      53     ;Task define
                      54     DEFINE_TASK_MAX                   EQU 0x0A
*** ERROR #3 IN 54 (COMMON.INC, LINE 54): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      55     DEFINE_TASK_XDATA_ADDRESS         EQU 0x00
*** ERROR #3 IN 55 (COMMON.INC, LINE 55): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      56     DEFINE_TASK_REGISTER_SIZE         EQU 0x10
*** ERROR #3 IN 56 (COMMON.INC, LINE 56): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      57     DEFINE_TASK_STACK_SIZE            EQU 0x08
*** ERROR #3 IN 57 (COMMON.INC, LINE 57): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      58     DEFINE_TASK_XDATA_BLOCK           EQU DEFINE_TASK_REGISTER_SIZE + DEFINE_TASK_STACK_SIZE 
*** ERROR #23 IN 58 (COMMON.INC, LINE 58): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      59     DEFINE_TASK_XDATA_SIZE            EQU DEFINE_TASK_XDATA_BLOCK * DEFINE_TASK_MAX  
*** ERROR #23 IN 59 (COMMON.INC, LINE 59): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      60     
                      61     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      62     ;IR define
                      63     DEFINE_IR_CUSTOMER_CODE           EQU 0x00 
*** ERROR #3 IN 63 (COMMON.INC, LINE 63): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      64     
                      65     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      66     ;Tube define
  0080                67     DEFINE_TUBE_IO_PORT_DATA          EQU P0
  00A0                68     DEFINE_TUBE_IO_PORT_CONTROL       EQU P2 
  00A7                69     DEFINE_TUBE_IO_PORT_CONTROL_1     EQU P2.7 
  00A6                70     DEFINE_TUBE_IO_PORT_CONTROL_2     EQU P2.6 
  00A5                71     DEFINE_TUBE_IO_PORT_CONTROL_3     EQU P2.5 
  00A4                72     DEFINE_TUBE_IO_PORT_CONTROL_4     EQU P2.4 
                      73     
                      74     DEFINE_TUBE_SLEEP_25ms_BYTE0      EQU 0x01;FA
*** ERROR #3 IN 74 (COMMON.INC, LINE 74): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      75     DEFINE_TUBE_SLEEP_25ms_BYTE1      EQU 0x00      
*** ERROR #3 IN 75 (COMMON.INC, LINE 75): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      76     
                      77     DEFINE_TUBE_SHOW_MODE_HEX         EQU 0x00
*** ERROR #3 IN 77 (COMMON.INC, LINE 77): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      78     DEFINE_TUBE_SHOW_MODE_DECIMAL     EQU DEFINE_TUBE_SHOW_MODE_HEX + 1
*** ERROR #23 IN 78 (COMMON.INC, LINE 78): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      79     DEFINE_TUBE_SHOW_MODE_CLOCK       EQU DEFINE_TUBE_SHOW_MODE_DECIMAL + 1
*** ERROR #23 IN 79 (COMMON.INC, LINE 79): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      80     
                      81     ;Define End
                      82     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      83     
                      84     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      85     ;Variable
                      86     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
                      87     ;Task variable
                      88     VAR_TASK_BUFFER_START_ADDRESS     EQU 0x08 
*** ERROR #3 IN 88 (COMMON.INC, LINE 88): ILLEGAL CHARACTER IN NUMERIC CONSTANT
                      89     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      90     VAR_TASK_BUFFER_PCL               EQU VAR_TASK_BUFFER_START_ADDRESS
*** ERROR #23 IN 90 (COMMON.INC, LINE 90): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      91     VAR_TASK_BUFFER_PCH               EQU VAR_TASK_BUFFER_PCL + 1
*** ERROR #23 IN 91 (COMMON.INC, LINE 91): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      92     VAR_TASK_BUFFER_SP                EQU VAR_TASK_BUFFER_PCH + 1
*** ERROR #23 IN 92 (COMMON.INC, LINE 92): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      93     VAR_TASK_BUFFER_PSW               EQU VAR_TASK_BUFFER_SP + 1
*** ERROR #23 IN 93 (COMMON.INC, LINE 93): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      94     VAR_TASK_BUFFER_ACC               EQU VAR_TASK_BUFFER_PSW + 1
*** ERROR #23 IN 94 (COMMON.INC, LINE 94): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
                      95     VAR_TASK_BUFFER_B                 EQU VAR_TASK_BUFFER_ACC + 1

⌨️ 快捷键说明

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