📄 c8051f330_test.asm
字号:
EIE1 EQU 0E6H
EIP1 EQU 0F6H
OSCICL EQU 0B3H
OSCICN EQU 0B2H
CLKSEL EQU 0A9H
P0MDIN EQU 0F1H
P0MDOUT EQU 0A4H
P0SKIP EQU 0D4H
P1MDIN EQU 0F2H
P1MDOUT EQU 0A5H
P1SKIP EQU 0D5H
P2MDOUT EQU 0A6H
XBR0 EQU 0E1H
XBR1 EQU 0E2H
CKCON EQU 8EH ;时钟控制寄存器
PCA0MD EQU 0D9H ;PCA方式寄存器 (看门狗)
AMX0N EQU 0BAH ;AMUX0负通道选择寄存器
AMX0P EQU 0BBH ;AMUX0正通道选择寄存器
ADC0H EQU 0BEH
ADC0L EQU 0BDH
ADC0CF EQU 0BCH ;ADCO配置寄存器
ADC0CN EQU 0E8H ;ADC0控制寄存器
;--------------变量定义-------------------
NUM_T0 EQU 30H
BUF_SF1L EQU 31H
BUF_SF1H EQU 32H
BUF_SF2L EQU 33H
BUF_SF2H EQU 34H
BUF_O2L EQU 35H
BUF_O2H EQU 36H
BUF_TML EQU 37H
BUF_TMH EQU 38H
AD0BUSY EQU 0ECH
AD0INT EQU 0EDH
FLAG_T0 EQU 00H
FLAG_P EQU 01H
FLAG_SF EQU 02H
;-----------------------------------------------
ORG 0000H
AJMP MAIN
;--------------------------------------------------------------------
ORG 80H
MAIN: MOV PCA0MD, #80H ;关闭看门狗
MOV OSCICN, #83H ; 内部时钟 不分频
MOV CLKSEL, #00H ;选择内使用部高频时钟
; MOV P0MDIN, #0FFH
MOV P0MDIN, #0FEH ;1111 1110 B
MOV P0MDOUT,#00H ;漏极开路输出
;MOV P1MDIN, #0FFH
MOV P1MDIN, #0C3H ;1100 0011 B
MOV P1MDOUT,#000H ;漏极开路输出
MOV P0SKIP, #0FFH
MOV P1SKIP, #0FFH
MOV P2MDOUT,#00H
MOV XBR0, #01H ;
MOV XBR1, #40H ;0100 0000 B 交叉开关使能
MOV NUM_T0, #00H
MOV BUF_SF1L,#00H
MOV BUF_SF1H,#00H
MOV BUF_SF2L,#00H
MOV BUF_SF2H,#00H
MOV BUF_O2L, #00H
MOV BUF_O2H, #00H
MOV BUF_TML, #00H
MOV BUF_TMH, #00H
CLR FLAG_T0
CLR FLAG_P
CLR P1.0
CLR P1.1
MOV EIE1, #00H
MOV EIP1, #00H
MOV IP, #00H
MOV TMOD, #01H ;T0 T0方式一 16位
MOV CKCON, #02H ;T1T0 使用系统时钟的48分频 0.000002S
MOV TH0, #3CH
MOV TL0, #0B0H ;0.1 S
MOV ADC0CF, #44H ;01000 100B 2.72M转换时钟,数据左对齐
MOV ADC0CN, #80H ;1000 0000 软件启动转换
MOV AMX0N, #11H ;10001 ADC工作在单端方式
LOOP: SETB P1.0
CLR P1.1
AJMP LOOP
;-------------------------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -