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

📄 text_temperature.asm

📁 RC测温
💻 ASM
字号:
          #include ht48r06A-1.inc
data		.section	'data'
;************************port/IO****************************************************
com1     equ    pb.0
com2     equ    pb.1
;********************************************************************************
bha      equ    [40h]
bhs      equ    [41h]
coutn_16 equ    [42h]
rsjin    equ    [43h]
rtjin    equ    [44h]
ustim    equ    [45h]
f_2ms    equ    [46h].0
adtime_first  equ [46h].1
vitc_rs  equ    [46h].2
O5sh     equ    [47h]
halfs    equ    [48h]
stim     equ    [49h]
mtim     equ    [4ah]
rs_jin   equ    [4bh]
rt_jin   equ    [4ch]
keycou   equ    [4dh]
SEG      equ    [4eh]
dig1     equ    [4fh]
dig2     equ    [50h]
on_key    equ   [53h]
off_key   equ   [54h]
dead      equ   [55h]
threemin  equ   [56h]
frist     equ   [57h]
mark      equ   [58h]
delay     equ   [59h]
rs        equ   [5ah]
ctime     equ   [5bh]
rstime    equ   [5ch]
RTIME     equ   [5dh]
rt_time   equ   [5eh]
rs_time   equ   [5fh] 
adbuf     equ   [60h]
rt        equ   [61h]
ad_beign  equ   [62h]
count_ad  equ   [63h]
saomiao_ad equ  [64h]
same_ad    equ  [65h]
adl        equ  [66h]
adh        equ  [67h]
digital    equ  [68h]
scan_road  equ  [69h]
;---------------------------------------------------------------------------------
code		.section	at 000h		'code'
		org		000h
		jmp		start
		org		008h
		jmp		timint
		org		010h
;初始化---------------------------------------------------------------------------
start:
		mov		a,40h
		mov		mp,a
		mov		a,70
ramclr:
		clr		r0
		inc		mp
		sdz		acc
		jmp		ramclr
;---------------------------------------------------------------------------------
		mov		a,131
		mov		tmr,a
		set		intc.0
		set		intc.2
		mov		a,10010001b
		mov		tmrc,a
		mov     a,0
        mov     pac,a
        mov     a,0ffh
        mov     pa,a
        clr     pbc.0
        clr     pbc.1
        set     pc.1
        set     pb.0
        clr     pcc.0
        clr     pcc.1
        set     pc.0
        set     pc.1
        mov     a,0bh
        mov     rs,a
;*********************************************************************************
main:
		snz		f_2ms
		jmp		main
		clr		f_2ms
		clr		wdt1
		clr		wdt2
        jmp		STEP1IP
t_text:
        call    chu_time
        call    ad_scan
        call    chang_da        
		call 	displysub
     	jmp		main
;---------------------------------------------------------------------------------
STEP1IP:
                clr     pcc.0
                clr     pcc.1
                clr     pc.0
                clr     pc.1
		mov     a,2
		mov		delay,A
		call	delaytime
		set     pcc.0
		sz      pc.0
		JMP		STEP1IP
		set	    pc.1
;--------------------------------------------------------------------------------
STEP1OP:
        inc		rtime
        snz 	pc.0
		JMP 	STEP1OP
		CLR		pc.1                 ;判断RT充电TIME
        mov     a,rtime
        mov     rt_time,a
        clr     rtime
        snz     vitc_rs
        jmp     step12
        jmp     t_text
;--------------------------------------------------------------------------------
STEP12:
        clr     pcc.0
        clr     pcc.1
        clr     pc.0
        clr     pc.1
        mov     a,10
        mov     delay,a
        call    delaytime
        set     pcc.1
        sz      pc.1                                 ;判断RS充电TIME
        jmp     step12
        set     pc.0
;--------------------------------------------------------------------------------
step13p:
        inc     rstime
        snz     pc.1
        jmp     step13p
        clr     pc.0                                 
        inc     coutn_16
        mov     a,coutn_16
        sub     a,4
        snz     c
        jmp     t_text
        clr     coutn_16
        clr     c
        rrc     rstime
        clr     c
        rrc     rstime
        mov     a,rstime
        mov     rs_time,a
        clr     rstime
        set     vitc_rs
        jmp     t_text
;--------------------------------------------------------------------------------
;Trt/Trs(8.5,0.9)
;*******************************************************************************
chu_time:
        mov     a,rs_time
        sub     a,rt_time
        snz     c
        jmp     rt_over_rs
        jmp     rs_over_rt     
rs_over_rt:
        mov     a,rs_time
        sub     a,rt_time
        snz     z
        snz     c
        jmp     one  
        sub     a,rt_time
        snz     z
        snz     c
        jmp     two
        sub     a,rt_time
        snz     z
        snz     c
        jmp     three
        sub     a,rt_time
        snz     z
        snz     c
        jmp     four
        sub     a,rt_time
        snz     z 
        snz     c
        jmp     five
        sub     a,rt_time
        snz     z 
        snz     c
        jmp     six
        sub     a,rt_time
        snz     z
        snz     c
        jmp     seven
        sub     a,rt_time
        snz     z
        snz     c
        jmp     eight
        sub     a,rt_time
        snz     z
        snz     c
        jmp     nine
        ret     
rt_over_rs:   
        mov     a,rt_time
        sub     a,rs_time
        snz     z
        snz     c
        jmp     one    
        sub     a,rs_time
        snz     z
        snz     c
        jmp     two
        sub     a,rs_time
        snz     z
        snz     c
        jmp     three
        sub     a,rs_time
        snz     z
        snz     c
        jmp     four
        sub     a,rs_time
        snz     z
        snz     c
        jmp     five
        sub     a,rs_time
        snz     z
        snz     c 
        jmp     six
        sub     a,rs_time
        snz     z
        snz     c
        jmp     seven
        sub     a,rs_time
        snz     z
        snz     c
        jmp     eight
        sub     a,rs_time
        snz     z
        snz     c
        jmp     nine 
        ret 
one:    
        mov     a,1
        mov     adbuf,a
        ret
two:
        mov     a,2
        mov     adbuf,a
        ret
three:
        mov     a,3
        mov     adbuf,a
        ret
four:
        mov     a,4
        mov     adbuf,a
        ret
five:
        mov     a,5
        mov     adbuf,a
        ret
six:
        mov     a,6
        mov     adbuf,a
        ret
seven:
        mov     a,7
        mov     adbuf,a
        ret
eight:
        mov     a,8
        mov     adbuf,a
        ret
nine:
        mov     a,9
        mov     adbuf,a
        ret 
;**************************************
;Rs*Trt/Trs(9,1)
;--------------------------------------
ad_scan:
        clr     acc
ad_turn:
        add     a,rs
        mov     rt,a
        sdz     adbuf
        jmp     ad_turn 
        ret
;**************************************
;ad值转十进制
;--------------------------------------
chang_da:
        sz     ad_beign
        jmp    couone
        inc    count_ad
        mov    a,50
        sub    a,count_ad
        sz     c
        jmp    couone    
        clr    count_ad
        set    ad_beign
        ret    
couone:
        clr     ad_beign
        mov     a,count_ad    
        add     a,NTC
        mov     tblp,a
        tabrdl	acc
        mov     saomiao_ad,a
        sub     a,rt
        snz     z
        jmp     $+2
        jmp     okde
        snz     adtime_first
        ret
        mov     a,saomiao_ad
        add     a,1
        sub     a,rt
        sz      z
        jmp     okde
        mov     a,saomiao_ad
        add     a,2
        sub     a,adbuf
        snz     z
        ret    
okde:
        clr     adtime_first
        set     same_ad
        mov     a,count_ad
        sub     a,10
        snz     c   
        jmp     ad1                    
        sub     a,10
        snz     c
        jmp     ad2
        sub     a,10
        snz     c
        jmp     ad3
        sub     a,10
        snz     c
        jmp     ad4
        sub     a,10
        snz     c
        jmp     ad5
        sub     a,10
        snz     c
        jmp     ad6
        ret
ad1:
        mov     adl, a 
        clr     adh
        ret      
ad2:
        add     a,10
        mov     adl, a 
        mov     a,1
        mov     adh,a
        ret
ad3:
        add     a,10
        mov     adl,a
        mov     a,2
        mov     adh,a
        ret
ad4:
        add     a,10
        mov     adl,a
        mov     a,3
        mov     adh,a
        ret
ad5:
        add     a,10
        mov     adl,a
        mov     a,4
        mov     adh,a
        ret
ad6:
        add     a,10
        mov     adl,a
        mov     a,5
        mov     adh,a
        ret
;---------------------------------------------------------------------------------
;模块  名:displysub
;输   入:无
;输   出:无
;调用模块:无
;功    能:显示
;---------------------------------------------------------------------------------
displysub:      
                set             com1
                set             com2
                set             pa
                inc		        scan_road		
		        mov		        a,scan_road
		        addm	        a,pcl			
		        nop	
		        jmp		        ad_ledlow
                clr             scan_road		               
		        jmp		        ad_ledhigh 
;---------------------------------------------------------       
ad_ledlow:
                snz             same_ad.0
                set             adtime_first
                mov             a,adl
                add             a,dig
                mov             tblp,a   
                tabrdl          pa
                clr             pb.0
                ret 
;---------------------------------------------------------
ad_ledhigh:
                snz             same_ad.0
                set             adtime_first
                mov             a,adh
                add             a,dig
                mov             tblp,a   
                tabrdl          pa                
                clr             pb.1
                ret                
;********************************************************************************
delaytime:
        nop
        sdz     delay
        jmp     delaytime
        ret
;---------------------------------------------------------------------------------
;模块  名:timint
;输   入:无
;输   出:f_2ms,f_suss
;调用模块:无
;功    能:定时中断、产生2ms标志,蜂鸣器驱动,遥控接收。
;---------------------------------------------------------------------------------
timint:
		mov		bha,a		;125us中断一次
		mov		a,status
		mov		bhs,a
;---------------------------------------------------------------------------------
        inc		ustim
		mov		a,ustim
		sub		a,16
		snz		c
		jmp		timintex
		clr		ustim
		set		f_2ms
timintex:
		mov		a,bhs
		mov		status,a
		mov		a,bha
		reti
;TAB*****************************************************************************
		org		300h
dig:
 		Dc        003H;0
        Dc        09FH;1
        Dc        025H;2
        Dc        00DH;3
        Dc        099H;4
        Dc        049H;5
        Dc        041H;6
        Dc        01FH;7
        Dc        001H;8
        Dc        009H;9
;--------------------------------------------------------------------------------
NTC:
            dc         0a5h;0
            dc          9dh;1
            dc          95h;2
            dc          8dh;3
            dc          86h;4
            dc          80h;5
            dc          7ah;6
            dc          74h;7
            dc          6eh;8
            dc          69h;9 
            dc          64h;10
            dc          5fh;11
            dc          5bh;12
            dc          58h;13
            dc          52h;14
            dc          4eh;15
            dc          4bh;16
            dc          47h;17
            dc          44h;18
            dc          41h;19
            dc          3eh;20
            dc          3dh;21
            dc          39h;22
            dc          36h;23
            dc          34h;24
            dc          32h;25
            dc          2fh;26
            dc          2dh;27
            dc          2bh;28
            dc          29h;29
            dc          28h;30
            dc          26h;31
            dc          24h;32
            dc          23h;33
            dc          21h;34
            dc          20h;35
            dc          1fh;36
            dc          1dh;37
            dc          1ch;38
            dc          1bh;39
            dc          1ah;40
            dc          19h;41
            dc          18h;42
            dc          17h;43
            dc          16h;44
            dc          15h;45
            dc          14h;46
            dc          13h;47
            dc          12h;48
            dc          11h;49
            dc          10h;50
  

⌨️ 快捷键说明

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