欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    单片机应用系统.ppt

    • 资源ID:5814584       资源大小:432.01KB        全文页数:46页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机应用系统.ppt

    优秀精品课件文档资料,第10章 单片机应用系统的设计,教学目标介绍单片机应用程序软件设计步骤介绍单片机硬件电路设计步骤 介绍单片机应用程序设计的一个实例 学习要求熟悉单片机硬件和软件设计步骤 掌握单片机硬件和软件的调试方法 了解单片机应用系统模式,由于单片机的特殊结构,使之具有小巧、低功耗、成本低、控制功能强、易于产品化、抗干扰能力强以及便于实现多机和分布式通信控制等特点,其应用范围十分广泛,如智能家电、智能仪表、计算机外设、工业测控系统等。通过前面的学习,我们懂得了单片机的工作原理和应用基础,本章讲述如何设计及调试单片机应用系统。,10.1系统设计的原则与步骤,10.1.1单片机应用系统分类 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统和典型应用系统等。一、最小应用系统 最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。对于片内有ROM/EPROM/FLASH RAM的单片机,构成最小应用系统时,只要将单片机接上时钟电路、复位电路和电源即可,如图10-1(a)所示;对于片内无ROM/EPROM/FLASH RAM的单片机,其最小系统除了外部配置时钟电路、复位电路和电源外,还应在片外扩展EPROM、EEPROM作为程序存储器用,如图10-1(b)所示。,+5V,+5V,+5V,图10-1 MCS-51单片机最小应用系统(a)(b),二、最小功耗应用系统 最小功耗应用系统是指为了保证正常运行,系统的功率消耗最小。这是单片机应用系统中的一个引人入目的构成方式。在单片机芯片结构设计时,一般为构成最小功耗应用系统提供了必要条件,例如,各种系列的单片机都有CMOS工艺类型,而且在这类单片机中都设置了低功耗运行的WAIT和STOP方式。设计最小功耗应用系统时,必须使系统内的所有器件、外设都有最小的功耗,而且能充分运用WAIT和STOP方式运行。最小功耗应用系统常用在一些袖珍式智能仪表、野外工作仪表以及在无源网络、接口中的单片机工作子站。,三、典型应用系统 典型应用系统是指单片机要完成工业测、控功能所必须具备的硬件结构系统。由于单片机主要用于工业测、控,因此,其典型应用系统应具备用于测、控目的的前向传感器通道、后向伺服控制通道以及基本的人机对话手段。它包括了系统扩展与系统配置两部分内容。系统扩展是指在单片机中的ROM、RAM及I/O口等片内部件不能满足系统要求时,在片外扩展相应的部分。扩展多少视需要选择。系统配置是指单片机为满足应用要求时,应配置的基本外部设备,如键盘、显示器等。单片机的典型应用系统如图10-2所示。整个系统包括基本部分和测、控增强部分以及外设增强部分。,数字量检测 模拟量检测 开关量检测 开关量控制 伺服驱动控制,图10-2 单片机典型应用系统,现在我们知道单片机的应用范围和应用方式,但如何才能研制出一个较完整的单片机产品是我们下一步所关心的问题。简单地说,必须经过以下几步工作:系统硬件电路设计、组装、调试;系统应用软件的编制、调试;系统应用软件的链接调试、固化、脱机(脱离开发装置)运行。下面介绍单片机应用系统软、硬件开发的有关问题。,10.1.2系统设计的原则,单片机应用系统包括其硬件系统和软件系统两大部分,设计时应遵循相应准则。一、硬件系统设计原则 系统的扩展和配置设计应遵循下列原则:尽可能选用典型电路,并符合单片机的常规用法。为硬件系统的标准化、模块化打下良好的基础。系统的扩展与外围设备配置的水平应充分满足应用系统的功能要求,并留有适当的余地,以便进行二次开发。硬件结构应结合应用软件方案一并考察。硬件结构与软件方案会产生相互影响,考虑的原则是:软件能实现的功能尽可能由软件实现,以简化硬件结构。整个系统中的相关器件要尽可能做到性能匹配,如选用CMOS芯片单片机构成低功耗系统时,系统中的所有芯片都应该选择低功耗的产品。可靠性及抗干扰设计是硬件系统设计不可缺少的一部分,它包括芯片、器件的选择、去耦滤波、印刷电路板布线、通道隔离等。,二、应用软件设计原则 单片机应用系统中的应用软件是根据系统功能要求设计的,应可靠地实现系统的各种功能。应用系统种类繁多,应用软件各不相同,但一个优秀的应用系统的软件应具有下列特点:软件结构清晰、简洁、流程合理。各种功能程序实现模块化、子程序化。这样,既便于调试、链接,又便于移植、修改。程序存储区、数据存储区规划合理,既能节约内存容量,又使操作方便。运行状态实现标志化管理。各个功能程序运行状态、运行结果以及运行要求都设置状态标志以便查询,程序的转移、运行、控制都可状态标志条件来控制。经过调试修改后的程序应进行规范化,除去修改“痕迹”。规范化的程序便于交流、借鉴,也为今后的软件模块化、标准化打下基础。实现全面软件抗干扰设计。软件抗干扰是计算机应用系统提高可靠性的有力措施。为了提高运行的可靠性,在应用软件中设置自诊断程序,在系统工作运行前先运行自诊断程序,用以检查系统各特征状态参数是否正常。,10.1.3系统设计的步骤,对于一般的应用系统而言,大都要经历如下几个步骤:提出问题、了解现场、明确指标。进行可行性论证,提出初步方案。提出各分课题的设计方案。设计、调试、修改并完成各分课题的任务。将各分课题组成整体应用系统,并对系统进行总体调试、修改、完善。,10.2 系统设计举例,前面讲述了设计一个单片机应用系统的基本方法和步骤,下面以设计一个波形发生器为例来进一步说明。10.2.1问题的提出 在教学、科研和生产的许多实验场合,需要有临时的信号源如正弦波、方波、三角波和锯齿波等。市场上现成的信号发生器相对较贵(尤其是对于规模较小的单位或经费较少的项目),而且不一定很合适。在这种情况下,往往是实验人员自行设计,比如设计一个能产生一路正弦波、方波、三角波或锯齿波的波形发生器,要求输出波形幅度为010V,并可调整;输出波形频率在020kHz范围内可调整。,10.2.2总体方案设计,根据题意,可采用单片机程序产生以上四种波形,并通过一片D/A转换器输出。另外,采用一片D/A转换器来控制前一片D/A转换器的参考电压,从而可以改变输出波形幅值。见图10-3所示。通过外接键盘来设定波形的类型、幅值和频率,并在扩展的七段LED显示器上显示响应的波形的类型、幅值和频率。,以产生正弦波为例,采用定点法来生成波形,即将一个周期的正弦波按360o等分为若干点,计算出各点的正弦函数值,并转化相应的D/A转换器输入数值,这样得到一个正弦函数表。通过程序将该表存于单片机的程序存储器中,利用单片机的定时器来产生定时,每当定时时间到时,查表得到该点对应的输出值,然后通过D/A转换得到该点的对应电压值。如此,周而复始地查表输出,就得到所要的正弦波。由于一个周期正弦波的点数固定,改变定时器的定时值,就改变相邻两点的间隔时间,从而改变正弦波的频率。三角波和锯齿波的产生方法与正弦波类似。方波的产生较简单,只要交替地将最大值和最小值输出给D/A进行转换即可,它们的延续时间为周期的一半。,10.2.3具体电路设计,按照总体方案设计的硬件电路如图10-4所示,它主要包括单片机最小系统、两片D/A转换器组成的波形输出部分、键盘扩展部分和七段LED显示器部分等。,图10-4 波形发生器的硬件电路图,一、单元电路设计 1.单片机最小系统 考虑到电路的简单和成本等因素,选用ATMEL公司的AT89C51单片机作为微处理器,它内含4KB快闪程序存储器,其编程和擦除完全用电实现;其时钟频率为024KHz;并且价格低廉,批量价在10元以内。用AT89C51、74HC373加上相应的时钟和复位电路就组成了最小系统,见图10-8中相应部分。2.波形输出电路 波形输出电路主要由两片8位D/A转换器DAC0832和相应运算放大器组成,见图10-4中相应部分:其中一片DAC0832(IC4)和两个单运算放大器(IC7和IC8)组成波形的输出部分,它采用双极性输出方式,这样给DA0832输入不同的数码,不难分析其输出电压范围为-Vref+Vref,见表10-1所示,Vref为该片D/A转换器的参考电压。,表10-1 输入数字量与输出电压的关系 另一片DAC0832(IC3)的参考电压接到+5V电源上,它和两个单运算放大器(IC5和IC6)组成的单极性D/A转换电路,其输出电压加到前一片DAC0832的参考电压端Vref。当此片DAC0832输入0255数字时,输出为0+5V,从而调节前一片DAC0832的输出电压为-5V+5V,达到改变输出波形幅值的目的。这两片DAC0832都接成单缓冲器输入方式。,3.键盘扩展电路 输出波形种类、幅值、频率的设定由键盘输入。由于单片机的P1口不作它用,可用它扩展一个4行4列键盘。键盘的4根行线接到单片机的P1.0P1.3口线,4根列线接P1.4P1.7口线。16个按键分别定义为数字09和功能键Enter(确认键)、Clear(清除键)、Wave(波形选择键)、Freqency(改变频率键)、Amplitude(改变幅值键)和.(小数点键)。4.显示电路 当前输出波形的种类、幅值和频率需要显示出来。由于单片机的串行口不作它用,可用它接8片串入并出移位寄存器来扩展8位7段LED显示器,L1L4用于显示输出波形的频率;L5L7用于显示输出波形的幅值,L5的小数点接+5V,常亮,则可显示0.0V到10.0V;L8用于显示波形的种类,1表示正弦波,2表示方波,3表示三角波,4表示锯齿波。,二、单元电路调试 对于本波形法发生器,其硬件电路的调试可以按如下步骤进行:硬件电路的总体检查 在一块电路试验板上,焊接好电路,按实际电路图插好元器件,连好线。在接上电源之前,用万用表粗略检查电路的正确性,尤其是要检查电源和地之间的电阻。对于本波形发生器来讲,电源和地之间的电阻应为1K以上,若太小,应检查电源和地之间是否有短路现象或电源接错现象或有不良元器件。确保电源和地无故障之后,再通电,然后检查各电源+5V、+12V和-12V电压数值的正确性。排除可能出现的故障后,再进行各单元电路调试。单元电路调试 单片机最小系统调试 按照前面设计的单片机最小系统和电源,焊接并插上相应的元器件,连好线,检查正确无误后,接上电源,用示波器测试单片机的时钟波形。若时钟波形和频率正确,则进行下一步检查。切断电源,空出单片机AT89C51的位置,并在此位置上插入仿真器的40芯仿真头。连好相应线,检查正确无误后,接上电源,然后启动仿真器,检查地址锁存等电路的正确性。,波形输出电路调试 按图10-8电路接线方法,我们可以知道D/A转换器IC3和IC4的地址分别为0FDH和0FEH,向这两个地址分别写入相应的数据后,若电路正确就启动了它们的D/A转换,若这时运放IC6和IC8输出的电压值和表10-1相符,则说明波形输出电路正确。键盘扩展电路调试 断开电源,焊接好键盘,并将键盘接到P1口,然后接通电源,用仿真器使AT89C51的P1口输出为0F0H,即将键盘的4根行线P1.0P1.3置为低电平,4根列线接P1.4P1.7口线置为高电平。接下来,依次按下各键,并用万用表测量对应P1口的P1.4P1.7口线,若所测的相应口线为低电平,则表示该键有效。例如,按下键0,则应测的口线P1.4为低电平,说明键0有效。测试所有16个键都有效,则说明该键盘扩展电路正确。显示电路调试 断开电源,焊接好相应电路,并插上器件IC9IC16和L1L8,然后再接上电源。用仿真器编写一段测试程序(参见后面显示模块软件)让8个7段LED(L1L8)分别显示数字1、2、3、4、5、6、7、8。再在仿真器上汇编该程序,并执行,若显示的结果一致,则说明显示电路是正确的。,10.2.4应用软件设计,一、各软件模块设计 按照波形发生器的功能,其应用程序必须有初始化、波形产生、键盘管理和显示等几部分,现将各主要软件模块介绍如下:初始化模块 初始化程序模块主要进行设置定时器、串行口的工作方式,设置波形的类型幅值和频率,并在显示器上显示提示字符12345678等工作。这部分程序如下:MOV TMOD,#02H;设置定时器0为方式2工作 MOV TL0,#7FH;置初值 MOV TH0,#7FH CLR TR0;不启动 MOV SCON,#00H;将串行口初始化为方式0 MOV DPTR,#0FFFDH;IC3的地址送DPTR MOV A,#0FFH MOVX DPTR,A;输出波形的幅值初始化为10V MOV DPTR,#0FFFEH;IC4的地址送DPTR MOV A,#80H MOVX DPTR,A;输出设定为0 MOV WAVKD,#01H;波形类型初始化为1,即正弦波。,波形产生模块 前面讲过,采用定点法产生波形,将所要输出的波形按一个周期分成若干点,正弦波和三角波各72点、按所需频率计算出两点间的时间间隔,用定时器0工作于方式0来定时该时间间隔。每当定时时间到时,查表输出下一个波形数据,如此循环执行即可。锯齿波的产生,只要从00H开始,每隔一定时间加1,在00H到0FFH之间循环输出D/A转换器IC4即可。方波只要每隔每半个周期交替输出00H和0FFH即可。正弦波产生程序 由于正弦波的对称性,可将其分为四个相同部分,在这里称为四个象限。只要做第一个象限的数据表即可,第二象限的数据表与第一象限相同,但输出时要反向查表;第三、四象限输出只要将第一象限和第二象限查表得的数据取反即可。产生正弦波的程序流程图见图10-5所示。,N N Y Y N N Y Y N N Y Y N N Y Y,图10-5 正弦波产生程序流程图,程序清单如下:SETB TR0SINWAV:MOV R0,#00H;查表指针初始化为0SINLP1:MOV DPTR,#SINTAB;正弦波函数表地址送DPTR MOV A,R0 MOVC A,A+DPTR;查表 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,A;输出数据给D/A SINLP2:JNB TF0,SINLP2;由定时器控制频率 CLR TF0 INC R0 CJNE R0,#13H,SINLP1;第一象限输出完了吗?SINLP3:MOV DPTR,#SINTAB;正弦波函数表地址送DPTR MOV A,R0 MOVC A,A+DPTR;查表 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,A,SINLP4:JNB TF0,SINLP4;由定时器控制频率 CLR TF0 DEC R0 CJNE R0,#00H,SINLP3;第二象限输出完了吗?SINLP5:MOV DPTR,#SINTAB;正弦波函数表地址送DPTR MOV A,R0 MOVC A,A+DPTR;查表 CPL A;取反 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,A;输出数据给D/ASINLP6:JNB TF0,SINLP6;由定时器控制频率 CLR TF0 INC R0 CJNE R0,#13H,SINLP6;第三象限输出完了吗?SINLP7:MOV DPTR,#SINTAB;正弦波函数表地址送DPTR MOV A,R0,MOVC A,A+DPTR;查表 CPL A;取反 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,ASINLP8:JNB TF0,SINLP8;由定时器控制频率 CLR TF0 DEC R0 CJNE R0,#00H,SINLP7;第四象限输出完了吗?SJMP SINWAV;输出下一个周期SINTAB:DB 7FH,89H,94H,9FH,0AAH,0B4H,0BEH,0C8H,0D1H,0D9H DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,0FEH,0FFH,N,Y,N,Y,N,Y,N,Y,Y,N,N,Y,N,Y,N,三角波产生程序三角波的产生程序和正弦波类似,其程序流程图见图10-6所示。,图10-6 三角波产生程序流程图,Y,程序清单如下:SETB TR0TRIWAV:MOV R0,#00H;查表指针初始化为0TRILP1:MOV DPTR,#TRITAB;正弦波函数表地址送DPTR MOV A,R0 MOVC A,A+DPTR;查表 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,A;输出数据给D/A TRILP2:JNB TF0,TRILP2;由定时器控制频率 CLR TF0 INC R0 CJNE R0,#13H,TRILP1;第一象限输出完了吗?TRILP3:MOV DPTR,#TRITAB;正弦波函数表地址送DPTR MOV A,R0 MOVC A,A+DPTR;查表 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,ATRILP4:JNB TF0,TRILP4;由定时器控制频率 CLR TF0 DEC R0 CJNE R0,#00H,TRILP3;第二象限输出完了吗?,TRILP5:MOV DPTR,#TRITAB;正弦波函数表地址送DPTR MOV A,R0 MOVC A,A+DPTR;查表 CPL A;取反 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,A;输出数据给D/ATRILP6:JNB TF0,TRILP6;由定时器控制频率 CLR TF0 INC R0 CJNE R0,#13H,TRILP6;第三象限输出完了吗?TRILP7:MOV DPTR,#TRITAB;正弦波函数表地址送DPTR MOV A,R0 MOVC A,A+DPTR;查表 CPL A;取反 MOV DPTR,#0FFFEH;IC4地址送DPTR MOVX DPTR,ATRILP8:JNB TF0,TRILP8;由定时器控制频率 CLR TF0 DEC R0 CJNE R0,#00H,TRILP7;第四象限输出完了吗?SJMP TRIWAV;输出下一个周期TRITAB:DB 7FH,86H,8DH,94H,9BH,0A2H,0A9H,0B0H,0B7H,0BEH DB 0C5H,0CCH,0D3H,0DAH,0E1H,0E8H,0EFH,0F6H,0FDH,锯齿波产生程序锯齿波的产生原理前面已讲过,其程序流程图见图10-7所示。图10-7 锯齿波产生程序流程图 图10-8 方波产生程序流程图,程序清单如下:SETB TR0SOWWAV:MOV DPTR,#0FFFEH;IC4地址送DPTR MOV R0,#00H;波形输出初值为0SOWLP1:MOV A,R0 MOVX DPTR,A;输出数据给D/ASOWLP2:JNB TF0,SOWLP2;由定时器控制频率 CLR TF0 INC R0;R0加1 SJMP SOWLP1方波产生程序按照前面方法,方波产生程序流程图见图10-8所示。其程序清单如下:SETB TR0BOXWAV:MOV DPTR,#0FFFEH;IC4地址送DPTRBOXLP1:MOV A,#0FFH;高脉冲 MOVX DPTR,A;输出数据给D/ABOXLP2:JNB TF0,BOXLP2;由定时器控制频率 CLR TF0 MOV A,#00H;低脉冲MOVX DPTR,A;输出数据给D/ABOXLP3:JNB TF0,BOXLP3;由定时器控制频率 CLR TF0 SJMP BOXLP1,键盘管理模块 按前面硬件电路设计,可采用“行扫描”方法对键盘进行管理,首先对键盘进行“全盘扫描”,判断是否有键按下。若有键按下则对键盘进行“逐行扫描”,进行键译码,并将该键的键码读出来,然后按各命令键转到相应的程序进行处理。本波形发生器系统软件将键盘管理分成三部分:键盘全盘扫描部分 键盘的全盘扫描部分主要是判断是否有键按下,其工作原理参见第8章的8.1节。该子程序清单如下:,SCANKEY:MOV A,#0F0HMOV P1,A;P1口行线置为全0,列线置为全1MOV A,P1;读P1口ANL A,#0F0H;列信号在高4位XRL A,#0F0H;判断有键合上否?JZ SCANKEY;无键合上再扫描检查LCALL DELAY;有键合上,调延时子程序去抖动MOV A,#0F0HMOV P1,A;P1口行线置为全0,列线置为全1MOV A,P1;读P1口ANL A,#0F0H;列信号在高4位XRL A,#0F0H;判断有键合上否?JZ SCANKEY;无键合上再扫描检查RET,键盘逐行扫描部分 判断有键按下后,下一步是将判断具体是哪一个键按下,并将其键码读出。不难得到其他按键的特征码:按照上述原理,本逐行扫描程序先逐行扫描获取合上键的行信号和列信号,并组合成特征码,然后按此特征码查表识别该合上键的含义。程序如下:,RDKEY:MOV LINECOD,#0FEH;第一行线置位为低电平,为扫描作准备KEYB1:MOVX A,LINCOD;逐行扫描 MOV P1,A MOV A,P1;读列信号 ANL A,#0F0H;列信号再高4位 MOV ROWCOD,A;列信号暂存ROWCOD CJNE A,#0F0H,KEYB2;该行有键合上,转键译码 MOV A,LINECOD RL A;为扫描下一行做准备 MOV LINECOD,A XRL A,#0EFH;检查是否各行都扫描了一次 JNZ KEYB1;未扫描完一次继续 SJMP KEYRT;退出,KEYB2:MOV A,LINECOD ANL A,#0FH;行信号在低4位 ORL A,ROWCOD;行、列信号拼装 CPL A;取反获得特征码 MOV KEYCH,A;特征码暂存KEYCH MOV KEYBCD,#00H;查表得键值的初值 MOV DPTR,#KEYTBL;置查表起始地址KEYB3:CLR A MOVC A,A+DPTR;查表,得特征码 CJNE A,KEYCH,NEQ;查表得的特征码和按键特征码不等?AJMP EQQ;相等,表示查到,转EQQNEQ:INC KEYBCD;不等,表示未查到,为再查作准备 INC DPTR AJMP KEYB3EQQ:LCALL DEYAY;延时,等待键释放 MOV A,#0F0H;判断键是否释放 MOV P1,A MOV A,P1 ANL A,#0F0H XRL A,#0F0H JNZ EQQ;如果没有释放按键则等待释放KEYRT:RET;已经释放,返回键值在KEYBCD中KEYTBL:DB 81H,82H,42H,22H,84H,44H,24H,88H DB 48H,28H,18H,14H,12H,11H,21H,41H,按键处理部分 由上面键盘逐行扫描得到按键的键值后,要进行相应的处理:由于本键盘只有16个键,所以键值最大为0FH,故首先要判断所得键值是否合法,若所得键值大于0FH,则为非法,应重新读键;由于本键盘是用于选择波形、输入幅值和频率的,09数字键是按了功能键WAVE、AMPLITUDE和FREQUENCY后才能输入,所以在判断按键合法后,若为数字键则丢弃重读,若为功能键则转入相应的程序进行处理。这部分程序流程见图10-9所示。,Y,N,Y,N,图10-9 按键处理程序流程图,这部分程序清单如下:KEYPC:MOV A,KEYBCD;键值送A CLR C SUBB A,#10H JNC KEYBG1;键值大于0FH,转重新读键 SJMP KEYSL1KEYBG1:LJMP RRDKEYKEYSL1:MOV A,KEYBCD CLR C SUBB A,#0AH JNC KEYBG2;键值大于09H,为功能键 LJMP RRDKEY;键值小于0AH,转重新读键KEYBG2:RL A MOV DPTR,#FCTJMP;散转 JMP A+DPTR;转各功能键分支FCTJMP:AJMP WAVSL;A:代表波形选择处理 AJMP AMPSL;B:代表幅值设定处理 AJMP FRQSL;C:代表频率设定处理 AJMP ENTNB;D:代表数据确定处理 AJMP CLRNB;E:代表数据清除处理 AJMP DOTNB;F:代表小数点输入处理,显示模块 显示程序模块主要用于初始化显示、键入数据的显示,其中初始化显示程序在显示电路的调试部分已给出,这里不再重复。下面就键入数据的显示程序作一说明:本显示器由8个7段LED组成。其中,L1L4四位用于显示频率;L5L7三位用于显示幅值,L6的小数点常亮,显示范围是00.0V99.9V,满足本波形发生器的幅值要求;L8用于显示波形类型,1为正弦波,2为方波,3为三角波,4为锯齿波。输入数据通过查表转换为对应显示码,然后存于单片机内存30H37H中。由于采用单片机的串口外接串入并出移位寄存器驱动显示,越早写入串口的数据移到离单片机越远的显示器。这样显示码的存储顺序应和显示器的次序刚好相反,即L8的显示码存于30H中,L7L5的显示码存于31H33H中,L4L1的显示码存于34H37H中。显示时,将30H37H中的显示码依次取出,写入单片机的串口中即可。程序清单如下:,DISP8:MOV R0,#30H;显示指针初始化为指向第1个数 MOV SCON,#00H;将串行口初始化为方式0DISP80:MOV A,R0;显示码送A MOV SBUF,A;由串行口发送到7段LED上显示DISP81:JNB TI,DISP81;等待本次串行输出完成 ACALL DLAY1;延时一段时间 CLR TI;清发送中断标志 INC R0;准备查下一个数 CJNE R0,#38H,LOOP;8个数已输出显示完?未显示完,则继续 RET;已显示完,则退出软件总流程图 对于一个复杂的软件,一定要有一个软件总流程图,以便反映各个软件子模块间的内在联系,表达各个子模块的功能。根据对软件任务的讨论,得到波形发生器的软件总流程图如图10-10所示。,N,Y,N,Y,N,Y,N,Y,N,Y,N,Y,二、各软件模块调试 首先,将源程序进行汇编,若汇编未通过,则汇编程序会提示出错类型,比如操作码错、缺少操作数、跳转出范围、符号未定义、缺少“,”等常见错误。经过修改后再进行汇编,若这时提示汇编成功,保存目标文件,则说明源程序的指令使用没有错误。但并不表示程序没有错误,还必须经过仿真调试,仿真通过才说明程序设计正确。接下来要进行实物仿真调试,在用户电路板上插好仿真头,接好通信电缆,接通电源,运行仿真软件。在进行实物仿真之前,要选择正确的仿真头、通信口、通信协议和波特率等,并设置用户程序空间和数据空间所处的位置(用户板上或仿真器上)。然后,装入前面的提示符显示程序,汇编并执行,若在用户板上的8个七段LED显示器上显示的结果是“123456768”,则说明提提示符程序设计完全正确。其它软件模块的调试方法类似。,10.2.5系统整体调试,一、系统整体调试 在系统的硬件和软件分别调试成功后,可以进行系统的整体调试。先用仿真器进行调试,插好仿真头,接通电源,启动仿真器,将本波形发生器的系统软件装入仿真器中,并运行,调试系统的整体配合的正确性,直到满意为止。二、系统试运行及性能测试 将调试好程序的目标代码,通过编程器写入AT89C51中,并将AT89C51插入用户板上,接通电源,显示器上应显示“12345678”这8个数字。然后通过键盘选择不同的波形、幅值和频率,用示波器观察到的输出信号应和所设定的若一致,则说明系统运行正常。经过一段时间的考机试运行后,可以对系统的性能进行测试。对于本波形发生器来说,用示波器和万用表就可以测试其性能指标。按前面所述设计的波形发生器,能产生一路正弦波、三角波、锯齿波或方波信号,其幅度可在010V内变化,频率可调整,大致为方波频率为0100KHz,锯齿波频率为0200KHz,正弦波和三角波的频率为01.5KHz。,小 结,按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统和典型应用系统等,其中最常见的是典型应用系统。采用单片机解决实际应用时,一般要经历如下几个步骤:提出问题、了解现场、明确指标。进行可行性论证,提出初步方案。提出各分课题的设计方案。设计、调试、修改并完成各分课题的任务。将各分课题组成整体应用系统,并对系统进行总体调试、修改、完善。而研制出一个较完整的单片机产品一般要经过以下几步工作:系统硬件电路设计、组装、调试;系统应用软件的编制、调试;系统应用软件的链接调试、固化、脱机(脱离开发装置)运行。,思考题与习题十,1.构成一个单片机应用系统大体要经过哪些步骤?2.所谓单片机应用系统的开发,其基本含义是什么?3.单片机应用系统的一般开发过程是怎样的?4.单片机开发系统包含哪些基本部分?5.常用的单片机开发系统有哪些类型?各有什么特点?6.就你使用过的单片机开发系统,说说其结构原理和操作特点。7.按照本章所举例的方法,将该波形发生器的软件设计完成。,

    注意事项

    本文(单片机应用系统.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开