📄 init_mcu.asm
字号:
;************Setting config register and I/O port, interruptions*******
;PTB0,1,2,3,4 AS DOT0,1,2,3,4 PTB5 TO CONTROL DC-DC CONVERTER
;PTD0,1,3 AS DOT5,6&MOTOR DRIVER SIGNAL PTD4 AS INPUT CAPTURE
;PTA2 AS KEY IN FOR TEST LR
;OSC 4.9152MHz
CONFIG1INIT EQU $01
CONFIG2INIT EQU $00
INTSCRINIT EQU $02
PORTAINIT EQU $21 ;PS DISABLED BUSY LED NO LIGHT
DDRAINIT EQU $F3 ;PTA3 As input Home Switch/PTA2 for manual 2 LR
PORTBINIT EQU $80 ;FRAM WRITE PROTECTED
DDRBINIT EQU $FF ;ALL OUTPUT
PORTDINIT EQU $00
DDRDINIT EQU $3F ;ALL OUTPUT EXCEPT TXD&RXD
;============INTERNAL CONSTANT DEFINITION===============
cbSCC1_INI EQU $40 ;
cbSCC2_INI EQU $2C ; 00101100
cbSCC3_INI EQU $03 ; Error interrupt enabled
cbSCBR_INI EQU $02 ;04/4800 Or #$21
;-------------------------------------------------------
$MACRO M_UART_INIT_JL8 ;
MOV #cbSCC1_INI,SCC1 ;%01000000($40), Enable SCI
;Bit0: Parity Bit; 0: Even, 1: Odd
;Bit1: Parity Enable Bit
;Bit2: Idle Line Type Bit
;Bit3: Wakeup Condition Bit
;Bit4: Mode Bit
;Bit5: Transmit Inversion Bit
;Bit6: Enable SCI Bit
;Bit7: Loop Mode Select Bit
;
MOV #cbSCC2_INI,SCC2 ;%00101100($2C), Enable Txd/Rxd & RxD Interrupt
;Bit0: Send Break Bit
;Bit1: Receiver Wakeup Bit
;Bit2: Receiver Enable Bit
;Bit3: Traansmitter Enable Bit
;Bit4: Idle Line Interrupt Enable Bit
;Bit5: SCI Receive Interrupt Enable Bit
;Bit6: Transmission Complete Interrupt Enable Bit
;Bit7: SCI Transmit Interrupt Enable Bit
;
MOV #cbSCC3_INI,SCC3 ;%00000010($02), Enable Framing Error Interrupt
;Bit0: Receiver Parity Error Interrupt Enable Bit
;Bit1: Receiver Framing Error Interrupt Enable Bit
;Bit2: Receiver Noise Error Interrupt Enable Bit
;Bit3: Receiver Overrun Interrupt Enable Bit
;Bit4: DMA Transfer Enable Bit
;Bit5: DMA Receive Enable Bit
;Bit6: Transmitted Bit 8
;Bit7: Received Bit 8
MOV #cbSCBR_INI,SCBR ;%00010100($14), Set baud rate at 2400bps
;Bit0: Baud Rate Select Bits(0,1,2)
;Bit1:
;Bit2:
;Bit3:
;Bit4: Baud Rate Prescale Bits(0,1)
;Bit5:
;Bit6: Reserved
;Bit7: Reserved
$MACROEND ;
;-------------------------------------------------------
;****************************************************************;
$MACRO M_INIT_VARS
; MOV #RCV_OK,SND_BUFFER ;INIT TO RCV DATA
MOV #$00,F_STATUS
MOV #$00,PRINT_STATUS
$MACROEND
;****************************************************************;
S_MCU_INIT:
MOV #CONFIG1INIT,CONFIG1 ;LVI enabled COP disabled
MOV #CONFIG2INIT,CONFIG2
MOV #INTSCRINIT,INTSCR
MOV #PORTAINIT,PORTA
MOV #DDRAINIT,DDRA
MOV #PORTBINIT,PORTB
MOV #DDRBINIT,DDRB
MOV #PORTDINIT,PORTD
MOV #DDRDINIT,DDRD
MOV #$00,KBSCR ;KBIE INITIALIZATION
MOV #$04,KBIER ;PTA2 AS KB INTERUPPT /?
MOV #$31,T1SC
MOV #$44,T1SC0 ;TIM INITIALIZATION,T1CH0(PTD4) AS INPUT CAPTURE
MOV #$01,T1SC
MOV #$02,INTSCR ;IRQ interrupt disabled
M_UART_INIT_JL8 ;Initialize JL8 SCI
M_INIT_VARS
BSET FRAM_CLK,PTB
BSET FRAM_SDA,PTB
; BSET FIRST_ENTER,TEST_FLAGS
; MOV #$01,WR_INDEX
BCLR STOP_MOTOR,F_STATUS ;TEST 11/09/2004
BCLR PS_SD,PTA
RTS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -