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

📄 35201.dt

📁 加湿机的源码
💻 DT
字号:


;project:taida 3520/1/2/3
;mcu:em78p153s
;data:2006.5.20
;rev:1.0
;clock:4M

;*************************************
p5		   equ		0x05		;Port5
p6		   equ		0x06		;Port6


ioc5   	 equ		0x05		;P5 control register
ioc6		equ		0x06		;P6 control registe
ioce		equ		0x0e
iocf		 equ	    0x0f		 ;Interrupt mask register

iocc		equ	    0x0c
iocd		equ        0x0d

tcc		  equ		0x01		;tcc register

backup_a		 equ	   0x10				
backup_status	equ	   0x11
status		 equ		0x03		;status registe
;**************************************
colck16ms		equ		0x12
colck32ms		equ		0x13
colck16bit		equ		0x14
poweroutbit	   equ		0x15
colckbit			equ			0x16
;-------------------------------------(bit)
bitcolck16ms	==	0
bitcolck32ms	==	1
bitkey		 		 ==	2
bitout		  		==	3
keyfirst				==	4
bitcolck400us  	 ==	5
;------------------------------------(bit2)
bitpowerhi	==	0
bitpowerlow	==	1
bitledout		 		==	2
bitpowerlowout			==	3
bitp52						==	4
bitp53						==5
bit13						==6
;-----------------------------------------(bit3)
bit16					==0
bit17					==1
bit18					==2
bit19					==3
;*************************************
		org  000h
		jmp	boot
		jmp	boot
		add a,@0ffh
		add a,@0ffh
		add a,@0ffh
		add a,@0ffh
		add a,@0ffh
;------------------------			
		org	008h
		jmp	emint
		jmp	emint
		add a,@0ffh
		add a,@0ffh
		add a,@0ffh
		add a,@0ffh
		add a,@0ffh
;-----------------------		
		org    010h	
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++					
;********************************
boot:   nop
				
		mov a,@00h	;p5 output
		iow ioc5
		
		mov a,@0fdh
		mov p5,a	  ;p6 intput		ok!
		
		mov	a,@00h
		mov	colck16bit,a
		
		mov	a,@00h
		mov	poweroutbit,a
		
		mov	a,@28h
		mov	colck16ms,a
		
		mov	a,@050h
		mov	colck32ms,a
		
		mov a,@00h
		iow ioce
		
	;	mov a,@0xff
	;	iow iocc
	;	mov a,@0xff
	;	iow iocd
					
		mov a,@001h	;enable tcc interrupt
		iow iocf

		mov a,@00h	 ;fcpu/2(cont)
		contw
		
		mov a,@038h	
		mov tcc,a
		
		eni
		
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++				
;*************************************(main)
main:
			nop
			call	emtime
			call	emkey
			call	abitout
			call	ledout
			call	bill
			call	powerout
			call	colck2
			jmp	main
			jmp	main
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;************************************************(colck2)
colck2:	nop
				jbs	 p6,1
				jmp	pbs16
				nop
				
				;jbs	colckbit,bit16
				;ret
				nop
				bc	colckbit,bit16
				bs	colckbit,bit17
				bs	colckbit,bit18
				ret
				ret	
					
pbs16:nop
				jbs	colckbit,bit17
				ret
				nop	
				bs	colckbit,bit16
				bc	colckbit,bit17
				bs	colckbit,bit18
				ret
				ret
					
;*************************************************(bill)
bill:	nop
		jbc	p6,2
		jmp	billled
	
			
bill2:		nop
		bc	poweroutbit,bitp52
		bc	poweroutbit,bitp53
		bs	poweroutbit,bit13
	
		ret
		ret
		
billled:nop
			jbs	poweroutbit,bitpowerhi
			jmp	billled2
			nop
			bs	poweroutbit,bitp52
			bc	poweroutbit,bit13
			ret
			ret
					
billled2:nop
			jbs	poweroutbit,bitpowerlow
			ret
			nop
			bs 	poweroutbit,bitp53
			bc	poweroutbit,bit13
			ret
			ret
												
;____________________________________________
;****************************************(bledout)															(ok)

ledout:nop
			jbs	poweroutbit,bitledout
			jmp	ledoff
			
			nop
			bc	p5,0					;led-on
			jmp		pledout
			jmp		pledout
			ret
			
ledoff:	nop
				bs	p5,0				;led-off
				nop
;----------------------------------------------------------------				
pledout:nop
			jbs	poweroutbit,bitp52
			jmp	nxet
			nop
			bc	p5,2
			bs	p5,3
			ret
nxet:nop
		jbs	poweroutbit,bitp53
		jmp	nxetoff
		nop
		bs	p5,2
		bc	p5,3
		ret
		ret

nxetoff:nop
				
		bs	p5,2
		bs	p5,3	
		ret
		ret
	
						
;************************************(powerlowout)			(ok)
abitout:         nop
			   	jbc	colck16bit,bitout
			   	jmp	testpowerhi

			      ret
		      	ret
			
testpowerhi:    nop
						bc    colck16bit,bitout

						jbc	poweroutbit,bitpowerhi ;testpowerout hi			
						jmp	lowb
						
						nop					
						jbs	poweroutbit,bitpowerlow ;;testpowerout low
						jmp   hi
							
off:				nop
				 	bc 	poweroutbit,bitpowerlow		;;bit power hi off
				 	ret
				 	ret	
			 		   
lowb:               nop
						bc	poweroutbit,bitpowerhi
			 		   bs	poweroutbit,bitpowerlow
			 			ret
			 			ret
			 			
hi:		 	    	nop
						 bs	poweroutbit,bitpowerhi		;bit power hiout
			 			ret
			 			ret
			 			
		 													
;----------------------------------------------------------------------------
;oooooooooooooooooooooooooooooooooooooooooooooo
;******************************************************(powerhi/offout) (ok)
powerout:nop
					jbc	poweroutbit,bit13
					ret
					jbs	poweroutbit,bitpowerhi
					jmp	powerlow

powrhi:			nop
						bs	5,1
						bs	poweroutbit,bitp52
						bc	poweroutbit,bitp53						
						ret
						ret
;----------------------------------------------------------------------									 	
powerlow:
				nop
				jbs	poweroutbit,bitpowerlow     ;testpowelow
				jmp	poweroff
								
				nop
				bs	poweroutbit,bitp53
				bc	poweroutbit,bitp52
				nop
								
testlowhi:nop
				jbs	 colckbit,bit18
				ret
				nop
				jbc	poweroutbit,bitpowerlowout	;test p5.1 low/hi
				jmp	low
				
				nop
				bs 	poweroutbit,bitpowerlowout	;power low-hi				
				bs	p5,1
				bc    colckbit,bit18				
				ret
				ret				
low:		
				nop
				bc 	poweroutbit,bitpowerlowout     ;power low-low
				bc	p5,1
				bc	colckbit,bit18				
				ret	
				ret
;---------------------------------------------------------------------------								
poweroff:																	;(power off)
		nop
		bc	p5,1
		bc	poweroutbit,bitp52
		bc	poweroutbit,bitp53		
		ret				
		ret							
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++						
;************************************(key)		(ok)
emkey:  nop
		jbc	p6,6
		jmp	ledkey
		nop
		jbc	p6,7
		jmp	powerkey
		nop
		jmp	keyover
		ret
;------------------------------------(ledkey)		
ledkey: jbc	colck16bit,keyfirst
		ret
		jbc	colck16bit,bitkey
		jmp	keyout
		nop		
		bs	colck16bit,bitcolck32ms
		bs	colck16bit,bitkey
		mov	a,@050h
		mov	colck32ms,a		
		ret

keyout: 
		nop
		jbc	colck16bit,bitcolck32ms
		ret
		
		nop
		jbc	poweroutbit,bitledout
		jmp	ledbitoff
		
		nop
		bs	poweroutbit,bitledout
		bs	colck16bit,keyfirst
		ret
		ret
		
ledbitoff:
				nop
				bc	poweroutbit,bitledout	
				bs	colck16bit,keyfirst				
				ret
				ret	
;**************************************(powerkey)			
powerkey:nop
		 jbc	colck16bit,keyfirst
	 	ret
		 jbc	colck16bit,bitkey
		 jmp	pkeyout
		 nop		
		 bs	colck16bit,bitcolck32ms
	 	bs	colck16bit,bitkey
		 mov	a,@050h
		 mov	colck32ms,a		
		 ret

pkeyout: 
		nop
		jbc	colck16bit,bitcolck32ms
		ret
		nop
		bs	colck16bit,bitout		
    	bs	colck16bit,keyfirst
		ret
;-----------------------------------------------		
keyover:
		nop
		bc	colck16bit,keyfirst
		bc	colck16bit,bitkey
		ret
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++				
;*************************************(int)
emint: 
	    nop		
		mov a,@00h
		mov iocf,a
		
		mov a,@038h	
		mov tcc,a

		mov backup_a,a   
        swapa status               
        mov backup_status,a
        

		bs colck16bit,bitcolck400us
								
emint_end:
				
        swapa backup_status      
        mov status,a
		mov	a,backup_a
		reti
		reti
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++		
;************************************(time)
emtime: nop
		jbc	colck16bit,bitcolck400us
		jmp	test16ms				;test 16ms
		ret
		ret
test16ms:	
    	djz	colck16ms
		jmp	test32ms
		nop
		bc 	colck16bit,bitcolck16ms
		
test32ms:nop
		djz	colck32ms		;test32ms
		jmp	timeover
		nop
		bc 	colck16bit,bitcolck32ms		
				
timeover:   nop

			bc	 colck16bit,bitcolck400us	
        	ret
        	ret
;*************************************
		end
	
	

⌨️ 快捷键说明

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