??? 12/28/05 11:03 Read: times |
#106076 - definitions for 2500 A.D Software Responding to: ???'s previous message |
hi,
Shaharyar Ali Anis said:
im writing code for at89s8252 So first of all include the next line at the top of your .asm file: CHIP 8052By this line your assembler will be noted about using of 8052 extra features like additional 128 bytes of memory and timer 2. Rest registers and bits may be defined with keyword REG. Here is example of my very old program wrote under 2500 A.D. CHIP 8052 ; Extensions of 8052 ;---------------------------------------------------------; ; additional registers of 89S8252: DP0L REG 82h ; DATA POINTER 0 - LOW BYTE DP0H REG 83h ; DATA POINTER 0 - HIGH BYTE DP1L REG 84h ; DATA POINTER 1 - LOW BYTE DP1H REG 85h ; DATA POINTER 1 - HIGH BYTE WMCON REG 96h ; WATCHDOG AND MEMORY CONTROL REGISTER T2MOD REG C9h ; TIMER 2 MODE CONTROL REGISTER EEMWE EQU 00010000b ; EEPROM Data Memory Write Enable bit EEMEN EQU 00001000b ; EEPROM Access Enable DPS EQU 00000100b ; Data Pointer Register Select WDTRST EQU 00000010b ; Watchdog Timer Reset / EEPROM Ready Flag WDTEN EQU 00000001b ; Watchdog Timer Enable bit ;---------------------------------------------------------; ; memory allocations BUTTONS EQU 2Eh ; keyboard status TMP_BF EQU 2Fh ; temp. bitfield BIT_TRE REG 2Fh.0 ; TIMER REFRESH ENABLE BIT_T0R REG 2Fh.1 ; TIMER 0 READY BIT_WKE REG 2Fh.2 ; WRITE KEY ENABLE ;---------------------------------------------------------; ; EEPROM USG_CNT EQU 0010h ; log base address ;---------------------------------------------------------; ; Ports KBD_DAT REG P0 ; keyboard port ; buttons BUT_1 REG P0.5 ; ones BUT_10 REG P0.4 ; tens BUT_WR REG P0.6 ; write HGL_DAT REG P1 ; LED segments ; LED1 HGL_1_A REG P1.3 ; segment A HGL_1_B REG P1.0 ; segment B HGL_1_C REG P1.4 ; segment C HGL_1_D REG P1.2 ; segment D HGL_1_E REG P1.1 ; segment E HGL_1_F REG P1.6 ; segment F HGL_1_G REG P1.5 ; segment G ;---------------------------------------------------------; ; my defines F1 REG PSW.1 T0_50HZ EQU B0h ; B000h - timer 0 divider for 50Hz ; keyboard KBD_MASK EQU 01110000b ; keyboard mask for 3 buttons KBD_WR_MASK EQU 01000000b ; mask for write button KBD_01_MASK EQU 00100000b ; mask for button +1 KBD_10_MASK EQU 00010000b ; mask for button +10 MAX_USAGE_VALUE EQU 256-50 ; max. number of writes ; error codes ERROR_MB_UNKNOWN EQU 1 ERROR_WRONG_MCU EQU 2 ERROR_WRONG_CRC EQU 3 ERROR_WRONG_ID EQU 4 ERROR_EEPROM_BAD EQU 5etc. I think this example gives you hints how to do. Regards, Oleg |
Topic | Author | Date |
Assmbler help | 01/01/70 00:00 | |
? | 01/01/70 00:00 | |
Re: Assembler help | 01/01/70 00:00 | |
usually not | 01/01/70 00:00 | |
just caught the above | 01/01/70 00:00 | |
Any 8052 assembly compiler | 01/01/70 00:00 | |
assembly compiler there is no such thin | 01/01/70 00:00 | |
MetaLink among others | 01/01/70 00:00 | |
MetaLink among others | 01/01/70 00:00 | |
Excellent documentation | 01/01/70 00:00 | |
The Include files | 01/01/70 00:00 | |
Im using x51 L51 | 01/01/70 00:00 | |
when using an oddball (not that that is | 01/01/70 00:00 | |
???? | 01/01/70 00:00 | |
ur brand name | 01/01/70 00:00 | |
2500 A.D Software - dead by now? | 01/01/70 00:00 | |
Old Compiler | 01/01/70 00:00 | |
if you do not have the manual, that seem | 01/01/70 00:00 | |
The old days | 01/01/70 00:00 | |
OT: Floppies![]() | 01/01/70 00:00 | |
Re: | 01/01/70 00:00 | |
definitions for 2500 A.D Software | 01/01/70 00:00 | |
Thankyou All | 01/01/70 00:00 |