lesson5.c

来自「AVR mega16单片机的示例程序」· C语言 代码 · 共 43 行

C
43
字号
#include <avr/io.h>
int main(void)
{
	DDRD &= ~(1 << 6);
	PORTD |= (1 << 6);
	DDRD &= ~(1 << 7);
	PORTD |= (1 << 7);
	DDRD &= ~(1 << 2);
	PORTD |= (1 << 2);
	DDRD &= ~(1 << 3);
	PORTD |= (1 << 3);

	DDRA |= (1 << 3);
	PORTA &= ~(1 << 3);//关蜂鸣器

	DDRB = 0xff;

	while(1)
	{
		if(!(PIND & (1 << 6)))//K3按键被按下
		{
			PORTA |= (1 << 3);//蜂鸣器鸣响
		}
		else if(!(PIND & (1 << 7)))//K4按下
		{
			PORTB |= (1 << 0);//第1个LED发光
		}
		else if(PIND & (1 << 2))//K1按下
		{
			PORTB |= (1 << 1);//第2个LED发光
		}
		else if(!(PIND & (1 << 3)))//K2按下
		{
			PORTB |= (1 << 2);//第3个LED发光
		}
		else//按键没被按下
		{
			PORTA &= ~(1 << 3);//关蜂鸣器
			PORTB = 0;
		}
	}
}

⌨️ 快捷键说明

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