We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I'm starting learning 8051 mcu, came up with the startup code written in assembly. I have few things I need to know.
Here is the sample startup source code of bootloader:
My questions start with ????? below.
;SOME INITIALIZATION HERE CSEG AT 0 ?C_STARTUP: LJMP Start LJMP ISRApp_ExternalInt0 LJMP _WritePageOnFlash ds 2 ????? Why reserve 2-bytes? LJMP ISRApp_Timer0 LJMP GetP2Value ds 2 ????? Why reserve 2-bytes? ... LJMP ISRApp_UART1 ds 10 ????? Why reserve 10-bytes, does it overlap the 8-byte interrupt interval? LJMP ISRApp_SMB1 ... CSEG AT 1400h Base: dw $ ISRApp_Reset: lcall Error ????? Why it calls Error? ISRApp_ExternalInt0: lcall Error ISRApp_Timer0 lcall Error ... ISRApp_UART1 lcall Error Error: clr EA Loop: jmp Loop ... END
Also, what I don't understand here is, why it didn't indicate CSEG AT 03h for Interrup 0, CSEG AT 0Bh for Interrup 1, etc. as to what states here http://www.keil.com/support/docs/132.htm?
Hope somebody can lighten me up here.
I used Silabs 8051 mcu w/ keil's C51.
thanks gee