📄 电阻adc.asm
字号:
;****************************AVR 单片机实用程序 ************************
;;*
;* 标题: 高精度廉位的A/D转换器
;* 版本: 1.0
;*最后更新日期: 2000.08.08
;*
;* 支援 E-mail: gzsl@sl.com.cn
;*
;* 描述
;* 用AVR Studio调试软件窗口观察指令执行变化情况
;* 作者: SL.Z
;*程序适用于所有单片机
;***************************************************************************
;****************************************************************************
;* 用网络电阻实现高精度廉位的A/D转换
;* 硬件电路及说明阅<<高精度廉价的A/D转换器>>一文
;* 本程序实测调试通过
;*
;****************************************************************************
.include"8515def.inc"
.org $0000
rjmp reset
.def temp=r16
.def temp1=r17
.equ label=$0100
.org $0010
reset: ldi r20,$02
out sph,r20
out spl,r20
ldi r20,$ff ;设置D口为输出
out ddrd,r20
out ddrc,r20
ldi r20,$f0
out ddrb,r20
out portb,r20
clr r20
out portc,r20
sbi $18,7
sbi $18,6
cli
ldi zh,high(label*2)
main: ldi temp,$00
nop
loop1: out portc,temp
nop
nop
nop
in temp1,acsr
sbrs temp1,5
rjmp naco
rjmp haco
naco: inc temp
brne loop1
ldi temp,$ff
haco: mov r28,temp
ldi r20,$38
display:mov temp,r28 ;显示高位
andi temp,$f0
swap temp
clr zl
add zl,temp
ledh: lpm
out portd,r0
sbi $18,6
cbi $18,7
rcall delay
mov temp,r28 ;显示底位
andi temp,$0f
clr zl
ledl: add zl,temp
lpm
out portd,r0
sbi $18,7
cbi $18,6
rcall delay
dec r20
brne display
rjmp main
delay: ldi r27,$10
delay1: dec r26
brne delay1
dec r27
brne delay1
sbi $18,7
ret
.cseg
.org $0100
.dw 0xb0fe,0xf9ed,0xdbb3,0xf0df
.dw 0xf3ff,0x9ff7,0xbdce,0xc7cf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -