PIC产生声音的方法

发布者:清新家园最新更新时间:2016-11-02 来源: eefocus关键字:PIC  产生声音 手机看文章 扫描二维码
随时随地手机看文章
//PIC产生声音的方法

//★★★★★★★★★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();                             //调用发声函数
}

关键字:PIC  产生声音 引用地址:PIC产生声音的方法

上一篇:PIC16F690做电容式触摸按键
下一篇:PIC单片机I2C的应用(24LC02)

推荐阅读最新更新时间:2024-03-16 15:19

PIC16F1829 DATA EEPROM 读写操作示例
简介:本文给出一个PIC16F1829 DATA EEPROM 读写操作示例,感兴趣的朋友可以看看。 #define ReadRomString_CALL #define WriteRomString_CALL //************************************* // 函数名称:ReadRomByte // 函数功能:从ROM的某一地址读数据 // 入口参数:所读数据的地址 // 出口参数:所读地址的数据 //*************************************** uint8 ReadRomByte(uint8 addr) { uint8 num; while(R
[单片机]
使用PIC单片机开发的被动红外传感器模块的报警器
  在本文中,单片机开发工程师们分享了一个使用PIC单片机开发的被动红外(PIR)传感器模块的报警器。在这个方案中,我们使用PIC12F635单片机进行开发,持续监控传感器模块的输出,并在其激活时打开蜂鸣器。   一、被动红外(PIR)报警器方案的原理   某些半导体材料具有暴露于热红外辐射时会产生表面电荷的特性。这种现象称为热电。被动红外(PIR)传感器模块的工作原理相同。人体以红外线辐射的形式辐射热量,最大约为9.4微米。人体的存在会导致热释电传感器感应到的周围环境的IR轮廓发生突然变化。PIR传感器模块在板上具有仪表电路,该仪表电路将该信号放大到适当的电压电平以指示运动的检测。   PIR传感器需要大约10到60秒的
[单片机]
使用<font color='red'>PIC</font>单片机开发的被动红外传感器模块的报警器
pic单片机做的万年历
#include pic.h #include ziku.h #include lcd_init.h #include ds1302.h #include ds18b20.h #include keyscan.h #include yinli.h uch jj,ii; //子程序 //LCD显示空白边框子程序 void LCDShowTable() { uch i; SlectScreen(1); //写左半屏 SetLine(0); //起使页 SetColumn(0); //起使列 for(i=0;i 64;i++) { if((i==0)|
[单片机]
<font color='red'>pic</font>单片机做的万年历
PIC单片机在线调试LCD
  使用P IC 来调试 LCD 应用可能会有两个方面的问题。第一,LCD控制器会在器件暂停时停止。第二,在PIC16F946/917/916/914/913 MCU上ICD引脚与段共用。   在进行调试时,器件会在断点处和用户按暂停按钮时暂停。如果ICD配置为暂停器件的外设,则LCD控制器将暂停,并向LCD显示屏施加直流 电压 。   随着时间的推移,直流电压会对显示屏造成损坏:但对于大多数调试情形,不需要考虑这一点。   PIC18F LCD MCU具有一个特性,允许当器件在调试期间暂停时,LCD模块继续工作。对于要在器件暂停时检查显示图像,以及防止在器件暂停很长时间的情况下损坏显示屏.该特性很有用。   PIC16F946/
[单片机]
PIC16F87x的数据存储器规划和中断编程
  PIC系列单片机硬件系统设计简洁,指令系统设计精练;采用哈佛总线结构,芯片内部数据总线和指令总线分离;选址方式简单。   PIC16F87x系列单片机是PIC16系列子系列,是中间档次产品。PIC系列与其他单片机相比,让人印象最深的特点可能要属其内存的分页结构,有很多习惯了其他单片机编程的人认为PIC单片机的内存分页带来很多不便。本文介绍在PIC1687x系列单片机中,根据数据变量的访问特性安排其在数据存储器中的位置的方法及其中断编程,从一方面说明内存的规划对编程的影响。 1 PIC16F87x单片机存储器特点   PIC16F87x单片机采用哈佛总线结构,程序存储器和数据存储器分别有自己的总线。数据存储器被分成4个页(B
[单片机]
PIC18+DS1302程序设计
1、ds1302芯片使用相对简单,其采用spi三接口同步通信。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此可应用于测量系统中。ds1302内部读写寄存器存放的数据格式为bcd码,在读取后的数据转换时除以16得到相应10进制数。 2、部分核心程序: 发送地址及数据(向芯片里面写入数据): void write1302(unsigned char addr,unsigned dat){ RST=0;//不让数据传输进ds1302 SCLK=0;//初始化时钟总线 RST=1; for(int i=8;i 0;i--){ SCLK=0;
[单片机]
PIC单片机入门教程(四)—— 第一个工程
1、新建工程 1.1 菜单栏“文件”- “新建项目” 1.2 “Microchip嵌入式”- “独立项目”- “下一步” 1.3 在器件栏直接输入你的单片机型号,这里以PIC12F675为例。输入“PIC12F675”- “下一步” 1.4 选择调试头,如果有的话。“None”- “下一步” 1.5 选择烧录or调试工具,这里以PICkit3为例- “下一步” 1.6 PIC12F675是8位单片机,选择编译器时,选择“XC8”- “下一步” 1.7 “输入项目名称”- “选择项目存放位置”- “编码设置为GB2312,中文注释才不会乱码”- “完成” 1.8 新建的工程目录结构如下 2、编写一个空
[单片机]
<font color='red'>PIC</font>单片机入门教程(四)—— 第一个工程
数控电位器与PIC单片机的接口技术
1x9268器件描述 1X9268是Xicor公司生产的,把2个E2POT数控电位器集成在单芯片的CMOS集成电路上的一种数控电位器。它包含两个电阻阵列,每个电阻阵列包含255个电阻单元,在每个单元之间和二个端点都有可以被滑动单元访问的抽头点。滑动单元在阵列中的位置,由用户通过二线串行总线接口控制。每个电阻阵列,与1个滑动端计数寄存器(WCR)和4个8位数据寄存器(R0~R3)联系在一起,这4个数据寄存器可以由用户直接写入或读出。滑动端计数寄存器的内容,控制滑动端在电阻阵列中的位置。 数据寄存器可以由用户读出和写入。数据寄存器的内容可以传输到滑动端计数寄存器,以设置滑动端的位置。当前滑动端的位置可以被传输到与它相联系的任一
[模拟电子]
数控电位器与<font color='red'>PIC</font>单片机的接口技术
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved