设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 1626|回复: 3
收起左侧

采用宏晶系列单片机STC15F104E实现的超声波扫频驱蚊器,起止频率可直接修改。

[复制链接]
发表于 2017-6-12 18:36:07 | 显示全部楼层 |阅读模式

  1. /*
  2. 采用宏晶系列单片机STC15F104E实现的超声波扫频驱蚊器,起止频率可直接修改。
  3. 采用配置特殊功能寄存器的方法实现直接控制输出方波信号并指定频率,频率范围宽、精准准度高等特点被广泛使用。
  4. 信号输出口可连接超声波专用功放电路放大信号到扬声器或蜂鸣器。
  5. 若使用其他型号芯片代替的或固件版本低的,没有该特殊功能寄存器的无法输出信号。
  6. 将起始终止频率调低可代替高分贝报警器使用。
  7. 频率过高或过低导致计算结果溢出会导致频率输出错误。
  8. 用示波器或逻辑分析仪检测P3.5信号输出波形即可。
  9. 晶振频率:12Mhz
  10. */
  11. #include "reg51.h"
  12. #include "intrins.h"

  13. #define FOSC 12000000L //晶振频率
  14. #define STEP 1L //步进频率 1hz
  15. #define MIN 20000L //起始频率 20khz
  16. #define MAX 100000L //终止频率 100khz

  17. sfr CLK_DIV     = 0x97;             //时钟分频控制寄存器
  18. sfr AUXR      = 0x8e;               //辅助特殊功能寄存器
  19. sfr INT_CLKO  = 0x8f;               //唤醒和时钟输出功能寄存器
  20. sbit T1CLKO   = P3^5;               //蜂鸣器连接VCC和P3.5,由硬件寄存器决定,不同型号芯片可能会有不同,无法直接修改。


  21. void beep(unsigned long hz){ //蜂鸣器鸣叫

  22.     TMOD = 0x00;                    //设置定时器为模式1(16位自动重装载)
  23.     TMOD &= ~0x40;                  //C/T1=0, 对内部时钟进行时钟输出
  24.     TL1 = (65536-FOSC/2/hz);                 //初始化计时值
  25.     TH1 = (65536-FOSC/2/hz) >> 8;
  26.     INT_CLKO = 0x02;
  27.     TR1 = 1;  //开始计数


  28.        

  29.        
  30. }



  31. void main(){ //主函数
  32. unsigned long hz=MIN; //开始频率
  33. bit n=0; //频率加还是减
  34. AUXR |= 0x40; //定时器1时钟为1T模式
  35.     while (1){ //进入死循环
  36.         beep(hz); //修改鸣叫频率
  37.                 if(n == 0){ //加
  38.                 hz+=STEP; //频率加步进频率

  39.                 } else { //减
  40.                 hz-=STEP; //频率减步进频率

  41.                 }
  42.                         if(hz<=MIN || hz >=MAX){ //频率加到最大或者减到最小
  43.                         n=~n; //加减状态取反
  44.                         }       

  45.        
  46.         }
  47. }

复制代码


发表于 2017-6-12 22:07:37 | 显示全部楼层
这个好,以后蚊子什么的再也不会再进来了。。:lol
发表于 2017-9-18 13:17:19 来自手机 | 显示全部楼层
小萌 发表于 2017-6-12 22:07
这个好,以后蚊子什么的再也不会再进来了。。:lol

这个不一定,看发射功率。
发表于 2017-9-22 16:50:16 来自手机 | 显示全部楼层
吃瓜群众 发表于 2017-9-18 13:17
这个不一定,看发射功率。

嗯嗯,大神就是大神,跟着楼主走。
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-27 07:08 , Processed in 0.960054 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表