本帖最后由 新鄉家電維修 于 2018-8-30 12:20 編輯
P5.5是比較器正輸入端,
P5.4是比較器負輸入端,
如果比較器負端選擇了內部的參考電壓1.27V,那么P5.4現在還能作為一個正常IO口使用嗎?
有高人用過嗎,回答下
解決了,經過實驗程序測試,負端選擇內部參考電壓,不影響P5.4口作為正常IO口使用,
;匯編比較器使用(中斷方式,中斷入口00ABH)
CMPCR1 DATA 0E6H ;比較器控制寄存器1
CMPEN EQU 080H ;B7,比較模塊使能位,1允許,0禁用
CMPIF EQU 040H ;B6,中斷標志位,1是有中斷,必須手動清零(有中斷此位置1,需要手動清零)
PIE EQU 020H ;B5,上升沿使能位,1允許,0禁用
NIE EQU 010H ;B4,下降沿使能位,1允許,0禁用
PIS EQU 008H ;B3,+極選擇位,1選ADCIS,0選P5.5+
NIS EQU 004H ;B2,-極選擇位,1選P5.4,0選內部BGV
CMPOE EQU 002H ;B1,1輸出P1.2,0禁止到P1.2
CMPRES EQU 001H ;B0,比較結果,只讀(+端高于-端輸出1,+端低于-端輸出0,直接反應比較器結果,不受軟件控制,只讀)
CMPCR2 DATA 0E7H ; 比較器控制寄存器2
INVCMPO EQU 080H ;B7,1取反后輸出到P1.2,0正常輸出
DISFLT EQU 040H ;B6,1無0.1us延時輸出,0有0.1us延時輸出
LCDTY EQU 03FH ;B5-B0,輸出抖動時間控制(防止誤觸發)00000表示沒有延時
附上我的測試程序,修改過的,官網推薦程序復雜繁瑣,下面是我修改過的,只有短短幾行,
稍加改動就能實際應用,我打算用于停機保存數據到EEPROM。
測試成功程序:
ORG 00H
LJMP MAIN
ORG 00ABH ;比較器中斷入口
LJMP INT_8
;===============================
ORG 0100H
MAIN:
MOV 0E6H, #10010000B
MOV 0E7H,#0
SETB EA
SJMP $
;===========================================
INT_8:
MOV A,0E6H
MOV P1,A
RETI
END
|