//★★★★★★★★★PIC产生声音的方法★★★★★★★★★★★\\
//单征机型号:PIC16F877A
//功能描述:产生一个频率段,驱动BUZ发声。
//端口定义:RC2,BUZ驱动口。
#include
__CONFIG(0x1832);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
#define buz RC2 //定义声音控制脚
//========================================================================
//功能描述:延时子程序
//函数名称:void sounddelay0(unsigned char delay_count)
void sounddelay0(unsigned char delay_count)
{
unsigned char i; //定义循环变量
for(i=delay_count;i>0;i--); //根据频率决定延时时间
}
//========================================================================
//功能描述:发声子程序
//函数名称:void sound200ms()
void sound200ms()
{
unsigned char fre_repeat,s_max,s_min,i,j;
//同一频率重复次数,最高频率,最低频率,循环变量i,j
fre_repeat=4; //同一频率循环4次
s_max=0x93; //声音最高频率
s_min=0x47; //声音最低频率
for(i=s_max-s_min;i>0;i--) //输出最高频率与最低频率内的每一个频率的声音
{
for(j=fre_repeat;j>0;j--) //每个声音循环4次
{
buz=1; //输出声音
sounddelay0(s_min+i); //延长一段时间
buz=0; //关闭声音
sounddelay0(s_min+i); //延长一段时间
}
}
}
//========================================================================
//功能描述:主函数
//函数名称:void main()
void main()
{
TRISC=0; //设置C口为输出
sound200ms(); //调用发声函数
}
上一篇:PIC16F690做电容式触摸按键
下一篇:PIC单片机I2C的应用(24LC02)
推荐阅读最新更新时间:2024-03-16 15:19
设计资源 培训 开发板 精华推荐
- 重磅上线!尼吉康技术子站专区只等你来!
- 西门子电子书下载《PCB 制造流程 - 通过数字化转型进行优化》
- 4小时实战+剖析:TI工程师教你快速上手 各种无线产品开发 (限量$14售CC1352R1无线开发板,助你参与动手实验)
- 有奖直播|恩智浦LPC553x在双电机控制中的应用
- “泰”想开车智能篇(下):新一代智能汽车智能化
- 【 有奖直播】 掌握潮流~TI DLP®技术在汽车上的创新及全新应用
- 下载有礼喽!2017年泰克亚太专家大讲堂第三期: 超宽带复杂电磁信号产生与实时分析技术
- 电源情报站 MPS小程序干货推荐,下载有好礼!3月活动开始啦~
- 是德科技有奖问答活动之三,极限温度测试示波器探头方案,答题闯关赢好礼!