版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章-单片机应用系统设计第一页,共77页。1.了解单片机应用系统设计的过程和要求;知道单片机应用系统硬件设计的内容和要求;知道单片机应用系统软件设计的步骤和要求;理解软件设计与硬件设计的关系。2.了解单片机开发工具的主要作用;了解单片机开发系统的分类;知道单片机开发系统的功能;理解单片机应用系统软、硬件调试的方法。教学目标第二页,共77页。3.理解单片机应用系统设计实例:数码管数字时钟电路的设计、数字式音乐盒设计设计步骤、设计方案、硬件设计、软件设计等知识。举一反三,具备简单常用单片机系统的设计开发能力。第三页,共77页。1.1单片机系统设计步骤一个完备的单片机应用系统包括硬件和软件两大部分,硬件是躯体,软件是灵魂。只有系统的软、硬件紧密配合、协调一致才能发挥其高性能作用。在单片机应用系统的开发过程中,涉及多种开发技术和工具,需要反复修改调整软、硬件,以便尽可能提高系统的工作效率。单片机应用系统的功能不同,其硬件和软件结构也不相同,但研制、开发的方法和步骤基本一致。第四页,共77页。1.1.1总体设计
1.可行性调研
可行性调研的目的,是分析完成该项目的可能性。进行这方面的工作,可参考国内外有关资料,看是否有人进行过类似的工作。如果有,则可分析他人是如何进行的,有什么优缺点,有何值得借鉴的地方;如果没有,则需作进一步的研究,此时的重点应放在能否实现目标这个环节,首先从理论上进行分析,探讨实现的可能性,所第五页,共77页。
要求的客观条件是否具备(环境、测试手段、仪器设备、资金、人员等),然后结合实际情况,确定能否立项的问题。2.拟制设计任务书设计者首先应对系统的任务、控制对象、工作环境作周密的调查研究,必要时还要勘察工业现场,明确系统的各项指标。进而编写设计任务书,整个系统的设计开发都要围绕着如何达到技术指标来进行。第六页,共77页。
3.建立数学模型设计任务书拟定后,接下来应对被控对象的物理过程和计算任务进行全面分析,并从中抽象出数学表达式,即建立数学模型。数学模型的形式是多种多样的,可以是一系列的数学表达式,可以是数学推理和判断,也可以是运行状态的模拟等。数学模型要能真实描述客观控制过程,要精确而简单。第七页,共77页。4.总体方案设计在上述基础上,对系统各部分构成进行总体规划。主要考虑以下几个问题:①系统组成:根据系统功能,确定系统主要由哪些功能模块构成:如键盘、显示、输入/输出通道、通信等。②单片机选型:根据系统的精度和速度要求合理选择单片机机型。可以综合考虑单片机的实用性、性价比、开发工具和研发人员的熟悉程第八页,共77页。等方面因素。③软硬件功能分配:确定哪些功能由硬件实现,哪些功能由软件完成。在不影响系统技术指标的前提下,提倡尽量用软件实现。第九页,共77页。1.1.2硬件设计根据总体方案画出硬件电路原理图,然后在单片机开发仪或实验板上搭出电路,并且在调试和运行软件中随时加以修改和补充,最后制作印制电路板并装成样机。为使硬件设计合理,系统的电路设计应注意以下几个方面:①尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。第十页,共77页。②尽量选用功能强、集成度高的电路或芯片。③选择通用性强、市场货源充足的元器件。④系统扩展及各功能模块在设计满足应用系统功能要求基础上,应适当留有余地。⑤尽量采用新技术。⑥充分考虑各部分的驱动能力。⑦系统的抗干扰设计。第十一页,共77页。1.1.3软件设计在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相互结合。当系统硬件电路确定后,软件的任务也就明确了。系统中的应用软件是根据系统功能要求设计的。一般地讲,软件的功能可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系第十二页,共77页。统软件中充当组织调度角色。由于应用系统种类繁多,程序编制者风格不一,因此应用软件因系统而异。尽管如此,作为优秀的系统软件还是有其共同点及规律的。
1.程序的总体设计程序总体设计是指从系统的高度考虑程序结构、数据形式和程序功能的实现方法和手段。第十三页,共77页。在拟定总体设计方案时,设计者必须合理选择切合实际的程序设计方法。常用的程序设计方法有三种:①模块化程序设计:把一个复杂的应用程序按整体功能划分成若干相对独立的程序模块,各模块可以单独设计、编程、调试,然后装配起来联调,最终成为一个有实用价值的程序。第十四页,共77页。③结构化程序设计:在编程过程中,对程序结构进行适当限制,特别是限制转移指令的使用,用于控制程序的复杂程序,使程序上下文与执行流程保持一致。这是一种比较理想的程序设计方法。②自顶向下程序设计:从系统一级的主干程序开始,集中精力解决全局问题,然后层层细化逐步求精,最终完成一个复杂的程序。第十五页,共77页。2.画程序流程图不论采用哪种设计方法,程序总体结构确定后,应结合数学模型确立各子任务的具体算法和步骤,画出流程图,以方便程序编写。3.程序的编制在开始编写程序之前,应先对程序地址空间的分配、工作寄存器的安排、数据结构、端口地址等进行分配。然后再根据程序流程图用汇编语言或其他高级语言编写程序。第十六页,共77页。
4.
程序的检查和修改上机调试前,可借助一定的编译软件对程序中的语法错误查找出来并修改。第十七页,共77页。1.1.4系统的调试与运行调试包括硬件调试、软件调试和系统联调。调试通过后还要进行一段时间的试运行,以验证系统能否经受实际环境的考验。经过一段时间的试运行就可投入正式运行,在正式运行中还要建立一套健全的维护制度,以确保系统的正常工作。第十八页,共77页。1.2单片机应用系统开发工具1.单片机开发系统的功能①在线仿真功能;②系统调试功能;③软件辅助设计功能;④程序固化功能。2.开发系统的类型①通用型单片机开发系统;②实用型开发系统;③通用机开发系统;④模拟开发系统。第十九页,共77页。1.3.1数码管数字时钟电路的设计1.设计要求(1)以AT89C51单片机为核心器件,构成一个数字式电子时钟。(2)用6位数码管分别显示时、分、秒,采用24小时计时方式。(3)时钟具有显示时间、调整时间、省电状态(数码管不亮,时钟不停)三种功能。1.3单片机开发系统应用实例第二十页,共77页。2.总体设计(1)6位数码管采用动态显示方式,段选线用P1口控制,位选线用P2口低6位控制。(2)功能键由P2.7引入。(3)为节省硬件,采用定时计数器产生时间基准。第二十一页,共77页。3.硬件设计根据总体设计,硬件电路框图如图1.1所示。单片机驱动电路6位LED数码管按键时钟和复位电路图1.1硬件电路框图硬件电路由4部分组成:单片机、时钟与复位电路、LED显示及驱动电路、按键输入电路。电路原理图如下:第二十二页,共77页。gfedcbaP2.5P2.4P2.3P2.2P2.1P2.0P2.6P2.7+5V+5VP1.6P1.5P1.4P1.3P1.2P1.1P1.0RSTXTAL1XTAL2+5V图1.2数字时钟电路图第二十三页,共77页。4.
软件设计片内RAM50H~55H作为显示缓冲区,共6个单元分别存放秒、分、时的BCD码个位在低地址单元,十位在高地址单元。时钟的基本单位为秒,定时器T0定时50ms,定时20次即为1S。秒、分逢60进位,时逢24回零。按键具有以下功能:当按下时间小于1S,进入省电状态(时钟继续运行,但不显示);按下时间大于1S,进入调分状态,时钟停止,等待继第二十四页,共77页。续按键,若再次按键时间小于0.5S,分加1;若大于0.5S,进入小时调整状态。在小时调整状态下,按键时间小于0.5S,时加1,若大于0.5S,退出时钟调整,时钟按新设置的时间运行。在时钟调整状态下,当前被调整的时间每0.3S闪烁显示,定时器T1定时闪烁时间间隔0.3S。第二十五页,共77页。(1)主程序设计主程序流程图如下:开始内存单元清0T0、T1初始化调显示子程序P2.7=0?调时程序NY图1.3主程序流程图第二十六页,共77页。主程序如下:ORG0000HAJMPMAINTORG000BHAJMPINT01ORG001BHAJMPINT11MAINT:MOVR0,#7FHCLRAWZ1:MOV@R0,ADJNZR0,WZ1第二十七页,共77页。MOVSP,#30HMOV5AH,#0AHMOVTMOD,#11HMOVTL0,#0B0HMOVTH0,#3CHMOVTL1,#0B0HMOVTH1,#3CHSETBEASETBET0SETBTR0MOVR4,#14H第二十八页,共77页。MAINT1:LCALLXZCXJNBP2.7,SJTZ0SJMPMAINT1SJTZ0:LCALLXSZCXJNBP2.7,SJTZ1SJMPMAINT1SJTZ1:CLRET0CLRTR0LCALLYS1SJBP2.7,KMTESMOVR2,#06H第二十九页,共77页。SETBET1SETBTR1XYZ2:JNBP2.7,XYZ1CLR01HXYZ4:JBP2.7,XYZ3LCALLYS05SJNBP2.7,XYZHHMOVR0,#53HLCALLADD1MOVA,R3CLRC第三十页,共77页。CJNEA,#60H,QWEQWE:JCXYZ4CLRAMOV@R0,ADECR0MOV@R0,ACLRCAJMPXYZ4KMTES:SETBET0SETBTR0KMA:JBP2.7,$第三十一页,共77页。LCALLXSZCXJBP2.7,KMAKMA1:JNBP2.7,$LJMPMAINT1XYZHH:JNBP2.7,XYZ5SETB01HXYZ6:JBP2.7,XYZ7LCALLYS05SJNBP2.7,XYZOUTMOVR0,#55HLCALLADD1第三十二页,共77页。MVOA,R3CLRCCJNEA,#24H,KMB1KMB1:JCXYZ6CLRAMOV@R0,ADECR0MOV@R0,AAJMPXYZ6XYZOUT:JNBP2.7,XYZOUT1LCALLXSZCX第三十三页,共77页。JNBP2.7,XYZOUTMOV20H,#00HMOV56H,52HMOV57H,53HMOV58H,54HMOV59H,55HCLRTR1CLRET1SETBTR0SETBET0LJMPMAINT1第三十四页,共77页。XYZ1:LCALLXSZCXAJMPXYZ2XYZ3:LCALLXSZCXAJMPXYZ4XYZ5:LCALLXSZCXAJMPXYZHHXYZ7:LCALLXSZCXAJMPXYZ6XYZOUT1:LCALLXSZCXAJMPXYZOUT第三十五页,共77页。(2)显示子程序设计XSZCX:MOVR1,#50HMOVR5,#0FEHMAXY:MOVA,R5MOVP2,AMOVA,@R1MOVDPTR,#ABCMOVCA,@A+DPTRMOVP1,ALCALLYS1MSINCR1第三十六页,共77页。MOVA,R5JNBACC.5,ENDOUTRLAMOVR5,AAJMPMAXYENDOUT:MOVP2,#0FFHMOVP1,#0FFHRET第三十七页,共77页。(3)T0中断服务程序设计INT01:PUSHACCPUSHPSWCLRET0CLRTR0MOVA,#0B7HADDA,TL0MOVTL0,AMOVA,#3CHADDCA,TH0MOVTH0,A第三十八页,共77页。SETBTR0DJNZR4,INT0UAD1:MOVR4,#14HMOVR0,#51HLCALLADD1MOVA,R3CLRCCJNEA,#60H,AD2AD2:JCINT0UCLRAMOV@R0,A第三十九页,共77页。DECR0MOV@R0,AMOVR0,#57HACALLADD1MOVA,R3CLRCCJNEA,#60H,AD3AD3:JCINT0UCLRAMOV@R0,ADECR0第四十页,共77页。MOV@R0,AMOVR0,#59HACALLADD1MOVA,R3CLRCCJNEA,#24H,AD4AD4:JCINT0UCLRAMOV@R0,ADECR0MOV@R0,A第四十一页,共77页。INT0U:MOV52H,56HMOV53H,57HMOV54H,58HMOV55H,59HPOPPSWPOPACCSETBET0RETI第四十二页,共77页。(4)T1中断服务程序设计INT11:PUSHACCPUSHPSWMOVTL1,#0B0HMOVTH1,#3CHDJNZR2,INT1UMOVR2,#06HCPL02HJB02H,CCC1MOV52H,56HMOV53H,57H第四十三页,共77页。MOV54H,58HMOV55H,59HINT1U:POPPSWPOPACCRETICCC1:JB01H,CCC2MOV52H,5AHMOV53H,5AHMOV54H,58HMOV55H,59HAJMPINT1U第四十四页,共77页。CCC2:MOV52H,56HMOV53H,57HMOV54H,5AHMOV55H,5AHAJMPINT1U(5)加1子程序ADD1:MOVA,@R0DECR0SWAPAORLA,@R0第四十五页,共77页。ADDA,#01HDAAMOVR3,AANLA,#0FHMOV@R0,AMOVA,R3INCR0SWAPAANLA,#0FHMOV@R0,ARET
第四十六页,共77页。(6)延时子程序YS1MS:MOVR6,#14HYS1:MOVR7,#19HYS2:DJNZR7,YS2DJNZR6,YS1RETYS1S:LCALLYS05SLCALLYS05SRET第四十七页,共77页。YS05S:MOVR3,#51HYS05S1:LCALLXSZCXDJNZR3,YS05S1RETABC:DB0C0H,0F9H,0A4HDB0B0H,99H,92H,82H,0F8HDB80H,90H,0FFHEND点击观看仿真演示第四十八页,共77页。1.3.2数字式音乐盒设计本节以一个音乐盒为例,通过设计一个音乐盒,了解用单片机产生音频的方法及音乐程序的设计。音乐盒的音符范围:C调低音1~高音7,内部存储一首歌曲,循环播放。第四十九页,共77页。
1.基本乐理知识在音乐中使用的各个固定频率的音叫音级,常用符号C、D、E、F、G、A、B……表示。两音之间音高的距离叫音程。表12-1列出C调高、中、低音对应的频率值。乐曲即是由不同的音符组成的,而每个音符都有其特定的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。音符频率第五十页,共77页。的产生可以使用定时计数器产生,T0工作于定时方式1,晶振为12MHz。则T0定时时间为某音符周期的1/2,定时时间到则将输出取反,就可以得到固定频率的方波信号。低音1:频率=262,定时时间=T/2=1/2*262(S)T0初值=65536-100000/524≈63628。低音2:频率=294,定时时间=T/2=1/2*294(S)T0初值=65536-100000/588≈63835。第五十一页,共77页。音符频率(Hz)定时初值音符频率(Hz)定时初值低126263628中578464898低229463835中688064968低333064021中798865030低43496413高114665058低539264260高211756511低644064400高3131865157低749464524高4139765178中152364580高5156865217中258764684高6176065252中365964777高7196765283中469864820第五十二页,共77页。
2.总体设计选择AT89C2051单片机,通过T0的定时中断,配合P3.0引脚输出音频频率。P3.0引脚输出,经音频放大后接扬声器。系统组成框图如图1.4所示。单片机音频放大电路扬声器时钟和复位电路图1.4音乐盒硬件电路框图第五十三页,共77页。音符持续时间的长短即时值,一般用拍数表示。1/8拍=0.05s,1/4拍=0.1s,以此类推,1拍就是0.4S。节拍的产生,可以用定时器T1或延时方法产生,以1/8拍为基准。若某个音符节拍为1/4拍,则延时两次即可。第五十四页,共77页。3.
硬件设计电路原理图如下:图1.5音乐盒电路图和AT89C2051引脚排列P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0P1.6P1.5P1.4P1.3P1.2P1.1P1.0RSTXTAL1XTAL2+5V+5V第五十五页,共77页。4.
软件设计为了产生音频信号,需先对音符进行编码。在程序中安排一张定时初值表,程序通过音符编码查表得到对应的定时初值。编码如下表所示。第五十六页,共77页。音符编码定时初值音符编码定时初值低101H63628中50CH64898低202H63835中60DH64968低303H64021中70EH65030低404H6413高10FH65058低505H64260高21H6511低606H64400高311H65157低707H64524高412H65178中108H64580高513H65217中209H64684高614H65252中30AH64777高715H65283中40BH64820不发音00H第五十七页,共77页。以1/8拍为延时单位,对节拍也进行编码如下。乐谱节拍编码乐谱节拍编码乐谱节拍编码1/817/87D1/4218E3/839F1/24A21H5/85B3/46C118114138112158134178第五十八页,共77页。有了上述两张编码表,任何一首乐曲都可以用其编码来表示。例如:生日快乐歌曲谱如下:C1=3/4第五十九页,共77页。对此进行编码,音符编码在前,节拍编码在后,得曲谱简码表如下:SONG:DB0CH,04H,00H,02H,0CH,02H,0DH,08HDB0CH,08H,0FH,08H,0EH,08H,00H,08H,0CHDB04H,00H,02H,0CH,02H,0DH,08H,0CH,08HDB1H,08H,0FH,08H,00H,08H,0CH,04H,00HDB02H,0CH,02H,13H,08H,11H,08H,0FH,08HDB0EH,08H,0DH,08H,12H,04H,00H,02H,12HDB02H,11H,08H,0FH,08H,1H,08H,0FH,08HDB00H,08H,0FFH;结束符第六十页,共77页。(1)主程序框图开始初始化取音符编码结束符?查定时初值发音符?NY取节拍编码N调节拍控制Y(2)T0中断服务程序框图保护现场重装初值P3.0取反恢复现场中断返回图1.6主程序与中断服务程序框图第六十一页,共77页。程序清单:ORG0000HLJMPMUSICORG000BHLJMPSERT0ORG0030HMUSIC:MOVTMOD,#01H;T0定时方式1SETBEASETBET0;开T0中断SETBP3.0;不发音第六十二页,共77页。STA:MOV30H,#00H;简码指针清0NEXT:MOVDPTR,#SONG;DPTR指向简码表首址MOVA,30H;简码指针送AINC30H;指针加1,指向节拍码MOVCA,@A+DPTR;取简码MOVR2,A;暂存简码CPLAJNZNEXT1;简码结束否?CLRTR0;T0停止SJMPSTA第六十三页,共77页。NEXT1:MOVA,R2;简码送AJNZSING;是发音符,转SINGCLRTR0;不发音SJMPD1;转节拍控制SING:DECA;根据音符码取定时初值RLAMOV22H,AMOVDPTR,#STABMOVCA,@A+DPTRMOVTH0,A;送高字节定时初值第六十四页,共77页。MOV21H,A;保存至21HMOVA,22HINCAMOVCA,@A+DPTRMOVTL0,A;送低字节定时初值MOV20H,A;保存SETBET0;开T0中断SETBTR0;启动T0D1:MOVA,30H;简码指针送AINC30H;简码指针加1,指向下一简码MOVDPTR,#SONG第六十五页,共77页。MOVCA,@A+DPTR;取节拍码MOVR5,A;节拍码送R5LCALLDELAY;调节拍控制CLRTR0;节拍到,停止T0SJMPNEXT;转下一简码发音控制;节拍控制子程序DELAY:MOVR3,#10D2:MOVR4,#250D3:DJNZR4,D3DJNZR3,D2DJNZR5,DELAY;节拍数到否?RET第六十六页,共77页。;T0中断服务程序SERT0:CLRTR0;停止T0MOVTL0,20H;重装初值MOVTH0,21HCPLP3.0;音频信号取反SETBTR0;启动T0RETI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年甘肃客运从业资格证操作考试内容
- 2023年北京市初三一模道德与法治试题汇编:综合探究题
- 吉首大学《民法总论》2021-2022学年第一学期期末试卷
- 吉首大学《动态网站设计》2021-2022学年期末试卷
- 吉林艺术学院《影视语言技巧》2021-2022学年第一学期期末试卷
- 吉林艺术学院《书法》2021-2022学年第一学期期末试卷
- 车辆赔偿协议书范本文版
- 私人房屋转赠协议书范文模板
- 吉林师范大学《中国地理》2021-2022学年第一学期期末试卷
- 2022年江西省公务员录用考试《申论》真题(行政执法类卷)及答案解析
- (完整版)外贸合同(中英双语)
- 嵌入式系统设计专题实践嵌入式交通信号灯
- 医院胸痛中心奖惩办法(完整版)
- 行政管理存在的问题与对策
- 脑出血大病历.doc
- CJJ101-2016埋地塑料给水管道工程技术规程
- 文化广场规划设计方案说明书
- 2012年数学建模机器人避障问题
- 燃气经营企业安全生产主体责任清单
- 规模化养猪场的科学用水管理
- 日本泡沫经济专题讲座PPT
评论
0/150
提交评论