网上有关AVR芯片的按键程序都有点复杂,我是AVR的新手,写出一个按键的程序也不容易,现在总算写好了,分享给一样是刚入门AVR编程的小伙伴们。
电路连接方法,按网上最小系统接,然后PA0口上拉个电阻,再接到一个按键上,按键另一端接地,PD任意口接LED正极,LED负极接个限流电阻300欧姆到地。
程序我是用Atmel Studio 6.2上写的,编译后用progisp烧录到芯片上,下载器我用的是USBASP,连接方法可参考网上图片,RST也要连接上,注意部分USBASP下载器对progisp版本有要求。
#define F_CPU 1000000UL
#include <avr/io.h>int main(void)
{
DDRA=0; //输入方式
DDRD = 0xff;//D口都做输出用
while(1)
{
if(PINA&(1<<PA0))PORTD=0x00; //判断PA0口
else PORTD=0xff;
}
}