简易电子琴精品课件_第1页
简易电子琴精品课件_第2页
简易电子琴精品课件_第3页
简易电子琴精品课件_第4页
简易电子琴精品课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、简易电子琴第1页,共24页,2022年,5月20日,6点9分,星期二任务要求利用定时器编程,实现蜂鸣器发出“1”音调。分别发出“1-7”七种音调。编制程序,使按键A按下后蜂鸣器依次发出1-7的音阶,并循环。再按下按键A后声音停止。增加数码管显示音调。第2页,共24页,2022年,5月20日,6点9分,星期二实现定时常用的三种方法:软件定时:占用CPU时间,效率低。用555电路:不可编程。可编程芯片:功能强,需要另外扩展。单片机内部有2个16位的定时/计数器:T0、T1。使用灵活,编程方便。优先选用第3页,共24页,2022年,5月20日,6点9分,星期二符号 名 称 中 断 引 起 原 因 C

2、编程中断号INT0 外部中断0 P3.2引脚的低电平或下降沿信号 0INT1 外部中断1P3.3引脚的低电平或下降沿信号 2T0定时器0中断 定时计数器0计数回零溢出 1T1定时器1中断 定时计数器1计数回零溢出 3TI/RI 串行口中断 串行通信完成一帧数据发送或接收引起中断 4第4页,共24页,2022年,5月20日,6点9分,星期二 加1计数器(高8位、低8位) TMOD,工作方式设置; TCON,启动、停止及设置溢出标志。 定时/计数器的结构 第5页,共24页,2022年,5月20日,6点9分,星期二 定时/计数器的工作原理计数器脉冲来源:振荡器脉冲经过12分频T0或T1引脚的外部脉冲

3、定时/计数器的核心:加1计数器。 第6页,共24页,2022年,5月20日,6点9分,星期二 定时模式:对内部机器周期计数 定时时间 t = 计数值N x Tcy 计数模式:对外部事件脉冲计数 计数脉冲周期要大于2Tcy 计数器全1时,再输入1个脉冲就回零,并发生溢出(TCON中TF0或TF1置1), 发中断请求。计数值:溢出时计数器值 - 计数初值。 第7页,共24页,2022年,5月20日,6点9分,星期二TMOD:工作方式。TCON:控制启动和中断申请。 方式控制寄存器TMOD GATE C / T M1 M0 GATE C / T M1 M0TMOD (89H)T0T1如何控制定时/计

4、数器?GATE:门控位 = 0,启动/停止仅由软件对TRx位写“1/0”控制 = 1,启动/停止由软件对TRx位写“1/0” 和在外中断INTx引脚出现信号的高/低共同控制第8页,共24页,2022年,5月20日,6点9分,星期二 C/T :计数器/定时器选择位 = 0, 片内时钟定时器 = 1, 外部事件计数器 M1、M0:工作方式设置位 0 0:13位计数器 0 1:16位计数器 1 0:可自动重装的8位计数器 1 1:T0分为2个8位计数器,T1此时停止工作 第9页,共24页,2022年,5月20日,6点9分,星期二 启/停控制寄存器TCON TCON (88H)TF1 TR1 TF0

5、TR0 IE1 IT1 IE0 IT0TFx: 溢出标志位 = 0, 计数未满 = 1 ,计数溢出 在进入中断服务程序时会自动清零;但在查询方式时必须软件清零。TRx: 运行控制位 =0 ,停止计数=1 ,启动计数;第10页,共24页,2022年,5月20日,6点9分,星期二 方式0 13位计数。由TL0的低5位和TH0的8位组成。TH0溢出时,置位TF0标志,向CPU发出中断请求。定时/计数器有哪几种工作?第11页,共24页,2022年,5月20日,6点9分,星期二 方式1 16位计数,由TL0作为低8位、TH0作为高8位 。初值:X216N第12页,共24页,2022年,5月20日,6点9

6、分,星期二 方式2 自动重装初值的8位计数方式 ,适合于用作较精确的脉冲信号发生器。 初值:X28N第13页,共24页,2022年,5月20日,6点9分,星期二 方式3 T0分成为两个独立的8位计数器TL0和TH0 ,T1处于方式3时停止计数。 第14页,共24页,2022年,5月20日,6点9分,星期二确定工作方式(对TMOD赋值)TMOD=方式字;预置定时/计数初值(写入TH0、TL0或TH1、TL1)TH0=高8位初始值; TL0=低8位初始值;TH1=高8位初始值; TL1=低8位初始值;开中断(对IE赋值)ET0=1; ET1=1;EA=1;启动定时/计数器(TR0或TR1置位)TR

7、0=1; TR1=1;如何编写定时/计数器初始化程序?第15页,共24页,2022年,5月20日,6点9分,星期二每个机器周期包括12个振荡周期,若晶振频率为12MHz,一个机器周期: 若晶振频率为6MHz,一个机器周期: 计数个数为: 则应装入的计数初值为:方式0:n=13方式1:n=16方式2:n=8方式3:n=8怎么计算计数初值?第16页,共24页,2022年,5月20日,6点9分,星期二定时器的四种工作方式 方式1 当TMOD中M1M0=01时,定时计数器工作在方式1。该模式是一个16位定时计数方式。寄存器TH0和TL0是以全16位参与操作,计数方式时最大计数 21665536(个外部

8、脉冲) 用于定时工作方式时,定时时间为: t(216一T0初值) 时钟周期12 16寄存器(THX和TLX) 中THX提供高8位、TLX提供低 8位计数初值 第17页,共24页,2022年,5月20日,6点9分,星期二方式2 当TMOD中M1M0=10时,定时器工作在方式2。 方式2是8位的可自动重装载的定时计数方式。16位的计数器被拆成两个8位,其中TL0用作8位计数器, TH0用以保持计数初值。当TL0计数溢出,置位TF0,TH0中的初值自动装入TL0,继续计数,循环重复计数。用于计数工作方式时,最大计数值为: 28256(个外部脉冲)。 用于定时工作方式时,其定时时间为; t(28TH0

9、初值)振荡周期12这种工作方式可省去用户重装常数的程序,并可产生精确的 定时时间,特别适用作串行口波待率发生器。第18页,共24页,2022年,5月20日,6点9分,星期二设系统时钟频率为12MHz,编程实现从P1.1输出周期为1s的方波。解:方式1的最大计数值216=65536T=12/12MHz=1s最大定时时间t=655361s=65.536ms方式1:采用硬件定时+软件计数方式2:采用硬件定时+硬件计数第19页,共24页,2022年,5月20日,6点9分,星期二定时0.5s=硬件定时10ms软件计数50次选择定时/计数器0工作于方式1,定时方式。x=10ms/ 1s=10000X=21

10、6-10000=65536-10000TH0=(65536-10000)/256;TL0=(65536-10000)%256;采用全局变量作软件计数,中断处理方式:GATE C / T M1 M0 GATE C / T M1 M0TMOD (89H) EA ES ET1 EX1 ET0 EX0 IE (A8H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON (88H)第20页,共24页,2022年,5月20日,6点9分,星期二 #include sbit P1_1=P11; unsigned char i; void main(void) TMOD=0 x01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1;ET0=1; i=0; TR0=1; while(1); 第21页,共24页,2022年,5月20日,6点9分,星期二 void time0_int(void)interrupt 1 TH0=(65536-10000)/256; TL0=(65536-10000)%256; i+; if(i=50) P1_1=!P1_1; i=0; 第22页,共24页,2

温馨提示

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

评论

0/150

提交评论