1.c

来自「单片机应用 1.1602LCD 2.2004LCD源码 3.ATmega1」· C语言 代码 · 共 57 行

C
57
字号
#include <avr/io.h>
#include <avr/delay.h>

void pwm0_init()
	{
	DDRB|=0b00001000;
	TCCR0=0b01101010;
	OCR0=0x7f;
	TCNT0=0;
	}

void pwm1_init()
	{
	DDRD|=0b00110000;
	TCCR1A|=0b10100010;
	TCCR1B|=0b00011001;
	ICR1=0x7ff;
	OCR1A=0x400;
	OCR1B=0x400;
	}

void pwm2_init()
	{
	DDRD|=0b10000000;
	TCCR2|=0b01101010;
	OCR2=0x7f;
	TCNT2=0x00;
	}

void main()
	{
	char temp;
	PORTA=0xff;
	pwm0_init();
	pwm1_init();
	pwm2_init();
	while(1)
		{
		if(PINA!=0xff)
			_delay_ms(2);
		if(PINA!=0xff)
			temp=PINA;
		while(PINA!=0xff);
		switch (temp)
			{
			case 0xfe:OCR1A+=10;break;
			case 0xfd:OCR1A-=10;break;
			case 0xfb:OCR1B+=10;break;
			case 0xf7:OCR1B-=10;break;
			case 0xef:OCR0+=5;break;
			case 0xdf:OCR0-=5;break;
			case 0xbf:OCR2+=5;break;
			case 0x7f:OCR2-=5;break;
			}
		temp=0;
		}
	}

⌨️ 快捷键说明

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