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

📄 13程序.asm

📁 51单片机的多机通讯的汇编源程序.主机控制从机
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;--------------------------------------------------------------------------------------
 ;   BODY:   PHILIS P89LPC938

;FUNCTION:   POWER  CORTROL

 ;   XTAL:   11.0592Mhz

; EDITION:   C0.0
;---------------------------------------------------------------------------------------              
                 $NOMOD51 
                $INCLUDE (REG932.INC) 					
		      KEY1     BIT   P1.4;键盘输入	  
		      DP       BIT   P0.0
		      LED1H    BIT   P1.2;LED显示位选
     	      LED2H    BIT   P2.5
	         LED3H    BIT   P2.4
	         LED4H    BIT   P2.3
	         LED5H    BIT   P2.2
            LED6H    BIT   P2.1
	         LED7H    BIT   P2.7
	         LED8H    BIT   P2.6

             BZ       BIT   P1.7
             DE       BIT   P2.0
      


                  IC       BIT   05H;位寻址区20H               
                 ; ERR      BIT   01H
                  AUTOFL   BIT   04H
                  HI       BIT   06H                
                  TXDON    BIT   03H             
		            VC       BIT   00H
                  HV       BIT   01H
                  RXDON    BIT   07H
                  GLINT    BIT   08H;;位寻址区30H
                  KBNRFL   BIT   09H
                  KBINFL   BIT   0AH
                  DLXXMSFL BIT   0BH
                  ADCHG    BIT   0CH ;AD切换标志位
                  ;IVFL     BIT   0DH ;
                 ; HIVFL    BIT   0EH ;              
                  ;AUTO     BIT   11H ;允许手动调节?
                  BZ2SFL   BIT   12H ;错误提示
                  EQUFL    BIT   13H ;相等标志位
                  LOWFL    BIT   14H ;
                  HIGHFL   BIT   15H ;PWM极限               PWM
                  DIPALL   BIT   17H   
                  DECFL    BIT   18H
                  ADDFL    BIT   19H
                  SECFL    BIT   1AH;是否进行PWM调节.                 
                  TM100FL  BIT   1BH;是否进行快速加减
                  DECSOON  BIT   1CH
                  ADDSOON  BIT   1DH  
                  TM3SFL   BIT   1EH
                  SETINFL  BIT   1FH
                  ZEROFL   BIT   20H	
     	            SETADFL  BIT   21H
						ADDRSS   BIT   22H
						DATASS   BIT   23H
                  ADDINCFL BIT   24H
                   DIPALL0 BIT   25H
                  RIEND    BIT   26H
                  TBEGIN   BIT   27H
                  TXGOON   BIT   28H
                   SAVEFL  BIT   29H

		            DPARA1   DATA  28H
                  IVFL     BIT   40H ;
                  HIVFL    BIT   41H ;              
                  AUTO     BIT   42H ;允许手动调节?
                  ONOFF    BIT   43H

               



                  PARA1    EQU   30H 
		            MAXI     EQU   30H
                  MAXIH    DATA  30H  ;参数区
		            MAXIL    DATA  31H
		            DMAXI    EQU   31H
		            MAXV     EQU   32H
		            MAXVH    DATA  32H
                  MAXVL    DATA  33H
		            DMAXV    EQU   33H
                  ADDR     DATA  34H		  
		            BTRC     DATA  35H
		            PARA     DATA  36H
                  PARAM    EQU   36H
                   
   	            COMMR  EQU   37H 
                  COMM   EQU   39H
		            COMM7  DATA  37H
		            COMM6  DATA  38H;ADDR
		            COMM5  DATA  39H;HI
                  COMM4  DATA  3AH;LI
                  COMM3  DATA  3BH;HV
                  COMM2  DATA  3CH;LV
                  COMM1  DATA  3DH;PARA
                  COMM0  DATA  3EH;ADD
					


                   TIME1    DATA  3FH

          
						 ADDR1   DATA   40H
						 ADDR0   DATA   41H
                  COUNT4   DATA   42H
                  COUNT3   DATA   43H
                  
                  SETTIME  DATA   44H
                  TIME3    DATA   45H
                   
                   MCOUNT  DATA  48H
                   MONCNT5 DATA  49H
		             MONCNT  DATA  4AH
                  COUNT2   DATA  4BH
                  TM3SBF   DATA  4CH
                  KBIN2STM DATA  4DH
                  COUNT1   DATA  4EH
                  TIME0    DATA  4FH
                  DLXXTM   DATA  50H
                  COUNT    DATA  51H
                  KBNRTM   DATA  52H
		            KBDT     DATA  53H
                  MONCNT3  DATA  54H
                  MONCNT2  DATA  55H
                  MONCNT1  DATA  56H
                  MONCNT0  DATA  57H

                  ADSI     EQU   58H;设置的电压电流
		            ADSIH    DATA  58H
                  ADSIL    DATA  59H 
                  ADSI1     EQU  59H 

		            ADSV     EQU   5AH
                  ADSVH    DATA  5AH
                  ADSVL    DATA  5BH
						ADSV1    EQU   5BH
	            	DPARA    DATA  5CH


                  ADDR2   DATA   5DH
                  TXADDR  DATA   5EH
                  TIMBZ2S  DATA  60H
                 
                  QUREG    EQU   61H ;高字节,低地址
                  QUREG1   DATA  61H
                  QUREG0   DATA  62H
                  QUREGL   EQU   62H

		            AIREG    EQU   63H ;高字节,低地址
                  AIREG1   DATA  63H
                  AIREG0   DATA  64H
		            AIREGL   EQU   64H

		            OPREG    EQU   65H ;高字节,低地址
                  OPREG1   DATA  65H
                  OPREG0   DATA  66H
		            OPREGL   EQU   66H


                
                
                  LED5     DATA  67H 
		            LED6     DATA  68H   ;
                  LED7     DATA  69H  ;显示缓存
                  LED8     DATA  6AH   ;
						LED_2    EQU   6AH
                  LED4     DATA  6BH   ;
                  LED3     DATA  6CH  ;显示缓存
                  LED2     DATA  6DH   ;
                  LED1     DATA  6EH  ;显示缓存
		            LED      EQU   6EH  ;显示缓存 
                  LED9     DATA  20H   ;   

;-------------------------------------------------------------------------------------------------
                  ORG 0000H        ;程序执行开始地址
                  LJMP      START  ;跳到标号START执行
                  ORG 0003H        ;外中断0中断程序入口
                  RETI             ;外中断0中断返回
                  ORG 000BH        ;定时器T0中断程序入口                 
		           LJMP    TONE     ;TF0
                  ORG 0013H        ;外中断1中断程序入口
                  RETI             ;外中断1中断返回
                  ORG 001BH        ;定时器T1中断程序入口
                   RETI		  
                  LJMP    TTWO     ;TF1
                  ORG 0023H        ;串行中断程序入口地址
	    ORG 0023H        ;串行中断程序入口地址
	
                  LJMP  Rcv_ISR     ;串行中断程序TI&RI
                  ORG 002BH         ;掉电检测  BOF
		  RETI
                  ORG 0033H         ;I2中断
                  RETI
                  ORG 003BH         ;KBI中断
		  RETI
                  ORG 0043H         ;比较器中断
                  RETI
                  ORG 004BH         ;SPI中断
		  RETI
                  ORG 005BH         ;捕获/比较单元
                  RETI
		  ORG 006BH         ;串口中断TX
		
                  LJMP Send_ISR
                  ORG 0073H         ;数据EEPROM中断
                  RETI
                  ORG 0083H         ;AD转换中断
                  RETI 	

 
;******************************************************* 
;函数:void main() 
;******************************************************* 
 

                   ORG   0100H
            START: MOV  SP,    #6EH;,16个字节作堆栈
;-----------------开机清内存-------------------------
	          MOV   MONCNT0,#128 
		       MOV   R0     ,#0
		       MOV   A      ,#0
LOOP:		    MOV   @R0    ,A
		       INC   R0            
		       DJNZ  MONCNT0,LOOP
;------------------------------------------------------
               MOV   DPTR    ,#0
		       MOV   A      ,#0
WERTY:		 MOVX   @DPTR  ,A
		       INC   DPTR
				
		       DJNZ  MONCNT0 ,WERTY
WERTY1:		 MOVX   @DPTR  ,A
		       INC   DPTR
		       DJNZ  MONCNT0,WERTY1


;-----------------------------------------------
 ;----------------读EEPOM内参数----------------------------------------------
                 
		  MOV   R0,#10   ;从EEPROM的10H开始
		  MOV   R1,#PARA1
		  MOV   MONCNT1,#7
 LOOP23:          MOV   DEECON,#0;字节读写模式.
                  MOV   DEEADR,R0
WAIT1:		  MOV   A ,  DEECON
		  JNB   ACC.7,WAIT1
  		  MOV   @R0,DEEDAT
		  INC   R0
		  INC   R1
		  DJNZ  MONCNT1,LOOP23
;-----------------串口设置---------------------------------------------	


 
	         	  MOV     SSTAT,#0E0H        ;独立中断
                 MOV     SCON,#050H           ;串口模式1,接收使能 
                 MOV     BRGCON,#00H          ;选择波特率发生器
		           MOV     DPTR,#TAB2
		           MOV     A,BTRC
		           RL      A
		           MOV     MONCNT0,A
		           MOVC    A,@A+DPTR              
                 MOV     BRGR1,A         ;波特率9600bit/s 
					  MOV     BRGR1,#04
		           INC     MONCNT1
		           MOV     A,MONCNT0
		           MOVC    A,@A+DPTR  
                 MOV     BRGR0,A 
					  MOV     BRGR0,#70H 
                 MOV     BRGCON,#03H         ;启动UART的波特率发生器

                 SETB    ES
                 SETB    EST                  ;开中断
		           SETB    DE                   ;接收状态
					  SETB    REN                  ;允许接收
		           CLR     SM2
;-------------------------------------------------                               
		           SETB  DP        ;不显示小数点		
                 ; MOV   TIME0,#50;定时100MS
					  MOV     TIME1,#3;定时2S
					  ;MOV    ADDR0,#1
                 MOV     LED9,#0FFH
                 MOV     COMM7,#0AAH

					  MOV   MCOUNT,#2
;-----------------定时器设置晶振11M,周期为0.18084-------------------------------------	    
	     MOV    TMOD,  #11H;两个定时器,16位,与门控无关!
		  MOV    TAMOD, #0;定时器模式1
		  MOV    TH0,  #0D4H
		  MOV    TL0,  #99H;定时2MS
		  SETB   TR0      
 ;----------------TIME2----------------------------
                
	    	 
		  SETB    EA     ; 使能中断 
		  SETB    ET0 
		  ;SETB    ET1 
                 SETB    IP0.3
		  MOV     A,#08H
        ;SETB    IP0H.3;T1最高
		  ORL     A,IP0H
		  MOV     IP0H,A
  	    	    	                
;----------------I/O SET----------------------------------------------
                 MOV  P0M1, #0FFH             
                 MOV  P0M2, #0FFH
                 MOV  P1M1, #0FFH             
                 MOV  P1M2, #0EFH;P1.4为KEY
	              MOV  P2M1, #0FFH             
                 MOV  P2M2, #0FFH
;-------------------调试用-------------------------
        MOV   	COMM7,#0AAH  
	       MOV   	COMM6,#01  
 MOV   	COMM5,#0  
 MOV   	COMM4,#75  
 MOV   	COMM3,#0  
 MOV   	COMM2,#60  
 MOV   	COMM1,#08H  

⌨️ 快捷键说明

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