⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m1247.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
;/* 这是MAX1247的汇编程序,  文件名M1247.ASM                     */
;/* 功能:本程序主要是读出输入通道CH0(或CH1,CH2,CH3)的模数转换值,*/
;/*    转换值放在寄存器R6,R7中,R6放高位。MAX1247芯片的四个通道   */
;/*    可编程为单极性/双极性和差动/单端工作, 这里采用单端\单极性  */
;/*    输入。MAX1247有内部时钟和外部时钟两种工作模式。这里采用内  */
;/*    部时钟模式                                                 */

CS               EQU P1.0
SO               EQU P1.1
SI               EQU P1.2
SCK              EQU P1.3
                 ORG 0000H
                 CLR EA
		 CLR SCK
		 CLR CS
		 MOV A,#09EH    ;09EH-选择CH0,单端,单极性,内部时钟模式
	 	 LCALL BYTE_OUT ;0DEH-选择CH1,单端,单极性,内部时钟模式
                 SETB CS        ;0AEH-选择CH2,单端,单极性,内部时钟模式
		 NOP            ;0EEH-选择CH3,单端,单极性,内部时钟模式
		 NOP
                 NOP
                 CLR CS
		 LCALL BYTE_IN
		 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 + -