《项目六单片机音频控制技术项目开发教学课件 中职 单片机技术及应用高教版.ppt》由会员分享,可在线阅读,更多相关《项目六单片机音频控制技术项目开发教学课件 中职 单片机技术及应用高教版.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、YCF项目六 单片机音频控制技术项目开发教学课件 中职 单片机技术及应用 高教版单片机技术及应用单片机技术及应用任务任务6-1 音频控制电路设计与制作音频控制电路设计与制作任务任务6-2 单片机音频控制程序设计单片机音频控制程序设计任务任务6-3 简易电子琴设计简易电子琴设计项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发任务任务6-1 音频控制电路设计与制作音频控制电路设计与制作任务6-1-1 音频控制电路设计任务6-1-2 音频控制电路制作单片机技术及应用单片机技术及应用工作任务与目标工作任务与目标 通过本
2、项任务的实践,了解音频控制电路的结构与作用,学习音频控制电路设计的思通过本项任务的实践,了解音频控制电路的结构与作用,学习音频控制电路设计的思路与方法,完成音频控制电路原理图与装配图的设计,了解音频控制电路制作相关元器件路与方法,完成音频控制电路原理图与装配图的设计,了解音频控制电路制作相关元器件的基本知识,理解电路制作工艺要求,掌握电路制作的方法与技能,完成音频控制电路的的基本知识,理解电路制作工艺要求,掌握电路制作的方法与技能,完成音频控制电路的制作,并掌握音频控制电路制作质量的检验方法,为后续单片机电路音频控制实验打下良制作,并掌握音频控制电路制作质量的检验方法,为后续单片机电路音频控制
3、实验打下良好的硬件基础。好的硬件基础。任务任务6-1-1 音频控制电路设计音频控制电路设计1 1了解蜂鸣器了解蜂鸣器l(1 1)蜂鸣器简介)蜂鸣器简介l(2 2)蜂鸣器的检验)蜂鸣器的检验电磁式有源蜂鸣器实物图电磁式有源蜂鸣器实物图 项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发2 2蜂鸣器的驱动电路蜂鸣器的驱动电路l 蜂鸣器的发声,是电流通过电磁线圈,使电磁线圈产生磁场来驱蜂鸣器的发声,是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它。单片机动振动膜发声的,因此需要一定的电流才能驱动它。单片机I/OI/O引脚输引脚输出的电流较小,单片
4、机输出的出的电流较小,单片机输出的TTLTTL电平驱动不了蜂鸣器,因此需要增加电平驱动不了蜂鸣器,因此需要增加一个放大电流的驱动电路。一个放大电流的驱动电路。蜂鸣器驱动电路蜂鸣器驱动电路 l 可以通过一个三极管来放大电可以通过一个三极管来放大电流驱动蜂鸣器。流驱动蜂鸣器。通过程序控制单片通过程序控制单片机机I/OI/O引脚的电平高低就能使蜂鸣器引脚的电平高低就能使蜂鸣器发出声音。此外,程序中改变控制发出声音。此外,程序中改变控制蜂鸣器的单片机蜂鸣器的单片机I/OI/O引脚输出波形的引脚输出波形的频率,还可以调整控制蜂鸣器音调,频率,还可以调整控制蜂鸣器音调,产生各种不同音调的声音,乃至播产生各
5、种不同音调的声音,乃至播放简单的音乐。放简单的音乐。单片机技术及应用单片机技术及应用3 3音频控制电路的设计音频控制电路的设计蜂鸣器音频控制电路装配图蜂鸣器音频控制电路装配图 项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发3 3音频控制电路的设计音频控制电路的设计蜂鸣器音频控制电路装配图(局部)蜂鸣器音频控制电路装配图(局部)单片机技术及应用单片机技术及应用任务任务6-1-2 音频控制电路制作音频控制电路制作1 1蜂鸣器音频控制电路制作工艺要求蜂鸣器音频控制电路制作工艺要求l(1 1)仔细研读电路装配图)仔细研读电路装配图l(2 2)所有元器件插装前要先进行质量检验)所有元
6、器件插装前要先进行质量检验l(3 3)元器件插装正确,先定位插装蜂鸣器、)元器件插装正确,先定位插装蜂鸣器、90129012三极管,三极管三极管,三极管的的e e、b b、c c引脚要正确识别与插装,然后再定位插装电阻与引脚要正确识别与插装,然后再定位插装电阻与fmqfmq接口插接口插针。针。l(4 4)焊接操作工艺规范,焊接质量过硬)焊接操作工艺规范,焊接质量过硬l(5 5)规范连线工艺)规范连线工艺l(6 6)装配图中的连线,虚线表示连线从元件面连接,实线表示连)装配图中的连线,虚线表示连线从元件面连接,实线表示连线从焊接面连接,以防止导线在同一面上交叉。线从焊接面连接,以防止导线在同一面
7、上交叉。项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发2 2蜂鸣器音频控制电路制作蜂鸣器音频控制电路制作l(1 1)元器件清点与质量检验)元器件清点与质量检验l(2 2)蜂鸣器音频控制电路蜂鸣器音频控制电路的制作的制作 第一步:先定位组装电阻与第一步:先定位组装电阻与fmq接口插针,插针的定位接口插针,插针的定位不太好固定,需要想一些办法,运用一些必要的操作技巧;不太好固定,需要想一些办法,运用一些必要的操作技巧;第二步:定位组装蜂鸣器,插装时一定要注意蜂鸣器正第二步:定位组装蜂鸣器,插装时一定要注意蜂鸣器正负极引脚不要插反;负极引脚不要插反;第三步:定位组装第三步:定位组
8、装9012三极管,三极管的三极管,三极管的e、b、c引脚引脚要正确识别与插装,然后进行焊接固定;要正确识别与插装,然后进行焊接固定;第四步:进行元器件之间以及元器件与电源线之间的连第四步:进行元器件之间以及元器件与电源线之间的连线组装操作;线组装操作;最后一步:对照电路图与装配图对组装的电路进行全面最后一步:对照电路图与装配图对组装的电路进行全面仔细的组装检查,以防止漏装漏接、错装错接、组装工艺缺仔细的组装检查,以防止漏装漏接、错装错接、组装工艺缺陷等质量问题的产生。陷等质量问题的产生。单片机技术及应用单片机技术及应用蜂鸣器音频控制电路样板图蜂鸣器音频控制电路样板图 正面(元件面)正面(元件面
9、)项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发蜂鸣器音频控制电路样板图蜂鸣器音频控制电路样板图 反面(焊接面)反面(焊接面)单片机技术及应用单片机技术及应用3 3蜂鸣器音频控制电路的质量检验蜂鸣器音频控制电路的质量检验l (1 1)实验板)实验板DCDC插座接入插座接入5V5V电源;电源;l (2 2)将)将fmqfmq接口插针用杜邦线与接口插针用杜邦线与ICIC插座第插座第2020脚(脚(GNDGND)接)接口插针连接起来;口插针连接起来;l (3 3)按下电源开关,接通电源,听蜂鸣器是否发声。如)按下电源开关,接通电源,听蜂鸣器是否发声。如发声则电路制作正常,如不发声
10、则说明电路中存在开路故障或发声则电路制作正常,如不发声则说明电路中存在开路故障或连接错误,要检查电路的焊接与连线,直至排除故障为止。连接错误,要检查电路的焊接与连线,直至排除故障为止。项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发任务任务6-2 单片机音频控制程序设计单片机音频控制程序设计任务6-2-1 用定时器T1查询方式控制单片机发出1kHz音频任务6-2-2 简单双音警铃程序设计任务6-2-3 单片机播放音乐程序设计单片机技术及应用单片机技术及应用工作任务与目标工作任务与目标 1 1理解单片机发音的频率控制原理。理解单片机发音的频率控制原理。2 2掌握运用掌握运用C
11、C语言编程控制发音频率的方法。语言编程控制发音频率的方法。任务任务6-2-1 用定时器用定时器T1查询方式控制单片机发出查询方式控制单片机发出1KHz音频音频单片机发音的频率控制单片机发音的频率控制l1 1单片机发音频率控制原理单片机发音频率控制原理任务相关知识链接任务相关知识链接 用单片机驱动蜂鸣器发音时,只要让单片机送给蜂鸣器的电平信号用单片机驱动蜂鸣器发音时,只要让单片机送给蜂鸣器的电平信号每隔音频的半周期取反一次,即可使蜂鸣器发出相应音频的声音。每隔音频的半周期取反一次,即可使蜂鸣器发出相应音频的声音。l2 2运用运用C C语言编程控制发音频率的方法语言编程控制发音频率的方法 用单片机
12、驱动蜂鸣器发音时,电平信号的取反时间要由定时器来控制。用单片机驱动蜂鸣器发音时,电平信号的取反时间要由定时器来控制。以以1kHz1kHz音频发音为例,其音频的半周期为音频发音为例,其音频的半周期为0.5ms0.5ms,即,即500s500s。则要计数的。则要计数的脉冲数为脉冲数为500/1.085=460500/1.085=460(次)。由于这个计数值不大,因此可以用定时(次)。由于这个计数值不大,因此可以用定时器的方式器的方式0 0(最大计数值为(最大计数值为81928192)来定时。)来定时。项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发若使用定时器若使用定时器T1T1
13、,则具体实施如下:,则具体实施如下:(1 1)设置定时)设置定时/计数器计数器T1T1工作方式:工作方式:TMOD=0 x00;/TMOD=0000 0000B TMOD=0 x00;/TMOD=0000 0000B,高四位,高四位GATE=0GATE=0,=0 =0,M1M0=00M1M0=00 语句中语句中TMODTMOD高四位设置定时高四位设置定时/计数器计数器T1T1。=0 =0,T1T1为定时器功能。为定时器功能。M1M0=00M1M0=00,定时器定时器T1T1工作于方式工作于方式0 0。(2 2)确定定时器)确定定时器T1T1的计数初值。定时的计数初值。定时/计数器计数器T1T1
14、计数初值为计数初值为 ,用用C C语言将其存入寄存器语言将其存入寄存器TH1TH1与与TL1TL1中,语句如下:中,语句如下:TH1=(8192-460)/32;/TH1=(8192-460)/32;/定时器定时器T1T1的高的高8 8位赋初值位赋初值TL1=(8192-460)%32;/TL1=(8192-460)%32;/定时器定时器T1T1的低的低5 5位赋初值位赋初值 需要注意的是,定时需要注意的是,定时/计数器计数器T1T1工作于方式工作于方式0 0时,其低位寄存器时,其低位寄存器TL1TL1只使用了只使用了5 5位,因此上述运算中所用的除数为位,因此上述运算中所用的除数为 ,而不是
15、,而不是256256()。)。(3 3)启动定时器)启动定时器T1T1。用。用C C语言启动定时器语言启动定时器T1T1工作,语句如下:工作,语句如下:TR1=1;/TR1=1;/启动定时器启动定时器T1T1单片机技术及应用单片机技术及应用硬件电路设计硬件电路设计用定时器用定时器T1查询方式控制单片机发出查询方式控制单片机发出1KHz音频仿真原理图音频仿真原理图项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发软件程序设计软件程序设计/6-2-1:用定时器:用定时器T1查询方式控制单片机发出查询方式控制单片机发出1KHz音频音频#include /包含包含51单片机寄存器定义的
16、头文件单片机寄存器定义的头文件sbit sound=P37;/将将sound位定义为位定义为P3.7引脚引脚/*函数功能:主函数函数功能:主函数*/void main(void)TMOD=0 x00;/使用定时器使用定时器T1的模式的模式0TH1=(8192-460)/32;/定时器定时器T1的高的高8位赋初值位赋初值TL1=(8192-460)%32;/定时器定时器T1的低的低5位赋初值位赋初值TR1=1;/启动定时器启动定时器T1while(1)/无限循环等待查询无限循环等待查询 while(TF1=0)/查询定时器查询定时器T1是否溢出是否溢出 ;/未溢出,则等待未溢出,则等待 TF1=
17、0;/溢出,则对标志位软件清零,并执行下面的语句溢出,则对标志位软件清零,并执行下面的语句 sound=sound;/将将P3.7引脚输出电平取反引脚输出电平取反 TH1=(8192-460)/32;/定时器定时器T0的高的高8位赋初值位赋初值 TL1=(8192-460)%32;/定时器定时器T0的低的低5位赋初值位赋初值 单片机技术及应用单片机技术及应用任务验证实践任务验证实践用定时器用定时器T1查询方式控制单片机发出查询方式控制单片机发出1KHz音频实验现象音频实验现象项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发工作任务拓展工作任务拓展l主函数的调整主函数的调整 (
18、1 1)调整发音频率,正确设置定时常数,然后)调整发音频率,正确设置定时常数,然后验证自己的设计效果。验证自己的设计效果。(2 2)调整音频输出位,重新连接实验电路,实)调整音频输出位,重新连接实验电路,实现调整效果。现调整效果。单片机技术及应用单片机技术及应用工作任务与目标工作任务与目标 1 1理解单片机双音发声的频率控制原理。理解单片机双音发声的频率控制原理。2 2掌握运用掌握运用C C语言编程控制单片机发出双音频率的方法。语言编程控制单片机发出双音频率的方法。任务任务6-2-2 简单双音警铃程序设计简单双音警铃程序设计控制单片机发音的定时器初值设定控制单片机发音的定时器初值设定l 要让蜂
19、鸣器发出某音调的声音,只要给蜂鸣器输送该音调频率的电平要让蜂鸣器发出某音调的声音,只要给蜂鸣器输送该音调频率的电平信号就可以了。由于单片机是数字电路系统,因此输送给蜂鸣器的音频信信号就可以了。由于单片机是数字电路系统,因此输送给蜂鸣器的音频信号是方波脉冲,其高低电平转换频率即为音调的频率,每一次高电平或低号是方波脉冲,其高低电平转换频率即为音调的频率,每一次高电平或低电平的维持时间为该音频的半周期。为此需要利用定时器的中断,让输送电平的维持时间为该音频的半周期。为此需要利用定时器的中断,让输送给蜂鸣器的电平信号按音频的半周期取反。本书使用的单片机晶振频率为给蜂鸣器的电平信号按音频的半周期取反。
20、本书使用的单片机晶振频率为11.0592MHz11.0592MHz,它的一个机器周期为,它的一个机器周期为1.085s1.085s。设需要发出的音调频率为。设需要发出的音调频率为f f(HzHz),则其半周期为),则其半周期为1/2f1/2f(s s),需要的机器周期数(即定时器的定时),需要的机器周期数(即定时器的定时常数)为音频半周期与机器周期之比。常数)为音频半周期与机器周期之比。任务相关知识链接任务相关知识链接项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发l用用C C表示定时器的定时常数,根据上述分析,定时器的定时常数表示定时器的定时常数,根据上述分析,定时器的定时
21、常数C C的计算公式为:的计算公式为:l设置定时设置定时/计数器计数器T1T1工作方式于方式工作方式于方式0 0:TMOD=0 x00;TMOD=0 x00;/TMOD=0000 0000B/TMOD=0000 0000B,高四位,高四位GATE=0GATE=0,=0=0,M1M0=00M1M0=00l语句中语句中TMODTMOD高四位设置定时高四位设置定时/计数器计数器T1T1。=0=0,T1T1为定时器功能。为定时器功能。M1M0=00M1M0=00,定时器定时器T1T1工作于方式工作于方式0 0。由此可确定定时器。由此可确定定时器T1T1的计数初值为的计数初值为 ,用,用C C语语言将其
22、存入寄存器言将其存入寄存器TH1TH1与与TL1TL1中,语句如下:中,语句如下:lTH1=(8192-C)/32;/TH1=(8192-C)/32;/定时器定时器T1T1的高的高8 8位赋初值位赋初值lTL1=(8192-C)%32;/TL1=(8192-C)%32;/定时器定时器T1T1的低的低5 5位赋初值位赋初值l需要注意的是,定时需要注意的是,定时/计数器计数器T1T1工作于方式工作于方式0 0时,其低位寄存器时,其低位寄存器TL1TL1只使用了只使用了5 5位,位,因此上述运算中所用的除数为因此上述运算中所用的除数为 ,而不是,而不是256256()。)。l运用定时器定时常数运用定
23、时器定时常数C C的计算公式进行编程,可以通过设定的计算公式进行编程,可以通过设定f f的值来控制单片机发的值来控制单片机发出相对应频率的声音,方便了声音的灵活控制。出相对应频率的声音,方便了声音的灵活控制。单片机技术及应用单片机技术及应用硬件电路设计硬件电路设计简单双音警铃仿真原理图简单双音警铃仿真原理图项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发软件程序设计软件程序设计示例程序设计示例程序设计(请教师自行超链接至电子资料包)(请教师自行超链接至电子资料包)任务验证实践任务验证实践简单双音警铃实验现象简单双音警铃实验现象单片机技术及应用单片机技术及应用工作任务拓展工作任
24、务拓展l主函数的调整主函数的调整 (1 1)改变发音频率,调整设置定时常数,然后)改变发音频率,调整设置定时常数,然后验证自己调整设计后的警铃效果。验证自己调整设计后的警铃效果。(2 2)调整音频输出位,重新连接实验电路,验)调整音频输出位,重新连接实验电路,验证调整后的效果。证调整后的效果。项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发工作任务与目标工作任务与目标 1 1了解简谱中音调与节拍的基础知识了解简谱中音调与节拍的基础知识2 2掌握掌握C C语言程序设计中控制乐曲音调与节拍的应用技术。语言程序设计中控制乐曲音调与节拍的应用技术。3 3学会使用学会使用C C语言编程
25、控制单片机播放简单的乐曲。语言编程控制单片机播放简单的乐曲。任务任务6-2-3 单片机播放音乐程序设计单片机播放音乐程序设计单片机的音乐播放控制单片机的音乐播放控制l1 1音调与频率的对应关系音调与频率的对应关系任务相关知识链接任务相关知识链接单片机技术及应用单片机技术及应用l2 2音调(音频)控制音调(音频)控制定时器的定时常数定时器的定时常数C C的计算公式为:的计算公式为:按照表按照表6-26-2所示频率范围计算,定时常数所示频率范围计算,定时常数C C的取值范围在的取值范围在23423417591759之间,所以之间,所以定时器工作方式应选用方式定时器工作方式应选用方式0 0(最大计数
26、值(最大计数值81928192)或方式)或方式1 1(最大计数值(最大计数值6553665536)。)。定时器工作于方式定时器工作于方式0 0时,其初值可设定如下(以定时器时,其初值可设定如下(以定时器T0T0为例):为例):TH0=TH0=(8192-C8192-C)/32/32/定时器定时器T0T0高高8 8位赋初值位赋初值TL0=TL0=(8192-C8192-C)%32%32/定时器定时器T0T0低低5 5位赋初值位赋初值定时器工作于方式定时器工作于方式1 1时,其初值可设定如下(以定时器时,其初值可设定如下(以定时器T0T0为例):为例):TH0=TH0=(65536-C65536-
27、C)/256/256/定时器定时器T0T0高高8 8位赋初值位赋初值TL0=TL0=(65536-C65536-C)%256 /%256 /定时器定时器T0T0低低8 8位赋初值位赋初值l3 3节拍控制节拍控制 设简谱的节拍为每分钟设简谱的节拍为每分钟7272拍,则每个节拍需时间拍,则每个节拍需时间833ms833ms(60s/7260s/72)。根)。根据乐谱知识,各相关节拍需时如下:据乐谱知识,各相关节拍需时如下:1 1拍拍833ms833ms1/21/2拍拍416ms416ms1/41/4拍拍208ms208ms 根据上述分析,可以取根据上述分析,可以取1/41/4拍(约拍(约200ms
28、200ms)为一个延时单位,若某音调为)为一个延时单位,若某音调为1/21/2拍,则延时拍,则延时2 2个单位;若某音调为个单位;若某音调为1 1拍,则延时拍,则延时4 4个单位。个单位。项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发l4 4乐谱的管理乐谱的管理 乐谱是由有序的音符(音调与节拍)构成的。有序的音调与节拍可以分别乐谱是由有序的音符(音调与节拍)构成的。有序的音调与节拍可以分别各用一个数组来管理。将简谱中所有音调的频率及其节拍数分别存储于两个数各用一个数组来管理。将简谱中所有音调的频率及其节拍数分别存储于两个数组,乐谱播放时依次从数组中读出频率与节拍数。程序根据
29、频率和定时器延时组,乐谱播放时依次从数组中读出频率与节拍数。程序根据频率和定时器延时常数计算公式由定时器中断控制发出该音符的音频与节拍,输出控制电平,控常数计算公式由定时器中断控制发出该音符的音频与节拍,输出控制电平,控制蜂鸣器播放乐曲。制蜂鸣器播放乐曲。l5 5音调的宏定义音调的宏定义 在音调的存储中,直接将频率存入数组,显然不如以在音调的存储中,直接将频率存入数组,显然不如以“dao“dao、rere、mimi、fafa、saosao、”的形式存储更专业、易读。但是单片机并不认识的形式存储更专业、易读。但是单片机并不认识“dao“dao、rere、mimi、fafa、saosao、”这些符
30、号。为了让单片机认识这些符号。为了让单片机认识“dao“dao、rere、mimi、fafa、saosao、”,需要在,需要在程序开头处对各音调的频率进行宏定义。以下是程序开头处对各音调的频率进行宏定义。以下是C C语言中对音调的频率进行宏定义语言中对音调的频率进行宏定义的几个例句:的几个例句:#define l_dao 262#define l_dao 262 /将将“l_dao”“l_dao”宏定义为低音宏定义为低音“1”“1”的频率的频率262Hz262Hz#define re 587#define re 587 /将将“re”“re”宏定义为中音宏定义为中音“2”“2”的频率的频率58
31、7Hz587Hz#define h_mi 1318#define h_mi 1318 /将将“h_mi”“h_mi”宏定义为高音宏定义为高音“3”“3”的频率的频率1318Hz1318Hz 有了上述宏定义,只要直接将有了上述宏定义,只要直接将“dao“dao、rere、mimi、fafa、saosao、”及其节拍存入及其节拍存入数组,再由单片机读出处理,就可以播放音乐了。数组,再由单片机读出处理,就可以播放音乐了。单片机技术及应用单片机技术及应用l6 6本任务要播放的乐谱本任务要播放的乐谱项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发硬件电路设计硬件电路设计用定时器用定时器
32、T0的中断实现让我们荡起双桨歌曲的播放仿真原理图的中断实现让我们荡起双桨歌曲的播放仿真原理图单片机技术及应用单片机技术及应用软件程序设计软件程序设计示例程序设计示例程序设计(请教师自行超链接至电子资料包)(请教师自行超链接至电子资料包)任务验证实践任务验证实践单片机播放音乐实验现象单片机播放音乐实验现象项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发工作任务拓展工作任务拓展l主函数的调整主函数的调整 (1 1)改变程序设计,用定时)改变程序设计,用定时/计数器计数器T1T1方式方式1 1做做定时器,重新运行程序,验证自己的设计效果。定时器,重新运行程序,验证自己的设计效果。(
33、2 2)找一首自己喜欢的歌曲的简谱,替换例程)找一首自己喜欢的歌曲的简谱,替换例程中的乐谱,调整程序设计,重新运行程序,验证设计中的乐谱,调整程序设计,重新运行程序,验证设计的调整效果。的调整效果。单片机技术及应用单片机技术及应用任务任务6-3 简易电子琴设计简易电子琴设计任务6-3-1 44矩阵键盘电路设计与制作任务6-3-2 简易电子琴程序设计项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发工作任务与目标工作任务与目标 通过本项任务的实践,了解通过本项任务的实践,了解4444矩阵键盘电路的结构与作用,学习矩阵键盘电路的结构与作用,学习4444矩阵键盘矩阵键盘电路设计的思路
34、与方法,完成电路设计的思路与方法,完成4444矩阵键盘电路原理图与装配图的设计,了解矩阵键盘电路原理图与装配图的设计,了解4444矩矩阵键盘电路制作相关元器件的基本知识,理解电路制作工艺要求,掌握电路制作的方阵键盘电路制作相关元器件的基本知识,理解电路制作工艺要求,掌握电路制作的方法与技能,完成法与技能,完成4444矩阵键盘电路的制作,并掌握矩阵键盘电路的制作,并掌握4444矩阵键盘电路制作质量的检验矩阵键盘电路制作质量的检验方法,为后续单片机电路简易电子琴演奏实验打下良好的硬件基础。方法,为后续单片机电路简易电子琴演奏实验打下良好的硬件基础。任务任务6-3-1 44矩阵键盘电路设计与制作矩阵
35、键盘电路设计与制作1 1矩阵键盘电路的设计矩阵键盘电路的设计l1 1)4444矩阵键盘矩阵键盘任务相关知识链接任务相关知识链接l1 1)4444矩阵键盘矩阵键盘 在键盘应用中按键的数量较多时,为了减少在键盘应用中按键的数量较多时,为了减少I/OI/O口的占用,通常将按键排列口的占用,通常将按键排列成矩阵形式,通过共用行线与列线的方式,提高成矩阵形式,通过共用行线与列线的方式,提高I/OI/O口线的利用率。单片机的每口线的利用率。单片机的每一个一个I/OI/O口有八位口线,如果外接独立按键,最多只能连接八个按键。如果做成口有八位口线,如果外接独立按键,最多只能连接八个按键。如果做成4 4行行4
36、4列矩阵键盘,则可以外接列矩阵键盘,则可以外接1616个按键。可见,矩阵键盘可以大幅度提高单片机个按键。可见,矩阵键盘可以大幅度提高单片机有限有限I/OI/O口线的利用率。口线的利用率。单片机技术及应用单片机技术及应用l2 2)4444矩阵键盘接口电路矩阵键盘接口电路 图中由图中由1616个按键个按键S0S0S15S15组成的矩阵键盘,在组成的矩阵键盘,在4 4根行线根行线H1H1H4H4和和4 4根列线根列线L1L1L4L4的交的交叉处设置叉处设置1616个键位。在硬件电路设计与制作时,个键位。在硬件电路设计与制作时,4 4根行线和根行线和4 4根列线通过八位接口插座连根列线通过八位接口插座
37、连接到单片机相应的接到单片机相应的I/OI/O口。为了与软件编程相统一,需要对每个行列交叉键位的按键进口。为了与软件编程相统一,需要对每个行列交叉键位的按键进行统一的编号。各键位的按键编号统一分配如表行统一的编号。各键位的按键编号统一分配如表6-36-3所示。所示。项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发l3 3)4444矩阵键盘接口电路的设计矩阵键盘接口电路的设计单片机技术及应用单片机技术及应用l3 3)4444矩阵键盘接口电路的设计矩阵键盘接口电路的设计单片机实验板单片机实验板44矩阵键盘接口电路部分装配图矩阵键盘接口电路部分装配图 44矩阵键盘电路接口插座矩阵键
38、盘电路接口插座P9插针分配图插针分配图 项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发2 24444矩阵键盘电路制作矩阵键盘电路制作l(1 1)4444矩阵键盘电路制作工艺要求。矩阵键盘电路制作工艺要求。4444矩阵键盘电路虽然原理并不复杂,但是由于按键数量比较多,所以导致在矩阵键盘电路虽然原理并不复杂,但是由于按键数量比较多,所以导致在连线方面比较繁复。在制作工艺方面,着重要注意以下几个方面的问题:连线方面比较繁复。在制作工艺方面,着重要注意以下几个方面的问题:仔细研读电路装配图,对电路结构与原理要有所了解,对按键和接口仔细研读电路装配图,对电路结构与原理要有所了解,对按
39、键和接口插座的插装方向与相互连接关系的把握要做到准确无误。插座的插装方向与相互连接关系的把握要做到准确无误。所有按键插装前要先进行质量检验,质量合格的按键才能上板焊接,所有按键插装前要先进行质量检验,质量合格的按键才能上板焊接,以避免故障隐患以及连带产生的拆装工艺质量问题。以避免故障隐患以及连带产生的拆装工艺质量问题。焊接操作工艺规范,焊接质量过硬。焊接操作工艺规范,焊接质量过硬。规范连线工艺。规范连线工艺。4444矩阵键盘电路按键与接口插座的连线关系对操作矩阵键盘电路按键与接口插座的连线关系对操作工艺的要求都比较高,要求做连线时在焊接前应注重先整直导线,直角弯折时成型工艺的要求都比较高,要求
40、做连线时在焊接前应注重先整直导线,直角弯折时成型角度准确,长度精准,做到一丝不苟、严谨细致。这样有利于在焊接时少做频繁的角度准确,长度精准,做到一丝不苟、严谨细致。这样有利于在焊接时少做频繁的调整。调整。单片机技术及应用单片机技术及应用l(2 2)4444矩阵键盘电路制作矩阵键盘电路制作1 1)元器件清点与质量检验)元器件清点与质量检验2 2)4444矩阵键盘电路的制作矩阵键盘电路的制作 4444矩阵键盘电路装配时一定要严格按照装配图定位插装,正确、高效、合理矩阵键盘电路装配时一定要严格按照装配图定位插装,正确、高效、合理地利用好万能板上的每一处空间。万能板上地利用好万能板上的每一处空间。万能
41、板上4444矩阵键盘电路的组装,大体分为以矩阵键盘电路的组装,大体分为以下几个主要的步骤:下几个主要的步骤:第一步:先定位组装第一步:先定位组装1616个按键,插装时一定要注意按键引脚的插装方向。个按键,插装时一定要注意按键引脚的插装方向。第二步:定位组装矩阵键盘接口插座,接口插座的缺口方向要正确识别与第二步:定位组装矩阵键盘接口插座,接口插座的缺口方向要正确识别与插装,然后进行焊接固定。插装,然后进行焊接固定。第三步:进行按键之间以及按键与接口插座之间的连线组装操作。第三步:进行按键之间以及按键与接口插座之间的连线组装操作。第四步:对照电路图与装配图对组装的电路进行全面仔细的组装检查,以第四
42、步:对照电路图与装配图对组装的电路进行全面仔细的组装检查,以防止漏装漏接、错装错接、组装工艺缺陷等质量问题的产生。防止漏装漏接、错装错接、组装工艺缺陷等质量问题的产生。项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发l(2 2)4444矩阵键盘电路制作矩阵键盘电路制作44矩阵键盘电路样板图矩阵键盘电路样板图 正面(元件面)正面(元件面)单片机技术及应用单片机技术及应用44矩阵键盘电路样板图矩阵键盘电路样板图 正面(元件面)正面(元件面)l(2 2)4444矩阵键盘电路制作矩阵键盘电路制作项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发3 34444矩阵键盘电
43、路的质量检验矩阵键盘电路的质量检验 使用指针式万用表检测矩阵键盘,万用表置使用指针式万用表检测矩阵键盘,万用表置R1R1挡检测按键时电路的挡检测按键时电路的通断情况。按照表通断情况。按照表6-36-3键盘键位编号分配表和图键盘键位编号分配表和图6-166-16矩阵键盘电路接口插矩阵键盘电路接口插座座P9P9插针分配图,将万用表两支表笔分别各接矩阵键盘接口插座的一个行插针分配图,将万用表两支表笔分别各接矩阵键盘接口插座的一个行插针与一个列插针。当按下相对应的按键时,万用表指针应当指向电阻零插针与一个列插针。当按下相对应的按键时,万用表指针应当指向电阻零刻度。例如,当万用表两支表笔分别各接矩阵键盘
44、接口插座的刻度。例如,当万用表两支表笔分别各接矩阵键盘接口插座的H1H1插针与插针与L4L4插针时,按下按键插针时,按下按键S3S3,万用表指针应当指向电阻零刻度,依次类推。如果,万用表指针应当指向电阻零刻度,依次类推。如果按下某一按键时相应的两个插针之间的电阻不为零,则说明电路中相应的按下某一按键时相应的两个插针之间的电阻不为零,则说明电路中相应的行线或列线中存在开路故障或连接错误,要检查电路的焊接与连线,直至行线或列线中存在开路故障或连接错误,要检查电路的焊接与连线,直至排除故障为止。排除故障为止。单片机技术及应用单片机技术及应用工作任务与目标工作任务与目标 1 1理解理解4444矩阵键盘
45、的电路结构与键盘扫描工作原理。矩阵键盘的电路结构与键盘扫描工作原理。2 2强化音频输出控制技术的应用。强化音频输出控制技术的应用。3 3强化定时器中断技术的应用,学会使用强化定时器中断技术的应用,学会使用C C语言编程设计简易的电子琴。语言编程设计简易的电子琴。任务任务6-3-2 简易电子琴程序设计简易电子琴程序设计1 1矩阵键盘工作原理矩阵键盘工作原理任务相关知识链接任务相关知识链接项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发1 1矩阵键盘工作原理矩阵键盘工作原理44矩阵键盘与矩阵键盘与P1口连接配位关系图口连接配位关系图 单片机识别按键的基本过程如下:单片机识别按键的
46、基本过程如下:1 1首先判断是否有键被按下首先判断是否有键被按下2 2其次做按键消抖处理其次做按键消抖处理3 3最后做按键识别最后做按键识别单片机技术及应用单片机技术及应用2 2电子琴设计说明电子琴设计说明(1 1)音符在矩阵键盘上的排列分布设计)音符在矩阵键盘上的排列分布设计(2 2)键盘编码)键盘编码(3 3)音符的音调频率与节拍)音符的音调频率与节拍(4 4)键盘扫描控制)键盘扫描控制(5 5)音频播放控制)音频播放控制矩阵键盘的音符排列矩阵键盘的音符排列 项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发硬件电路设计硬件电路设计简易电子琴设计仿真原理图简易电子琴设计仿真原理图单片机技术及应用单片机技术及应用软件程序设计软件程序设计示例程序设计示例程序设计(请教师自行超链接至电子资料包)(请教师自行超链接至电子资料包)任务验证实践任务验证实践简易电子琴演奏音乐实验现象简易电子琴演奏音乐实验现象项目六项目六 单片机音频控制技术项目开发单片机音频控制技术项目开发工作任务拓展工作任务拓展l主函数的调整主函数的调整 交换定时器交换定时器T0T0与与T1T1的控制功能,或者改变将矩的控制功能,或者改变将矩阵键盘上改接到阵键盘上改接到P0P0口,调整程序设计,重新运行程序,口,调整程序设计,重新运行程序,验证自己的设计效果。验证自己的设计效果。