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

📄 模拟比较ad.asm

📁 单片机开发资料光盘-双龙-686M.zip
💻 ASM
字号:
;****************************AVR 单片机实验测试程序 ************************
;;*
;* 标题:		廉位的A/D转换器
;* 版本:		1.0
;*最后更新日期:	2000.08.08
;*
;* 支援 E-mail:	gzsl@sl.com.cn
;*
;* 描述
;*  用AVR Studio调试软件窗口观察指令执行变化情况
;* 作者: SL.Z
;*程序适用于所有单片机
;***************************************************************************
 
;****************************************************************************
;*
;* 硬件电路及说明阅<<廉价的A/D转换器>>一文
;* 本程序实测调试通过
;*
;****************************************************************************


.include"1200def.inc"
.org $0000
	rjmp reset
.org $0002
	rjmp inter
.org $0003
	rjmp inter
.org $0010
reset:  ldi r20,$ff     ;设置D口为输出
	out ddrd,r20
	sbi $18,7       
	sbi $18,6
	ldi r20,$fe     
	mov r0,r20
	ldi r20,$b0
	mov r1,r20
	ldi r20,$ed
	mov r2,r20
	ldi r20,$f9
	mov r3,r20
	ldi r20,$b3
	mov r4,r20
	ldi r20,$db
	mov r5,r20
	ldi r20,$df
	mov r6,r20
	ldi r20,$f0
	mov r7,r20
	ldi r20,$ff
	mov r8,r20
	ldi r20,$f3
	mov r9,r20
	ldi r20,$f7
	mov r10,r20
	ldi r20,$9f
	mov r11,r20
	ldi r20,$ce
	mov r12,r20
	ldi r20,$bd
	mov r13,r20
	ldi r20,$cf
	mov r14,r20
	ldi r20,$c7
	mov r15,r20
main:   rcall conini	;初始化A/D转换器
	sei
	ldi r16,$fc
	out ddrb,r16
ddelay: clr r16		;延时
        ldi r17,$f1
 loop:  inc r16
	brne loop
	inc r17
	brne loop
	rcall adconv	;启动转换器
wait:   brtc wait       ;等待中断
	clt
        rcall fetch	;取显示
        ldi r20,$38
start:  mov r30,r28
display:andi r30,$f0    ;显示高位
	swap r30
ledh:   ld r25,z
	out portd,r25
	sbi $18,6
	cbi $18,7
	ldi r27,$10
delay1: dec r26         ;延时
	brne delay1
	dec r27
	brne delay1
	sbi $18,7
	nop
	mov r30,r28     ;显示底位
	andi r30,$0f
ledl:   ld r25,z
	out portd,r25
	sbi $18,7
	cbi $18,6
	ldi r27,$10
delay2: dec r26         ;延时
	brne delay2
	dec r27
	brne delay2
	sbi $18,6
	nop
        dec r20
	brne start      
	rjmp main
inter:  in r28,tcnt0    ;中断服务程序
	clr r16         ;关闭T0 
	cli
	out tccr0,r16
	cbi portb,5
	set
	reti
conini: ldi r16,$0b		
	out acsr,r16
        ldi r16,$02
	out timsk,r16
        cbi portb,5
	ret
adconv: ldi r16,$40
	out tcnt0,r16
	clt
        ldi r16,$02
	out tccr0,r16
	sbi portb,5
	ret
fetch:  mov r18,r28
        swap r18
        andi r18,$0f
        dec r18
        dec r18
        dec r18
        dec r18
        brne l50
        mov r18,r28
        andi r18,$0f
        rjmp fee
   l50: dec r18
        brne l60
        mov r18,r28
        andi r18,$0f
        ori r18,$10
        rjmp fee
   l60: dec r18
        brne l70
        mov r18,r28
        andi r18,$0f
        ori r18,$20
        rjmp fee
   l70: dec r18
        brne l80
        mov r18,r28
        andi r18,$0f
        ori r18,$30
        rjmp fee
   l80: ldi r28,$ff
        ret
   fee: cbi eecr,0
        out eear,r18
        sbi eecr,0
        in r28,eedr
        ret
.eseg
.org $0000
.db 0x00,0x00,0x03,0x14,0x21,0x25,0x2f,0x33
.db 0x38,0x3f,0x47,0x52,0x59,0x6a,0x78,0x7d
.db 0x81,0x86,0x8b,0x90,0x9a,0x9f,0xa4,0xa7
.db 0xac,0xaf,0xbe,0xc5,0xc9,0xca,0xce,0xd0
.db 0xd3,0xd5,0xd7,0xd9,0xda,0xdf,0xe0,0xe1
.db 0xe2,0xe3,0xe4,0xe5,0xe6,0xe8,0xe9,0xec
.db 0xed,0xee,0xef,0xf0,0xf3,0xf4,0xf5,0xf6
.db 0xf8,0xf9,0xfa,0xfc,0xff,0xff,0xff,0xff

⌨️ 快捷键说明

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