AVR單片機驅動無源蜂鳴器
內部1 M晶振。
定時器實險,周期信號驅動無源蜂鳴器,些實驗基于定時器的CTC模式,由硬件產(chǎn)生頻率信號。
程序中實現(xiàn)單一頻率的周期性提示音。
程序采用單任務方式,軟件延時。
*/
#include "iom16v.h"
定時器實險,周期信號驅動無源蜂鳴器,些實驗基于定時器的CTC模式,由硬件產(chǎn)生頻率信號。
程序中實現(xiàn)單一頻率的周期性提示音。
程序采用單任務方式,軟件延時。
*/
#include "iom16v.h"
/*延時函數(shù)*/
void delay_ms(unsigned char i) {
void delay_ms(unsigned char i) {
unsigned char a, b;
for (a = 1; a i; a++) {
for (b = 1; b; 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) {PORTA = 0xFF; /*打開上拉*/
DDRB = 0xFF; /*方向輸出*/
PORTB = 0xFF; /*高電平*/
DDRC = 0x00;
PORTC = 0xFF;
DDRD = 0xFF;
PORTD = 0xFF;
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);
}
} 蜂鳴器相關文章:蜂鳴器原理
評論