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

📄 tu1610.asm

📁 AVR-AT90S8535,HD8279,等开发的洁净空调专用DDC系统,包括AD/DA,PID计算等.
💻 ASM
字号:
; 测脉冲宽度,测周期,脉宽信号从AT90S8515的ICP引脚输入,最大值为为999999μS

.include"8535def.inc"
	rjmp   reset
.def    temp   = r19			;暂存器

.def    cnt1d  = r6
.def    cnt2d  = r7			;cnt1、dcnt2d存放结果的十进制

.def    count  = r8

.def    res1   = r4
.def    res2   = r5			;res1、res2存放结果的十六进制
.def    aa     = r24


reset:	ldi	R16,low(RAMEND)		;设置堆栈
	out	SPL,R16
	ldi	R16,high(RAMEND)
	out	SPH,R16

htd3:					;16转10子程序
	ldi	temp,16
	mov	count,temp
	clr	temp
	clr	cnt1d
	clr	cnt2d
	clc
loopd:
	rol	res1
	rol	res2
	rol	cnt1d
	rol	cnt2d
	dec	count
	brne	c	
	rjmp	loop
c:	rcall	adjn
	rjmp	loopd

adjn:
	push	count
	mov	count,cnt1d
	rcall	adjd1
	mov	cnt1d,count
	mov	count,cnt2d
	rcall	adjd1
	mov	cnt2d,count
	pop	count
	ret
adjd1:
	ldi	temp,3
	add	temp,count
	sbrc	temp,3
	mov	count,temp
	ldi	temp,$30
	add	temp,count
	sbrc	temp,7
	mov	count,temp
	ret	


a:
	ldi	zh,high(zk*2)
	ldi	zl,low(zk*2)
	add	zl,aa
	lpm
	out	portb,r0	
	ret	
loop:	                               ;在数码管显出十进制数
	mov   aa,   cnt1d
	andi  aa,   $0f                ;显示个位
	rcall a
	cbi   portd, 00
	nop
	sbi   portd, 00
	mov   aa,  cnt1d
	andi  aa,  $f0                 ;显示十位
	swap  aa
	rcall a
	cbi   portd, 01
	nop
	sbi   portd, 01
	mov   aa,  cnt2d
	andi  aa,  $0f                 ;显示百位
	rcall a
	cbi   portd, 02
	nop
	sbi   portd, 02
	mov   aa,  cnt2d
	andi  aa,  $f0                 ;显示千位
	swap  aa
	rcall a
	cbi   portd, 03
	nop
	sbi   portd, 03
	ret
	rjmp  loop







.equ   zk=0x0200
.org   zk                       ;字形表
.db    0x03f,0x006,0x05b,0x04f
.db    0x066,0x06d,0x07d,0x007
.db    0x07f,0x06f,0x077,0x07c
.db    0x039,0x05e,0x071,0x0ff                        


		

⌨️ 快捷键说明

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