?? max1863.asm
字號:
;/* 這是MAX186的匯編程序, 文件名MAX1863.ASM */
;/* 功能:本程序主要是讀出MAX186輸入通道CH0,CH1,..CH7的模數轉換值, */
;/* 轉換值放在寄存器R6,R7中,R6放高位。MAX186芯片的8個通道 */
;/* 可編程為單極性/雙極性和差動/單端工作, 這里采用單端\單極性 */
;/* 輸入。MAX186有內部時鐘和外部時鐘兩種工作模式,這里采用內 */
;/* 部時鐘模式。MAX186有內帶4.096V的參考電壓,也可用外部參考 */
;/* 電壓,這里采用內帶4.096V的參考電壓。 */
SI EQU P1.3
SO EQU P1.2
SCK EQU P1.1
CS EQU P1.0
ORG 0000H
CLR EA
CLR SCK
CLR CS
MOV A,#08EH ;08EH-選擇CH0,單端,單極性,內部時鐘模式
LCALL BYTE_OUT ;0CEH-選擇CH1,單端,單極性,內部時鐘模式
SETB CS ;09EH-選擇CH2,單端,單極性,內部時鐘模式
NOP ;0DEH-選擇CH3,單端,單極性,內部時鐘模式
NOP ;0AEH-選擇CH4,單端,單極性,內部時鐘模式
NOP ;0EEH-選擇CH5,單端,單極性,內部時鐘模式
CLR CS ;0BEH-選擇CH6,單端,單極性,內部時鐘模式
LCALL BYTE_IN ;0FEH-選擇CH7,單端,單極性,內部時鐘模式
MOV R6,A
LCALL BYTE_IN
MOV R7,A
SETB CS
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
MOV A,R6
ANL A,#0FH
MOV R6,A
LJMP $
BYTE_OUT: MOV R0,#08H ;發送單個字節到芯片串口
BOUT1: CLR SCK
RLC A
MOV SI,C
SETB SCK
DJNZ R0,BOUT1
CLR SI
RET
BYTE_IN: MOV R0,#08H ;從芯片串口取出單個字節
BIN1: SETB SCK
CLR SCK
MOV C,SO
RLC A
DJNZ R0,BIN1
CLR SCK
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -