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

📄 black_plane-tx-v2.37.lst

📁 空调风扇控制程序带风扇
💻 LST
📖 第 1 页 / 共 4 页
字号:
   652  00015F             
   653  00015F                 ;	mov		p2buf,a
   654  00015F             ;????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
   655  00015F   0E00      	ret
   656  000160             ;-----------------------------------------------------------------------------
   657  000160             ; Isr (Interrupt Service Routine)
   658  000160             ; Arguments	:
   659  000160             ; Returns	:
   660  000160             ; Reg Change:
   661  000160             ;-------------------------------------------------------------------------------
   662  000160             Isr:
   663  000160             ;-----------------------------------
   664  000160             ; Save ACC
   665  000160             ;-----------------------------------
   666  000160             
   667  000160   0202      	b0xch	  	A,AccBuf			;B0xch instruction do not change C,Z flag
   668  000161   2E86      	b0mov       	A,PFLAG
   669  000162   2F03         	b0mov       	PflagBuf,A
   670  000163             
   671  000163             ;-----------------------------------
   672  000163             ; Interrupt service routine  
   673  000163             ;-----------------------------------
   674  000163             		
   675  000163             INTP00CHK:						; Check INT0 interrupt request
   676  000163   78C9      	B0BTS1	FP00IEN					; Check P00IEN
   677  000164   8167      	JMP	INTTC0CHK				; Jump check to next interrupt
   678  000165   70C8      	B0BTS0	FP00IRQ					; Check P00IRQ
   679  000166   816F      	JMP	INTP00					; Jump to INT0 interrupt service routine
   680  000167             INTTC0CHK:						; Check TC0 interrupt request
   681  000167   7DC9      	B0BTS1	FTC0IEN					; Check TC0IEN
   682  000168   816B      	JMP	INT_EXIT				; Jump to exit of IRQ
   683  000169   75C8      	B0BTS0	FTC0IRQ					; Check TC0IRQ
   684  00016A   8171      	JMP	INTTC0					; Jump to TC0 interrupt service routine
   685  00016B             
   686  00016B             ;-----------------------------------
   687  00016B             ; Exit interrupt service routine
   688  00016B             ;-----------------------------------
   689  00016B             
   690  00016B             INT_EXIT:
   691  00016B             
   692  00016B   2E03         	b0mov       	A, PflagBuf
   693  00016C   2F86      	b0mov       	PFLAG, A			;Restore the PFlag
   694  00016D   0202      	b0xch		A,AccBuf			;Restore the Reg. A
   695  00016E             							;B0xch instruction do not change C,Z flag
   696  00016E   0F00      	reti						;Exit the interrupt routine
   697  00016F             
   698  00016F             ;-------------------------------------------------------------------------------
   699  00016F             ;	INT0 interrupt service routine
   700  00016F             ;-------------------------------------------------------------------------------
   701  00016F             INTP00:
   702  00016F   60C8      	b0bclr	FP00IRQ
   703  000170             
   704  000170             	;Process P0.0 external interrupt here
   705  000170             
   706  000170   816B      	jmp	INT_EXIT
   707  000171             ;-------------------------------------------------------------------------------
   708  000171             ;	TC0 interrupt service routine
   709  000171             ;-------------------------------------------------------------------------------
   710  000171             INTTC0:
   711  000171   65C8      	b0bclr	FTC0IRQ
   712  000172             
   713  000172   2D8A      	mov             a,#138         ; set interrupt interval 280us
   714  000173   1FDB              mov             tc0c,a
   715  000174             
   716  000174             ;    detect the interrupt interval time
   717  000174             ;	b0bts1		detect_led_on
   718  000174             ;       jmp		detect_led_off
   719  000174             ;        b0bclr		detect_led_on
   720  000174             ;	b0bclr		p2buf.7
   721  000174             ;        jmp		d2
   722  000174             ;detect_led_off:
   723  000174             ;        b0bset		detect_led_on
   724  000174             ;	b0bset		p2buf.7 
   725  000174             ;d2:
   726  000174             ;        
   727  000174   261C              decms		time50ms
   728  000175   8179      	jmp		inttc010
   729  000176   6D10      	b0bset 		time50ms_ok
   730  000177   2DB3      	mov		a,#179
   731  000178   1F1C      	mov		time50ms,a
   732  000179             	
   733  000179             inttc010:
   734  000179   2D00      	mov		a,#0
   735  00017A   0718      	cmprs		a,txdata
   736  00017B   817D      	jmp		@f
   737  00017C   818C      	jmp		tx111
   738  00017D             @@:
   739  00017D             
   740  00017D   7809              b0bts1		TX_enable
   741  00017E   8199      	jmp		inttc090		; disable TX
   742  00017F             ;        b0bts0 	        key_value.7
   743  00017F             ;        jmp	        RF_TX10                 ;反相
   744  00017F   70D2              b0bts0		p2buf.0
   745  000180   818C      	jmp		tx111
   746  000181             ;        jmp		RF_TX20                 ;正相
   747  000181             RF_TX10:
   748  000181             	
   749  000181   7F11      	b0bts1      	before
   750  000182   8189      	jmp		TX11
   751  000183   6DD2      	b0bset		p2buf.5
   752  000184   261B      	decms		low_times		;反相
   753  000185   8199      	jmp		inttc090
   754  000186   6811      	b0bset		bitok
   755  000187   6711      	b0bclr		before
   756  000188   8199      	jmp		inttc090
   757  000189             	
   758  000189             TX11:
   759  000189   65D2      	b0bclr		p2buf.5
   760  00018A   6F11      	b0bset		before	
   761  00018B   8199      	jmp		inttc090
   762  00018C             		
   763  00018C             TX111:
   764  00018C   6E11      	b0bset		code_all_data_ok
   765  00018D   65D2      	b0bclr		p2buf.5
   766  00018E             ;	b0bset		before	
   767  00018E   8199      	jmp		inttc090
   768  00018F             	
   769  00018F             ;++++++++++++++++++++++++++++++++++++++++++++++++++++++	
   770  00018F             	
   771  00018F             	
   772  00018F             	        
   773  00018F             RF_TX20:        
   774  00018F             	
   775  00018F   7F11      	b0bts1      	before
   776  000190   8197      	jmp		TX21
   777  000191   65D2      	b0bclr		p2buf.5
   778  000192   261B      	decms		low_times		;正相
   779  000193   8199      	jmp		inttc090
   780  000194   6811      	b0bset		bitok
   781  000195   6711      	b0bclr		before
   782  000196   8199      	jmp		inttc090
   783  000197             	
   784  000197             TX21:
   785  000197   6DD2      	b0bset		p2buf.5
   786  000198   6F11      	b0bset		before	
   787  000199             	
   788  000199             	
   789  000199             	
   790  000199             	
   791  000199             inttc090:	
   792  000199   816B      	jmp	INT_EXIT
   793  00019A             ;-------------------------------------------------------------------------------
   794  00019A             ; SysInit
   795  00019A             ; System initial to define Register, RAM, I/O, Timer......
   796  00019A             ;-------------------------------------------------------------------------------
   797  00019A             SysInit:
   798  00019A             
   799  00019A   2D07              mov            a,#07h
   800  00019B   1FBE              mov            pur,a         ; enable p1,p2,p0 pull-up register
   801  00019C   2D00              mov            a,#00h
   802  00019D   1FC1              mov            p1mbuf,a      ; set port1 to be input mode
   803  00019E             ;
   804  00019E   2D10      	mov            a,#00010000B
   805  00019F   1FD2              mov            p2buf,a
   806  0001A0   2DF4              mov            a,#11110100B  ; set p2.5,p2.3,p2.1 to be input mode,other to be output mode
   807  0001A1   1FC2              mov            p2mbuf,a
   808  0001A2             ;
   809  0001A2   2D02              mov		a,#2
   810  0001A3   1F1A              mov 		data_length,a
   811  0001A4                     
   812  0001A4   2D01              mov     	a,#1
   813  0001A5   1F1B              mov		low_times,a
   814  0001A6                     
   815  0001A6   2DB3              mov		a,#179
   816  0001A7   1F1C      	mov		time50ms,a
   817  0001A8             	
   818  0001A8             ;        mov		a,#24
   819  0001A8             ;        mov		sleep_time,a
   820  0001A8             ;        mov		charge_time,a
   821  0001A8                     
   822  0001A8                     
   823  0001A8   2D0F              mov	a,#00001111b
   824  0001A9   2FC0      	b0mov	p1w,a				;Enable P1.0 P1.1 P1.2 P1.3  wakeup function
   825  0001AA             
   826  0001AA                     
   827  0001AA                     
   828  0001AA                     
   829  0001AA             
   830  0001AA             settc0:
   831  0001AA   65C9              b0bclr         ftc0ien
   832  0001AB   67DA              b0bclr         ftc0enb
   833  0001AC   2D70              mov            a,#70h
   834  0001AD   1FDA              mov            tc0m,a         ; set tc0 clock is Fcpu/2
   835  0001AE             
   836  0001AE   2D82              mov            a,#130         ; set interrupt interval 280us
   837  0001AF   1FDB              mov            tc0c,a
   838  0001B0   6DC9              b0bset         ftc0ien
   839  0001B1   65C8              b0bclr         ftc0irq
   840  0001B2   6FDA              b0bset         ftc0enb
   841  0001B3                     
   842  0001B3   0E00      	ret
   843  0001B4             
   844  0001B4             ;-------------------------------------------------------------------------------
   845  0001B4             ; ClrRAM
   846  0001B4             ; Use index @YZ to clear RAM (00h~2Fh)
   847  0001B4             ;-------------------------------------------------------------------------------
   848  0001B4             
   849  0001B4             ClrRAM:
   850  0001B4             
   851  0001B4   2B84      	clr 		Y		 
   852  0001B5   332F      	b0mov		Z,#0x2f				;Set @YZ address from 2fh
   853  0001B6             
   854  0001B6             ClrRAM10:
   855  0001B6   2BE7      	clr 		@YZ				;Clear @YZ content
   856  0001B7   2683      	decms		Z   				;z = z - 1 , skip next if z=0
   857  0001B8   81B6      	jmp 		ClrRAM10 
   858  0001B9   2BE7      	clr 		@YZ				;Clear address $00
   859  0001BA             
   860  0001BA   0E00      	ret
   861  0001BB             
   862  0001BB             ;-------------------------------------------------------------------------------
   863  0001BB             	ENDP
   864  0001BB              

⌨️ 快捷键说明

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