虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

您现在的位置是:虫虫下载站 > 资源下载 > 技术资料 > 歌声程序

歌声程序

  • 资源大小:74 K
  • 上传时间: 2025-03-04
  • 上传用户:qdxqdxqdxqdx
  • 资源积分:2 下载积分
  • 标      签: 程序

资 源 简 介

#include #include //__CONFIG(0X081C); __CONFIG(0X3E24); #define P_Buzz RC4 #define P_KeySw RA4 void Sub_Initial(void); void sounddelay0(unsigned char delay_count); void sound200ms(); //------------------------------------------------------- //主函数 void main() { Sub_Initial(); while(1) { //设置C口为输出 asm("nop"); sound200ms(); //调用发声函数 asm("nop"); } } //================================Sub_Initial============================= void Sub_Initial(void) { OSCCON=0B01101010; PORTA=0; LATA=0; ANSELA=0; //A口设置为普通I/O ANSELC=0; //C口设置为普通I/O;关闭AD TRISA=0B00010100; WPUA4=1; PORTC=0; TRISC=0B00000000; GIE = 0; } //------------------------------------------------------ //延时函数 void sounddelay0(unsigned char delay_count) { unsigned char i; //定义循环变量 for(i=delay_count;i>0;i--); //根据频率决定延时时间 } //------------------------------------------------------ //发声函数 void sound200ms() { unsigned char fre_repeat,s_max,s_min,i,j; //同一频率重复次数,最高频率,最低频率,循环变量i,j fre_repeat=4; //同一频率循环4次 s_max=85; //声音最高频率 s_min=51; //声音最低频率 for(i=(s_max - s_min);i>0;i--) //输出最高频率与最低频率内的每一个频率的声音 { for(j=fre_repeat;j>0;j--) //每个声音循环4次 { P_Buzz=1; //输出声音 sounddelay0(s_min+i); //延长一段时间 // sounddelay0(20); P_Buzz=0; //关闭声音 sounddelay0(s_min+i); //延长一段时间 // sounddelay0(10); } } }

相 关 资 源