第10章单片机应用系统设计与实例(ghl)课件.ppt

上传人:飞****2 文档编号:69543432 上传时间:2023-01-06 格式:PPT 页数:40 大小:2.80MB
返回 下载 相关 举报
第10章单片机应用系统设计与实例(ghl)课件.ppt_第1页
第1页 / 共40页
第10章单片机应用系统设计与实例(ghl)课件.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《第10章单片机应用系统设计与实例(ghl)课件.ppt》由会员分享,可在线阅读,更多相关《第10章单片机应用系统设计与实例(ghl)课件.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第10章章 单片机应用单片机应用系统设计与实例系统设计与实例东北大学信息学院高宏亮单片机原理及应用单片机原理及应用 第第1010章章 单片机应用系统设计单片机应用系统设计第第10章章 单片机应用系统设计单片机应用系统设计10.1 单片机应用系统的基本结构单片机应用系统的基本结构10.1.1 单片机应用系统的硬件组成单片机应用系统的硬件组成被控对象单片机光电隔离A/D光电隔离光电隔离D/A扩展存储器显示器、键盘接口功能芯片接口数字量输入模拟量输入开关量输入开关量输出模拟量输出输入输出接口I/O接口第第1010章章 单片机应用系统设计单片机应用系统设计10.1.2 单片机应用系统开发的基本过程单

2、片机应用系统开发的基本过程一系统需求与方案调研一系统需求与方案调研 系统需求与方案调研的目的是通过市场或用户了系统需求与方案调研的目的是通过市场或用户了解用户对拟开发应用系统的设计目标和技术指标。通解用户对拟开发应用系统的设计目标和技术指标。通过查找资料,分析研究,解决以下问题:过查找资料,分析研究,解决以下问题:1)了解国内外同类系统的开发水平、器材、设备水了解国内外同类系统的开发水平、器材、设备水平、供应状态;对接收委托研制项目,还应充分了解平、供应状态;对接收委托研制项目,还应充分了解对方技术要求、环境状况、技术水平,以确定课题的对方技术要求、环境状况、技术水平,以确定课题的技术难度。技

3、术难度。2)了解可移植的硬、软件技术。能移植的尽量移植,了解可移植的硬、软件技术。能移植的尽量移植,以防止大量低水平重复劳动。以防止大量低水平重复劳动。3)摸清硬、软件技术难度,明确技术主攻方向。摸清硬、软件技术难度,明确技术主攻方向。4)综合考虑硬、软件分工与配合方案。单片机应用综合考虑硬、软件分工与配合方案。单片机应用系统设计中,硬、软件工作具有密切的相关性。系统设计中,硬、软件工作具有密切的相关性。第第1010章章 单片机应用系统设计单片机应用系统设计 可行性分析的目的是对系统开发研制的必要可行性分析的目的是对系统开发研制的必要性及可行性作出明确的判定结论。根据这一结论性及可行性作出明确

4、的判定结论。根据这一结论决定系统的开发研制工作是否进行下去。决定系统的开发研制工作是否进行下去。可行性分析通常从以下几个方面进行论证:可行性分析通常从以下几个方面进行论证:1)市场或用户的需求情况。市场或用户的需求情况。2)经济效益和社会效益。经济效益和社会效益。3)技术支持与开发环境。技术支持与开发环境。4)现在的竞争力与未来的生命力。现在的竞争力与未来的生命力。二可行性分析二可行性分析第第1010章章 单片机应用系统设计单片机应用系统设计 系统功能设计包括系统总体目标功能的确定及系统功能设计包括系统总体目标功能的确定及系统硬、软件模块功能的划分与协调关系。系统硬、软件模块功能的划分与协调关

5、系。系统功能设计是根据系统硬件、软件功能的划系统功能设计是根据系统硬件、软件功能的划分及其协调关系,确定系统硬件结构和软件结构。分及其协调关系,确定系统硬件结构和软件结构。系统硬件结构设计的主要内容包括单片机系统扩展系统硬件结构设计的主要内容包括单片机系统扩展方案和外围设备的配置及其接口电路方案,最后要方案和外围设备的配置及其接口电路方案,最后要以逻辑框图形式描述出来。系统软件结构设计主要以逻辑框图形式描述出来。系统软件结构设计主要完成的任务是确定出系统软件功能模块的划分及各完成的任务是确定出系统软件功能模块的划分及各功能模块的程序实现的技术方法,最后以结构框图功能模块的程序实现的技术方法,最

6、后以结构框图或流程图描述出来。或流程图描述出来。三系统方案设计三系统方案设计应学会技能应学会技能:网上查找芯片电子手册网上查找芯片电子手册第第1010章章 单片机应用系统设计单片机应用系统设计 系统详细设计与制作就是将前面的系统方案付诸系统详细设计与制作就是将前面的系统方案付诸实施,将硬件框图转化成具体电路,并制作成电路板,实施,将硬件框图转化成具体电路,并制作成电路板,软件框图或流程图用程序加以实现。软件框图或流程图用程序加以实现。四系统详细设计与制作四系统详细设计与制作第第1010章章 单片机应用系统设计单片机应用系统设计应学会技能应学会技能:购买芯片、接插件购买芯片、接插件(电子市场购买

7、或邮购电子市场购买或邮购)画画PCB电路板,画器件封装电路板,画器件封装第第1010章章 单片机应用系统设计单片机应用系统设计六生成正式系统或产品六生成正式系统或产品 系统硬件、软件调试通过后,就可以把调试完毕的系统硬件、软件调试通过后,就可以把调试完毕的软件固化在软件固化在EPROM中,然后脱机中,然后脱机(脱离开发系统脱离开发系统)运行。运行。如果脱机运行正常,再在真实环境或模拟真实环境下如果脱机运行正常,再在真实环境或模拟真实环境下运行,经反复运行正常,开发过程即告结束。运行,经反复运行正常,开发过程即告结束。系统调试是检测所设计系统的正确性与可靠性的系统调试是检测所设计系统的正确性与可

8、靠性的必要过程。单片机应用系统设计是一个相当复杂的劳必要过程。单片机应用系统设计是一个相当复杂的劳动过程,在设计、制作中,难免存在一些局部性问题动过程,在设计、制作中,难免存在一些局部性问题或错误。系统调试可发现存在的问题和错误,以便及或错误。系统调试可发现存在的问题和错误,以便及时地进行修改。调试与修改的过程可能要反复多次,时地进行修改。调试与修改的过程可能要反复多次,最终使系统试运行成功,并达到设计要求。最终使系统试运行成功,并达到设计要求。五系统调试与修改五系统调试与修改第第1010章章 单片机应用系统设计单片机应用系统设计10.2 单片机应用系统的硬件设计单片机应用系统的硬件设计10.

9、2.1 硬件系统设计原则硬件系统设计原则 一个单片机应用系统的硬件电路设计包括三个部分一个单片机应用系统的硬件电路设计包括三个部分内容:一是单片机芯片的选择,二是单片机系统扩展,内容:一是单片机芯片的选择,二是单片机系统扩展,三是系统配置。三是系统配置。一、单片机芯片的选择一、单片机芯片的选择二、单片机系统扩展二、单片机系统扩展 单片机系统扩展是指单片机内部的功能单元单片机系统扩展是指单片机内部的功能单元(如程如程序存储器、数据存储器、序存储器、数据存储器、I/O口、定时器口、定时器/计数器、中计数器、中断系统等断系统等)的容量不能满足应用系统的要求时,必须的容量不能满足应用系统的要求时,必须

10、在片外进行扩展,这时应选择适当的芯片,设计相应在片外进行扩展,这时应选择适当的芯片,设计相应的扩展连接电路;系统配置是按照系统功能要求配置的扩展连接电路;系统配置是按照系统功能要求配置外围设备,如键盘、显示器、打印机、外围设备,如键盘、显示器、打印机、A/D转换器、转换器、D/A转换器等,设计相应的接口电路。转换器等,设计相应的接口电路。第第1010章章 单片机应用系统设计单片机应用系统设计三、系统配置三、系统配置 系统扩展和配置设计遵循的原则:系统扩展和配置设计遵循的原则:(1)尽可能选择典型通用的电路,并符合单片机的常尽可能选择典型通用的电路,并符合单片机的常规用法。规用法。(2)系统的扩

11、展与外围设备配置的水平应充分满足应系统的扩展与外围设备配置的水平应充分满足应用系统当前的功能要求,并留有适当余地,便于以后用系统当前的功能要求,并留有适当余地,便于以后进行功能的扩充。进行功能的扩充。(3)硬件结构应结合应用软件方案一并考虑。硬件结构应结合应用软件方案一并考虑。(4)整个系统中相关的器件要尽可能做到性能匹配。整个系统中相关的器件要尽可能做到性能匹配。(5)可靠性及抗干扰设计是硬件设计中不可忽视的一可靠性及抗干扰设计是硬件设计中不可忽视的一部分。部分。(6)单片机外接电路较多时,必须考虑其驱动能力。单片机外接电路较多时,必须考虑其驱动能力。第第1010章章 单片机应用系统设计单片

12、机应用系统设计10.2.2 硬件设计硬件设计1)程序存储器程序存储器2)数据存储器数据存储器3)I/O接口接口4)译码电路译码电路5)总线驱动器总线驱动器6)抗干扰电路抗干扰电路第第1010章章 单片机应用系统设计单片机应用系统设计10.3 单片机应用系统的软件设计单片机应用系统的软件设计 一个应用系统中的软件一般是由系统监控程序和一个应用系统中的软件一般是由系统监控程序和应用程序两部分构成的。其中,应用程序是用来完成应用程序两部分构成的。其中,应用程序是用来完成诸如测量、计算、显示、打印、输出控制等各种实质诸如测量、计算、显示、打印、输出控制等各种实质性功能的软件;系统监控程序是控制单片机系

13、统按预性功能的软件;系统监控程序是控制单片机系统按预定操作方式运行的程序,它负责组织调度各应用程序定操作方式运行的程序,它负责组织调度各应用程序模块,完成系统自检、初始化、处理键盘命令、处理模块,完成系统自检、初始化、处理键盘命令、处理接口命令、处理条件触发和显示等功能。接口命令、处理条件触发和显示等功能。第第1010章章 单片机应用系统设计单片机应用系统设计 软件设计时,应根据系统软件功能要求,将软件软件设计时,应根据系统软件功能要求,将软件分成若干个相对独立的部分,并根据它们之间的联系分成若干个相对独立的部分,并根据它们之间的联系和时间上的关系,设计出软件的总体结构,画出程序和时间上的关系

14、,设计出软件的总体结构,画出程序流程框图。画流程框图时还要对系统资源作具体的分流程框图。画流程框图时还要对系统资源作具体的分配和说明。根据系统特点和用户的了解情况选择编程配和说明。根据系统特点和用户的了解情况选择编程语言,现在一般用汇编语言和语言,现在一般用汇编语言和C语言。语言。汇编语言编写程序对硬件操作很方便,编写的程汇编语言编写程序对硬件操作很方便,编写的程序代码短,以前单片机应用系统软件主要用汇编语言序代码短,以前单片机应用系统软件主要用汇编语言编写;编写;C语言功能丰富,表达能力强,使用灵活方便,语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,现在单片应

15、用面广,目标程序效率高,可移植性好,现在单片机应用系统开发很多都用机应用系统开发很多都用C语言来进行开发和设计。语言来进行开发和设计。第第1010章章 单片机应用系统设计单片机应用系统设计10.3.1 软件设计的特点软件设计的特点一个优秀的应用系统的软件应具有以下特点:一个优秀的应用系统的软件应具有以下特点:(1)软件结构清晰、简捷、流程合理。软件结构清晰、简捷、流程合理。(2)各功能程序实现模块化,系统化。这样,既便于各功能程序实现模块化,系统化。这样,既便于调试、连接,又便于移植、修改和维护。调试、连接,又便于移植、修改和维护。(3)运行状态实现标志化管理。各个功能程序运行状运行状态实现标

16、志化管理。各个功能程序运行状态、运行结果以及运行需求都设置状态标志以便查询,态、运行结果以及运行需求都设置状态标志以便查询,程序的转移、运行、控制都可通过状态标志来控制。程序的转移、运行、控制都可通过状态标志来控制。(4)实现全面软件抗干扰设计。软件抗干扰是计算机实现全面软件抗干扰设计。软件抗干扰是计算机应用系统提高可靠性的有力措施。应用系统提高可靠性的有力措施。(5)为了提高运行的可靠性,在应用软件中设置自诊为了提高运行的可靠性,在应用软件中设置自诊断程序,在系统运行前先运行自诊断程序,用以检查断程序,在系统运行前先运行自诊断程序,用以检查系统各特征参数是否正常。系统各特征参数是否正常。第第

17、1010章章 单片机应用系统设计单片机应用系统设计10.3.3 单片机应用系统开发工具单片机应用系统开发工具 一个单片机应用系统经过总体设计,完成硬件一个单片机应用系统经过总体设计,完成硬件开发和软件设计,就进行硬件安装。硬件安装好后,开发和软件设计,就进行硬件安装。硬件安装好后,把编制好的程序写入存储器中,调试好后系统就可以把编制好的程序写入存储器中,调试好后系统就可以运行了。运行了。但用户设计的应用系统本身并不具备自开发的能但用户设计的应用系统本身并不具备自开发的能力,不能够写入程序和调试程序,这必须借助于单片力,不能够写入程序和调试程序,这必须借助于单片机开发系统才能完成这些工作。单片机

18、开发系统是能机开发系统才能完成这些工作。单片机开发系统是能够模拟用户实际的单片机,并且能随时观察运行的中够模拟用户实际的单片机,并且能随时观察运行的中间过程和结果,从而能对现场进行模仿的仿真开发系间过程和结果,从而能对现场进行模仿的仿真开发系统。通过它能很方便的对硬件电路进行诊断和调试,统。通过它能很方便的对硬件电路进行诊断和调试,得到正确的结果。得到正确的结果。第第1010章章 单片机应用系统设计单片机应用系统设计 目前国内使用的通用单片机的仿真开发系统很多,目前国内使用的通用单片机的仿真开发系统很多,如如复旦大学研制的复旦大学研制的SICE系列系列启东计算机厂制造的启东计算机厂制造的DVC

19、C系列系列中国科大研制的中国科大研制的KDV系列系列南京伟福公司的各系列南京伟福公司的各系列上海星研公司的各系列等。上海星研公司的各系列等。它们都具有程序输入、编辑、汇编和调试的功能。它们都具有程序输入、编辑、汇编和调试的功能。此外,有些还具备在线仿真功能,能够直接将程序此外,有些还具备在线仿真功能,能够直接将程序固化到固化到EEPROM中。一般都支持汇编语言编程,有中。一般都支持汇编语言编程,有的可以通过开发软件,支持的可以通过开发软件,支持C语言编程。例如可通过语言编程。例如可通过Keil C51软件来编写软件来编写C语言源程序,编译连接生成目语言源程序,编译连接生成目标文件、可执行文件,

20、仿真、调试、生成代码并下标文件、可执行文件,仿真、调试、生成代码并下载到应用系统中。载到应用系统中。第第11章章 单片机应用单片机应用系统设计实例系统设计实例 东北大学信息学院高宏亮2011年单片机原理及应用单片机原理及应用 第第1010章章 单片机应用系统设计单片机应用系统设计第第11章章 单片机应用系统设计实例单片机应用系统设计实例 11.1 单片机电子时钟的设计单片机电子时钟的设计 通常通过用单片机设计电子时钟有两种方法:通常通过用单片机设计电子时钟有两种方法:一是通过单片机内部的定时器一是通过单片机内部的定时器/计数器。这种方法计数器。这种方法硬件线路简单,采用软件编程实现时钟计数,一

21、般硬件线路简单,采用软件编程实现时钟计数,一般称为软时钟。系统的功能一般与软件设计相关,通称为软时钟。系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合;常用在对时间精度要求不高的场合;二是采用时钟芯片,它的功能强大,功能部件集二是采用时钟芯片,它的功能强大,功能部件集成在芯片内部,自动产生时钟等相关功能。硬件成成在芯片内部,自动产生时钟等相关功能。硬件成本相对较高,软件编程简单。通常用在对时钟精度本相对较高,软件编程简单。通常用在对时钟精度要求较高的场合。要求较高的场合。11.1.1 软时钟的基本原理软时钟的基本原理第第1010章章 单片机应用系统设计单片机应用系统设计 软时钟是

22、利用单片机内部的定时器软时钟是利用单片机内部的定时器/计数器来实计数器来实现,它的处理过程如下:首先设定单片机内部的现,它的处理过程如下:首先设定单片机内部的一个定时器一个定时器/计数器工作于定时方式,对机器周期计数器工作于定时方式,对机器周期计数形成基准时间(如计数形成基准时间(如10ms),然后用另一个定),然后用另一个定时器时器/计数器或软件计数的方法对基准时间计数形计数器或软件计数的方法对基准时间计数形成秒(对成秒(对10ms计数计数100次),秒计次),秒计60次形成分,分次形成分,分计计60次形成小时,小时计次形成小时,小时计24次则计满一天。然后次则计满一天。然后通过数码管把它们

23、的内容在相应位置显示出来即通过数码管把它们的内容在相应位置显示出来即可。可。第第1010章章 单片机应用系统设计单片机应用系统设计11.1.2 系统硬件电路的设计系统硬件电路的设计图11.1电子时钟电路原理图第第1010章章 单片机应用系统设计单片机应用系统设计 电子时钟的软件系统由主程序和子程序组成,电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数主程序程序包含初始化参数设置、按键处理、数码管显示模块等,在设计时各个模块都采用子程码管显示模块等,在设计时各个模块都采用子程序结构设计,在主程序中调用。由于定时器序结构设计,在主程序中调用。由于定时器/计数计数器

24、采用中断方式处理,因此还要编写定时器器采用中断方式处理,因此还要编写定时器/中断中断服务子程序,在定时器服务子程序,在定时器/计数器中断服务程序中对计数器中断服务程序中对时钟进行调整。时钟进行调整。第第1010章章 单片机应用系统设计单片机应用系统设计11.1.3 系统软件程序的设计系统软件程序的设计 电子时钟的软件系统由主程序和子程序组成,电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数主程序程序包含初始化参数设置、按键处理、数码管显示模块等,在设计时各个模块都采用子程码管显示模块等,在设计时各个模块都采用子程序结构设计,在主程序中调用。由于定时器序结构设计

25、,在主程序中调用。由于定时器/计数计数器采用中断方式处理,因此还要编写定时器器采用中断方式处理,因此还要编写定时器/中断中断服务子程序,在定时器服务子程序,在定时器/计数器中断服务程序中对计数器中断服务程序中对时钟进行调整。时钟进行调整。一主程序一主程序主程序执行流程如图主程序执行流程如图11.2,主程序先对显示单元和,主程序先对显示单元和定时器定时器/计数器初始化,然后重复调用数码管显示模计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功块和按键处理模块,当有键按下,则转入相应的功能程序。能程序。第第1010章章 单片机应用系统设计单片机应用系统设计图11.2

26、主程序流程图第第1010章章 单片机应用系统设计单片机应用系统设计 本系统共用本系统共用8个数码管,从右到左依次显示秒个位、个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十秒十位、横线、分个位、分十位、横线、时个位和时十位。数码管显示的信息用位。数码管显示的信息用8个内存单元存放,这个内存单元存放,这8个内存个内存单元称为显示缓冲区,其中秒个位和秒十位、分个位和单元称为显示缓冲区,其中秒个位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分数据和小时分十位、时个位和时十位分别由秒数据、分数据和小时数据分拆得到。数据分拆得到。本系统中数码管显示采用软件译码

27、动态显示。在存本系统中数码管显示采用软件译码动态显示。在存储器中首先建立一张显示信息的字段码表,显示时,先储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在从显示缓冲区中取出显示的信息,然后通过查表程序在字段码表中查出所显示的信息的字段码,从字段码表中查出所显示的信息的字段码,从P0口输出,口输出,同时在同时在P2口将对应的位选码输出选中显示的数码管,就口将对应的位选码输出选中显示的数码管,就能在相应的数码管上显示显示缓冲区的内容。能在相应的数码管上显示显示缓冲区的内容。二数码管显示模块二数码管显示模块第第1010章章 单片机应用系统设计单片机应用

28、系统设计定时器定时器/计数器计数器T0用于时间计时。选择方式用于时间计时。选择方式1,重复定时,定时时间设为重复定时,定时时间设为50ms,定时时间到则中断,定时时间到则中断,在中断服务程序中用一个计数器对在中断服务程序中用一个计数器对50ms计数,计计数,计20次次则对秒单元加则对秒单元加1,秒单元加到,秒单元加到60则对分单元加则对分单元加1,同时,同时秒单元清秒单元清0;分钟单元加到;分钟单元加到60则对时单元加则对时单元加1,同时分,同时分钟单元清钟单元清0;小时单元加到;小时单元加到24则对时单元清则对时单元清0,标志一,标志一天时间计满。天时间计满。在对各单元计数的同时,把它们的值

29、放到存储单在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器元的指定位置。定时器/计数器计数器T0中断服务程序流程中断服务程序流程图如图图如图11.3 所示。所示。三定时器三定时器/计数器计数器T0中断服务程序中断服务程序第第1010章章 单片机应用系统设计单片机应用系统设计开始现场保护,重置初值启动下一个50ms50ms 计数器加1秒单元加1,50ms计数器清0,秒写入秒个位和秒十位50ms 计数器=20?否是分单元加1,秒单元清0,分写入分个位和分十位秒单元=60?时单元加1,分单元清0,时写入时个位和时十位分单元=60?时单元清0时单元=24?中断返回否否否是是是图11.3

30、T0定时中断函数流程图第第1010章章 单片机应用系统设计单片机应用系统设计四按键处理模块四按键处理模块按键处理设置为:如没有按键,则时钟正常走按键处理设置为:如没有按键,则时钟正常走时。当按下时。当按下K0按键时,进入调分状态,时钟停止走按键时,进入调分状态,时钟停止走动;按动;按K1可可K2按键可进行加按键可进行加1或减或减1操作;继续按操作;继续按K0键可分别进行分和小时的调整;最后按键可分别进行分和小时的调整;最后按K0键将退键将退出调整状态,时钟开始计时运行。出调整状态,时钟开始计时运行。五五C语言源程序清单语言源程序清单第第1010章章 单片机应用系统设计单片机应用系统设计#inc

31、lude reg51.h#define uchar unsigned char/共阳数码管显示码共阳数码管显示码,0-9,全灭和全灭和-的字码的字码uchar code dis_712=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 xb2,0 xf8,0 x80,0 x90,0 xff,0 xbf;/键盘位选择码键盘位选择码uchar code scan_con8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/显示缓冲区显示缓冲区,小时小时,分钟分钟,秒,秒,-对应显示码第对应显示码第12个位置,对应内个位置,对

32、应内容为容为11(以以0起始起始)uchar data dis8=0,0,11,0,0,11,0,0;/从右向左的显示缓冲区从右向左的显示缓冲区uchar data timedata3=0,0,0;/秒秒,分钟分钟,小时数值变量小时数值变量uchar data ms50=0;/50ms中断发生次数计数中断发生次数计数uchar data con=0;/当前修改时间位置当前修改时间位置(0:不调整不调整,1:秒秒,2:分钟分钟,3:小时小时)uchar data con1=0;/临时变量临时变量uchar data con2=0;/临时变量临时变量sbit key0=P10;/键扫描线键扫描线,

33、key0为调时选择键为调时选择键sbit key1=P11;/键扫描线键扫描线,key1为调节加为调节加1键键sbit key2=P12;/键扫描线键扫描线,key2为调节减为调节减1键键第第1010章章 单片机应用系统设计单片机应用系统设计void delay1ms(int t)/1ms延时函数延时函数int i,j;for(i=0;it;i+)for(j=0;j1000;j+);/时钟晶振时钟晶振12Mhz,一个机器周期一个机器周期1usvoid scan()/数码管显示函数数码管显示函数uchar k=0;dis0=timedata0%10;/秒个位数字秒个位数字dis1=timedat

34、a0/10;/秒十位数字秒十位数字dis3=timedata1%10;/分钟个位数字分钟个位数字dis4=timedata1/10;/分钟十位数字分钟十位数字dis6=timedata2%10;/小时个位数字小时个位数字dis7=timedata2/10;/小时十位数字小时十位数字for(k=0;k=3)con=0;TR0=1;ET0=1;/移到最高位后处理移到最高位后处理if(con!=0)/不为零,表示为调表状态不为零,表示为调表状态if(key1=0)/key1键已按下键已按下delay1ms(10);/延时延时10mswhile(key1=0);/等待等待key1键抬起键抬起timed

35、atacon+;/内容加内容加1 /con1表示调整内容的循环上限表示调整内容的循环上限if(con=2)con1=24;/调整小时,上限为调整小时,上限为24else con1=60;/调整分钟和秒,上限为调整分钟和秒,上限为60if(timedatacon=con1)timedatacon=0;/调整调整第第1010章章 单片机应用系统设计单片机应用系统设计if(con!=0)/不为零,表示为调表状态不为零,表示为调表状态if(key2=0)/key2键已按下键已按下delay1ms(10);/延时延时10mswhile(key2=0);/等待等待key2键抬起键抬起timedatacon

36、-;/内容减内容减1 /con2表示调整内容的从零再减表示调整内容的从零再减1时的值时的值if(con=2)con1=23;/调整小时,变为调整小时,变为23else con1=59;/调整分钟和秒,变为调整分钟和秒,变为59if(timedatacon=0)timedatacon=con2;/调整内容调整内容EA=1;/重新开启中断重新开启中断第第1010章章 单片机应用系统设计单片机应用系统设计void main()TH0=0 x3c;/初始化初始化Timer0计数值计数值,0 x3CB0对应计数周期对应计数周期50000,12MHz晶振,机器周期晶振,机器周期1us,Timer0中断周期

37、为中断周期为50msTL0=0 xb0;TMOD=0 x01;/设置设置Timer0工作模式工作模式1ET0=1;/使能定时器使能定时器0中断中断TR0=1;/启动定时器启动定时器0EA=1;/开启单片机整体中断开启单片机整体中断while(1)scan();/数码管显示数码管显示keyscan();/扫描键盘扫描键盘第第1010章章 单片机应用系统设计单片机应用系统设计void time_int0(void)interrupt 1/Timer0中断响应函数中断响应函数ET0=0;/关闭中断关闭中断TR0=0;/关闭定时器关闭定时器Timer0TH0=0 x3c;TL0=0 xb0;/再次给定

38、时器赋值再次给定时器赋值TR0=1;/开启定时器开启定时器Timer0ms50+;/50ms计数变量加计数变量加1if(ms50=20)/当计数值达到当计数值达到20,达到达到1mms50=0;/清零清零timedata0=+;/秒变量加秒变量加1if(timedata0=60)/秒数达到秒数达到60timedata0=0;timedata1+;/更新更新if(timedata1=60)/分钟数达到分钟数达到60timedata1=0;timedata2+;/更新更新if(timedata2=24)/小时数达到小时数达到60timedata2=0;/更新更新ET0=1;第第1010章章 单片机

39、应用系统设计单片机应用系统设计11.2 多路数字电压表的设计多路数字电压表的设计11.2.1 多路数字电压表的原理及功能多路数字电压表的原理及功能 多路数字式电压表应用系统主要利用多路数字式电压表应用系统主要利用A/D转换器,转换器,处理过程如下:处理过程如下:先用先用A/D转换器对各路电压值进行采样,得到相转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示到对应的模拟电压值,然后把模拟值通过显示器显示出来。设计时假设待测的输入电压为出来。设计时假设待测的输入电压为8路,电

40、压值的路,电压值的范畴为范畴为05V,要求能在四位,要求能在四位LED数码管上轮流显示数码管上轮流显示或单路选择显示。测量的最小分辨率为或单路选择显示。测量的最小分辨率为0.019V,测量,测量误差为误差为 0.02V。第第1010章章 单片机应用系统设计单片机应用系统设计 根据系统的功能要求,控制系统采用根据系统的功能要求,控制系统采用AT89C52单单片机,片机,A/D转换器采用转换器采用ADC0809。ADC0809是是8位的位的A/D转换器。当输入电压为转换器。当输入电压为5.00V时,输出的数据值为时,输出的数据值为255(0FFH),因此最大分辨率为),因此最大分辨率为0.0196

41、V(5/255)。)。ADC0809的具有的具有8路模拟量输入端口,通过路模拟量输入端口,通过3位地址输位地址输入端能从入端能从8路中选择一路进行转换。如每隔一段时间路中选择一路进行转换。如每隔一段时间轮流依次改变轮流依次改变3位地址输入端的地址,就能依次对位地址输入端的地址,就能依次对8路路输入电压进行测量。输入电压进行测量。LED数码管显示采用软件译码动数码管显示采用软件译码动态显示。通过按键选择可态显示。通过按键选择可8路循环显示,也可单路显路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。示,单路显示可通过按键选择显示的通道数。第第1010章章 单片机应用系统设计单片机应用

42、系统设计11.2.2 系统硬件电路的设计系统硬件电路的设计第第1010章章 单片机应用系统设计单片机应用系统设计11.2.3 系统软件程序的设计系统软件程序的设计1主程序主程序 主程序包含初始化部分、调用主程序包含初始化部分、调用A/D转换子程序和调用转换子程序和调用显示程序,如下图。初始化包含存放通道数据的缓冲区显示程序,如下图。初始化包含存放通道数据的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位环显示,系统设置了一个标志位00H控制,初始化时控制,初始化时00H位设置为位设置为0,默认为循环显示,当它为,

43、默认为循环显示,当它为1时改变为单时改变为单路显示控制,路显示控制,00H位通过单路位通过单路/循环按键控制。循环按键控制。开始初始化调用A/D转换子程序调用显示子程序第第1010章章 单片机应用系统设计单片机应用系统设计2A/D转换子程序转换子程序 A/D转换子程序用于对转换子程序用于对ADC0809八路输入模拟电压八路输入模拟电压进行进行A/D转换,并将转换的数值存入转换,并将转换的数值存入8个相应的存储单个相应的存储单元中,如下图。元中,如下图。A/D转换子程序每隔一定时间调用一转换子程序每隔一定时间调用一次,也即隔一段时间对输入电压采样一次。次,也即隔一段时间对输入电压采样一次。开始启

44、动一次转换取数据(OE=0)0809通道地址加1结束地址数小于8?A/D转换结束EOC=1?第第1010章章 单片机应用系统设计单片机应用系统设计4显示子程序显示子程序 显示子程序首先把温度转换子程序得到的值变换后显示子程序首先把温度转换子程序得到的值变换后放入显示缓冲区,然后调用四位数码管动态显示程序放入显示缓冲区,然后调用四位数码管动态显示程序显示。显示。5C语言源程序清单语言源程序清单(略略)第第1010章章 单片机应用系统设计单片机应用系统设计本章小结本章小结n单片机应用系统的基本结构单片机应用系统的基本结构(硬件、软件硬件、软件)n单片机系统的单片机系统的设计开发流程设计开发流程n单片机电子时钟的设计单片机电子时钟的设计(LED动态扫描显示动态扫描显示,键盘键盘控制控制,时钟逻辑实现时钟逻辑实现)n多路数字电压表的设计多路数字电压表的设计(AD转换转换,数字显示数字显示)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁