main.c

来自「avr单片机atmage16驱动小灯的一些例程 并且包括一些收发数据的程序利用」· C语言 代码 · 共 46 行

C
46
字号
/*
内部1 M晶振。
定时器实险,周期信号驱动无源蜂鸣器。
程序中实现单一频率的周期性提示音。
程序采用单任务方式,软件延时。
*/
#include "iom16v.h"

/*延时函数*/
void delay_ms(unsigned char i) {

	unsigned char a, b;
	for (a = 1; a < i; a++) {
		for (b = 1; b; b++) {
			;
			}
		}
}

void main(void) {

	unsigned char i;

	DDRA = 0x00;						/*方向输入*/
	PORTA = 0xFF;						/*打开上拉*/
	DDRB = 0xFF;						/*方向输出*/
	PORTB = 0xFF;						/*高电平*/
	DDRC = 0x00;
	PORTC = 0xFF;
	DDRD = 0xFF;
	PORTD = 0xFF;

	while (1) {
		for (i = 0; i < 8; i ++) {
			PORTB = ~(1 << i);
			delay_ms(100);
			}
		TCCR1A = 0x40;
		TCCR1B = 0x09;
		OCR1A =  1000;
		delay_ms(200);
		TCCR1A = 0x00;
		PORTD &= ~(1 << 5);
		}
}

⌨️ 快捷键说明

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