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

📄 wks.asm

📁 用HT46R51替换ADS7822 AD转换芯片(ADS7822价格在2美金左右,46R51只要0.3美金)
💻 ASM
📖 第 1 页 / 共 3 页
字号:
        mov             Temp_CC,a
        clr             Num_B             
        mov             a,All_Temp_H
        sbc             a,Num_B
        snz             c
        jmp             Calcu_Over
        mov             All_Temp_H,a
        mov             a,Temp_CC
        mov             All_Temp_L,a        
        inc             Zero_L
        jmp             Cal_0
Calcu_Over:
        clr             No_Zero_Flag
        clr             c
        rlc             Zero_L
        dec             Zero_L                      
        dec             Zero_L
        dec             Zero_L
        dec             Zero_L
         dec             Zero_L
        dec             Zero_L
        ret               
Zero_Error:
        set             No_Zero_Flag
        ret        
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
Buz_Sub:
        inc             Buz_Ram
        snz             Buz_Ram.2
        jmp             Buz_Over
        clr             Buz_Ram
        sz		Buz_Measure
	jmp		set_buz
	clr		Buz   
	clr		Buz_Flag
	sz		Buz_Num
	jmp		dec_buz_num   
	clr		Buz	
	clr             Have_key
	jmp		buz_over
To_opc:     		
	mov		a,250		;停时间
	jmp		Buz_com	
dec_buz_num:
	dec		Buz_Num
	sz		Buz_Num.0
	jmp		To_opc  
	mov		a,100		;响时间
Buz_com:		
	mov		Buz_Measure,a	
set_buz:    		
	dec		Buz_Measure
	snz		Buz_Num.0	;偶数不叫 奇数叫
	set		Buz_Flag	;脉冲标志
buz_over:	
	RET	
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓  
Zero_Sub:
;开机检测       逐渐加热
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓   
        
        jmp             Zero_Over
        
        mov             a,1                                                                                                        
        addm            a,Minute_L
        clr             acc
        adcm            a,Minute_H
        
        mov             a,Minute_L
        sub             a,10h
        mov             a,27h
        mov             All_Temp_L,a
        mov             a,Minute_H
        sbc             a,All_Temp_L
        snz             c
        jmp             Zero_90
        clr             Minute_L
        clr             Minute_H        ;关闭输出
        ;dec             Zero_L
        set             Drive
        
        mov             a,Zero_L
        sub             a,12
        sz              c
        jmp             Zero_90
        set             Drive
        set             Star_Over
        
       
        jmp             Zero_Over
Zero_90:        
        sz              Zero            ;过零检测 由高到低触发
        jmp             Zero_Clr_0      ;
        snz             Zero_Flag       ;过零标志
        jmp             Zero_Juge
        clr             Zero_Flag
        set             Drive           ;关掉驱动
;过零到
        mov             a,Zero_L        ;只触发1~2ms
        mov             Zero_Delay,a        
        jmp             Zero_Over
Zero_Clr_0:
        set             Zero_Flag
        jmp             Com_Z        
Zero_Juge:
        clr             Zero_Flag
Com_Z:
        sz              Zero_Delay
        jmp             BBP
;延时结束        
        sz              Ms_2            
        jmp             BBH
        set             Drive           ;触发结束  关闭输出
        jmp             Zero_Over       
BBH:        
        sdz             Ms_2
        jmp             Zero_Over
        
        set             Drive
        jmp             Zero_Over 
BBP:        
        sdz             Zero_Delay
        jmp             Zero_Over
        clr             Drive
        mov             a,1
        mov             Ms_2,a          ;触发1ms
        jmp             Zero_Over 
Zero_Over:
;键盘检测
        sz              Key_S2
        jmp             Key_Set
        sz              Key_Flag
        jmp             Key_Ovef
        
        clr             Key_Num_L
        clr             Key_Num_H
        set             Have_key
        set             Key_Flag
        mov             a,40
        mov             Buz_Measure,a
        clr             Buz_Num
        jmp             Key_Over
Key_Set:
        mov             a,1
        addm            a,Key_Num_L
        clr             acc
        adcm            a,Key_Num_H
        
        mov             a,Key_Num_L
        SUB             a,120
        mov             a,0
        mov             All_Temp_L,a
        mov             a,Key_Num_H
        sbc             a,All_Temp_L
        snz             c
        jmp             Key_Over
        clr             Key_Flag
Key_Ovef:        
        clr             Key_Num_L
        clr             Key_Num_H        
key_Over: 
        snz             Ts_Drive        ;监测PIC驱动可控硅是否超过2ms 超过剪掉剩余
        jmp             Clr_Drive_Flag
        inc             Drive_Count
        mov             a,Drive_Count
        sub             a,3
        snz             c
        jmp             Drive_Over
        clr             Drive_Count
        clr             TR_Off       ;超过2秒 关断输出
        jmp             Drive_Over                                
Clr_Drive_Flag:
        clr             Drive_Count
        set             TR_Off
Drive_Over:         
        ret
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
;5.268
Ad_Sub:  
        mov		a,00011000b     ;外部中断,定时器中断    
	orm             a,intc
	clr		adcr.7 
	nop
	nop
	nop
	nop
        mov		a,11001000b     ;电流值
	mov		adcr,a
	nop
	nop
	clr		acsr
	nop
	nop
wait_Current:        	   
	clr		adcr.7
	sz		adcr.6  
	jmp		wait_Current 	                
	inc		Current_Count
	mov		a,adrh
	addm		a,Current_L
	clr		acc 
	adcm		a,Current_H
	sz		Current_Count  
	jmp		To_Room_Test
;电流值设置	
        mov             a,Current_H
        sub             a,250
        sz              c
        jmp             To_Error_Current
        jmp             To_Current_Com
To_Error_Current:
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
;电流出错处理        
        
        ;mov             a,100
        ;mov             Buz_Measure,a
        ;mov             a,100
        ;mov             Buz_Num,a
        
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓                       
To_Current_Com:        
        clr             Current_H
        clr             Current_L        
;///////////////////////////        
To_Room_Test:   
        mov		a,11011001b     ;室温
	mov		adcr,a
	nop
	nop
	clr		acsr
	nop
	nop
wait_Room:        	   
	clr		adcr.7
	sz		adcr.6  
	jmp		wait_Room
	inc		Room_Count
	mov		a,adrh
	addm		a,Room_L
	clr		acc 
	adcm		a,Room_H
	sz		Room_Count  
	jmp		To_J_K
	clr             Temp_Sign
        mov             a,Room_H
        sub             a,5     ;<-20度
        snz             c             
        jmp             To_000
        mov             a,Room_H
        sub             a,15
        snz             c
        jmp             Negative_PP
        mov             a,Room_H
        sub             a,187
        snz             c
        jmp             LLLP
        mov             a,Room_H
        sub             a,237   ;>158度
        sz              c
        jmp             To_000
        mov             a,187
        mov             Room_H,a    
LLLP:        
        clr             Error_s
        clr             Error_Flag
        call            Table_Temp
        jmp             To_J_K
Negative_PP:
        set             Temp_Sign       ;温度为负值
        jmp             LLLP           
To_000: 
        clr             Room_H
        clr             Room_L             
        set             Error_Flag  
        jmp             Ad_Over      
To_J_K:
        mov		a,11011010b    ;传感器 
	mov		adcr,a
	nop
	nop
	clr		acsr
	nop
	nop
wait_J_K:       
	clr		adcr.7
	sz		adcr.6    
	jmp		wait_J_K
	mov		a,adrl
	mov             J_Temp_L,a
	mov             a,adrh
	mov             J_Temp_H,a
	clr             c               ;0000 0000 0000 xxxx
	rrc             J_Temp_H
	rrc             J_Temp_L
	clr             c
	rrc             J_Temp_H
	rrc             J_Temp_L
	clr             c
	rrc             J_Temp_H
	rrc             J_Temp_L
	clr             c
	rrc             J_Temp_H
	rrc             J_Temp_L
	mov             a,J_Temp_L
	addm		a,JK_Temp_L
	mov             a,J_Temp_H
	adcm		a,JK_Temp_H
;=========================================
        clr             acc
        adcm            a,JK_Temp_P
        clr             acc
        adcm            a,JK_Temp_K
	inc		J_K_Count
        sz              J_K_Count
        jmp             Ad_Over
        clr             c
        rrc             JK_Temp_K
        rrc             JK_Temp_P
        rrc             JK_Temp_H
        rrc             JK_Temp_L
        clr             c
        rrc             JK_Temp_K
        rrc             JK_Temp_P
        rrc             JK_Temp_H
        rrc             JK_Temp_L
        clr             c
        rrc             JK_Temp_K
        rrc             JK_Temp_P
        rrc             JK_Temp_H
        rrc             JK_Temp_L
        clr             c
        rrc             JK_Temp_K
        rrc             JK_Temp_P
        rrc             JK_Temp_H
        rrc             JK_Temp_L
        mov             a,0f0h
        andm            a,JK_Temp_L
;=========================================
	mov             a,JK_Temp_H
	mov             JK_Value_H,a
	mov             a,JK_Temp_L
	mov             JK_Value_L,a
	clr             JK_Temp_H
        clr             JK_Temp_L  
        clr             JK_Temp_P
        clr             JK_Temp_K      
Ad_Over:       
        mov		a,11110111b     ;外部中断,定时器中断    
	andm            a,intc
        ret
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
EXT_INT:
        mov             Copy_a,a
        mov             a,Status
        mov             Copy_S,a
        mov             a,Send_Save_L
        mov             Send_L,a
        mov             a,Send_Save_H
        mov             Send_H,a
        set             Ext_Flag
        clr             Flag_0 
        clr             Num_Pul        
DDM:        
        snz             Clk_P   ;_|
        jmp             Clr_F             
        sz              Flag_0
        jmp             Set_F
        set             Flag_0
        inc             Num_Pul
        mov             a,Num_Pul
        sub             a,4
        snz             c
        jmp             DDM
        jmp             Send_Data
;〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓        
Clr_F:        
        clr             Num_H
        clr             Flag_0
        jmp             DDm  

⌨️ 快捷键说明

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