资源预览内容
第1页 / 共99页
第2页 / 共99页
第3页 / 共99页
第4页 / 共99页
第5页 / 共99页
第6页 / 共99页
第7页 / 共99页
第8页 / 共99页
第9页 / 共99页
第10页 / 共99页
亲,该文档总共99页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第9章 单片机应用系统的设计与开发,9.1单片机系统的设计开发过程 9.2单片机系统的可靠性技术 9.3单片机系统设计开发应用举例 9.4单片机串行扩展单元介绍,9.1单片机系统的设计开发过程 9.1.1单片机典型应用系统 9.1.2 单片机应用系统开发过程 9.2单片机系统的可靠性技术 9.3单片机系统设计开发应用举例 9.4单片机串行扩展单元介绍,第9章单片机应用系统的设计与开发,一个完整的单片机应用系统由单片机最小应用系统、前向通道、后向通道、人机交互通道与计算机相互通道组成。,第9章单片机应用系统的设计与开发,单片机最小系统,8031最小应用系统(外扩ROM),最小应用系统具有最简单配置的单片机系统,第9章单片机应用系统的设计与开发,8051和8751最小应用系统,第9章单片机应用系统的设计与开发,是单片机实现外部信息的输入的通道,主要是数据采集单元、信号调理单元等,前向通道,第9章单片机应用系统的设计与开发,是单片机实现外部信息的输出通道,主要有DA转换电路、输出驱动电路等。,后向通道,第9章单片机应用系统的设计与开发,为对应用系统进行干预或了解系统运行状态所设置的交互通道。主要有键盘、显示器等接口电路。,人机对话通道,第9章单片机应用系统的设计与开发,是解决计算机系统之间信息交换目的而建立的数据传输通道,主要为串行口方式。,相互通道,第9章单片机应用系统的设计与开发,9.1单片机系统的设计开发过程 9.1 单片机典型应用系统 9.2 单片机应用系统开发过程 9.2单片机系统的可靠性技术 9.3单片机系统设计开发应用举例 9.4单片机串行扩展单元介绍,第9章单片机应用系统的设计与开发,对于一个实际的课题和项目,从任务的提出到系统的选型、确定、研制直至投入运行要经过一系列的过程。,第9章单片机应用系统的设计与开发,第9章单片机应用系统的设计与开发,第9章单片机应用系统的设计与开发,单片机本身无开发能力,必须借助开发工具开发应用软件。,独立型仿真结构,配备有EPROM读出/写入器、仿真插头和其它外设,通过USB接口与计算机相连。,方法1:通用型单片机开发系统,第9章单片机应用系统的设计与开发,方法2:软件模拟开发系统,基于Proteus(Keil)仿真软件的设计与开发工具,第9章单片机应用系统的设计与开发,9.1单片机系统的设计开发过程 9.2单片机系统的可靠性技术 9.3单片机系统设计开发应用举例 9.4单片机串行扩展单元介绍,第9章单片机应用系统的设计与开发,智能仪器是一种依靠嵌入式计算机技术发展的新型电子测控单元,其基本功能是根据传感器的实时信号和仪器设定的目标参数进行测量与控制。,智能仪器的一种典型形式,第9章单片机应用系统的设计与开发,智能仪器结构: 仪器面板(机箱)+线路板+接线端子。,第9章单片机应用系统的设计与开发,仪器面板:46位数码管显示器、35只薄膜按键和若干只LED状态指示灯组成。 智能仪器通常都不采用09数字按键方案,而是通过【增大】和【减小】两只功能键,与【设置/切换】和【确认】等键配合,实现对智能仪器内置参数的设定与输出控制功能。,第9章单片机应用系统的设计与开发,本例的总体设计目标: 实现1路电压信号实时测量/显示/报警输出功能。 输入信号电压:05VDC AD转换分辨率:8bit 显示信息:1位参数字符+3位十进制采样值。 控制参数:下限报警值(L)和上限报警值(H)。 基本功能:当采样值大于H时,高位报警; 当采样值小于L时,低位报警; 当采样值介于L和H之间时,无报警。,第9章单片机应用系统的设计与开发,参数设置与按键控制功能: 0#键进入或退出参数设置状态键。可先后调出H和L两个参数当前值;当一轮循环完成后可退出参数设置状态; 1#键参数设置确认键。可保存当前参数值,并转入等待下一参数确认状态;当两个参数都轮回后可退出参数设置状态; 2#和3#键增、减键,可对当前参数值加减10计算,并更新显示;若结果值超出0-255范围后可自动循环处理。 要求:只有压下并随后抬起某键时才能认定为按键过程有效(防止连击);只有在参数设置状态下才对1-3#键的动作有响应;在按键未抬起或在参数设置状态未退出期间不能影响对数据采集和控制过程并行结构。,第9章单片机应用系统的设计与开发,动态显示器 四联共阴极数码管,段码通过锁存器74LS245驱动后接于P0口,位码则由4只PNP三极管驱动后接于P2.0P2.3口。,硬件设计部分,第9章单片机应用系统的设计与开发,AD转换器 采用逐次比较方式的芯片ADC0809,其并行数据输出端直接连接于P2口,四个控制端CLOCK、START、EOC和OE分别接于P2.4P2.7。,第9章单片机应用系统的设计与开发,串口键盘 四只按键通过串行输入并行输出移位寄存器74LS164与单片机接口。,第9章单片机应用系统的设计与开发,第9章单片机应用系统的设计与开发,完整电路原理图,程序由两个主要的功能模块组成控制模块(control.c)和菜单模块(menu.c)。 控制模块建立在A/D转换和LED显示的基础上,菜单模块建立在按键检测和LED显示的基础上,而按键检测又建立在串口输出的基础上。,软件设计部分,第9章单片机应用系统的设计与开发,随时都能进入参数设置状态,且不能影响数据采集和控制输出(即使在按键未抬起或在参数设置状态未退出期间。,关键问题是如何使控制模块和菜单“同时”运行,void main() while (1) menu_thread(); control_thread(); ,交替调用两个线程函数: 只有在菜单线程被调用时,菜单里的参数项才会在显示器上刷新,而用户通过键盘对菜单的操作才能够得到程序的响应和处理。 只有控制线程被调用时,才会进行A/D采样并刷新显示器上的内容,控制报警器的动作。,第9章单片机应用系统的设计与开发,main.c中包含两个主模块:,控制线程的代码框架结构:, , ,第9章单片机应用系统的设计与开发,【分析】一般来讲control_thread() 被调用执行时间不会很长,但从用户调用menu_thread()修改若干参数直至退出的过程一定会持续较长的时间。 如果menu_thread() 函数设计成要等到菜单关闭才返回,那么采样和控制的过程一定会受到严重的干扰。,减小菜单函数占用时间的关键在于随时“记住”其当前工作状态,并及时退出菜单函数,而再次进入菜单函数时则应接着前次的状态继续执行。,void main() while (1) menu_thread(); ontrol_thread(); ,第9章单片机应用系统的设计与开发,【要点】采用两个记录菜单状态的变量: _menu_status表示菜单当前状态,其值分别为: MENU_ON (菜单处于进行状态) MENU_OFF (菜单处于关闭状态) _menu_idx表示当前处理的是哪个参数,其值为0MENU_ NUM。 由于是靠记忆菜单状态而不再靠等待,故无论参数设置进行到什么阶段,也无论是否有键被按下,菜单函数都可以尽快结束,待下次进入时按前次退出时的状态继续进行。, 如何记住菜单模块的运行状态,第9章单片机应用系统的设计与开发,菜单线程的代码主要框架:,第9章单片机应用系统的设计与开发,menu_thread()里会调用get_key()以获得被按下的键值。 为满足menu_thread()每次执行的时间都不能很长这一要求,无论是否有键被按下,也无论用户是否按下这个键不抬起,函数get_key()都必须既能检测到按键,又能在很短的时间里返回。,减小get_key()函数占用时间的关键在于随时“记住”其当前工作状态,并及时退出get_key() 函数。而再次进入get_key() 函数时则应接着前次的状态继续执行。,第9章单片机应用系统的设计与开发,【要点】采用记录按键检测状态的变量_key_status ,其值分别为: CHECK_KEY_DOWN(压下检测任务) CHECK_KEY_UP (抬起检测任务) 每个按键的状态由按键状态检测函数_check_key(key_idx) 进行判断,其值分别为: KEY_DOWN(压下) KEY_UP(抬起),如何记住按键检测模块的运行状态,第9章单片机应用系统的设计与开发,基本思路: 只有当某个按键先压下后抬起时,该按键才为当前有效键,输出键值03,否则输出-1。,按键处理程序,第9章单片机应用系统的设计与开发,按键检测原理:,1、低电平送Q7端,同时高电平送到Q6,Q5和Q4。 2、检测P36是否为低电平。如果是,表示第1个按键被按下,否则没按下。 3、以下依次类推,直至按键扫描结束。,第9章单片机应用系统的设计与开发,按键状态检测函数,待查按键_key_idx的键码需通过一个串口输出函数serial()送出,第9章单片机应用系统的设计与开发,整个项目由7个程序文件所组成:六个C语言文件,一个汇编语言文件。,第9章单片机应用系统的设计与开发,实际运行效果,第9章单片机应用系统的设计与开发,第9章单片机应用系统的设计与开发,9.1单片机系统的设计开发过程 9.2单片机系统的可靠性技术 9.3单片机系统设计开发应用举例 9.4单片机串行扩展单元介绍 9.4.1串行AD转换芯片MAX124X及应用 9.4.2串行DA转换芯片LTC145X及应用 9.4.3 串行E2PROM存储器AT24CXX及应用 9.4.4 字符型液晶显示模块LM1602及应用 9.4.5 串行日历时钟芯片DS1302及应用,串行扩展单元具有体积小、占用单片机引脚少、性能和功能全面等特点,是外围接口器件的发展方向。 通过引入几种常用的串口扩展单元以及字符型液晶显示器模块,并介绍其工作原理、接口电路和编程方法,可为学有余力的读者或大学生科技创新活动提供一些实用性较强的应用方案。在此基础上进行灵活组合,即可开发出各种有实用价值的单片机应用系统。 该节可根据读者需要作为选修或自学内容安排。 本次新增的接口器件都是可在Proteus平台上仿真运行的,因而不仅有助于读者学习掌握,也为读者的应用开发打下了坚实基础。,第9章单片机应用系统的设计与开发,第9章单片机应用系统的设计与开发,9.1单片机系统的设计开发过程 9.2单片机系统的可靠性技术 9.3单片机系统设计开发应用举例 9.4单片机串行扩展单元介绍 9.4.1串行AD转换芯片MAX124X及应用 9.4.2串行DA转换芯片LTC145X及应用 9.4.3 串行E2PROM存储器AT24CXX及应用 9.4.4 字符型液晶显示模块LM1602及应用 9.4.5 串行日历时钟芯片DS1302及应用,第9章单片机应用系统的设计与开发,1、原理简介 MAX124X是美国Maxim Integrated Products公司的一种单通道12位串行A/D转换器,包含两种具体型号,即MAX1240和MAX1241。 手册其基本特性,这款芯片具有低功耗(3mW)、高精度(12位)、宽电压(2.75.25V)、体积小(8引脚)和接口简单(3线)等优点。,外部引脚和内部结构框图,第9章单片机应用系统的设计与开发,待检测模拟信号经由AIN送到12位逐次逼近型(SAR)AD转换器中; 在逻辑控制单元、内部时钟单元和参考电压的作用下进行模数转换,结果经输出移位寄存器转为串行数据经由DOUT输出; /SHDN是关断控制(引脚3),低电平时可使AD转换器处于休眠状态以减少功耗; 串行输出过程中,SCLK负责提供移位时钟脉冲,/CS提供低电平使能信号。,第9章单片机应用系统的设计与开发,工作时序,一次完整AD转换过程的时序如下: 先使片选信号/CS拉低,同时保持时钟端SCLK为低电平,本轮AD转换即可启动; AD转换完成后,数据输出端DOUT将由低电平自动翻转为高电平; 在SCLK端送入移位时钟脉冲,下降沿时位数据出现在DOUT端(高
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号