单片机技术与应用项目式教程 课件 项目4 报警系统设计_第1页
单片机技术与应用项目式教程 课件 项目4 报警系统设计_第2页
单片机技术与应用项目式教程 课件 项目4 报警系统设计_第3页
单片机技术与应用项目式教程 课件 项目4 报警系统设计_第4页
单片机技术与应用项目式教程 课件 项目4 报警系统设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《单片机技术与应用项目式教程》—蜂鸣器控制蜂鸣器控制1、本任务学习要求及知识要点:1)、通过软件延时的方法实现单片机的I/O控制蜂鸣器发声。2)、正确运用位操作指令和延时程序,使蜂鸣器发声。3)、理解占空比的概念,会通过修改不同占空比来改变蜂鸣器的声音。C/

TM1M0GATEC/

TM1M02、蜂鸣器与单片连接示意图:3、流程图设计:蜂鸣器响延时取反蜂鸣器状态延时蜂鸣器程序流程图开始蜂鸣器控制4、蜂鸣器控制代码的实现:汇编语言代码:蜂鸣器响延时取反蜂鸣器状态延时ORG0HBEEPBITP3.7CLRP3.7ACALLDELAYLOOP:CPLBEEPACALLDELAYAJMPLOOP开始蜂鸣器控制4、蜂鸣器控制代码的实现:c语言代码:蜂鸣器响延时取反蜂鸣器状态延时Voidmain(){While(1){BEEP=0;Delay(250);BEEP=1;Delay(250);}}开始蜂鸣器控制谢谢观看!《单片机技术与应用项目式教程》—定时器定时器1、本任务学习要求及知识要点:1)、了解89C51定时器工作原理,了解相关寄存器用途及设置2)、基于定时器功能用单片机驱动蜂鸣器实现警笛声。2、定时器相关寄存器:TMOD、IE、TCONTMOD(89H)T1T0D7D6D5D4D3D2D1D01)、GATE——门控位。

GATE=0:表示只要用软件将TCON中的运行控制位TR0(或TR1)置为1,即可启动定时器/计数器0或定时器/计数器1。GATE=1:表示只有在

引脚为高电平,并且用软件将运行控制位TR0(或TR1)置为1的前提条件下才可以启动定时器/计数器0或定时器/计数器1。GATEC/

TM1M0GATEC/

TM1M0各位含义如下:2)、C/

T——定时/计数方式选择位。C/

T=0:即满足

T有效,设置为定时方式(Timer),对内部机器周期进行计数。C/

T=1:即满足C有效,设置为计数方式(Counter),通过T0(P3.4)或T1(P3.5)引脚对外部脉冲信号进行计数。3)、M1M0——工作方式选择位。M1M0=00:为工作方式0,作13位计数器用,TL0(或TL1)只用低5位参与分频,TH0(或TH1)用了全部的8位。M1M0=01:为工作方式1,作16位计数器用,TL0、TH0(或TL1、TH1)全用。M1M0=10:为工作方式2,2个8独立的8位计数器用,当溢出时TH0(TH1)将存放的值自动重装入TL0(或TL1)。M1M0=11:为工作方式3,仅适用于定时器/计数器0,定时器/计数器1失效,作用两个8位的计数器用。定时器IED7D6D5D4D3D2D1D0位符号----ESEX1EX0位地址----ACABAAA9A8各位含义如下:1)、EA——中断允许总控制位。EA=0:总中断禁止,禁止所有中断;EA=1:中断总允许。2)、ET0(ET1)——定时器/计数器中断允许控制位。ET0(ET1)=0:禁止定时器/计数器中断;ET0(ET1)=1:允许定时器/计数器中断。EAAFET1ET0定时器TCOND7D6D5D4D3D2D1D0位符号位地址8F8E8D8C8B8A8988各位含义如下:1)、TF0和TF1——定时器/计数器溢出中断请求标志位。

TF0(或TF1)=1时,表示对应定时器/计数器的计数值已完成了从初值开始的加1计数,由全1变为0,最高位产生了溢出,相应的溢出标志位由硬件置“1”。计数溢出标志位的使用有两种情况;当采用中断方式时,它作为中断请求标志位来使用,一旦CPU响应了中断请求,由硬件自动清“0”;当采用查询方式时,他作为查询状态来使用,并由软件来清0。TF1TF0TR0TR1IE0IE13)、IE0(IE1)——外部中断请求标志位。

IE0(IE1)=1,外部中断向CPU请求中断,当CPU响应了该中断,则由硬件将其清"0"。2)、TR0(TR1)——定时器/计数器的运行控制位。当门控位GATE=0时,由软件方法使其置“1”清“0”。TR0(TR1)=0:停止定时器/计数器的工作;TR0(TR1)=1:启动定时器/计数器的工作。

当门控位GATE=1时,TR0(TR1)=1;且输入为高电平时,才允许定时器/计数器计数。4)、IT0(IT1)——外部中断触发方式控制位。IT0(IT1)=0:外部中断0(外部中断1)采用低电平触发方式。当输入低电平时,置位IE0(IE1),此时P3.2(P3.3)必须保持低电平,直到CPU响应了该中断。当中断服务程序执行完,引脚将变为高电平,否则将产生另一次中断。这就是P3.2、P3.3引脚通常直接接按键,按键另一端直接接地的原因:按下时,引脚接地输入低电平,放开时,引脚恢复处于高电平。IT0(IT1)=1:外部中断0(外部中断1)采用下降沿触发方式。当引脚电平由"1"向"0"下降沿跳变时,置位外部中断请求标志位IE0(IE1),向CPU请求中断。实现这一操作就是P3.2(P3.3)引脚所接按键按下(由高电平变低电平)的一瞬间。IT0IT1定时器3、蜂鸣器与单片连接示意图:4、流程图设计:定时器开始系统初始化启动T0T0计数初值变化延时主程序流程图T0中断子程序改变计数初值改变蜂鸣器发声状态退出中断T0中断程序流程图改变计数初值改变蜂鸣器发声状态退出中断5、单片机定时器代码的实现:定时器TO中断子程序T0中断程序流程图TIMER0:MOVTH0,#0FEHMOVTL0,FRQCLPSPKRETI汇编语言代码:1)单片机定时器代码的实现:定时器voidTimer0IRQ()interrupt1{TH0=0xFE;TL0=m;BEEP=~BEEP;}C语言代码:TO中断子程序改变计数初值改变蜂鸣器发声状态退出中断T0中断程序流程图谢谢观看!《单片机技术与应用项目式教程》—音乐播放控制音乐播放控制1、本任务学习要求及知识要点:1)、了解音乐的基本元素,理解用单片机实现音乐播放的原理。2)、通过定时器延时的方法实现单片机的I/O控制蜂鸣器产生不同频率的声响。3)、了解音调和节拍,通过单片机控制蜂鸣器播放音乐。C/

TM1M0GATEC/

TM1M02、音调的产生及单片机定时的计算方法:各调对应的标准频率调C#CD#DEF#FG#GA#AB频率/Hz262277294311330349369392415440466494频率计算:T=1/f

如:f=440HzT=1/(400Hz)=2273us单片机对应蜂鸣器I/O来回取反时间(半个周期t)应为:t=T/2=2273us/2≈1136us;)/f0t=12(例

如:单片机晶振频率f0=12MHz定时器在方式1下高低计数器初值计算如下:=(65536-1136×12/12)/256=FBH=(65536-1136×12/12)%256=90H节拍:一拍的时长大约:400~500ms,以四分音符为节拍为例,则八分音符时长200ms,十六分音符时长就是100ms。C/

TM1M0GATEC/

TM1M03、蜂鸣器与单片连接示意图:音乐播放控制4、流程图设计:主程序流程图T0中断子程序开始改变计数初值改变蜂鸣器发声音调退出中断T1中断子程序开始重装50ms计数初值发声节拍长短控制退出中断T0中断程序流程图T1中断程序流程图音乐播放控制系统初始化启动T0生成方波信号播放音乐音调启动T1,节拍持续音乐结束指向第一个音符最后一个音符演奏了吗?是否开始5、音乐播放控制代码的实现:汇编语言代码:TT0:PUSHACCPUSHPSWMOVTL0,20HMOVTH0,21HCPLSPKPOPPSWPOPACCRETIT0中断子程序开始改变计数初值改变蜂鸣器发声音调退出中断音乐播放控制5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论