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

📄 initial.asm

📁 给香港公司做的出口欧洲的电子称项目全部源代码 CPU:KS57C2308 RANGE:(0 -150KG)/d = 0.1kg
💻 ASM
字号:
; PRJ : FAT_SCALE
;MODULE:  INITIAL.ASM                  ;
;INCLUDE  INITIAL HARDWARE AND SOFTWARE;
;**************************************;
SYS_INIT:                              ;
        SMB      15                    ; SYSTEM INIT
        LD       EA,#00H               ;
        LD       SP,EA                 ; SET THE SP TO THE TOP OF THE RAM AREA
        LD       A,#03H                ;
        LD       PCON,A                ; SET CPU CLOCK TO 0.95us AT 4.19M HZ
        LD       EA,#01011010B         ;
        LD       WDMOD,EA              ; DISABLE WATCHDOG TIMER
        BITR     SCMOD.3               ; ENABLE MAIN OSC
        BITS     SCMOD.2               ; STOP SUB OSC
        BITR     SCMOD.0               ; THIS BIT USE TO SELECT CPU'CLOCK, NOW SHOULD CLR IT
;--------------------------------------;
;INITIAL PORT                          ;
; 0: INPUT    1 : OUTPUT               ;
;|-------------------------------------------------------------\
;| PMG1:| P6.3 | P6.2 | P6.1 | P6.0 | P3.3 | P3.2 | P3.1 | P3.0|
;|-------------------------------------------------------------|
;| PMG1:    0     1      1      1      1      1      1      1  |
;|-------------------------------------------------------------/

;|----------------------------------------------------------\
;| PMG2:|  P7  |  0  |  P5  |  P4  |  0  |  P2  |  0  |  0  |
;|----------------------------------------------------------|
;| PMG2:    0     0     1      0      0     1      0     0  |
;|----------------------------------------------------------/
; 1: PULL_UP RESISTOR ENABLE           ;
; 0: PULL_UP RESISTOR DISABLE          ;
;|-----------------------------------------------\
;| PUMOD:| P7 | P6 | P5 | P4 | P3 | P2 | P1 | P0 |
;|-----------------------------------------------|
;          1    0    0    0    0    0    0    0  |
;|-----------------------------------------------/

;--------------------------------------\
;SET PMG1 & PMG2:                      ;
        LD       EA,#01111111B         ; P6.0/P6.1/P6.2/P3: OUTPUT
        LD       PMG1,EA               ; P3.3 IN/OUT P6.3: INPUT
        LD       EA,#00100100B         ;
        LD       PMG2,EA               ; P4,P7: INPUT. P5,P2 OUTPUT.
;----------------------                ;
;SET PUMD & PNE                        ;
        LD       EA,#10000000B         ; P7: INTERNAL PULL-UP RESISTOR ENABLE
        LD       PUMOD,EA              ; P6,P5,P4,P3,P2,P1,P0:INTERNAL PULL-UP RESISTOR DISABLE
        LD       EA,#00000000B         ;
        LD       PNE,EA                ; CONFIGURE P4,P5
;---------------------                 ;
;SET LCD REGISTER:                     ;
        LD       EA,#00000100B         ; ENABLE WATCH TIMER,NORMAL SPEED SET IRQW TO 0.5S
        LD       WMOD,EA               ; SELECT A SUB CLOCK AS THE WATCH TIMER CLOCK
        LD       EA,#00011011B         ; SET  LMOD  (1/3 DUTY, 1/2 BIAS )
        LD       LMOD,EA               ; 1100 1010
        LD       A,#0001B              ;
        LD       LCON,A                ; SET LCD TO NORMAL DISPLAY MODE
;----------------------                ;
;SET BT:                               ;
        LD       A,#0111B              ;
        LD       BMOD,A                ; BMOD = 0111B (1.95MS)
;----------------------                ;
;SET INT0:                             ;
        LD       A,#1010B              ; BOTH RISING AND FALLING EDGE DETECTION
        LD       IMOD0,A               ; SELECT SYSTEM CLOCK(Fxx/64) FOR SAMPLING
;----------------------                ;
;SET INT2:                             ;
        LD       A,#0010B              ; SET FALLING EDGE AT KS2 - KS7
        LD       IMOD2,A               ;
;----------------------                ;
;SET TC0:                              ;
        LD       EA,#01101100B         ;
        LD       TMOD0,EA              ;
        LD       EA,#0FFH              ;
        LD       TREF0,EA              ; SYSTEM CLICK IS 255/65.5 = 0.39MS
;----------------------                ;
;SET IE                                ;
;  IE2 IEW IET0 IES IE1 IE0 IE4 IEB    ;
;   0   1   1    0   0   1   0   1     ;
        BITR     IE2                   ;
        BITR     IES                   ;
        BITR     IE1                   ;
        BITR     IE4                   ;
        BITS     IEW                   ; FOR LCD DISPLAY
        BITS     IET0                  ; SYSTEM CLICK
        BITS     IE0                   ; EXTERNAL INT0
        BITS     IEB                   ; BASIC COUNTER
        SMB      0                     ;
        JPS      SYS_INIT_END          ;
;**************************************;

;**************************************;
RAM_CLR:SMB      1                     ; SMB = 1
        LD       HL,#00H               ; CLR BANK 1: 100H --- 1FFH (255 NIBS)
        LD       A,#0H                 ;
RAM_CLR_B1:                            ;
        LD       @HL,A                 ;
        INCS     HL                    ;
        JR       RAM_CLR_B1            ;
        SMB      0                     ; CLR BANK 0: 020H --- 0FFH (240 NIBBLE)
        LD       HL,#20H               ;
RAM_CLR_B0:                            ;
        LD       @HL,A                 ;
        INCS     HL                    ;
        JR       RAM_CLR_B0            ;
        JPS      RAM_CLR_END           ;
;**************************************;

;**************************************;
; NAME:    SOFT_INIT                   ;
; FUNCTION:INIT SOFTWARE               ;
SOFT_INIT:                             ;
        CALL     INIT_KB               ; INIT KEYBOARD SCAN
SOFT_INIT_1:                           ;
        CALL     INIT_DATA_PRO         ;
        LD       A,#(16-3)             ;
        LD       TAPE_ON_CNT,A         ;
        BITR     SYS_CLICK             ; INIT MIAN TIMER
        BITR     FAT_TEST_EN           ;
        BITR     FAT_MODULE_EN         ; INIT FAT TEST MODULE
        BITR     CAL_EN                ; INIT CAL MODULE
        BITR     SET_EN                ; INIT SET MODULE
;--------------------                  ;
;START ADC & INIT POLE                 ;
        BITS     POST_INT_FLAG         ;
        SMB      15                    ;
        BITS     G_PIN                 ; G = H START AD
        BITR     FAT_CONTROL           ; P3.1
        BITR     P5.3                  ; !!!!!!!!no use RF RECEIVE MODEN
        SMB      0                     ;
        RET                            ;
;**************************************;

⌨️ 快捷键说明

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