📄 text1.asm
字号:
;************************************************************
;name :ADC0809的应用
;day :05.08.08
;功能 :
; p2口接0809的数字量输出口
;************************************************************
start bit p0.4 ;p3.0接0809的开始选通端口
oe bit p0.5 ;p3.1接0809的输出允许控制端
eoc bit p3.2
;---------------------程序开始-----------------------------
org 0000h
ajmp main
main:
nop
lcall proinit
loop:
setb start ;启动A/D转换
nop
clr start
jnb eoc,$
lcall dat_cov ;数据处理
lcall display
ajmp main
;---------------------初始化子程序-------------------
proinit:
mov 30h,#0
mov 31h,#0
mov 32h,#0
mov 33h,#0
ret
;-----------------送显前的数值转换程序---------------
dat_cov:
setb oe ;打开输出允许控制端
mov a,p2
nop
nop
clr oe
mov b,#51
div ab ;除以51即是乘以5除以255
mov 30h,a ;30H中是整数部分
mov a,b
mov b,#5
div ab
mov 31h,a
mov a,b
mov b,#2
mul ab
mov 32h,a
ret
;---------------------显示程序段-----------------------------
display:
mov dptr,#tab
mov a,33h
movc a,@a+dptr
mov p0,#0feh
mov p1,a
lcall delay8ms
mov a,32h
movc a,@a+dptr
mov p0,#0fdh
mov p1,a
lcall delay8ms
mov a,31h
movc a,@a+dptr
mov p0,#0fbh
mov p1,a
lcall delay8ms
mov a,30h
movc a,@a+dptr
mov p0,#0f7h
mov p1,a
lcall delay8ms
ret
;-----------------------------------------------------------
delay8ms:
mov r6,#1
delay1: mov r7,#10
djnz r7,$
djnz r6,delay1
ret
;--------------------------------------------------------
tab:
db 40h,79h,24h,30h,19h,12h,02h,78h,00h,10h
;------------------------------------------------------------
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -