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

📄 max515a.asm

📁 单片机C语言教程
💻 ASM
字号:
;/* 这是被CALL515.C调用的MAX515汇编程序,文件名为MAX515A.ASM      */
;/* 功能:本程序作用是实现MAX515芯片的D/A转换。                   */

   NAME MAX515A
   ?PR?_a_func?MAX515A     SEGMENT CODE
   ?DT?_a_func?MAX515A     SEGMENT DATA OVERLAYABLE
   ?DT?MAX515A             SEGMENT DATA

   PUBLIC   chai
   PUBLIC   ?_a_func?BYTE
   PUBLIC    _a_func
   RSEG  ?DT?_a_func?MAX515A
	 ?_a_func?BYTE:
	 data_addr:DS 2
   RSEG  ?DT?MAX515A
	 chai:     DS 1
   RSEG  ?PR?_a_func?MAX515A
	 _a_func:

SI               EQU P1.0
SCK              EQU P1.1
CS               EQU P1.2
SO               EQU P1.3

                 MOV data_addr,R7   ;R6和R7中放传递进来的整型参数
                 MOV data_addr+1,R6

                 MOV A,data_addr+1
                 MOV R2,A
                 MOV A,data_addr
                 MOV R3,A
                 LCALL DACOUT
                 RET                ;本被调程序无返回参数

 DACOUT:         SETB CS
		             CLR CS
		             MOV A,R2        ;R2和R3中放待转换值
	 	             LCALL BYTE_OUT
	 	             MOV A,R3
	 	             LCALL BYTE_OUT
                 SETB CS
                 NOP
                 RET

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
DELAY:                          ;延时程序
                MOV   R2, #10
                MOV   R1, #0
                MOV   R0, #0
DLP:
                DJNZ  R0, DLP
                DJNZ  R1, DLP
                DJNZ  R2, DLP
                RET
	    	        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -