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

📄 asmpro.asm

📁 完整功放的控制程序
💻 ASM
字号:
;****************************************************************************
;=============================== ASMPRO(V10)=================================
;-------------------------------- 内存分配 ----------------------------------
        ;内存助记符清单...
        ;N   (常数)
        ;B   (位变量, bdata)
        ;BC  (单片机控制脚)
        ;R   (内部内存变量, data)
        ;RG  (内部内存变量数组, data)
        ;RX  (外部内存变量, xdata)
        ;RXG (外部内存变量数组, xdata)
        ;例子: N_XXX, B_XXX, R_XXX ...

        PUBLIC  RESET 
        ;A51汇编器伪指令(PUBLIC) 为其它模块所使用
        ;....................... 常量、变量定义 ...........................
        ;N_KEEPM	EQU	42D
        
    
        ;***** 汇编的子程序之间的过程数据传递数组 uchar par[4] *****
	EXTRN	DATA(PAR)    	;第1字节 -- PAR
				;第2字节 -- PAR+01H
				;第3字节 -- PAR+02H
				;第4字节 -- PAR+03H
				;...
	;A51汇编器伪指令(EXTRN) 列出其它模块中定义过的符号,字节和位
	;***** 汇编的子程序之间的过程数据传递位组  *****************
        EXTRN	BIT(SYS_START)    	;第一位显示最高位

;=========================== 汇编程序开始 ===================================
;****************************************************************************
     	CSEG    AT(0003H)    	;External Interrupt 0 
       	RETI
				;A51汇编器伪指令(CSEG),程序绝对段
	CSEG    AT(000BH)	;Timer 0
       	RETI
       				;A51汇编器伪指令(CSEG),程序绝对段
       	CSEG    AT(0013H)	;External Interrupt 1
       	RETI
       				;A51汇编器伪指令(CSEG),程序绝对段
       	CSEG    AT(001BH)	;Timer 1
       	LJMP	TIME1_INT
       	RETI
       				;A51汇编器伪指令(CSEG),程序绝对段
       	CSEG    AT(0023H)	;Serial Port
       	RETI
       				;A51汇编器伪指令(CSEG),程序绝对段
       	CSEG    AT(002BH)	;Serial 52 CPU Timer2/T2Ex
       	RETI
       				;A51汇编器伪指令(CSEG),程序绝对段
       	NOP
       	NOP
       	NOP

        ;****** 包括外部的汇编子程序 **********************************
        $INCLUDE (PT6311.ASM)
        $INCLUDE (PT6311_2.ASM)        
        $INCLUDE (REMOTE.ASM)
        $INCLUDE (M62446.ASM)
        $INCLUDE (AD0.ASM)
;;        $INCLUDE (MVOLDET.ASM)
;;        $INCLUDE (VOLDET.ASM)
        $INCLUDE (M62421.ASM)
        $INCLUDE (24C01.ASM)
        
	;A51汇编次要控制(INCLUDE 文件名)
        ;*************** TIME1 中断(用于看门狗与其他迅速检测的程序) *******************
        USING   1       ;声明这里使用了寄存器组1
			;A51汇编器伪指令(USING),通知汇编器使用那一组寄存器组
	EXTRN	DATA(DOG_TIME0)    	;time0中断的看门狗计数数
	EXTRN	DATA(DOG_MAIN)    	;main的看门狗计数数
	EXTRN   DATA(AD_IN)

       	EXTRN	BIT(B_CLOSE_MACH)  		;第一位显示最高位
	
;A51汇编器伪指令(EXTRN) 列出其它模块中定义过的符号,字节和位
TIME1_INT:
        CLR TR1               		;T1计数中断                     
	PUSH    ACC
        PUSH    PSW
	PUSH    DPH
	PUSH    DPL			;保护DPTR,遥控器用到DPTR
	MOV     PSW, #00001000B         ;使用寄存器组1
        MOV     A,TMOD 						
        ANL     A,#00FH 						
        SETB    ACC.4 			;重新设置T1计数器			
        MOV     TMOD,A
	MOV	TL1, #25H 		;TIME1=500/sec
	MOV	TH1, #0FAH
	MOV	DOG_TIME0, #50D		;恢复TIME0看门狗计数数, 0.5S
	DJNZ	DOG_MAIN, NOPROB	;监控MAIN主程序
	POP	ACC
	POP	ACC
	MOV	DPTR, #RESET		;看门狗溢出复位
	PUSH	DPL
	PUSH	DPH
	RETI
NOPROB:
	LCALL	GET_REMOTE		;读遥控,是否有键按下
;;	LCALL   INPUT_DET		;MVOL_DET
        POP     DPL
        POP     DPH
        POP     PSW
        POP     ACC
        SETB TR1						
        RETI
;*************************************************************
RESET:  CLR	EA
	MOV	PSW, #00H
	LJMP	0000H
;**************************************************************
	END
;A51汇编器伪指令(END) 设定源程序最后一行

⌨️ 快捷键说明

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