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

📄 sg2.asm

📁 基于PROTERUS仿真的AVR例子
💻 ASM
字号:
.device AT90S8535
.equ    sph     =$3E
.equ    spl     =$3D
.equ	PORTB	=$18 		
.equ	DDRB	=$17 		
.equ    PINB    =$16
.equ    PORTC   =$15    
.equ    DDRC    =$14
.equ	PINC	=$13
.equ	PORTD	=$12		
.equ	DDRD	=$11
.def 	ZH     	=r31
.def 	ZL     	=r30
	rjmp	reset
tab:	.db	$3f,$06,$5b,$4f,$66,$6d,$7d,$07,$7f,$6f
					;7段码表
reset:	ldi	r16,$02			;栈指针置初值
	out	sph,r16
	ldi	r16,$5f
	out	spl,r16
	ldi	r16,0			;定义B口输入带上拉
	out	ddrb,r16
	ldi	r16,$ff
	out	portb,r16
	out	ddrc,r16		;定义C口、D口为输出
	out	ddrd,r16
	in	r16,pinb		;读B口引脚
	com	r16			;取反
	mov	r17,r16
	andi	r16,$0f			;取个位BCD码
	swap	r17			;半字节交换
	andi	r17,$0f			;取十位BCD码
	ldi	ZH,high(tab*2)		;查个位7段码
	ldi	ZL,low(tab*2)
	add	ZL,r16
	lpm
	out	portc,r0		;送D口静态输出
	ldi	ZH,high(tab*2)
	ldi	ZL,low(tab*2)
	add	ZL,r17
	lpm
	out	portd,r0
	rjmp	reset

⌨️ 快捷键说明

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