访问电脑版页面

导航:老古开发网手机版AVR单片机AVR单片机编程

AVR单片机驱动无源蜂鸣器

导读: 内部1 M晶振。定时器实险,周期信号驱动无源蜂鸣器,些实验基于定时器的CTC模式,由硬件产生频率信号。程序中实现单一频率的周期性提示音。程序采用单任务方式,
关键字:
无源,AVR单片机
内部1 M晶振。
定时器实险,周期信号驱动无源蜂鸣器,些实验基于定时器的CTC模式,由硬件产生频率信号。
程序中实现单一频率的周期性提示音。
程序采用单任务方式,软件延时。
*/
#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);
  }
}
来源:   作者:  2010/6/30 11:35:00
栏目: [ AVR单片机编程]

相关阅读

在AVR 汇编器中怎样定义字符串常量

AVR Studio 问题!为什么我在串口中断程序中设置的断点,却不产生中断??

怎样在CodeVision中使用结构型数组的用法实例 作者[xiaoqi]©

AVR汇编语言如何实现如 LJMP @A+DPTR这样的散转结构

AVR单片机驱动无源蜂鸣器

AVR单片机CRC校验码的查表与直接生成

AVR单片机的RC5和RC6算法比较与改进

AVR单片机GCC编程

在AT90S1200 中如何实现常数表功能?

AVR单片机定点运算及数制转换子程序

基于AVR单片机的LED显示屏的灰度设计与实现

基于AVR单片机USART与PC机的串行通信