📄 text_temperature.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 + -