📄 key.lst
字号:
A51 MACRO ASSEMBLER KEY 12/09/2008 17:07:28 PAGE 1
MACRO ASSEMBLER A51 V7.04a
OBJECT MODULE PLACED IN KEY.OBJ
ASSEMBLER INVOKED BY: C:\SiLabs\MCU\IDEfiles\C51\BIN\a51.exe KEY.ASM XR GEN DB EP NOMOD51
LOC OBJ LINE SOURCE
1 ;--------------------------------------------------------------------
2 ;touche: Fonction qui lit une fois le clavier et ressort avec (ACC)=0 si aucune
3 ; touche n'est enfoncee, sinon (ACC)= code ASCII de la touche enfonc閑.
4 ; Sauvegarde les registres utilises sauf ACC
.
5 ;clavier: Fonction qui attend qu'une touche soit enfoncee puis relachee. En
6 ; sortie, (R7)=code ASCII de la touche.
7 ; Sauvegarde les registres utilises sauf R7.
8 ;att_5micro: Boucle d'attente pour ecriture-lecture sur P2.
9 ; Sauvegarde les registres utilises.
10 ;att_10ms: Boucle d'attente pour antirebond clavier.
11 ; Sauvegarde les registres utilises.
12 ;--------------------------------------------------------------------
13 ;$include (c8051f000.inc) ; Include register definition file.
+1 14 ;-----------------------------------------------------------------------------
+1 15 ; Copyright (C) 2001 CYGNAL INTEGRATED PRODUCTS, INC.
+1 16 ; All rights reserved.
+1 17 ;
+1 18 ;
+1 19 ; FILE NAME : C8051F000.INC
+1 20 ; TARGET MCUs : C8051F000, 'F001, 'F002, 'F010, 'F011, 'F012, 'F005, 'F006,
+1 21 ; 'F007, 'F015, 'F016 and 'F017
+1 22 ; DESCRIPTION : Register/bit definitions for the C8051F0xx product family.
+1 23 ;
+1 24 ; REVISION 1.9
+1 25 ;
+1 26 ;-----------------------------------------------------------------------------
+1 27 ;REGISTER DEFINITIONS
+1 28 ;
0080 +1 29 P0 DATA 080H ; PORT 0
0081 +1 30 SP DATA 081H ; STACK POINTER
0082 +1 31 DPL DATA 082H ; DATA POINTER - LOW BYTE
0083 +1 32 DPH DATA 083H ; DATA POINTER - HIGH BYTE
0087 +1 33 PCON DATA 087H ; POWER CONTROL
0088 +1 34 TCON DATA 088H ; TIMER CONTROL
0089 +1 35 TMOD DATA 089H ; TIMER MODE
008A +1 36 TL0 DATA 08AH ; TIMER 0 - LOW BYTE
008B +1 37 TL1 DATA 08BH ; TIMER 1 - LOW BYTE
008C +1 38 TH0 DATA 08CH ; TIMER 0 - HIGH BYTE
008D +1 39 TH1 DATA 08DH ; TIMER 1 - HIGH BYTE
008E +1 40 CKCON DATA 08EH ; CLOCK CONTROL
008F +1 41 PSCTL DATA 08FH ; PROGRAM STORE R/W CONTROL
0090 +1 42 P1 DATA 090H ; PORT 1
0091 +1 43 TMR3CN DATA 091H ; TIMER 3 CONTROL
0092 +1 44 TMR3RLL DATA 092H ; TIMER 3 RELOAD REGISTER - LOW BYTE
0093 +1 45 TMR3RLH DATA 093H ; TIMER 3 RELOAD REGISTER - HIGH BYTE
0094 +1 46 TMR3L DATA 094H ; TIMER 3 - LOW BYTE
0095 +1 47 TMR3H DATA 095H ; TIMER 3 - HIGH BYTE
0098 +1 48 SCON DATA 098H ; SERIAL PORT CONTROL
0099 +1 49 SBUF DATA 099H ; SERIAL PORT BUFFER
009A +1 50 SPI0CFG DATA 09AH ; SERIAL PERIPHERAL INTERFACE 0 CONFIGURATION
009B +1 51 SPI0DAT DATA 09BH ; SERIAL PERIPHERAL INTERFACE 0 DATA
009D +1 52 SPI0CKR DATA 09DH ; SERIAL PERIPHERAL INTERFACE 0 CLOCK RATE CONTROL
009E +1 53 CPT0CN DATA 09EH ; COMPARATOR 0 CONTROL
009F +1 54 CPT1CN DATA 09FH ; COMPARATOR 1 CONTROL
00A0 +1 55 P2 DATA 0A0H ; PORT 2
00A4 +1 56 PRT0CF DATA 0A4H ; PORT 0 CONFIGURATION
A51 MACRO ASSEMBLER KEY 12/09/2008 17:07:28 PAGE 2
00A5 +1 57 PRT1CF DATA 0A5H ; PORT 1 CONFIGURATION
00A6 +1 58 PRT2CF DATA 0A6H ; PORT 2 CONFIGURATION
00A7 +1 59 PRT3CF DATA 0A7H ; PORT 3 CONFIGURATION
00A8 +1 60 IE DATA 0A8H ; INTERRUPT ENABLE
00AD +1 61 PRT1IF DATA 0ADH ; PORT 1 EXTERNAL INTERRUPT FLAGS
00AF +1 62 EMI0CN DATA 0AFH ; EXTERNAL MEMORY INTERFACE CONTROL
00B0 +1 63 P3 DATA 0B0H ; PORT 3
00B1 +1 64 OSCXCN DATA 0B1H ; EXTERNAL OSCILLATOR CONTROL
00B2 +1 65 OSCICN DATA 0B2H ; INTERNAL OSCILLATOR CONTROL
00B6 +1 66 FLSCL DATA 0B6H ; FLASH MEMORY TIMING PRESCALER
00B7 +1 67 FLACL DATA 0B7H ; FLASH ACESS LIMIT
00B8 +1 68 IP DATA 0B8H ; INTERRUPT PRIORITY
00BA +1 69 AMX0CF DATA 0BAH ; ADC 0 MUX CONFIGURATION
00BB +1 70 AMX0SL DATA 0BBH ; ADC 0 MUX CHANNEL SELECTION
00BC +1 71 ADC0CF DATA 0BCH ; ADC 0 CONFIGURATION
00BE +1 72 ADC0L DATA 0BEH ; ADC 0 DATA - LOW BYTE
00BF +1 73 ADC0H DATA 0BFH ; ADC 0 DATA - HIGH BYTE
00C0 +1 74 SMB0CN DATA 0C0H ; SMBUS 0 CONTROL
00C1 +1 75 SMB0STA DATA 0C1H ; SMBUS 0 STATUS
00C2 +1 76 SMB0DAT DATA 0C2H ; SMBUS 0 DATA
00C3 +1 77 SMB0ADR DATA 0C3H ; SMBUS 0 SLAVE ADDRESS
00C4 +1 78 ADC0GTL DATA 0C4H ; ADC 0 GREATER-THAN REGISTER - LOW BYTE
00C5 +1 79 ADC0GTH DATA 0C5H ; ADC 0 GREATER-THAN REGISTER - HIGH BYTE
00C6 +1 80 ADC0LTL DATA 0C6H ; ADC 0 LESS-THAN REGISTER - LOW BYTE
00C7 +1 81 ADC0LTH DATA 0C7H ; ADC 0 LESS-THAN REGISTER - HIGH BYTE
00C8 +1 82 T2CON DATA 0C8H ; TIMER 2 CONTROL
00CA +1 83 RCAP2L DATA 0CAH ; TIMER 2 CAPTURE REGISTER - LOW BYTE
00CB +1 84 RCAP2H DATA 0CBH ; TIMER 2 CAPTURE REGISTER - HIGH BYTE
00CC +1 85 TL2 DATA 0CCH ; TIMER 2 - LOW BYTE
00CD +1 86 TH2 DATA 0CDH ; TIMER 2 - HIGH BYTE
00CF +1 87 SMB0CR DATA 0CFH ; SMBUS 0 CLOCK RATE
00D0 +1 88 PSW DATA 0D0H ; PROGRAM STATUS WORD
00D1 +1 89 REF0CN DATA 0D1H ; VOLTAGE REFERENCE 0 CONTROL
00D2 +1 90 DAC0L DATA 0D2H ; DAC 0 REGISTER - LOW BYTE
00D3 +1 91 DAC0H DATA 0D3H ; DAC 0 REGISTER - HIGH BYTE
00D4 +1 92 DAC0CN DATA 0D4H ; DAC 0 CONTROL
00D5 +1 93 DAC1L DATA 0D5H ; DAC 1 REGISTER - LOW BYTE
00D6 +1 94 DAC1H DATA 0D6H ; DAC 1 REGISTER - HIGH BYTE
00D7 +1 95 DAC1CN DATA 0D7H ; DAC 1 CONTROL
00D8 +1 96 PCA0CN DATA 0D8H ; PCA 0 COUNTER CONTROL
00D9 +1 97 PCA0MD DATA 0D9H ; PCA 0 COUNTER MODE
00DA +1 98 PCA0CPM0 DATA 0DAH ; CONTROL REGISTER FOR PCA 0 MODULE 0
00DB +1 99 PCA0CPM1 DATA 0DBH ; CONTROL REGISTER FOR PCA 0 MODULE 1
00DC +1 100 PCA0CPM2 DATA 0DCH ; CONTROL REGISTER FOR PCA 0 MODULE 2
00DD +1 101 PCA0CPM3 DATA 0DDH ; CONTROL REGISTER FOR PCA 0 MODULE 3
00DE +1 102 PCA0CPM4 DATA 0DEH ; CONTROL REGISTER FOR PCA 0 MODULE 4
00E0 +1 103 ACC DATA 0E0H ; ACCUMULATOR
00E1 +1 104 XBR0 DATA 0E1H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 0
00E2 +1 105 XBR1 DATA 0E2H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 1
00E3 +1 106 XBR2 DATA 0E3H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 2
00E6 +1 107 EIE1 DATA 0E6H ; EXTERNAL INTERRUPT ENABLE 1
00E7 +1 108 EIE2 DATA 0E7H ; EXTERNAL INTERRUPT ENABLE 2
00E8 +1 109 ADC0CN DATA 0E8H ; ADC 0 CONTROL
00E9 +1 110 PCA0L DATA 0E9H ; PCA 0 TIMER - LOW BYTE
00EA +1 111 PCA0CPL0 DATA 0EAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - LOW BYTE
00EB +1 112 PCA0CPL1 DATA 0EBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - LOW BYTE
00EC +1 113 PCA0CPL2 DATA 0ECH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - LOW BYTE
00ED +1 114 PCA0CPL3 DATA 0EDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - LOW BYTE
00EE +1 115 PCA0CPL4 DATA 0EEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - LOW BYTE
00EF +1 116 RSTSRC DATA 0EFH ; RESET SOURCE
00F0 +1 117 B DATA 0F0H ; B REGISTER
00F6 +1 118 EIP1 DATA 0F6H ; EXTERNAL INTERRUPT PRIORITY REGISTER 1
00F7 +1 119 EIP2 DATA 0F7H ; EXTERNAL INTERRUPT PRIORITY REGISTER 2
00F8 +1 120 SPI0CN DATA 0F8H ; SERIAL PERIPHERAL INTERFACE 0 CONTROL
00F9 +1 121 PCA0H DATA 0F9H ; PCA 0 TIMER - HIGH BYTE
00FA +1 122 PCA0CPH0 DATA 0FAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - HIGH BYTE
A51 MACRO ASSEMBLER KEY 12/09/2008 17:07:28 PAGE 3
00FB +1 123 PCA0CPH1 DATA 0FBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - HIGH BYTE
00FC +1 124 PCA0CPH2 DATA 0FCH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - HIGH BYTE
00FD +1 125 PCA0CPH3 DATA 0FDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - HIGH BYTE
00FE +1 126 PCA0CPH4 DATA 0FEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - HIGH BYTE
00FF +1 127 WDTCN DATA 0FFH ; WATCHDOG TIMER CONTROL
+1 128 ;
+1 129 ;------------------------------------------------------------------------------
+1 130 ;BIT DEFINITIONS
+1 131 ;
+1 132 ; TCON 88H
0088 +1 133 IT0 BIT TCON.0 ; EXT. INTERRUPT 0 TYPE
0089 +1 134 IE0 BIT TCON.1 ; EXT. INTERRUPT 0 EDGE FLAG
008A +1 135 IT1 BIT TCON.2 ; EXT. INTERRUPT 1 TYPE
008B +1 136 IE1 BIT TCON.3 ; EXT. INTERRUPT 1 EDGE FLAG
008C +1 137 TR0 BIT TCON.4 ; TIMER 0 ON/OFF CONTROL
008D +1 138 TF0 BIT TCON.5 ; TIMER 0 OVERFLOW FLAG
008E +1 139 TR1 BIT TCON.6 ; TIMER 1 ON/OFF CONTROL
008F +1 140 TF1 BIT TCON.7 ; TIMER 1 OVERFLOW FLAG
+1 141 ;
+1 142 ; SCON 98H
0098 +1 143 RI BIT SCON.0 ; RECEIVE INTERRUPT FLAG
0099 +1 144 TI BIT SCON.1 ; TRANSMIT INTERRUPT FLAG
009A +1 145 RB8 BIT SCON.2 ; RECEIVE BIT 8
009B +1 146 TB8 BIT SCON.3 ; TRANSMIT BIT 8
009C +1 147 REN BIT SCON.4 ; RECEIVE ENABLE
009D +1 148 SM2 BIT SCON.5 ; MULTIPROCESSOR COMMUNICATION ENABLE
009E +1 149 SM1 BIT SCON.6 ; SERIAL MODE CONTROL BIT 1
009F +1 150 SM0 BIT SCON.7 ; SERIAL MODE CONTROL BIT 0
+1 151 ;
+1 152 ; IE A8H
00A8 +1 153 EX0 BIT IE.0 ; EXTERNAL INTERRUPT 0 ENABLE
00A9 +1 154 ET0 BIT IE.1 ; TIMER 0 INTERRUPT ENABLE
00AA +1 155 EX1 BIT IE.2 ; EXTERNAL INTERRUPT 1 ENABLE
00AB +1 156 ET1 BIT IE.3 ; TIMER 1 INTERRUPT ENABLE
00AC +1 157 ES BIT IE.4 ; SERIAL PORT INTERRUPT ENABLE
00AD +1 158 ET2 BIT IE.5 ; TIMER 2 INTERRUPT ENABLE
00AF +1 159 EA BIT IE.7 ; GLOBAL INTERRUPT ENABLE
+1 160 ;
+1 161 ; IP B8H
00B8 +1 162 PX0 BIT IP.0 ; EXTERNAL INTERRUPT 0 PRIORITY
00B9 +1 163 PT0 BIT IP.1 ; TIMER 0 PRIORITY
00BA +1 164 PX1 BIT IP.2 ; EXTERNAL INTERRUPT 1 PRIORITY
00BB +1 165 PT1 BIT IP.3 ; TIMER 1 PRIORITY
00BC +1 166 PS BIT IP.4 ; SERIAL PORT PRIORITY
00BD +1 167 PT2 BIT IP.5 ; TIMER 2 PRIORITY
+1 168 ;
+1 169 ; SMB0CN C0H
00C0 +1 170 SMBTOE BIT SMB0CN.0 ; SMBUS 0 TIMEOUT ENABLE
00C1 +1 171 SMBFTE BIT SMB0CN.1 ; SMBUS 0 FREE TIMER ENABLE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -