📄 m1241b.asm
字号:
;****************************************************************
;/* 这是被CALL1241.C调用的MAX1241汇编语言程序,文件名为M1241B.ASM */
;/* 功能:本程序主要是读出MAX1241芯片的AD转换值。 */
;/* 本程序是被调用的汇编语言程序,由外部传递进来的参数在R7中, */
;/* 是字符型的,在本程序中未用;返回的参数是整形的,其中R7中 */
;/* 放返回转换值低8位,R6中放返回转换值高4位。MAX1241的三根 */
;/* 数据线,SCLK时钟输入端、CS片选控制端和DOUT数据输出端分别 */
;/* 由89C52的P1.1、P1.2和P1.3控制。MAX1241的SHDN由P1.0控制。 */
;******************************************************************/
SHDN EQU P1.0
SCK EQU P1.1
CS EQU P1.2
DOUT EQU P1.3
NAME M1241B
?PR?_a_func?M1241B SEGMENT CODE
?DT?_a_func?M1241B SEGMENT DATA OVERLAYABLE
?DT?M1241B SEGMENT DATA
PUBLIC chai
PUBLIC ?_a_func?BYTE
PUBLIC _a_func
RSEG ?DT?_a_func?M1241B
?_a_func?BYTE:
aa:DS 1
RSEG ?DT?M1241B
chai:DS 2
RSEG ?PR?_a_func?M1241B
_a_func:
MOV aa,R7 ;R7中放传递进来的字符型参数
MOV 20H,#0
MOV 21H,#0
LCALL DC ;调AD转换程序
MOV R7,20H ;R7中放返回转换值低8位
MOV A,21H
ANL A,#0FH
MOV 21H,A
MOV R6,21H ;R6中放返回转换值高4位。
RET
DC: CLR SCK ;AD转换程序
CLR CS
SETB SHDN ;使SHDN脚为高电平,MAX1241处于工作模式
HERE: JNB DOUT,HERE
SETB SCK
ACALL QUS
MOV 0BH,C
ACALL QUS
MOV 0AH,C
ACALL QUS
MOV 09H,C
ACALL QUS
MOV 08H,C
ACALL QUS
MOV 07H,C
ACALL QUS
MOV 06H,C
ACALL QUS
MOV 05H,C
ACALL QUS
MOV 04H,C
ACALL QUS
MOV 03H,C
ACALL QUS
MOV 02H,C
ACALL QUS
MOV 01H,C
ACALL QUS
MOV 00H,C
SETB CS
CLR SHDN ;使SHDN脚为低电平,MAX1241工作于关断模式
RET
QUS: CLR SCK
NOP
SETB SCK
MOV C,DOUT
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -