




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束第第10章章 单片机系统开发单片机系统开发教学目标教学目标10.1 单片机系统设计步骤单片机系统设计步骤10.2 单片机应用系统开发工具单片机应用系统开发工具10.3 单片机开发系统应用实例单片机开发系统应用实例10.4 课程设计课程设计本章小结本章小结思考题与习题思考题与习题1.单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束 1. 了解单片机应用系统设计的过程和要求;知道单片机应用系统硬件设了解单片机应用系统设计的过程和要求;知道单片机应用系统硬件设计的内容和要求;知道单片机应用系统软件设计的步骤和要求;理解软件计
2、的内容和要求;知道单片机应用系统软件设计的步骤和要求;理解软件设计与硬件设计的关系。设计与硬件设计的关系。 2. 了解单片机开发工具的主要作用;了解单片机开发系统的分类;知道了解单片机开发工具的主要作用;了解单片机开发系统的分类;知道单片机开发系统的功能;理解单片机应用系统软、硬件调试的方法。单片机开发系统的功能;理解单片机应用系统软、硬件调试的方法。教学目标教学目标2.单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束3 3. 理解单片机应用系统设计实例:数码管数字时钟电路的设计、数字理解单片机应用系统设计实例:数码管数字时钟电路的设计、数字式音乐盒设计设计步骤、设计方案、硬件设
3、计、软件设计等知识。举一反式音乐盒设计设计步骤、设计方案、硬件设计、软件设计等知识。举一反三,具备简单常用单片机系统的设计开发能力。三,具备简单常用单片机系统的设计开发能力。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束410.1 单片单片机系统设计步骤机系统设计步骤 一个完备的单片机应用系统包括硬件和软件两大部分,硬件是躯体,软一个完备的单片机应用系统包括硬件和软件两大部分,硬件是躯体,软件是灵魂。只有系统的软、硬件紧密配合、协调一致才能发挥其高性能作用。件是灵魂。只有系统的软、硬件紧密配合、协调一致才能发挥其高性能作用。在单片机应用系统的开发过程中,涉及多种开发技术和工具,
4、需要反复修改在单片机应用系统的开发过程中,涉及多种开发技术和工具,需要反复修改调整软、硬件,以便尽可能提高系统的工作效率。调整软、硬件,以便尽可能提高系统的工作效率。 单片机应用系统的功能不同,其硬件和软件结构也不相同,但研制、开发单片机应用系统的功能不同,其硬件和软件结构也不相同,但研制、开发的方法和步骤基本一致。的方法和步骤基本一致。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束510.1.1 总体设计总体设计 1. 可行性调研可行性调研 可行性调研的目的,是分析完成该项目的可能性。进行这方面的工作,可可行性调研的目的,是分析完成该项目的可能性。进行这方面的工作,可参考国内
5、外有关资料,看是否有人进行过类似的工作。如果有,则可分析他参考国内外有关资料,看是否有人进行过类似的工作。如果有,则可分析他人是如何进行的,有什么优缺点,有何值得借鉴的地方;如果没有,则需作人是如何进行的,有什么优缺点,有何值得借鉴的地方;如果没有,则需作进一步的研究,此时的重点应放在能否实现目标这个环节,首先从理论上进进一步的研究,此时的重点应放在能否实现目标这个环节,首先从理论上进行分析,探讨实现的可能性,所行分析,探讨实现的可能性,所单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束6 要求的客观条件是否具备(环境、测试手段、仪器设备、资金、人员等),要求的客观条件是否具备(
6、环境、测试手段、仪器设备、资金、人员等),然后结合实际情况,确定能否立项的问题。然后结合实际情况,确定能否立项的问题。 2. 拟制设计任务书拟制设计任务书 设计者首先应对系统的任务、控制对象、工作环境作周密的调查研究,设计者首先应对系统的任务、控制对象、工作环境作周密的调查研究,必要时还要勘察工业现场,明确系统的各项指标。进而编写设计任务书,必要时还要勘察工业现场,明确系统的各项指标。进而编写设计任务书,整个系统的设计开发都要围绕着如何达到技术指标来进行。整个系统的设计开发都要围绕着如何达到技术指标来进行。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束7 3. 建立数学模型建立
7、数学模型 设计任务书拟定后,接下来应对被控对象的物理过程和计算任务进行全设计任务书拟定后,接下来应对被控对象的物理过程和计算任务进行全面分析,并从中抽象出数学表达式,即建立数学模型。数学模型的形式是多面分析,并从中抽象出数学表达式,即建立数学模型。数学模型的形式是多种多样的,可以是一系列的数学表达式,可以是数学推理和判断,也可以是种多样的,可以是一系列的数学表达式,可以是数学推理和判断,也可以是运行状态的模拟等。数学模型要能真实描述客观控制过程,要精确而简单。运行状态的模拟等。数学模型要能真实描述客观控制过程,要精确而简单。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束84.
8、总体方案设计总体方案设计 在上述基础上,对系统各部分构成进行总体规划。主要考虑以下几个在上述基础上,对系统各部分构成进行总体规划。主要考虑以下几个问题:问题: 系统组成:根据系统功能,确定系统主要由哪些功能模块构成:如键盘、系统组成:根据系统功能,确定系统主要由哪些功能模块构成:如键盘、显示、输入显示、输入/输出通道、通信等。输出通道、通信等。 单片机选型:根据系统的精度和速度要求合理选择单片机机型。可以综单片机选型:根据系统的精度和速度要求合理选择单片机机型。可以综合考虑单片机的实用性、性价比、开发工具和研发人员的熟悉程合考虑单片机的实用性、性价比、开发工具和研发人员的熟悉程单片机原理及应用
9、主目录主目录上一页上一页下一页下一页结结 束束9 等方面因素。等方面因素。 软硬件功能分配:确定哪些功能由硬件实现,哪些功能由软件完成。在不软硬件功能分配:确定哪些功能由硬件实现,哪些功能由软件完成。在不影响系统技术指标的前提下,提倡尽量用软件实现。影响系统技术指标的前提下,提倡尽量用软件实现。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束1010.1.2 硬件设计硬件设计 根据总体方案画出硬件电路原理图,然后在单片机开发仪或实验板上搭根据总体方案画出硬件电路原理图,然后在单片机开发仪或实验板上搭出电路,并且在调试和运行软件中随时加以修改和补充,最后制作印制电路出电路,并且在调
10、试和运行软件中随时加以修改和补充,最后制作印制电路板并装成样机。板并装成样机。 为使硬件设计合理,系统的电路设计应注意以下几个方面:为使硬件设计合理,系统的电路设计应注意以下几个方面: 尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。灵活性。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束11 尽量选用功能强、集成度高的电路或芯片。尽量选用功能强、集成度高的电路或芯片。 选择通用性强、市场货源充足的元器件。选择通用性强、市场货源充足的元器件。 系统扩展及各功能模块在设计满足应用系统功能要求基础上,应适
11、当留系统扩展及各功能模块在设计满足应用系统功能要求基础上,应适当留有余地。有余地。 尽量采用新技术。尽量采用新技术。 充分考虑各部分的驱动能力。充分考虑各部分的驱动能力。 系统的抗干扰设计。系统的抗干扰设计。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束1210.1.3 软件设计软件设计 在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相互结合。在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相互结合。当系统硬件电路确定后,软件的任务也就明确了。当系统硬件电路确定后,软件的任务也就明确了。 系统中的应用软件是根据系统功能要求设计的。一般地讲,软件的功能可分为
12、两系统中的应用软件是根据系统功能要求设计的。一般地讲,软件的功能可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、大类:一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操作打印、输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系者的关系,在系单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束13 统软件中充当组织调度角色。由于应用系统种类繁多,程序编制者风格不一,统软件中充当组织调度角色。由于应用系统种类繁多,程序编制者风格不一,因此应用软件因系统而异。
13、尽管如此,作为优秀的系统软件还是有其共同点因此应用软件因系统而异。尽管如此,作为优秀的系统软件还是有其共同点及规律的。及规律的。 1. 程序的总体设计程序的总体设计 程序总体设计是指从系统的高度考虑程序结构、数据形式和程序功能的实程序总体设计是指从系统的高度考虑程序结构、数据形式和程序功能的实现方法和手段。现方法和手段。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束14 在拟定总体设计方案时,设计者必须合理选择切合实际的程序设计方法。在拟定总体设计方案时,设计者必须合理选择切合实际的程序设计方法。常用的程序设计方法有三种:常用的程序设计方法有三种: 模块化程序设计:把一个复杂的
14、应用程序按整体功能划分成若干相对模块化程序设计:把一个复杂的应用程序按整体功能划分成若干相对独立的程序模块,各模块可以单独设计、编程、调试,然后装配起来联调,独立的程序模块,各模块可以单独设计、编程、调试,然后装配起来联调,最终成为一个有实用价值的程序。最终成为一个有实用价值的程序。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束15 结构化程序设计:在编程过程中,对程序结构进行适当限制,特别结构化程序设计:在编程过程中,对程序结构进行适当限制,特别是限制转移指令的使用,用于控制程序的复杂程序,使程序上下文与执行是限制转移指令的使用,用于控制程序的复杂程序,使程序上下文与执行流程
15、保持一致。这是一种比较理想的程序设计方法。流程保持一致。这是一种比较理想的程序设计方法。 自顶向下程序设计:从系统一级的主干程序开始,集中精力解决全自顶向下程序设计:从系统一级的主干程序开始,集中精力解决全局问题,然后层层细化逐步求精,最终完成一个复杂的程序。局问题,然后层层细化逐步求精,最终完成一个复杂的程序。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束16 2. 画程序流程图画程序流程图 不论采用哪种设计方法,程序总体结构确定后,应结合数学模型确立各子任不论采用哪种设计方法,程序总体结构确定后,应结合数学模型确立各子任务的具体算法和步骤,画出流程图务的具体算法和步骤,画出
16、流程图,以方便程序编写。以方便程序编写。 3. 程序的编制程序的编制 在开始编写程序之前,应先对程序地址空间的分配、工作寄存器的安排、数在开始编写程序之前,应先对程序地址空间的分配、工作寄存器的安排、数据结构、端口地址等进行分配。然后再根据程序流程图用汇编语言或其他据结构、端口地址等进行分配。然后再根据程序流程图用汇编语言或其他高级语言编写程序。高级语言编写程序。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束17 4. 程序的检查和修改程序的检查和修改 上机调试前,可借助一定的编译软件对程序中的语法错误查找出来并修上机调试前,可借助一定的编译软件对程序中的语法错误查找出来并修改
17、。改。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束1810.1.4 系统的调试与运行系统的调试与运行 调试包括硬件调试、软件调试和系统联调。调试通过后还要进行一段时调试包括硬件调试、软件调试和系统联调。调试通过后还要进行一段时间的试运行,以验证系统能否经受实际环境的考验。经过一段时间的试运间的试运行,以验证系统能否经受实际环境的考验。经过一段时间的试运行就可投入正式运行,在正式运行中还要建立一套健全的维护制度,以确行就可投入正式运行,在正式运行中还要建立一套健全的维护制度,以确保系统的正常工作。保系统的正常工作。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束1
18、910.2 单单片机应用系统开发工具片机应用系统开发工具 1. 单片机开发系统的功能单片机开发系统的功能 在线仿真功能;在线仿真功能; 系统调试功能;系统调试功能; 软件辅助设计功能;软件辅助设计功能; 程序固化功能。程序固化功能。2. 开发系统的类型开发系统的类型 通用型单片机开发系统;通用型单片机开发系统; 实用型开发系统;实用型开发系统; 通用机开发系统;通用机开发系统; 模拟开发系统。模拟开发系统。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束2010.3.1 数码管数字时钟电路的设计数码管数字时钟电路的设计 1. 设计要求设计要求 (1) 以以AT89C51单片机为核
19、心器件,构成一个数字式电子时钟。单片机为核心器件,构成一个数字式电子时钟。 (2) 用用6位数码管分别显示时、分、秒,采用位数码管分别显示时、分、秒,采用24小时计时方式。小时计时方式。 (3) 时钟具有显示时间、调整时间、省电状态(数码管不亮,时钟不停)三时钟具有显示时间、调整时间、省电状态(数码管不亮,时钟不停)三种功能。种功能。10.3 单片机开发系统应用实例单片机开发系统应用实例单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束21 2. 总体设计总体设计 (1) 6位数码管采用动态显示方式,段选线用位数码管采用动态显示方式,段选线用P1口控制,位选线用口控制,位选线用P2
20、口低口低6位位控制。控制。 (2) 功能键由功能键由P2.7引入。引入。 (3) 为节省硬件,采用定时计数器产生时间基准。为节省硬件,采用定时计数器产生时间基准。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束22 3. 硬件设计硬件设计 根据总体设计,硬件电路框图如图根据总体设计,硬件电路框图如图10.1所示。所示。单片机驱动电路6位LED数码管按键时钟和复位电路图图10.1 硬件电路框图硬件电路框图 硬件电路由硬件电路由4部分组成:单片机、时钟与复位电路、部分组成:单片机、时钟与复位电路、LED显示及驱动电显示及驱动电路、按键输入电路。路、按键输入电路。 电路原理图如下:电路
21、原理图如下:单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束23gfedcbaP2.5P2.4P2.3P2.2P2.1P2.0P2.6P2.7+5V+5VP1.6P1.5P1.4P1.3P1.2P1.1P1.0RSTXTAL1XTAL2+5V图图10.2 数字时钟电路图数字时钟电路图单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束244. 软件设计软件设计 片内片内RAM 50H55H作为显示缓冲区,共作为显示缓冲区,共6个单元分别存放秒、分、时的个单元分别存放秒、分、时的BCD码个位在低地址单元,十位在高地址单元。时钟的基本单位为秒,定时码个位在低地址单元,十位在
22、高地址单元。时钟的基本单位为秒,定时器器T0定时定时50ms,定时,定时20次即为次即为1S。秒、分逢。秒、分逢60进位,时逢进位,时逢24回零。回零。 按键具有以下功能:当按下时间小于按键具有以下功能:当按下时间小于1S,进入省电状态(时钟继续运行,进入省电状态(时钟继续运行,但不显示);按下时间大于但不显示);按下时间大于1S,进入调分状态,时钟停止,等待继,进入调分状态,时钟停止,等待继单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束25 续按键,若再次按键时间小于续按键,若再次按键时间小于0.5S,分加,分加1;若大于;若大于0.5S,进入小时调整状,进入小时调整状态。在
23、小时调整状态下,按键时间小于态。在小时调整状态下,按键时间小于0.5S,时加,时加1,若大于,若大于0.5S,退出时,退出时钟调整,时钟按新设置的时间运行。钟调整,时钟按新设置的时间运行。 在时钟调整状态下,当前被调整的时间每在时钟调整状态下,当前被调整的时间每0.3S闪烁显示,定时器闪烁显示,定时器T1定时闪烁定时闪烁时间间隔时间间隔0.3S。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束26(1) 主程序设计主程序设计 主程序流程图如下:主程序流程图如下:开始开始内存单元清内存单元清0T0、T1初始化初始化调显示子程序调显示子程序P2.7=0?调时程序调时程序NY图图10.
24、3 主程序流程图主程序流程图单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束27主程序如下:主程序如下: ORG 0000H AJMP MAINT ORG 000BH AJMP INT01 ORG 001BH AJMP INT11 MAINT:MOV R0,#7FH CLR A WZ1: MOV R0,A DJNZ R0,WZ1单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束28 MOV SP,#30H MOV 5AH,#0AH MOV TMOD,#11H MOV TL0,#0B0H MOV TH0,#3CH MOV TL1,#0B0H MOV TH1,#3CH S
25、ETB EA SETB ET0 SETB TR0 MOV R4,#14H单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束29MAINT1:LCALL XZCX JNB P2.7,SJTZ0 SJMP MAINT1 SJTZ0: LCALL XSZCX JNB P2.7,SJTZ1 SJMP MAINT1 SJTZ1: CLR ET0 CLR TR0 LCALL YS1S JB P2.7, KMTES MOV R2, #06H单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束30 SETB ET1 SETB TR1 XYZ2: JNB P2.7, XYZ1 CLR 01
26、H XYZ4: JB P2.7, XYZ3 LCALL YS05S JNB P2.7, XYZHH MOV R0, #53H LCALL ADD1 MOV A, R3 CLR C单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束31 CJNE A, #60H, QWE QWE: JC XYZ4 CLR A MOV R0, A DEC R0 MOV R0, A CLR C AJMP XYZ4 KMTES: SETB ET0 SETB TR0 KMA: JB P2.7, $单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束32 LCALL XSZCX JB P2.7, KM
27、A KMA1: JNB P2.7,$ LJMP MAINT1XYZHH: JNB P2.7, XYZ5 SETB 01H XYZ6: JB P2.7, XYZ7 LCALL YS05S JNB P2.7, XYZOUT MOV R0, #55H LCALL ADD1单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束33 MVO A, R3 CLR C CJNE A, #24H, KMB1 KMB1: JC XYZ6 CLR A MOV R0, A DEC R0 MOV R0, A AJMP XYZ6XYZOUT: JNB P2.7, XYZOUT1 LCALL XSZCX单片机原理
28、及应用主目录主目录上一页上一页下一页下一页结结 束束34 JNB P2.7,XYZOUT MOV 20H,#00H MOV 56H,52H MOV 57H,53H MOV 58H,54H MOV 59H,55H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP MAINT1单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束35 XYZ1: LCALL XSZCX AJMP XYZ2 XYZ3: LCALL XSZCX AJMP XYZ4 XYZ5: LCALL XSZCX AJMP XYZHH XYZ7: LCALL XSZCX AJMP XYZ6 XY
29、ZOUT1: LCALL XSZCX AJMP XYZOUT单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束36(2) 显示子程序设计显示子程序设计XSZCX: MOV R1, #50H MOV R5, #0FEH MAXY: MOV A, R5 MOV P2, A MOV A, R1 MOV DPTR, #ABC MOVC A, A+DPTR MOV P1, A LCALL YS1MS INC R1单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束37 MOV A, R5 JNB ACC.5, ENDOUT RL A MOV R5, A AJMP MAXYENDOU
30、T: MOV P2, #0FFH MOV P1, #0FFH RET单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束38(3) T0中断服务程序设计中断服务程序设计INT01: PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A, #0B7H ADD A, TL0 MOV TL0, A MOV A, #3CH ADDC A, TH0 MOV TH0, A单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束39 SETB TR0 DJNZ R4, INT0U AD1: MOV R4, #14H MOV R0, #51H LCALL ADD1 M
31、OV A, R3 CLR C CJNE A, #60H, AD2 AD2: JC INT0U CLR A MOV R0, A单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束40 DEC R0 MOV R0, A MOV R0, #57H ACALL ADD1 MOV A, R3 CLR C CJNE A, #60H, AD3AD3:JC INT0U CLR A MOV R0, A DEC R0单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束41 MOV R0, A MOV R0, #59H ACALL ADD1 MOV A, R3 CLR C CJNE A, #24
32、H, AD4AD4: JC INT0U CLR A MOV R0, A DEC R0 MOV R0, A单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束42INT0U: MOV 52H, 56H MOV 53H, 57H MOV 54H, 58H MOV 55H, 59H POP PSW POP ACC SETB ET0 RETI单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束43(4) T1中断服务程序设计中断服务程序设计INT11: PUSH ACC PUSH PSW MOV TL1, #0B0H MOV TH1, #3CH DJNZ R2, INT1U MOV
33、 R2, #06H CPL 02H JB 02H, CCC1 MOV 52H, 56H MOV 53H, 57H单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束44 MOV 54H, 58H MOV 55H, 59HINT1U: POP PSW POP ACC RETI CCC1: JB 01H, CCC2 MOV 52H, 5AH MOV 53H, 5AH MOV 54H, 58H MOV 55H, 59H AJMP INT1U单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束45CCC2: MOV 52H, 56H MOV 53H, 57H MOV 54H, 5A
34、H MOV 55H, 5AH AJMP INT1U(5) 加加1子程序子程序ADD1: MOV A, R0 DEC R0 SWAP A ORL A, R0单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束46 ADD A,#01H DA A MOV R3,A ANL A,#0FH MOV R0,A MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RET 单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束47(6) 延时子程序延时子程序YS1MS: MOV R6,#14H YS1: MOV R7,#19H YS2: DJNZ R7,Y
35、S2 DJNZ R6,YS1 RET YS1S: LCALL YS05S LCALL YS05S RET单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束48 YS05S: MOV R3, #51HYS05S1: LCALL XSZCX DJNZ R3, YS05S1 RETABC: DB 0C0H, 0F9H, 0A4H DB 0B0H, 99H, 92H, 82H, 0F8H DB 80H, 90H, 0FFH END点击观看仿真演示点击观看仿真演示单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束4910.3.2 数字式音乐盒设计数字式音乐盒设计 本节以一个音乐盒
36、为例,通过设计一个音乐盒,了解用单片机产生音频本节以一个音乐盒为例,通过设计一个音乐盒,了解用单片机产生音频的方法及音乐程序的设计。的方法及音乐程序的设计。 音乐盒的音符范围:音乐盒的音符范围:C调低音调低音1高音高音7,内部存储一首歌曲,循环播放。,内部存储一首歌曲,循环播放。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束50 1. 基本乐理知识基本乐理知识 在音乐中使用的各个固定频率的音叫音级,常用符号在音乐中使用的各个固定频率的音叫音级,常用符号C、D、E、F、G、A、B表示。两音之间音高的距离叫音程。表表示。两音之间音高的距离叫音程。表12-1列出列出C调高、中、低音对
37、应的调高、中、低音对应的频率值。频率值。 乐曲即是由不同的音符组成的,而每个音符都有其特定的频率,这样我们就乐曲即是由不同的音符组成的,而每个音符都有其特定的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。音符频率可以利用不同的频率的组合,即可构成我们所想要的音乐了。音符频率单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束51的产生可以使用定时计数器产生的产生可以使用定时计数器产生 ,T0工作于定时方式工作于定时方式1,晶振为,晶振为12MHz。则。则T0定时时间为某音符周期的定时时间为某音符周期的1/2,定时时间到则将输出取反,就可以得到固,定时时间到则将
38、输出取反,就可以得到固定频率的方波信号。定频率的方波信号。 低音低音1:频率:频率=262,定时时间,定时时间=T/2=1/2*262(S)T0初值初值=6/52463628。 低音低音2:频率:频率=294,定时时间,定时时间=T/2=1/2*294(S)T0初值初值=6/58863835。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束52音符音符频率频率(Hz)(Hz)定时初值定时初值音符音符频率频率(Hz)(Hz)定时初值定时初值低低1 12622626362863628中中5 57847846489864898低低2 22942946383563835中中6 68808
39、806496864968低低3 33303306402164021中中7 79889886503065030低低4 43493496410364103高高1 1104610466505865058低低5 53923926426064260高高2 2117511756511065110低低6 64404406440064400高高3 3131813186515765157低低7 74944946452464524高高4 4139713976517865178中中1 15235236458064580高高5 5156815686521765217中中2 25875876468464684高高6 6
40、176017606525265252中中3 36596596477764777高高7 7196719676528365283中中4 46986986482064820单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束53 2. 总体设计总体设计 选择选择AT89C2051单片机,通过单片机,通过T0的定时中断,配合的定时中断,配合P3.0引脚输出音频频率。引脚输出音频频率。P3.0引脚输出,经音频放大后接扬声器。系统组成框图如图引脚输出,经音频放大后接扬声器。系统组成框图如图10.4所示。所示。单片机音频放大电路扬声器时钟和复位电路图图10.4 音乐盒硬件电路框图音乐盒硬件电路框图
41、单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束54 音符持续时间的长短即时值,一般用拍数表示。音符持续时间的长短即时值,一般用拍数表示。1/8拍拍=0.05s,1/4拍拍=0.1s,以此类推,以此类推,1拍就是拍就是0.4S。 节拍的产生,可以用定时器节拍的产生,可以用定时器T1或延时方法产生,以或延时方法产生,以1/8拍为基准。若某个音拍为基准。若某个音符节拍为符节拍为1/4拍,则延时两次即可。拍,则延时两次即可。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束553. 硬件设计硬件设计 电路原理图如下:电路原理图如下:图图10.5 音乐盒电路图和音乐盒电路图和
42、AT89C2051引脚排列引脚排列P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0P1.6P1.5P1.4P1.3P1.2P1.1P1.0RSTXTAL1XTAL2+5V+5V单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束564. 软件设计软件设计 为了产生音频信号,需先对音符进行编码。在程序中安排一张定时初值表,为了产生音频信号,需先对音符进行编码。在程序中安排一张定时初值表,程序通过音符编码查表得到对应的定时初值。编码如下表所示。程序通过音符编码查表得到对应的定时初值。编码如下表所示。单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束57音符音符
43、编码编码定时初值定时初值音符音符编码编码定时初值定时初值低低1 101H01H6362863628中中5 50CH0CH6489864898低低2 202H02H6383563835中中6 60DH0DH6496864968低低3 303H03H6402164021中中7 70EH0EH6503065030低低4 404H04H6410364103高高1 10FH0FH6505865058低低5 505H05H6426064260高高2 210H10H6511065110低低6 606H06H6440064400高高3 311H11H6515765157低低7 707H07H645246452
44、4高高4 412H12H6517865178中中1 108H08H6458064580高高5 513H13H6521765217中中2 209H09H6468464684高高6 614H14H6525265252中中3 30AH0AH6477764777高高7 715H15H6528365283中中4 40BH0BH6482064820不发音不发音00H00H单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束58 以以1/8拍为延时单位,对节拍也进行编码如下。拍为延时单位,对节拍也进行编码如下。乐谱节拍乐谱节拍编码编码乐谱节拍乐谱节拍编码编码乐谱节拍乐谱节拍编码编码1/817/87
45、D1/4218E3/839F1/24A210H5/85B3/46C118114138112158134178单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束59 有了上述两张编码表,任何一首乐曲都可以用其编码来表示。例如:生日有了上述两张编码表,任何一首乐曲都可以用其编码来表示。例如:生日快乐歌曲谱如下:快乐歌曲谱如下:C 1=3/4日快乐唱祝你生我们高声歌乐祝你生日快生日快乐,祝你| |1 12 2| |1 13 34 44 4| |76761 1| |3 35 55 55 5| | | |1 12 2| |65655 55 5| |771 1| |65655 555| |单片
46、机原理及应用主目录主目录上一页上一页下一页下一页结结 束束60 对此进行编码,音符编码在前,节拍编码在后,得曲谱简码表如下:对此进行编码,音符编码在前,节拍编码在后,得曲谱简码表如下:SONG:DB 0CH,04H,00H,02H,0CH,02H,0DH,08HDB 0CH,08H, 0FH,08H,0EH,08H,00H,08H,0CHDB 04H,00H,02H,0CH,02H,0DH,08H,0CH,08HDB 10H,08H, 0FH,08H,00H,08H,0CH,04H,00HDB 02H,0CH,02H,13H,08H,11H,08H,0FH,08HDB 0EH,08H,0DH,
47、08H,12H,04H,00H,02H,12HDB 02H,11H, 08H,0FH,08H,10H,08H,0FH,08HDB 00H,08H,0FFH ;结束符;结束符单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束61(1) 主程序框图主程序框图开始开始初始化初始化取音符编码取音符编码结束符?结束符?查定时初值查定时初值发音符?发音符?NY取节拍编码取节拍编码N调节拍控制调节拍控制Y(2) T0中断服务程序框图中断服务程序框图保护现场保护现场重装初值重装初值P3.0取反取反恢复现场恢复现场中断返回中断返回图图10.6 主程序与中断服务程序框图主程序与中断服务程序框图单片机原
48、理及应用主目录主目录上一页上一页下一页下一页结结 束束62程序清单:程序清单: ORG 0000H LJMP MUSIC ORG 000BH LJMP SERT0 ORG 0030HMUSIC: MOV TMOD,#01H ; T0定时方式定时方式1 SETB EA SETB ET0 ; 开开T0中断中断 SETB P3.0 ; 不发音不发音单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束63STA: MOV 30H,#00H ;简码指针清简码指针清0NEXT:MOV DPTR,#SONG ;DPTR指向简码表首址指向简码表首址 MOV A,30H ;简码指针送简码指针送A IN
49、C 30H ;指针加指针加1,指向节拍码,指向节拍码 MOVC A,A+DPTR ;取简码取简码 MOV R2,A ;暂存简码暂存简码 CPL A JNZ NEXT1 ;简码结束否?简码结束否? CLR TR0 ;T0停止停止 SJMP STA单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束64NEXT1:MOV A, R2 ; 简码送简码送A JNZ SING ; 是发音符,转是发音符,转SING CLR TR0 ; 不发音不发音 SJMP D1 ; 转节拍控制转节拍控制 SING: DEC A ; 根据音符码取定时初值根据音符码取定时初值 RL A MOV 22H, A MO
50、V DPTR, #STAB MOVC A, A+DPTR MOV TH0, A ;送高字节定时初值送高字节定时初值单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束65 MOV 21H,A ;保存至保存至21H MOV A,22H INC A MOVC A,A+DPTR MOV TL0,A ;送低字节定时初值送低字节定时初值 MOV 20H,A ;保存保存 SETB ET0 ;开开T0中断中断 SETB TR0 ;启动启动T0 D1:MOV A,30H ;简码指针送简码指针送A INC 30H ;简码指针加简码指针加1,指向下一简码,指向下一简码 MOV DPTR,#SONG单片机
51、原理及应用主目录主目录上一页上一页下一页下一页结结 束束66 MOVC A, A+DPTR ;取节拍码取节拍码 MOV R5, A ;节拍码送节拍码送R5 LCALL DELAY ;调节拍控制调节拍控制 CLR TR0 ;节拍到,停止节拍到,停止T0 SJMP NEXT ;转下一简码发音控制转下一简码发音控制 ;节拍控制子程序节拍控制子程序DELAY:MOV R3,#100 D2: MOV R4,#250 D3: DJNZ R4,D3 DJNZ R3,D2 DJNZ R5,DELAY ;节拍数到否?节拍数到否? RET单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束67;T0中断
52、服务程序中断服务程序SERT0: CLR TR0 ;停止停止T0 MOV TL0,20H ;重装初值重装初值 MOV TH0,21H CPL P3.0 ;音频信号取反音频信号取反 SETB TR0 ;启动启动T0 RETI ;中断返回中断返回单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束68 ;祝你生日快乐祝你生日快乐歌简码表歌简码表SONG:DB 0CH,04H,00H,02H,0DH,08H,0CH,08H DB 0FH,08H,0EH,08H,00H,08H,0CH,04H,00H DB 02H,0CH,02H,0DH,08H,0CH,08H,10H,08H DB 0FH
53、,08H,00H,08H,0CH,04H,00H,02H,0CH DB 02H,13H,08H,11H,08H,0FH,08H,0EH,08H DB 0DH,08H,12H,04H,00H,02H,12H,02H,11H DB 08H,0FH,08H,10H,08H,0FH,08H,00H,08H DB 0FFH;结束符结束符单片机原理及应用主目录主目录上一页上一页下一页下一页结结 束束69;音符定时初值表音符定时初值表STAB:DW 63628,63835,64021,64103,64260,64400 DW 64524,64580,64684,64777,64820,64898 DW 64968,65030,65058,65110,65157,65178 DW 65217,65252
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行消防培训试题及答案
- 地质勘查专业试题及答案
- 电气资料专业试题及答案
- 专业测试题及答案
- 安徽省江淮名校2024-2025学年高二上学期期中考试物理试卷(含答案)
- 网络内容行业技术规范
- 客户见面致辞示例
- 个人工作总结副科长
- 集土坑施工方案
- 老旧小区临水施工方案
- 用药错误应急演练
- 考前速记-专升本英语240个高频词汇
- 九年级《道德与法治》(上册)教学计划及教学进度
- 医院课件:《抗肿瘤药物分级管理培训》
- 电气防爆专项检查表
- 教科版小学科学六年级上册《1.7微生物与健康》课件
- (正式版)JBT 106-2024 阀门的标志和涂装
- 便利店委托运营协议
- 汉语言文学专业就业方向及就业前景调研报告
- 招商加盟营销方案
- 红军长征感人红色故事3-10分钟10篇
评论
0/150
提交评论