探索ATtiny微控制器的软件延时子程序
1. 改进的软件延时子程序
在 led_blink_asm 代码中,包含了一个改进的软件延时子程序。这个新程序名为 wait_1s_asm ,其中包含一个名为 wait_1s 的子程序,它能实现精确的 1 秒延时。
在代码开头,必须将代码要运行的 AVR 频率赋值给 F_CPU 。这里提供了两个频率,其中一个被注释掉了,分别对应 ATtiny25/45/85 和 ATtiny13(A) 的默认频率 1MHz 和 1.2MHz。当代码顶部的频率设置正确时,连接到 PB4 引脚的 LED 会在主循环代码运行时,亮 1 秒,灭 1 秒。
以下是 wait_1s_asm 的代码:
;.equ F_CPU = 1000000
.equ F_CPU = 1200000
start:
sbi DDRB, DDB4 ; Set pin PB4 as output
loop:
sbi PORTB, PORTB4 ; Set LED pin high
rcall wait_1s ; LED on delay
cbi PORTB, PORTB4 ; Clear LED pin low
rcall wait_1s
超级会员免费看
订阅专栏 解锁全文
58

被折叠的 条评论
为什么被折叠?



