第11章单片机应用系统设计及举例_第1页
第11章单片机应用系统设计及举例_第2页
第11章单片机应用系统设计及举例_第3页
第11章单片机应用系统设计及举例_第4页
第11章单片机应用系统设计及举例_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第11章 单片机应用系统设计及举例第11章 单片机应用系统设计及举例主要内容: 本章将首先介绍单片机应用系统设计的开发过程,而后以几个典型的例子介绍单片机应用系统设计。1第11章 单片机应用系统设计及举例2章章 节节11.1 单片机应用系统的开发过程11.2 电子时钟的设计11.3 多路数字电压表的设计11.4 多点温度测量系统设计第11章 单片机应用系统设计及举例11.1 单片机应用系统的开发过程单片机应用系统的开发过程11.1.1 应具备的知识和能力1要具有一定的硬件基础知识2要有一定的动手能力3要具备一定的软件设计能力4要具有综合运用新知识和新技术的能力5要具有搜集、检索、提炼有用知识和

2、资料的能力6要了解生产工艺或制造工艺第11章 单片机应用系统设计及举例11.1.2 单片机应用系统开发的基本过程单片机应用系统开发的基本过程1. 明确系统的任务和功能要求明确系统的任务和功能要求2. 系统的总体方案设计系统的总体方案设计3系统详细设计系统详细设计4系统仿真与制作系统仿真与制作5系统调试与修改系统调试与修改6生成正式系统或产品生成正式系统或产品第11章 单片机应用系统设计及举例11.1.3 单片机应用系统的硬件设计单片机应用系统的硬件设计包括三个部分内容:一是单片机芯片的选择,二是单片包括三个部分内容:一是单片机芯片的选择,二是单片机系统扩展,三是系统配置。机系统扩展,三是系统配

3、置。 硬件系统设计通常要考虑以下几个方面。硬件系统设计通常要考虑以下几个方面。 1程序存储器程序存储器2数据存储器数据存储器3I/O接口接口4译码电路译码电路5总线驱动器总线驱动器6抗干扰电路抗干扰电路第11章 单片机应用系统设计及举例11.1.4 单片机应用系统的软件设计单片机应用系统的软件设计2、软件设计时,应根据系统软件功能的要求,将软、软件设计时,应根据系统软件功能的要求,将软件分成若干个相对独立的部分,并根据它们之间件分成若干个相对独立的部分,并根据它们之间的联系和时间上的关系,设计出软件的总体结构,的联系和时间上的关系,设计出软件的总体结构,画出程序流程框图。画出程序流程框图。 1

4、、软件设计和硬件设计应统一考虑,相结合进行。、软件设计和硬件设计应统一考虑,相结合进行。 3、选择编程语言、选择编程语言,汇编语言和汇编语言和C语言。语言。 4、软件设计时要合理的分配系统资源。资源分配、软件设计时要合理的分配系统资源。资源分配中,定时中,定时/计数器、中断、串行口等分配比较容计数器、中断、串行口等分配比较容易,这里介绍程序存储器和数据存储器的分配。易,这里介绍程序存储器和数据存储器的分配。 第11章 单片机应用系统设计及举例11.2 单片机电子时钟的设计单片机电子时钟的设计本设计电子时钟主要功能为:(1)自动计时功能。(2)能显示计时时间,显示效果良好。(3)有校时功能,能对

5、时间进行校准。扩展功能:(用户自己添加)(4)具有整点报时功能,在整点时使用蜂鸣器进行报时。(5)具有定时闹钟功能,能设定定时闹钟,在时间到时能使蜂鸣器鸣叫。11.2.1 单片机电子时钟的功能要求第11章 单片机应用系统设计及举例11.2.2 总体方案设计总体方案设计11.2.2 总体方案设计总体方案设计单片机电子时钟方案选择主要涉及两个方面:计时方案和单片机电子时钟方案选择主要涉及两个方面:计时方案和显示方案。显示方案。1计时方案第一种是通过单片机内部的定时器/计数器,采用软件编程来实现时钟计时,这种实现的时钟一般称为软时钟 第二种是采用专用的硬件时钟芯片计时,这种实现的时钟一般称为硬时钟。

6、 2显示方案显示通常采用两种方式:LED数码管显示和LCD液晶显示。 第11章 单片机应用系统设计及举例51单片机时钟电路复位电路LED按键51单片机时钟电路复位电路LCD按键时钟芯片软件计时LED显示时钟总体框 硬件定时LCD显示时钟总体框 第11章 单片机应用系统设计及举例11.2.3 软件计时数码管显示时钟硬件电路XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A9

7、22P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C51R35.1kR45.1kR55.1kVCCK2K1K0GNDX1CRYSTALC247uFC347uFC11nFR11k第11章 单片机应用系统设计及举例11.2.4 软件计时数码管显示时钟软件程序1主程序主程序先对显示单元和定时器/计数器初始化

8、,然后重复调用数码管显示模块和按键处理模块,当有键按下时,则转入相应的功能程序,流程如图所示,2数码管显示模块采用软件译码动态显示(见前面)第11章 单片机应用系统设计及举例11.2.4 软件计时数码管显示时钟软件程序3定时器/计数器T0中断服务程序定时器/计数器T0产生时钟。处理如下:定时器/计数器T0选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满,这样就形成了时钟关系。在

9、对各单元计数的同时,把它们的值放到存储单元的指定位置。流程如图所示。第11章 单片机应用系统设计及举例13按键处理设置为:如没有按键,则时钟正常走时。当按K0键一次,时钟暂停走动进入调小时状态,再按K0键一次,进入调分状态,再按K0键一次,回到正常走时;对于K1和K2按键,如果是正常走时,按K1和K2不起作用,如果进入调时或调分状态,按K1可对时或分进行加1操作,小时加到24则回到0,分加到60则回到0;按K2可对时或分进行减1操作,小时减到负则回到23,分减到负则回到59。按键处理模块流程如图所示。4按键处理模块按键处理模块第11章 单片机应用系统设计及举例程序见书程序见书第11章 单片机应

10、用系统设计及举例11.2.5 硬件定时液晶显示时钟硬件电路P27P27P26P25P24P23P22P21P20P26P25P24P23P22P21P20P15P16P17P17P16P15XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3

11、.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LRST5SCLK7I/O6X12X23VCC18VCC21DS1302DS1302X1CRYSTALBAT13VX2CRYSTALC11nFC21nFC31nFR1200K0K1K2R210kR410kR310k第11章 单片机应用系统设计

12、及举例1611.2.6 硬件定时液晶显示时钟软件程序 软件程序划分为以下几个部分:系统主程序、DS1302驱动程序、LCD驱动程序。在主程序中调用DS1302驱动程序和LCD驱动程序,另外在主程序中还包含按键处理。DS1302驱动程序和LCD驱动程序在前面已介绍,这里主要介绍主程序。主程序先是将LCD初始化,其次在LCD显示日期和时间的提示信息,然后进入死循环,在循环中先判断是否有键按下,如按下K0键,则功能单元加1;如按下K1键,则根据功能单元的内容把日期时间相应位加1;如按下K2键,则根据功能单元的内容把日期时间相应位减1;并把修改后的日期时间写入1302(在这个过程中注意日期时间的数据格

13、式的转换)。其次读DS1302日历时钟寄存器,读出的内容存入日期、时间缓冲区;最后把日期、时间缓冲区数转化为ASCII码放入LCD显示缓冲区并调用LCD显示程序显示。流程图如图所示,第11章 单片机应用系统设计及举例程序见书程序见书第11章 单片机应用系统设计及举例11.3 多路数字电压表的设计多路数字电压表的设计11.3.1 多路数字电压表的功能要求多路数字电压表的功能要求如下:(1) 输入电压为8路。(2) 电压值的范畴为05V。(3) 测量的最小分辨率为0.019V,测量误差为0.02V。(4) 能通过显示器显示通道和通道电压,有效位数为小数点后两位第11章 单片机应用系统设计及举例11

14、.3.2 多路数字电压表的总体设计多路数字电压表的总体设计多路数字电压表处理过程如下:先用A/D转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来,另外可以通过按键选择通道。控制系统采用AT89C52单片机,A/D转换器采用ADC0808(0809)。ADC0808(0809)是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196V(5/255)。ADC0808(0809)具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次

15、轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。显示器采用LCD显示器,显示效果好。按键可只设定一个,用于选择显示的当前通道。 第11章 单片机应用系统设计及举例51单片机时钟电路复位电路LCD按键ADC0808总体结构如图所示第11章 单片机应用系统设计及举例11.3.3 多路数字电压表硬件电路P17P16P15P17P16P15P07P07P06P05P04P03P02P01P00P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P27STP23P26P21P22P20P24P25ADDCADDBADDAADDAADDBADDCSTXT

16、AL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/

17、A1326P2.6/A1427U1AT89C52D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016LR110k234567891RP1RESPACK-8OUT121ADD B24ADD A25ADD C23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE22U2ADC0808X1CRYSTALC11nFC21nFC31nFR420056%RV11

18、k50%RV21k第11章 单片机应用系统设计及举例11.3.4 多路数字电压表软件程序1主程序主程序首先是对定时计数器和LCD初始化,在LCD上显示提示信息,然后进入循环,在循环中依次为:调用A/D转换子程序对8个通道转换一次,判通道键是否按下,按下则当前通道地址加1,当前通道值转换成电压值,显示当前通道。流程如图所示。多路数字电压表系统软件程序由主程序、A/D转换子程序和显示驱动程序组成,这里只介绍主程序、A/D转换子程序。第11章 单片机应用系统设计及举例2A/D转换子程序A/D转换子程序用于对ADC0808的8路输入模拟电压进行一次A/D转换,并将转换的数值存入8个相应的存储单元中,流

19、程图如图所示。程序见书第11章 单片机应用系统设计及举例2411.4 多点温度测量系统设计多点温度测量系统设计11.4.1 多点温度测量系统的功能要求多点温度测量系统功能要求:(1) 能够测量多点温度值。(2) 精度0.1。(3) 能通过显示器显示测量点编号和温度值。(4) 可轮流显示各测量点或指定显示某个测量点。第11章 单片机应用系统设计及举例2511.4.2 多点温度测量系统的总体设计多点温度测量系统的总体设计 多路温度测量系统包含以下几个部分:51单片机、时钟电路、复位电路组成的51单片机小系统;多个测温模块;显示温度值的显示模块和按键模块。测温模块由温度传感器组成,温度传感器采用美国

20、DALLAS半导体公司推出的智能温度传感器DS18B20,温度测量范围为-55125,可编程为912位的A/D转换精度,测温分辨率可达0.0625,完全能够满足系统要求。显示器可采用LCD液晶显示器。总体结构如图所示。第11章 单片机应用系统设计及举例2611.4.3 多点温度测量系统的硬件电路ERWRSRSRWED0D7D6D5D4D3D2D1D0D1D2D3D4D5D6D7XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD

21、732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C133PFC233PFC310uFX1CRYSTALR1300D714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016L1

22、16.5DQ2VCC3GND1U3DS18B20-41.0DQ2VCC3GND1U2DS18B20104.9DQ2VCC3GND1U5DS18B20-42.7DQ2VCC3GND1U4DS18B20R25kK1K0#0#1#2#3第11章 单片机应用系统设计及举例2711.4.4 多点温度测量系统的软件程序1主程序主程序 开始 LCD 初始化 调用读选中 DS18B20 温度程序 调用显示温度程序 判读 ROM,还是读温度? 读 ROM 读温度 调用读 ROM 程序 调用显示 ROM 程序 软件程序主要由主程序、读DS18B20模块ROM地址程序、显示DS18B20模块ROM地址、读DS18B

23、20模块温度值程序、显示DS18B20模块温度值程序和LCD、DS18B20模块驱动程序等组成。其主要程序流程如下:第11章 单片机应用系统设计及举例282读ROM地址程序 开始 计算存 ROM 的偏移量 DS18B20 初始化 返回 发读 ROM 命令 读 ROM 存到相应的存储单元 读ROM地址程序处理过程如下: 先计算存放当前DS18B20模块ROM地址的存储单元的偏移地址,然后依次DS18B20初始化、发读ROM命令和读ROM地址到存储单元。 第11章 单片机应用系统设计及举例293显示显示ROM地址程序地址程序 开始 第一行显示提示信息及模块号 计算存 18B20 的 ROM 地址偏移量 返回 依次取 ROM 地址显示在第二行 显示ROM地址程序实现依次从当前存放ROM地址的缓冲区中取出地址显示,显示ROM地址程序流程如图所示。第11章 单片机应用系统设计及举例30读选中DS18B20模块温度值处理过程分三个步

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论