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

📄 main_wc.lst

📁 This is the famous CD-ROM interfacing using 8051. It also contains schematic.
💻 LST
📖 第 1 页 / 共 5 页
字号:
  00000005            00079 LED_2                   equ     5
  00000004            00080 LED_STATUS              equ     4
                      00081 
                      00082 ;lcd control signals
  00000000            00083 PORTE_CONFIG1           equ     0x00    ;bit2: out,out,out :bit0
  00000002            00084 LCD_CLK                 equ     2
  00000001            00085 LCD_RW                  equ     1
  00000000            00086 LCD_RS                  equ     0
MPASM  4.00 Released                              MAIN_WC.ASM   4-4-2005  11:55:11         PAGE  9


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00087 
                      00088 ;keypad events
  00000000            00089 KEY_EVENT_PLAY_STOP     equ     0
  00000001            00090 KEY_EVENT_NEXT          equ     1
  00000002            00091 KEY_EVENT_PREVIOUS      equ     2
  00000003            00092 KEY_EVENT_OPEN_CLOSE    equ     3
  00000004            00093 KEY_EVENT_PAUSE_ONOFF   equ     4
  00000005            00094 KEY_EVENT_LCD_INFO      equ     5
                      00095 
                      00096 ;key states (bit in variable KeyState)
  00000000            00097 KEY_STATE_PLAY_STOP             equ     0
  00000001            00098 KEY_STATE_PAUSE_ONOFF           equ     1
  00000002            00099 KEY_STATE_OPEN_CLOSE            equ     2
                      00100 
                      00101 
                      00102 ;keypad inputs voltages
                      00103 ;DigValue=(Vin*1023)/5
                      00104 ;KEYPAD_NO_KEY                          equ     73      ;msb=0,lsb=73   (0x49)  ;<0,35V
                      00105 ;KEYPAD_PAUSE_ONOFF                     equ     74      ;msb=0,lsb=74(0x4a)     ;0,36V-0,71V-1,06V
                      00106 ;KEYPAD_PREVIOUS                                equ     219     ;msb=0,lsb=219(0xdb)    ;1,07V-1,43V-1,7
                            8V
                      00107 ;                                                       equ     365     ;msb=1,lsb=109(0x6d)
                      00108 ;KEYPAD_PLAY_STOP                               equ     366     ;msb=1,lsb=110(0x6e)    ;1,79V-2,14V-2,4
                            9V
                      00109 ;KEYPAD_NEXT                                    equ     512     ;msb=2,lsb=0                    ;2,50V-2
                            ,86V-3,20V
                      00110 ;KEYPAD_OPEN_CLOSE                      equ     657     ;msb=2,lsb=145(0x91)    ;3,21V-3,57V-3,92V
                      00111 ;                                                       equ     803     ;msb=3,lsb=35(0x23)
                      00112 ;KEYPAD_LCD_INFO                                equ     804     ;msb=3,lsb=36(0x24)     ;3,93V-4,29V-4,6
                            4V
                      00113 ;KEYPAD_MORE_THAN_ONE_KEY               equ     951     ;msb=3,lsb=183(0xb7)    ;>4,65V
                      00013 
                      00014                                                                  
                      00015                            
                      00016                                                                  
  0000                00017         global  Delay1ms
  0000                00018         global  Delay10ms
  0000                00019         global  Delay200ms
  0000                00020         global  Delay5s
                      00021                                                                  
                      00022                              
                      00023                                                                  
  0000                00024         extern  AtaUpdate
  0000                00025         extern  AtaInit
                      00026 #ifdef LCD
                      00027         extern  LcdUpdate
                      00028 #endif
                      00029 
                      00030                                                                  
                      00031                    
                      00032                                                                  
                      00033 _config code
0000   3B32           00034         dw      FOSC_HS|WDTE_OFF|PWRTE_ON|CP_OFF|BODEN_OFF|LVP_OFF|CPD_OFF|WRT_ON|ICD_OFF|CP2_OFF       
MPASM  4.00 Released                              MAIN_WC.ASM   4-4-2005  11:55:11         PAGE 10


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                                            
                      00035 
                      00036 
                      00037                                                                  
                      00038                                    
                      00039  
                      00040                                                                  
                      00041 
                      00042 
                      00043                                                                  
                      00044              
                      00045                                                                  
                      00046 _vector code
0000   2???           00047         goto    Start                                           
                      00048 
                      00049                                                                  
                      00050                  
                      00051                                             
                      00052                
                      00053                 
                      00054                                                                  
                      00055 _rom1 code
0000                  00056 Start:          
0000   2???           00057         call    SysInit
0001   2???           00058         call    AtaInit
0002                  00059 Mainloop:
0002   2???           00060         call    KeyUpdate
0003   2???           00061         call    AtaUpdate
                      00062 #ifdef LCD
                      00063         call    LcdUpdate
                      00064 #endif
                      00065         
0004   2???           00066         goto    Mainloop
                      00067                                                                  
                      00068                 
                      00069                                     
                      00070                
                      00071                 
                      00072                                                                  
0005                  00073 SysInit:
                      00074 
                      00075                 
                      00076                               
0005   1303           00077         bcf             status,rp1              
0006   1683           00078         bsf             status,rp0
                      00079 
                      00080                                            
0007   3001           00081         movlw   PORTA_CONFIG1   
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0008   0085           00082         movwf   trisa                   
0009   30FF           00083         movlw   PORTB_CONFIG1   
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
000A   0086           00084         movwf   trisb
MPASM  4.00 Released                              MAIN_WC.ASM   4-4-2005  11:55:11         PAGE 11


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

000B   30FF           00085         movlw   PORTC_CONFIG1
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
000C   0087           00086         movwf   trisc
000D   3000           00087         movlw   PORTD_CONFIG1   
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
000E   0088           00088         movwf   trisd
000F   3000           00089         movlw   PORTE_CONFIG1   
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0010   0089           00090         movwf   trise
                      00091 
                      00092                           
0011   308E           00093         movlw   B'10001110'                                                                         
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0012   009F           00094         movwf   adcon1
                      00095 
                      00096                 
                      00097                                       
0013   1303           00098         bcf             status,rp1              
0014   1283           00099         bcf             status,rp0
                      00100 
                      00101                           
0015   3081           00102         movlw   B'10000001'                                                                          
0016   009F           00103         movwf   adcon0
                      00104 
                      00105                                  
0017   1685           00106         bsf             porta,ATA_IOW
0018   1605           00107         bsf             porta,ATA_IOR
                      00108 
0019   1788           00109         bsf             portd,ATA_RST
001A   1208           00110         bcf             portd,LED_STATUS
                      00111 
                      00112                          
001B   01B4           00113         clrf    KeyEvent
001C   01B5           00114         clrf    KeyState
                      00115 
001D   3001           00116         movlw   0x01
001E   00C4           00117         movwf   TrackCurrentNr
001F   00CA           00118         movwf   TrackStartNr
                      00119 
0020   0008           00120         return
                      00121 
                      00122                                                                  
                      00123                   
                      00124                                              
                      00125                
                      00126                     
                      00127                                                                  
0021                  00128 KeyUpdate:
0021   01B4           00129         clrf    KeyEvent                                         
0022   2???           00130         call    KeyScan                                  
0023   0850           00131         movf    KeyEventTemp1,w                        
0024   3A00           00132         xorlw   0x00
0025   1903           00133         btfsc   status,z                                        
MPASM  4.00 Released                              MAIN_WC.ASM   4-4-2005  11:55:11         PAGE 12


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0026   2???           00134         goto    Kuend                                   
0027   0850           00135         movf    KeyEventTemp1,w          
0028   00D1           00136         movwf   KeyEventTemp2                          
0029   2???           00137         call    Delay10ms       
002A   2???           00138         call    KeyScan                                    
002B   0850           00139         movf    KeyEventTemp1,w
002C   0651           00140         xorwf   KeyEventTemp2,w                              
002D   1D03           00141         btfss   status,z
002E   2???           00142         goto    Kuend                                                 
002F   0851           00143         movf    KeyEventTemp2,w                
0030   00B4           00144         movwf   KeyEvent
0031                  00145 Kuend:
0031   0008           00146         return
                      00147 
                      00148                                                                  
                      00149                 
                      00150                                                     
                      00151                
                      00152                          
                      00153                                                                  
0032                  00154 KeyScan:
0032   151F           00155         bsf             adcon0,godone                            
0033   191F           00156 Kuw:    btfsc   adcon0,godone                                         
0034   2???           00157         goto    Kuw
                      00158 
0035   081E           00159         movf    adresh,w                                          
0036   00CE           00160         movwf   AdcMsb
0037   1303           00161         bcf             status,rp1                             
0038   1683           00162         bsf             status,rp0
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0039   081E           00163         movf    adresl,w
003A   1303           00164         bcf             status,rp1                             
003B   1283           00165         bcf             status,rp0
003C   00CF           00166         movwf   AdcLsb
                      00167 
003D   01D0           00168         clrf    KeyEventTemp1                                      
003E   084E           00169         movf    AdcMsb,w
003F   3C03           00170         sublw   0x03
0040   1C03           00171         btfss   status,c
0041   2???           00172         goto    Kend
0042   084E           00173         movf    AdcMsb,w                                 

⌨️ 快捷键说明

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