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

📄 exp4.asm

📁 ADuc812的各种功能程序的例子!很有参考价值
💻 ASM
字号:
P0       DATA  080H  ;PORT 0	
SP       DATA  081H  ;STACK POINTER	
DPL      DATA  082H  ;DATA POINTER - LOW BYTE
DPH      DATA  083H  ;DATA POINTER - HIGH BYTE
DPP      DATA  084H  ;DATA POINTER - PAGE BYTE
PCON     DATA  087H  ;POWER CONTROL
TCON     DATA  088H  ;TIMER CONTROL
TMOD     DATA  089H  ;TIMER MODE
TL0      DATA  08AH  ;TIMER 0 - LOW BYTE
TL1      DATA  08BH  ;TIMER 1 - LOW BYTE
TH0      DATA  08CH  ;TIMER 0 - HIGH BYTE
TH1      DATA  08DH  ;TIMER 1 - HIGH BYTE
P1       DATA  090H  ;PORT 1
P2       DATA  0A0H  ;PORT 2
IE       DATA  0A8H  ;INTERRUPT ENABLE 1
IE2      DATA  0A9H  ;INTERRUPT ENABLE 2
P3       DATA  0B0H  ;PORT 3
IP       DATA  0B8H  ;INTERRUPT PRIORITY
T2CON    DATA  0C8H  ;TIMER 2 CONTROL
RCAP2L   DATA  0CAH  ;TIMER 2 CAPTURE REGISTER - LOW BYTE
RCAP2H   DATA  0CBH  ;TIMER 2 CAPTURE REGISTER - HIGH BYTE
TL2      DATA  0CCH  ;TIMER 2 - LOW BYTE
TH2      DATA  0CDH  ;TIMER 2 - HIGH BYTE
PSW      DATA  0D0H  ;PROGRAM STATUS WORD
ACC      DATA  0E0H  ;ACCUMULATOR
IT0      BIT   088H  ;TCON.0 - EXT. INTERRUPT 0 TYPE
IE0      BIT   089H  ;TCON.1 - EXT. INTERRUPT 0 EDGE FLAG
IT1      BIT   08AH  ;TCON.2 - EXT. INTERRUPT 1 TYPE
IE1      BIT   08BH  ;TCON.3 - EXT. INTERRUPT 1 EDGE FLAG
TR0      BIT   08CH  ;TCON.4 - TIMER 0 ON/OFF CONTROL
TF0      BIT   08DH  ;TCON.5 - TIMER 0 OVERFLOW FLAG
TR1      BIT   08EH  ;TCON.6 - TIMER 1 ON/OFF CONTROL
TF1      BIT   08FH  ;TCON.7 - TIMER 1 OVERFLOW FLAG
T2       BIT   090H  ;P1.0 - TIMER 2 TRIGGER INPUT
T2EX     BIT   091H  ;P1.1 - TIMER 2 COUNT INPUT
EX0      BIT   0A8H  ;IE.0 - EXTERNAL INTERRUPT 0 ENABLE
ET0      BIT   0A9H  ;IE.1 - TIMER 0 INTERRUPT ENABLE
EX1      BIT   0AAH  ;IE.2 - EXTERNAL INTERRUPT 1 ENABLE
ET1      BIT   0ABH  ;IE.3 - TIMER 1 INTERRUPT ENABLE
ES       BIT   0ACH  ;IE.4 - SERIAL PORT INTERRUPT ENABLE
ET2      BIT   0ADH  ;IE.5 - TIMER 2 INTERRUPT ENABLE
EADC     BIT   0AEH  ;IE.6 - ENABLE ADC INTURRUPT
EA       BIT   0AFH  ;IE.7 - GLOBAL INTERRUPT ENABLE
INT0     BIT   0B2H  ;P3.2 - EXTERNAL INTERRUPT 0 INPUT
INT1     BIT   0B3H  ;P3.3 - EXTERNAL INTERRUPT 1 INPUT
T0       BIT   0B4H  ;P3.4 - TIMER 0 COUNT INPUT
T1       BIT   0B5H  ;P3.5 - TIMER 1 COUNT INPUT
WR       BIT   0B6H  ;P3.6 - WRITE CONTROL FOR EXT. MEMORY
RD       BIT   0B7H  ;P3.7 - READ CONTROL FOR EXT. MEMORY
PX0      BIT   0B8H  ;IP.0 - EXTERNAL INTERRUPT 0 PRIORITY
PT0      BIT   0B9H  ;IP.1 - TIMER 0 PRIORITY
PX1      BIT   0BAH  ;IP.2 - EXTERNAL INTERRUPT 1 PRIORITY
PT1      BIT   0BBH  ;IP.3 - TIMER 1 PRIORITY
PS       BIT   0BCH  ;IP.4 - SERIAL PORT PRIORITY
PT2      BIT   0BDH  ;IP.5 - TIMER 2 PRIORITY
TR2      BIT   0CAH  ;T2CON.2 - TIMER 2 ON/OFF CONTROL
EXEN2    BIT   0CBH  ;T2CON.3 - TIMER 2 EXTERNAL ENABLE FLAG
TCLK     BIT   0CCH  ;T2CON.4 - TRANSMIT CLOCK SELECT
RCLK     BIT   0CDH  ;T2CON.5 - RECEIVE CLOCK SELECTT
EXF2     BIT   0CEH  ;T2CON.6 - EXTERNAL TRANSITION FLAG
TF2      BIT   0CFH  ;T2CON.7 - TIMER 2 OVERFLOW FLAG
P        BIT   0D0H  ;PSW.0 - ACCUMULATOR PARITY FLAG
F1       BIT   0D1H  ;PSW.1 - FLAG 0
OV       BIT   0D2H  ;PSW.2 - OVERFLOW FLAG
RS0      BIT   0D3H  ;PSW.3 - REGISTER BANK SELECT 0
RS1      BIT   0D4H  ;PSW.4 - REGISTER BANK SELECT 1
F0       BIT   0D5H  ;PSW.5 - FLAG 0
AC       BIT   0D6H  ;PSW.6 - AUXILIARY CARRY FLAG
CY       BIT   0D7H  ;PSW.7 - CARRY FLAG
        
	ORG     0000H
        AJMP    START
        ORG     000BH           ;T0中断入口地址
        AJMP    INT_T0
        ORG     0100H
START:
        MOV     SP,#60H
        MOV     TMOD,#01H       ;置T0为方式1
        MOV     TL0,#58H        ;定时常数
        MOV     TH0,#9EH
        CLR 	P3.2
        MOV     R2,#40
        SETB    TR0
        SETB    ET0
        SETB    EA              ;开中断
        SJMP    $
INT_T0:                         ;T0中断服务子程序
        PUSH    ACC             ;保护现场
        PUSH    PSW
        PUSH    DPL
        PUSH    DPH
	PUSH	DPP
        CLR     TR0             ;关中断
        MOV     TL0,#58H        ;延时常数
        MOV     TH0,#9EH
        SETB    TR0             ;开中断
        DJNZ    R2,EXIT
        MOV     R2,#40          ;延时一秒的常数
        CPL	P3.2
EXIT:
	POP	DPP
        POP     DPH             ;恢复现场
        POP     DPL
        POP     PSW
        POP     ACC
        RETI

        END

⌨️ 快捷键说明

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