内部1 M晶振。 定时器实险,周期信号驱动无源蜂鸣器,些实验基于定时器的CTC模式,由硬件产生频率信号。 程序中实现单一频率的周期性提示音。 程序采用单任务方式,软件延时。 */ #i nclude "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); } }