?? 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 + -