sldiy16-03.asm

来自「AVR单片机应用开发指南及实例,包含许多实例,挺不错」· 汇编 代码 · 共 39 行

ASM
39
字号
;********************************************
;SL-DIY-02-3   实验三
;I/O端口一对一控制。
;ATmega16的PB口8个开关(可用接插线接VCC或GND代替,控制PA口8个LED灯亮与灭;
;请你修改程序, 用ATmega16的PD口8个开关(可用接插线接VCC或GND代替)   
;控制PB口8个LED灯亮与灭。    
;********************************************
;*ATmega16   8MHz     
;*双龙电子   www.sl.com.cn
;*	   teny	2005.11.12
;*********   teny@sl.com.cn   **************
;********************************************

.include "m16def.inc"

.org	$000
	rjmp	reset3

.org	$010
reset3:
	ldi r17,$04	;置栈指针,mega16的内建值为$045f
	ldi r16,$5f
	out sph,r17
	out spl,r16

shiyan3:
	ldi r17,$ff	;pa口设置为输出
	clr r16
	out ddra,r17
	out porta,r17
	out ddrb,r16	;pb口设置为输入,且内部上拉
	out portb,r17
start3:
	in r16,pinb	;读取pb口的管脚状态
	out porta,r16   ;pa口输出pb口的管脚状态
	rjmp	start3  ;循环,达到实时控制


⌨️ 快捷键说明

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