《片机应用系统的设计与实例.ppt》由会员分享,可在线阅读,更多相关《片机应用系统的设计与实例.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第9章 单片机应用系统的设计与实例 主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞 单片机原理及应用教程第9章 单片机应用系统的设计与实例第9章 单片机应用系统的设计与实例 9.1 单片机应用系统的设计方法9.2 单片机应用系统的开发过程9.3 单片机系统应用实例第9章单片机应用系统的设计与实例第9章 单片机应用系统的设计与实例 9.1 单片机应用系统的设计方法 单片机应用系统设计的一般过程 第9章 单片机应用系统的设计与实例 9.1 单片机应用系统的设计方法系统总体方案的确定可行性调研 系统总体方案设计 设计方案细化 第9章 单片机应用系统的设计与实例 9.1 单片机应用系统的设计方
2、法应用系统的硬件设计 确定各输入输出数据的传送方式是中断方式、查询方式还是无条件方式等。根据系统需要确定使用何种结构,确定系统中主要电路是最小系统,还是扩展系统。除单片机外,系统中还需要哪些扩展芯片、模拟电路等。资源分配:各输入输出信号分别使用哪个并行口、串行口、中断、定时器/计数器等。电路连接:根据以上各步完成完整的线路连接图。第9章 单片机应用系统的设计与实例 9.1 单片机应用系统的设计方法应用系统的软件设计 划分功能模块及安排程序结构。例如,根据系统的任务,将程序大致划分成数据采集模块、数据处理模块、非线性补偿模块、报警处理模块、标度变换模块、数据控制、计算模块、控制器输出模块、故障诊
3、断模块等,并规定每个模块的任务及其相互间的关系。画出各程序模块详细流程图。选择合适的语言(如高级语言或汇编语言)编写程序。编写时尽量采用现有模块子程序,以提高程序设计速度。将各个模块连结成一个完整的程序。第9章 单片机应用系统的设计与实例 9.1 单片机应用系统的设计方法应用系统的抗干扰设计电压检测及掉电保护技术 切断来自传感器、各功能模块部分的干扰 对系统中用到的元器件要进行筛选,要选择标准化以及互换性好的器件或电路 电路设计时要注意电平匹配 软件的抗干扰设计 加密保护技术 第9章 单片机应用系统的设计与实例 9.2 单片机应用系统的开发过程 单片机的开发与开发工具 单片机的开发是一门综合技
4、能,需要相关的数学基础知识、模拟及数字电子技术基础知识,甚至是计算机控制技术、智能控制等知识。单片机的开发是一项实践性很强的技能,只有不断的动手实践才能掌握,因此一般需要有计算机及相关的开发工具,如编程器、实验板等。单片机学习的初期如果有人指点则可以事半功倍、少走弯路。单片机入门后技能的提高只能靠自己的勤奋与努力,很少有人能帮得上忙 第9章 单片机应用系统的设计与实例 9.2 单片机应用系统的开发过程单片机开发系统的功能 在线仿真功能单片机仿真功能 模拟功能 调试功能允许控制功能 对目标系统状态的读出修改功能 跟踪功能 辅助设计功能 第9章 单片机应用系统的设计与实例 9.2 单片机应用系统的
5、开发过程单片机应用系统的调试、运行与维护调试工具 硬件调试 软件调试 运行与维护 第9章 单片机应用系统的设计与实例 9.3 单片机系统应用实例电阻炉温度控制系统 在很多行业有大量的用电加热设备,如用于热处理的加热炉,用于融化金属的坩埚电阻炉及各种不同用途的温箱等,人们都需要对它们的温度进行监测和控制。采用单片机对它们进行控制不仅具有控制方便、简单和灵活性大等特点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,智能化温度控制技术正被广泛地采用。对电阻炉温度控制,可以采用适用于工业控制的8051单片机组成的控制系统。该系统的被测参数是电阻炉的温度,由单片机PID运
6、算得出的控制量去控制双向可控硅的导通和关断,以便切断或接通加热电源,调整电工功率,从而控制电阻炉的温度稳定在设定值上。本系统采用过零触发方式,干扰小、器件运行可靠,同时省去了传统的D/A变换器件,简化了硬件设备。第9章 单片机应用系统的设计与实例 1.系统组成及工作原理 图所示为电阻炉温度控制系统原理图。图中主要包括图所示为电阻炉温度控制系统原理图。图中主要包括8051单片机、温度检测元件和变送器、单片机、温度检测元件和变送器、A/D转换器、键盘转换器、键盘与显示电路、温度控制电路和报警电路等几个部分。因为与显示电路、温度控制电路和报警电路等几个部分。因为8051单片机内部有单片机内部有4K字
7、节的程序存储器,空间足够,所以字节的程序存储器,空间足够,所以不必再扩展程序存储器。其工作过程为,热电偶可将检测不必再扩展程序存储器。其工作过程为,热电偶可将检测的温度转变成的温度转变成mV级的电压信号,经温度变送器放大后,级的电压信号,经温度变送器放大后,送入送入A/D转换器,转换成数字量送入计算机,与设定值进转换器,转换成数字量送入计算机,与设定值进行比较,经行比较,经PID调节后,输出驱动信号,控制可控硅的导调节后,输出驱动信号,控制可控硅的导通与关断,从而达到调节温度的目的。若检测的实际值与通与关断,从而达到调节温度的目的。若检测的实际值与设定值相比较越限,则产生报警信号。设定值相比较
8、越限,则产生报警信号。第9章 单片机应用系统的设计与实例 1.系统组成及工作原理图9.2 电阻炉温度控制系统原理图第9章 单片机应用系统的设计与实例 1.系统组成及工作原理(1)温度检测元件和变送器温度检测元件和变送器 温度检测元件和变送器的类型选择与被控温度及精度温度检测元件和变送器的类型选择与被控温度及精度等级有关。等级有关。01000范围内的温度可以选用镍铬范围内的温度可以选用镍铬/镍铝热电镍铝热电偶,其输出电压为偶,其输出电压为mV。这个信号比较小,故需要变送器。这个信号比较小,故需要变送器将其变换成将其变换成A/D转换器所需的电压范围。转换器所需的电压范围。变送器由毫伏变送器和电流变
9、送器由毫伏变送器和电流/电压变送器组成。毫伏变电压变送器组成。毫伏变送器用于把热电偶输出的送器用于把热电偶输出的mV变换成变换成010mA范围内的电流;范围内的电流;电流电流/电压变送器用于把毫伏变送器输出的电压变送器用于把毫伏变送器输出的010mA电流变电流变换成换成05V范围内的电压。为了提高测量精度,变送器可以范围内的电压。为了提高测量精度,变送器可以进行零点迁移。例如:若温度测量范围为进行零点迁移。例如:若温度测量范围为4001000,则热,则热电偶输出为电偶输出为mV,毫伏变送器零点迁移后输出,毫伏变送器零点迁移后输出010mA范围范围电流。这样,采用电流。这样,采用8位位A/D转换
10、器就可使量化温度误差达到转换器就可使量化温度误差达到以内。以内。第9章 单片机应用系统的设计与实例 1.系统组成及工作原理(2)A/D转换电路转换电路 ADC0809为温度测量电路的输入接口。为温度测量电路的输入接口。ADC0809的的IN0和变送器输出端相连,故当和变送器输出端相连,故当P0.20.0=000时,就选中时,就选中IN0通道。当通道。当P2.1=0时,启动时,启动A/D转换器。转换器。EOC引脚连接引脚连接到到8051单片机的引脚,正在转换时单片机的引脚,正在转换时EOC=0,转换结束时,转换结束时EOC=1,通过查询方式,若,通过查询方式,若D/A转换结束,将转换后的数转换结
11、束,将转换后的数字量读入单片机。字量读入单片机。(3)键盘键盘/显示电路的扩展显示电路的扩展 8051单片机通过并行接口单片机通过并行接口8255扩展键盘扩展键盘/显示电路,显示电路,由图可见,在由图可见,在P2.7=0时,选中时,选中8255芯片,芯片,8255的的PA口、口、PB口、口、PC口和控制口的地址分别为口和控制口的地址分别为7FFCH、7FFDH、7FFEH和和7FFFH。第9章 单片机应用系统的设计与实例 1.系统组成及工作原理(4)过零触发电路过零触发电路 过零同步脉冲是一种过零同步脉冲是一种50Hz交流电压过零时刻的脉冲,交流电压过零时刻的脉冲,可使可控硅在交流电压正弦波过
12、零时触发导通。过零同步可使可控硅在交流电压正弦波过零时触发导通。过零同步脉冲由过零触发电路产生,更为详细的电路原理图如图所脉冲由过零触发电路产生,更为详细的电路原理图如图所示。图中,电压比较器示。图中,电压比较器LM311用于把用于把50Hz正弦交流电压变正弦交流电压变为方波。方波的正边沿和负边沿分别作为两个单稳态触发为方波。方波的正边沿和负边沿分别作为两个单稳态触发器的输入触发信号,单稳态触发器输出的两个窄脉冲经二器的输入触发信号,单稳态触发器输出的两个窄脉冲经二极管或门混合后就可得到对应于交流极管或门混合后就可得到对应于交流220V市电的过零同步市电的过零同步脉冲。此脉冲一方面作为可控硅的
13、触发同步脉冲加到温度脉冲。此脉冲一方面作为可控硅的触发同步脉冲加到温度控制电路,另一方面还作为计数脉冲加到控制电路,另一方面还作为计数脉冲加到8051的的T0和和T1端端(见图见图9.2)。电源正弦波交流信号。电源正弦波交流信号u与过零同步脉冲与过零同步脉冲uo之之间的关系如图所示。间的关系如图所示。第9章 单片机应用系统的设计与实例 1.系统组成及工作原理图9.3 过零触发电路第9章 单片机应用系统的设计与实例 1.系统组成及工作原理图9.4 正弦波交流信号u与过零同步脉冲uo之间的关系第9章 单片机应用系统的设计与实例 1.系统组成及工作原理(5)温度控制执行电路温度控制执行电路 8051
14、单片机对温度的控制是通过可控硅调功电路实现单片机对温度的控制是通过可控硅调功电路实现的。双向可控硅和加热丝串接在交流的。双向可控硅和加热丝串接在交流220V、50Hz交流市交流市电回路。在给定周期电回路。在给定周期T内,内,8051单片机只要改变可控硅的单片机只要改变可控硅的接通时间便可改变加热丝功率,以达到调节温度的目的。接通时间便可改变加热丝功率,以达到调节温度的目的。可控硅接通时间可以通过可控硅控制极上触发脉冲控可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由制。该触发脉冲由8051单片机用软件在引脚上输出的信号,单片机用软件在引脚上输出的信号,其时间的长短由其时间的长短由
15、PID运算后对控制量取整完成,再经过零运算后对控制量取整完成,再经过零同步脉冲同步后再经光耦和驱动器输出送到可控硅的控制同步脉冲同步后再经光耦和驱动器输出送到可控硅的控制极上,从而达到调功的目的。调功控制信号关系示意图如极上,从而达到调功的目的。调功控制信号关系示意图如图所示。图所示。第9章 单片机应用系统的设计与实例 1.系统组成及工作原理图图9.5 调功控制信号关系示意图调功控制信号关系示意图第9章 单片机应用系统的设计与实例 1.系统组成及工作原理(6)报警电路报警电路 8051单片机的引脚用于报警,可以和报警电路单片机的引脚用于报警,可以和报警电路相连。究竟采用何种报警可由设计者根据需
16、要选相连。究竟采用何种报警可由设计者根据需要选定。定。第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序(1)温度控制的算法温度控制的算法 通常,电阻炉炉温控制采用偏差控制法。偏差控制的通常,电阻炉炉温控制采用偏差控制法。偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理而获得控制信号去调节电阻炉的加热功率,以实现值处理而获得控制信号去调节电阻炉的加热功率,以实现对炉温的控制。对炉温的控制。在工业上,偏差控制又称为在工业上,偏差控制又称为PID控制。模拟控制。模拟PID控制的控制的理想微分方程为:理想微分方程为:(9-
17、1)式中,式中,e(t)=r(t)-y(t)是温度调节器的控制量,一般为给定值与是温度调节器的控制量,一般为给定值与本次采样值本次采样值(也即输出反馈值也即输出反馈值)之差。其中之差。其中r(t)为给定值,为给定值,y(t)为为被测变量值;被测变量值;u(t)为调节器的输出信号,为调节器的输出信号,kp为比例系数;为比例系数;Ti为为积分时间常数;积分时间常数;Td为微分时间常数。为微分时间常数。第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序 若设温度的采样周期为若设温度的采样周期为T,第,第n次采样得到的输入偏差次采样得到的输入偏差为为en,调节器输出为,调节器输出为un,则有
18、:,则有:式(9-1)便可改写为:(9-2)第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序写成递推形式为:写成递推形式为:改写为:(9-3)第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序u(n)PID调节器n次输出值(操作量);u(n-1)n-1次输出值;E(n)n次测量值与设定温度值的偏差,为PID运算的变量(控制量);E(n-1)n-1次测量值与设定温度值的偏差;E(n-2)n-2次测量值与设定温度值的偏差;KP比例系数;KI积分系数,;KD微分系数,;T采样周期。第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序(2)温度控制程序温度控制程序 本机软
19、件采用模块结构,分为如下几个部分。本机软件采用模块结构,分为如下几个部分。主程序主程序 主程序是本系统的监控程序,用户可以通过监控程序主程序是本系统的监控程序,用户可以通过监控程序监控系统工作。在程序运行中,必须首先对系统进行初始监控系统工作。在程序运行中,必须首先对系统进行初始化,为简化起见本程序只给出有关标志、暂存单元和显示化,为简化起见本程序只给出有关标志、暂存单元和显示缓冲区清零、缓冲区清零、T0初始化、开中断、温度显示和键盘扫描等初始化、开中断、温度显示和键盘扫描等程序。其相应的框图如图所示。程序。其相应的框图如图所示。第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序图9
20、.6 主程序流程图第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序(2)T0中断处理程中断处理程序序 T0中断处理程序是温度控制系统的主体程序,用于启动中断处理程序是温度控制系统的主体程序,用于启动A/D转换、读入采样数据、数字滤波、越限报警和越限处理、转换、读入采样数据、数字滤波、越限报警和越限处理、PID计算和输出可控硅的同步触发脉冲等。引脚上输出的该同计算和输出可控硅的同步触发脉冲等。引脚上输出的该同步触发脉冲宽度由步触发脉冲宽度由T1计数器的溢出中断控制,计数器的溢出中断控制,8051利用等待利用等待T1溢出中断空隙时间溢出中断空隙时间(形成输出脉冲顶宽形成输出脉冲顶宽)完
21、成把本次采样值完成把本次采样值转换成显示值而放入显示缓冲区和调用温度显示程序。转换成显示值而放入显示缓冲区和调用温度显示程序。8051从从T1中断服务程序返回后便可恢复现场和返回主程序,以等中断服务程序返回后便可恢复现场和返回主程序,以等待下次待下次T0中断。中断。第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序 在在T0中断处理程序中,还需要用到一系列子程序。例如:中断处理程序中,还需要用到一系列子程序。例如:采样温度值的子程序、数字滤波子程序、越限处理子程序、采样温度值的子程序、数字滤波子程序、越限处理子程序、PID计算子程序、标度变换子程序、键盘扫描子程序和温度显计算子程序、
22、标度变换子程序、键盘扫描子程序和温度显示子程序等。示子程序等。T0中断服务程序流程图如图所示。为了使程序设中断服务程序流程图如图所示。为了使程序设计简单,每一个功能模块设计成一个模块形式。计简单,每一个功能模块设计成一个模块形式。本程序的基本思想是对本程序的基本思想是对IN0通道的信号采样通道的信号采样5次,然后对次,然后对信号进行数字滤波、越限报警、信号进行数字滤波、越限报警、PID计算等一系列处理。程序计算等一系列处理。程序中每个模块用一个子程序代替。因此,在中断服务程序中,只中每个模块用一个子程序代替。因此,在中断服务程序中,只需按顺序调用各功能模块子程序即可,程序可读性强。下面介需按顺
23、序调用各功能模块子程序即可,程序可读性强。下面介绍几个常用模块。绍几个常用模块。第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序图图9.7 T0中断服务程序流程图中断服务程序流程图 第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序 数据采集模块数据采集模块 数据采集程序的主要任务是将炉温参数采样数据采集程序的主要任务是将炉温参数采样5次,并将次,并将它们存放在内部它们存放在内部RAM指定单元指定单元30H39H。本系统采用查。本系统采用查询方式进行采样。程序流程图如图所示。询方式进行采样。程序流程图如图所示。图图9.8 采样子程序流程图采样子程序流程图 第9章 单片机应
24、用系统的设计与实例 2.温度控制的算法和程序越限报警模块越限报警模块 设温度的上限和下限分别存放在内部设温度的上限和下限分别存放在内部RAM3EH、3FH单元,单元,报警标志单元为报警标志单元为20H。设采样值经滤波后存入。设采样值经滤波后存入3AH单元。则越单元。则越限报警子程序流程图如图所示。限报警子程序流程图如图所示。图9.9 越限报警子程序流程图第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序PID控制模块控制模块 本系统采用增量型本系统采用增量型PID控制算法,式控制算法,式(9-3)为离散化为离散化的增量型的增量型PID编程表达式。当系数编程表达式。当系数KP、KI、K
25、D求出后,求出后,分别存放在指定的分别存放在指定的RAM单元中,如表所示,采用浮点数单元中,如表所示,采用浮点数运算。运算。第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序表9.1 常数项及中间结果存放单元地址分配表内存单元名称存储单元地址存放参数COEFUR40HR(k)COEFKP43HKPCOEFKI46HKICOEFKD49HKDBIASE04CHE(k)BIASE14FHE(k-1)BIASE252HE(k-2)BIASPP55HPP(k)MIDLE158H中间结果MIDLE25BH中间结果MIDLE35EH中间结果BIAPID61HP(k)第9章 单片机应用系统的设计与实例 2.温度控制的算法和程序 标度变换模块标度变换模块 采用标度变换子程序是要把实际采样的二进制值转换采用标度变换子程序是要把实际采样的二进制值转换成成BCD形成的温度值,然后存放到显示缓冲区形成的温度值,然后存放到显示缓冲区64H69H。只要设定热电偶的量程,即可以编写相应的子程序。只要设定热电偶的量程,即可以编写相应的子程序。(9-4)