接 汇编测验程序:
B_COM0SS:;比较器CM0:
CLR CM0M ; 清CM0M 寄存器。; 复位比较器CM0。
;设置比较器CM0 的功用形式。
;B0BCLR FCM0SF ; 一般比较器形式。
B0BSET FCM0SF ; 特别功用形式。
;设置比较器CM0 的输出引脚。
B0BCLRFCM0OEN ; 制止比较器CM0 的输出引脚。 —- 没有输出引脚
; B0BSET FCM0OEN ; 使能比较器CM0 的输出引脚。
;比较器不要外部输出引脚时,接口板上芯片插座引脚是一般I/O,比较器引脚则仍然是比较器引脚.
;比较器运用外部输出引脚时,接口板上芯片插座引脚=比较器引脚.
;只是 2 个引脚 ( IN+_IN- )就可以构成一个比较器!
; 设置比较器CM0 中止触发沿。
B0BCLR FCM0G ; 下降沿。由高变低(CM0P<CM0N).
; B0BSET FCM0G ; 上升沿。比较器输出状况由低变高(CM0P>CM0N).
;设置比较器CM0 输出de-bounce。
MOV A,#00H ; 经过CM0D[3:0]设置比较器CM0 输出de-bounce。
B0MOV CMDB0,A
B0BCLR FCM0IRQ; 清CM0IRQ。
;使能比较器CM0 和中止功用。
B0BSET FCM0IEN ; 使能比较器CM0 中止功用。
B0BSET FCM0EN ; 使能比较器CM0。
RET
;=============================================================
B_COM0SS_1: ;// 比较器CM1:
CLR CM1M ; 清CM1M 寄存器。; 复位比较器CM1。
; 设置比较器CM1 正极输入端。 经过CM1RS[2:0]设置比较器CM1 正极输入端。
;000=CM1P 引脚为比较器正极输入引脚,GPIO 功用被屏蔽,
;MOV A,#00000111B ; 100B=4.0V — 读数=105709
;MOV A,#00000110B ; 100B=3.5V — 读数=79147
; MOV A,#00000101B ; 100B=3.0V — 读数=60305
; MOV A,#00000100B ; 100B=2.5V — 读数=45723
;MOV A,#00000011B ; 11B=2.0V — 读数=33659
;MOV A,#00000010B ; 10B=1.5V — 读数=23601
MOV A,#00000001B ; 10B=1.0V — 读数=14908
B0MOV CM1M,A ; —- 没有输入+ 引脚
; 设置比较器CM1 功用形式。
B0BCLR FCM1SF ; 一般比较器。
;B0BSET FCM1SF ; 特别功用。
; 设置比较器CM1 输出引脚。
B0BCLR FCM1OEN ; 制止。 —- 没有输出引脚
;B0BSET FCM1OEN ; 使能。
;比较器不要外部输出引脚时,接口板上芯片插座引脚是一般I/O,比较器引脚则仍然是比较器引脚.
;比较器运用外部输出引脚时,接口板上芯片插座引脚=比较器引脚.
;只是一个 IN- 就可以构成一个比较器!
;设置比较器CM1 中止触发沿。
B0BCLR FCM1G ; 下降沿。翻转=2.552V/2.570V
; B0BSET FCM1G ; 上升沿。翻转=2.552V/2.570V
; 设置比较器CM1 输出de-bounce。
MOV A,#00H ; 经过CM1D[3:0]设置比较器CM1 输出de-bounce。
B0MOV CMDB0,A
; 清CM1IRQ。
B0BCLR FCM1IRQ
; 使能比较器CM1 和中止功用。
B0BSET FCM1IEN ; 使能比较器CM1 中止功用。
B0BSET FCM1EN ; 使能比较器CM1。
RET
;***************************************************************
B_IRS:
H_PUSH
;比较器1 中止
BS1 FCM1IEN ; 使能比较器CM0 中止功用。
JMP B_IRST0
BS1 FCM1IRQ; 清CM0IRQ。
JMP B_IRST0
ZB0 FCM1IRQ; 中止产生时,FCM0OUT 并不对!还没有产生翻转就中止了!
BS0 FCM1OUT;IN+>IN- 则=1,不然=0!— 输入脚加滤波电容就很好了! 0.8mV 动作!
JMP B_IRST0
Z2B0 FT0ENB,FT0IEN
ZB0 FP01
ZB0 FCM1IEN
JMP B_IRQT01
B_IRST0:
BS1 FT0IEN
JMP B_EXISR
B_IRQT01:
BS1 FT0IRQ
JMP B_EXISR
ZB0 FT0IRQ
INCMS SSSL
JMP @F
INCMS SSSM
JMP @F
INCMS SSSH
@@:
NOP
NOP
NOP
JMP B_EXISR
;————————————————————————
;比较器0 中止
BS1 FCM0IEN ; 使能比较器CM0 中止功用。
JMP B_EXISR
BS1 FCM0IRQ; 清CM0IRQ。
JMP B_EXISR
ZB0 FCM0IRQ; 中止产生时,FCM0OUT 并不对!还没有产生翻转就中止了!
BS0 FCM0OUT;IN+>IN- 则=1,不然=0!— 输入脚加滤波电容就很好了! 0.8mV 动作!
JMP B_EXISR
NOP
NOP
NOP
B_EXISR:
H_POP
RETI
;*************************************************