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

📄 6510低成本.asm

📁 em4100的解码程序
💻 ASM
字号:
ds	.section	'data'

cs	.section	'code'
;programe name:6510_低成本
;mcu:	ht48f06e
;osc:	cystal 4M
;author:	yxg
 
;================================================
;			define spe_reg
;================================================	
		#include		ht48f06e.INC


;================================================
;			define port_bit
;================================================
        #include		define_port_bit.inc    


;================================================
;			define use_reg
;================================================       
		#include		define_use_reg.inc
		

		

        code .section at 0 'code'       ;== program section ==
;-------------------------------------------------------
  		org     00h             ;
         jmp     start         	;
        org     04h             ;external interrupt subroutine
        reti                    ;for guarantee
        org     08h             ;timer/event 0 interrupt subroutine
       	jmp		time_int        ;for guarantee
        org     0ch             ;timer/event 1 interrupt subroutine
        reti                    ;for guarantee
time_int:
		;mov		a_buffer,a
		;mov		a,status
		;mov		psw_buffer,a
		;snz		ti_test
		;jmp		ti_0
		;clr		ti_test	
		;jmp		out
;ti_0:
;		set		ti_test		
;out:		
		
		reti         



start: 
		call	ram_set	
        call	port_set		;buzz,ledr is started
;main:		
		;-------------------------300ms
		mov		a,250
        call    delay_10ms
		;---------------100ms
        mov		a,250
        call    delay_10ms
        ;---------------200ms
        mov		a,250
        call    delay_10ms
        ;--------------------------------
        clr		buzz
       
        ;-------------------------140ms
        mov		a,250
        call	delay_10ms
       	;----------------100ms
       	mov		a,100
       	call	delay_10ms 	
        ;----------------40ms-----------
        set		buzz
        ;--------------------------380ms
        mov		a,250
        call	delay_10ms 
        
        mov		a,250
        call	delay_10ms
        
        mov		a,200
        call	delay_10ms	
        ;-----------------------------------
        clr		buzz
        set		ledg
        clr		ledr
        set		hold
        ;jmp		$
        
        nop
		clr 	emi				;ud开总断
		clr		eti				;关定时中断
		clr		eei
		;-------------------------------------------------
		;在这就开始启到125K载波,在这之前PB.0 is output and hight
		;定时器的中断的f=250k,16分频,初值为fd
		mov 	a,080h 			;采用fsys=4mz 分频后f=4m/16,定时器此时关着,1:2
		mov 	tmrc,a		
		
		mov 	a,0f8h 			;初值,fint 约等于1ms,50*1ms=50ms
		mov 	tmr,a 			;开始计数
		
		set 	tmrc.4			;启动定时器
		;jmp $
		;--------------------------------------------------
			
		jmp		read_head		;检测有没有卡进入
		
				
		
;-----------------------------------------------------                       ;
;       receive_data			;55个data
;-----------------------------------------------------		


;-----------------------------------------------------                       ;
;       port_set:
;-----------------------------------------------------
port_set:		
	;pa_port
        set		pac.0			;pa.0 is seted input
		clr     pac.1           ;pa.1 is seted output
        set     hold            ;hold start is high
        
        clr     pac.2           ;pa.2 is seted output
        clr     data1rx         ;tada0rx start is low
        
        clr     pac.3           ;pa.3 is seted output
		clr     data0tx         ;tada1tx start is low
        
        clr		pac.4			;pa.4 is seted input
       	clr		pa.4
       	
        clr     pac.5           ;pa.5 is seted output
        clr     ledg            ;ledg start is brighted
        
        clr     pac.6           ;pa.6 is seted output
		set     ledr            ;ledr is unbrighted
            
        set		pac.7			;pa.7 is seted input
        
    ;pb_port
       	clr     pbc.0           ;pb.0 is seted output    
 		
 		set		f_125k			;reday for 125k	
 		
        clr     pbc.1          ;pb.1 is seted output    
        set		pb.1
        clr     pbc.2			;pb.2 is seted output    
        set		buzz			;buzz is started
    ;pc_port
        clr		pcc.0
        clr		pc.0

        set		pcc.0			;pc.0 is seted input
        clr		eei
        clr		eif
        ;       pcc.1           

        ret
		
;-----------------------------------------------------                       ;
;       ram_set

;-----------------------------------------------------
ram_set:		
		nop
		clr		p0_bit
		clr		p1_bit
		clr		p2_bit
		
		
		clr		pc0_bit
		clr		pc1_bit
		clr		pc2_bit
		clr		pc3_bit
		
		clr		flag
		
		clr		head0
		clr		head1
		
		clr		data0
		clr		data1
		clr		data2
		clr		data3
		clr		data4
		clr		data5
		clr		data6
		clr		data7
		clr		data8
		clr		data9
		clr		data10
		
		clr		head_count
		mov		a,9
		mov		head_count,a
		
		clr		data_count
		mov		a,55
		mov		data_count,a
					
        ret		

;================================================
;			read_head
;================================================		
		#include		read_head.inc

;================================================
;			delay_subroutine
;================================================		
		#include		delay.inc

⌨️ 快捷键说明

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