/*-----------------------------------------------

名称:喇叭

修改:无

内容:模救护车发声

------------------------------------------------*/

#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit SPK=P1^2;    //定义喇叭端口

unsigned char frq;

void DelayUs2x(unsigned char t);//函数声明

void DelayMs(unsigned char t);

/*------------------------------------------------

定时器初始化子程序

------------------------------------------------*/

void Init_Timer0(void)

{

TMOD |= 0x01;          //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响

//TH0=0x00;              //给定初值

//TL0=0x00;

EA=1;            //总中断打开

ET0=1;           //定时器中断打开

TR0=1;           //定时器开关打开

}

/*------------------------------------------------

主函数

------------------------------------------------*/

main()

{

unsigned char i;

Init_Timer0(); //初始化定时器

while(1)

{

frq=0;

for(i=0;i<60;i++)//播放1s左右一种频率

{

DelayMs(10);

}

frq=100;

for(i=0;i<60;i++)//播放1s左右另外一种频率

{

DelayMs(10);

}

}

}

/*------------------------------------------------

uS延时函数,含有输入参数 unsigned char t,无返回值

unsigned char 是定义无符号字符变量,其值的范围是

0~255 这里使用晶振12M,精确延时请使用汇编,大致延时

长度如下 T=tx2+5 uS

------------------------------------------------*/

void DelayUs2x(unsigned char t)

{

while(--t);

}

/*------------------------------------------------

mS延时函数,含有输入参数 unsigned char t,无返回值

unsigned char 是定义无符号字符变量,其值的范围是

0~255 这里使用晶振12M,精确延时请使用汇编

------------------------------------------------*/

void DelayMs(unsigned char t)

{

while(t--)

{

//大致延时1mS

DelayUs2x(245);

DelayUs2x(245);

}

}

/*------------------------------------------------

定时器中断子程序

------------------------------------------------*/

void Timer0_isr(void) interrupt 1

{

TH0=0xfe;                  //重新赋值

TL0=frq;         //低8位值在主程序中不断累加

SPK=!SPK;        //端口电平取反

}

c语言编写消防车声音程序教程,51单片机蜂鸣器模拟救护车消防车等各种报警喇叭声音的学习源代码...相关推荐

  1. 用c语言编写振铃检测程序,利用51单片机2进8出的程控交换机C语言源码

    这个是利用51单片机加上超长的语音芯片合为一体的2进8出的程控交换机C语言源码 /************************** 6-23日 修改总台来显 ******************* ...

  2. c语言编写消防车声音程序教程,51单片机消防车、救护车声音模拟源程序

    #include //包含特殊功能寄存器的定义 sbit SPK=P1^0; //定义喇叭端口 sbit K1=P1^4; //报警声按键 sbit K2=P1^5; //消防声按键 sbit K3= ...

  3. 用c语言编写s7-1200 plc程序教程,S7-1200编程指南.pdf

    S7-1200编程指南 S7-1200编程指南  PLC,programmablelogiccontroller,可编程逻辑控制器  工作原理 CPU 的目标 承载操作系统,组织与具体控制任务无关 ...

  4. 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器音乐之八月桂花播放源程序...

    /************************************************************************ [文件名]  C51音乐程序(八月桂花) [功能]  ...

  5. c语言单灯左移程序,基于51单片机的广告灯左移电路设计与程序分析

    1.实验任务 做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出"0"时,发光二极管亮,开始时P1.0→P1.1 ...

  6. 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc

    基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...

  7. c语言字符串dna,转录流程(c语言编写DNA转录程序)

    c语言编写DNA转录程序 AT,CG 进行互换就可以了 #include #include main() { char input[50];/*Defined to store the DNA cod ...

  8. 使用C语言编写测速程序

    可以使用 C 语言编写测速程序.要实现这个功能,你可以使用 C 语言中的时间函数来计算程序运行的时间. 具体来说,可以使用 clock() 函数来计算程序运行的时间.这个函数返回从程序开始运行到调用 ...

  9. 编写程序C语言 用递归法求n,用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n...

    用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧 ...

最新文章

  1. 【以太坊】web3.js的1.0版本和0.2.0版本的安装及区别
  2. Kinect for windows的脸部识别
  3. hdu1395 2^x mod n = 1
  4. ***脚本***普及
  5. HTML——CSS的基础语法2
  6. 热浪(信息学奥赛一本通-T1379)
  7. Tensorflow 学习笔记 vs code 的用户配置
  8. python生成矢量图_Jupyter Notebook输出矢量图实例
  9. JSP学习——EL表达式和JSTL学习小结
  10. 大一微积分笔记整理_大学数学-微积分学笔记.pdf
  11. Oracle创建表的语法
  12. java drawline变黑,为什么java.awt.Graphics.drawLine特别慢?
  13. python进行谱曲_人工智能可以作曲吗?
  14. 2021-05-15 随机生成车架号
  15. 利用js书写正三角形
  16. 微信地图wgs84坐标,gcj02坐标,bd09坐标转换
  17. 调教ChatGpt看这一篇文章就够了
  18. 【OpenCV学习】第6课:图像模糊(中值滤波,高斯双边滤波)
  19. 为什么很多人吐槽谭浩强的C语言程序设计,端碗吃饭放碗骂娘?
  20. Java 泛型的本质——类型擦除

热门文章

  1. 深度学习cptn+crnn的OCR原理
  2. 旁流综合水处理器的安装与连接技巧
  3. 快手sig3,did设备注册算法
  4. 大数据营销--中关村大数据产业联盟秘书长赵国栋访谈
  5. 2016年12月计算机等级考试,2016年12月计算机二级考试练习
  6. 在连接里放<int:nid>获取参数 的nid值
  7. CFA一级学习笔记--权益(二)--头寸与杠杆
  8. 5个MongoDB安全提示,帮助您远离困境
  9. Oracle等待事件(三)—— buffer busy waits 常见原因及对应解决方法
  10. 为什么每个女生都比较避讳别人问年龄问题?于是我偷偷写了一款年龄检测器,公司同事的年龄都被我知道了~