单片机控制系统的设计与调试方法

发布者:绿意盎然最新更新时间:2012-02-07 来源: 现代电子技术关键字:单片机  系统设计  系统调试 手机看文章 扫描二维码
随时随地手机看文章

    随着材料科学、工艺技术、计算机技术的发展与进步,电路系统向着集成度极高的方向发展。CPU的生产制造技术,也朝着综合性、技术性、实用性发展。如 CPU的运算位数从4位、8位 ……到32位机的发展,运算速度从8 MHz、32 MHz……到1.6 GHz。可以说是日新月异的发展着。其中单片机在控制系统中的应用是越来越普遍了。单片机控制系统是以单片机(CPU)为核心部件,扩展一些外部接口和设备,组成单片机工业控制机,主要用于工业过程控制。要进行单片机系统设计首先必须具有一定的硬件基础知识;其次,需要具有一定的软件设计能力,能够根据系统的要求,灵活地设计出所需要的程序;第三,具有综合运用知识的能力。最后,还必须掌握生产过程的工艺性能及被测参数的测量方法,以及被控对象的动、静态特性,有时甚至要求给出被控对象的数学模型。

    单片机系统设计主要包括以下几个方面的内容:控制系统总体方案设计,包括系统的要求、控制方案的选择,以及工艺参数的测量范围等;选择各参数检测元件及变送器;建立数学模型及确定控制算法;选择单片机,并决定是自行设计还是购买成套设备;系统硬件设计[1],包括接口电路,逻辑电路及操作面板;系统软件设计,包括管理、监控程序以及应用程序的设计,应用系统设计包含有硬件设计与软件设计两部分[2];系统的调试与试验。

1单片机控制系统总体方案的设计

    确定单片机控制系统总体方案,是进行系统设计最重要、最关键的一步。总体方案的好坏,直接影响整个控制系统的性能及实施细则。总体方案的设计主要是根据被控对象的任务及工艺要求而确定的。设计方法大致如下:根据系统的要求,首先确定出系统是采用开环系统还是闭环系统,或者是数据处理系统。选择检测元件,在确定总体方案时,必须首先选择好被测参数的测量元件,它是影响控制系统精度的重要因素之一。选择执行机构,执行机构是微型机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情况确定。选择输入/输出通道及外围设备。选择时应考虑以下几个问题:被控对象参数的数量;各输入/输出通道是串行操作还是并行操作;各通道数据的传递速率;各通道数据的字长及选择位数;对显示、打印有何要求;画出整个系统原理图。

    单片机控制系统中控制算法的选用一般有:

    (1) 直接数字控制  当被控对象的数学模型能够确定时,可采用直接数字控制。所谓数学模型就是系统动态特性的数学表达式,它表示系统输入输出及其内部状态之间的关系。一般多用实验的方法测出系统的特性曲线,然后再由此曲线确定出其数学模型。现在经常采用的方法是计算机仿真及计算机辅助设计,由计算机确定出系统的数学模型,因而加快了系统模型的建立。当系统模型建立后,即可选定上述某一种算法,设计数字控制器,并求出差分方程。

    (2) 数字化PID控制  由于被控对象是复杂的,因此并非所有的系统均可求出数学模型,有些即使可以求出来,但由于被控对象环境的影响,许多参数经常变化,因此很难进行直接数字控制。此时最好选用数字化PID(比例积分微分)控制。在PID控制算法中,以位置型和增量型2种PID为基础,根据系统的要求,可对PID控制进行必要的改进。通过各种组合,可以得到更圆满的控制系统,以满足各种不同控制系统的要求。例如串级PID就是人们经常采用的控制方法之一。

    所谓串级控制就是第一级数字PID的输出不直接用来控制执行机构,而是作为下一级数字PID的输入值,并与第二级的给定值进行比较,其偏差作为第二级数字PID的控制量。当然,也可以用多级PID嵌套。

2单片机系统硬件设计

    尽管单片机集成度高,内部含有I/O控制线,ROM,RAM和定时/计数器。但在组成单片机系统时,扩展若干接口仍是设计者必不可少的任务。扩展接口有 2种方案,一种是购置现成的接口板,另一种是根据系统实际需要,选用适合的芯片进行设计控制系统。就后一种而言,主要包括以下几个方面的内容。

    基本系统的构成:一个独立的单片机核心系统,一般由时钟电路、地址锁存器电路、地址译码器、存储器扩展、模拟量输入通道的扩展、模拟量输出通道的扩展、开关量的I/O接口设计、键盘输入和显示电路等组成。[page]

    (1)存储器扩展  由于单片机有4种不同的存储器,且程序存储器和数据存储器是分别编址的,所以单片机的存储器容量与同样位数的微型机相比扩大了一倍多。扩展时,首先要注意单片机的种类;另一方面要把程序存储器和数据存储器分开。

    (2)模拟量输入通道的扩展  主要有以下2个问题:一个是数据采集通道的结构形式,一般单片机控制系统都是多通道系统。因此选用何种结构形式采集数据,是进行模拟量输入通道设计首先要考虑的问题。多数系统都采用共享A/D和S/H形式。但是当被测参数为几个相关量时,则需选用多路S/H,共享A/D形式。对于那些参数比较多的分布式控制系统,可把模拟量先就地进行A/D转换,然后再送到主机中处理。对于那些被测参数相同(或相似)的多路数据采集系统,为减少投资,可采用模拟量多路转换,共享仪用放大器、S/H和A/D的所谓地电平多路切换形式。另外一个问题是A/D转发器的选择,设计时一定要根据被控对象的实际要求选择A/D转换器,在满足系统要求的前提下,尽量选用位数比较低的A/D转换器。

    (3)模拟量输出通道的扩展  模拟量输出通道是单片机控制系统与执行机构(或控制设备)连接的纽带和桥梁。设计时要根据被控对象的通道数及执行机构的类型进行选择。对于那些可直接接受数字量的执行机构,可由单片机直接输出数字量,如步进电机或开关、继电器系统等。对于那些需要接收模拟量的执行机构,则需要用D/A转化,即把数字量变成模拟量后,再带动执行机构。

    (4)开关量的I/O接口设计  由于开关量只有2种状态“1”或“0”,所以,每个开关量只需一位二进制数表示即可。因为MCS—51系列单片机设有一个专用的布尔处理机,因而对于开关量的处理尤为方便。为了提高系统的抗干扰能力,通常采用光电隔离器把单片机与外部设备隔开。

    (5)操作面板 操作面板是人机对话的纽带,它根据具体情况,可大可小。为了便于现场操作人员操作,单片机控制系统设计一个操作面板的要求: 操作方便、安全可靠、并具有自保功能,即使是误操作也不会给生产带来恶果。

    (6)系统速度匹配 在不影响系统总功率的前提下,时钟频率选得低一些较好,这样可降低系统对其他元器件工作速度的要求,从而降低成本和提高系统的可靠性。但系统频率选的比较高时,要设法使其他元器件与主机匹配。

    (7)系统负载匹配 系统中各个器件之间的负载匹配问题,主要表现在以下几个方面。

    ① 逻辑电路间的接口及负载:在进行系统设计时,有时需要采用TTL和CMOS混合电路,由于二者要求的电平不一样,因此一定要注意电流及负载的匹配问题。
    ② MCS—51系列单片及负载:8031的外部扩展功能是很强的,但是8031的P0口和P2口以及控制信号ALE的负载能力都是有限的,P0口能驱动8个 LSTTL电路,P2口能驱动4个LSTTL电路。硬件设计时应仔细核对8031的负载,使其不超过总的负载能力的70%。

3单片机控制系统的软件设计

    单片机控制系统的软件设计一般分2类,系统软件和应用软件设计。系统软件的主要任务是:管理整个控制系统的全过程,比如,POWERUP自诊断功能,KEY INPIT 的管理功能,PRINTER OUTPUT报表功能,DISPLAY功能等等。是控制系统的核心程序,也称之为MONITER监控管理程序其作用类似PC机的DOS 系统。软件设计的几个方面如下:

    (1)可靠性设计为保证系统软件的可靠性,通常设计一个自诊断程序,定时对系统进行诊断。在可靠性要求较高的场合,可以设计看门狗电路,也可以设计软件陷阱,防止程序跑飞。

    (2)软件设计与硬件设计的统一性在单片机系统设计中,通常一个同样的功能,通过硬件和软件都可以实现,确定那些由硬件完成,那些由软件完成,这就是软件、硬件的折衷问题。一般来说,在系统可能的情况下,尽量采用软件,因为这样可以节省经费。若系统要求实时性比较强,则可采用硬件。

     (3)应用软件的特点

    ①实时性:由于工业过程控制系统是实时控制系统,所以对应用软件的执行速度都有一定的要求,即能够在被控对象允许的时间间隔内对系统进行控制、计算和处理。换言之,要求整个应用软件必须在一个采样周期内处理完毕。所以一般都采用汇编语言编写应用软件。但是,对于那些计算工作量比较大的系统,也可以采用高级语言和汇编语言混合使用的办法,即数据采集、判断、及控制输出程序用汇编语言,而对于那些较为复杂的计算可采用高级语言。为了提高系统的实时性,对于那些需要随机间断处理的任务,通常采用中断系统来完成。
  ② 通用性:在应用程序设计中,为了节省内存和具有较强的适应能力,通常要求程序有一定的灵活性和通用性。为此,可以采用模块结构,尽量将共用的程序编写成子程序,如算术和逻辑运算程序、A/D、D/A转换程序、延时程序、PID运算程序、数字滤波程序、标度变换程序、报警程序等。
    (4)软件开发步骤软件开发大体包括:划分功能模块及安排程序结构;画出各程序模块详细流程图;选择合适的语言编写程序;将各个模块连接成一个完整的程序。[page]

4单片机控制系统的调试

    (1)硬件调试  根据设计的原理电路做好实验样机,便进入硬件调试阶段。调试工作的主要任务是排除样机故障,其中包括设计错误和工艺性故障。
  ① 脱机检查:用万能表或逻辑测试笔逐步按照逻辑图检查机中各器件的电源及各引脚的连接是否正确,检查数据总线、地址总线和控制总线是否有短路等故障。有时为保护芯片,先对各管座的电位(或电源)进行检查,确定其无误后再插入芯片检查。
  ② 仿真调试:暂时排除目标板的CPU和EPROM,将样机接上仿真机的40芯仿真插头进行调试,调试各部分接口电路是否满足设计要求。这部分工作是一种经验性很强的工作,一般来说,设计制作的样机不可能一次性完好,总是需要调试的。通常的方法是,先编调试软件,逐一检查调试硬件电路系统设计的准确性。其次是调试MONITOR程序,只有MONITOER程序正常工作才可以进行下面的应用软件调试。

    硬件电路调试的一般顺序是:

    ① 检查CPU的时钟电路。通过测试ALE信号,如没有ALE信号,则判断是晶体或CPU故障,这称之为“心脏”检查。
    ② 检查ABUS/DBUS的分时复用功能的地址锁存是否正常。
    ③ 检查I/O地址分配器。一般是由部分译码或全译码电路构成,如是部分译码设计,则排除地址重叠故障。
    ④ 对扩展的RAM、ROM进行检查调试。一般先后写入55H、AAH,再读出比较,以此判断是否正常。因为这样RAM、ROM的各位均写入过‘0’、‘1’代码。
    ⑤ 用户级I/O设备调试。如面板、显示、打印、报警等等。

    (2)软件调试  软件调试根据开发的设备情况可以有以下方法:
  ① 交叉汇编:用IBM PC/XT机对MCS—51系列单片机程序进行交叉汇编时,可借助IBM PC/XT机的行编辑和屏幕编辑功能,将源程序按规定的格式输入到PC机,生成MCS—51 HEX目标代码和LIST文件。
  ② 用汇编语言:现在有些单片STD工业控制机或者开发系统,可直接使用汇编语言,借助CRT进行汇编语言调试。
  ③ 手工汇编:这种方法是最原始,但又是一种最简捷的调试方法,且不必增加调试设备。这种方法的实质就是对照MCS—51指令编码表,将源程序指令逐条地译成机器码,然后输入到RAM重新进行调试。在进行手工汇编时,要特别注意转移指令、调用指令、查表指令。必须准确无误地计算出操作码、转移地址和相对偏移量,以免出错。
  以上3种方法调试完成以后,即可通过EPROM写入器,将目标代码写入EPROM中,并将其插至机器的相应插座上,系统便可投入运行。

    (3)硬件、软件仿真调试  经过硬件、软件单独调试后,即可进入硬件、软件联合仿真调试阶段,找出硬件、软件之间不相匹配的地方,反复修改和调试。实验室调试工作完成以后,即可组装成机器,移至现场进行运行和进一步调试,并根据运行及调试中的问题反复进行修改。

5结论

    单片机控制技术应用越来越广泛,其核心技术是单片机控制系统的设计。对工程技术人员来说,抓住系统的原理构成、软件设计、硬件设计以及系统调试方法的要点是十分必要的。根据工作经验,前面叙述的系统调试方法将会有助于从事这方面工作的技术人员及本专业的学习者。

参考文献

1陈粤初.单片及应用系统设计与实践. 北京: 北京航空航天大学出版社,1992
2何立民.单片机应用系统设计 .北京:北京航空航天大学出版社,1998

关键字:单片机  系统设计  系统调试 引用地址:单片机控制系统的设计与调试方法

上一篇:单片机智能监控系统
下一篇:基于PIC单片机的小型空气压缩机控制装置

推荐阅读最新更新时间:2024-03-16 12:52

基于MSP430单片机的称重式液位仪的设计与实现
  1引言   液位测控仪是属于智能化仪器仪表的一种(指采用了微处理器的仪器仪表),其发展始于70年代[1]。它是一种集测量与控制于一体的智能化产品,适用于石油化工、冶金、电力、制药、环保等行业中各种介质的液位测量。本仪器主要针对罐体内液体进行测量并能计算其重量,适用于对各种液态物质进行静态和动态测量与监控,并具有超限报警和主-从站模式联网功能。   2 系统设计方案   2.1 液位传感器的选择   一般情况下在液位测量中所采用的传感器有:压力传感器、超声波传感器、浮子式传感器等,由于系统设计中要求在测量液位的同时还要实现液体重量的检测。在液罐内,液体重量P的检测可直接利用计算得到,即P=H*S* (H为液体
[单片机]
基于MSP430<font color='red'>单片机</font>的称重式液位仪的设计与实现
PIC单片机特点及不足之处解析
PIC单片机 PIC单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、高级,是当前市场份额增长最快的单片机之一,CPU采用RISC结构,分别有33、35、58条指令,属精简指令集,同时采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一,此外PIC单片机之所以成为一时非常热的单片机不外乎以下特点: 特点 1、具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机的I/O口是双向的,其输出电路为CM
[单片机]
PIC<font color='red'>单片机</font>特点及不足之处解析
无线路灯项目——STM32L151概述
STM32L151RCT 256KB 属于Cat.3 在stm32l1xx.h文件中,有下面一幅图,说明了不同容量的MCU应该用哪个startup.s文件 有关density和Cat名称的问题,ST官方给出下面的说法: Replaced “Low density”, “Medium density”, “Medium+ density” and “High density” categories by Cat.1, Cat.2, Cat.3, Cat.4 and Cat.5 in all document. 下面是STM32L1系列中Cat.3的系统结构图 FLITF指的是The Flash memory interface。
[单片机]
无线路灯项目——STM32L151概述
基于C8051F920的无线电遥控多路开关系统设计
  相对于有线遥控,无线遥控不受距离的影响,完全消除了拖缆式遥控装置所带来的故障隐患,给人们的日常工作和生活带来了更多的便利。随着数字处理技术的快速发展,无线数字通信技术日趋成熟,其抗干扰能力强和易于对数字信号进行各种处理等优点,使得无线遥控系统的抗干扰性能逐步提高,安全性能大大改善。目前的无线遥控领域主要有超声波遥控、红外线遥控及无线电遥控。相对于超声波遥控和红外线遥控, 无线电遥控是利用无线电信号在空气中传播,根据无线电波的频率来遥控,可穿透一定的障碍物,传播距离较远,因此成为无线遥控领域的首选,在国防、军事、科研和日常工作生活领域应用越来越广。   采用Silicon Laboratories 研制的无线发射芯片Si401
[单片机]
基于C8051F920的无线电遥控多路开关<font color='red'>系统设计</font>
基于单片机的LED显示屏控制电路设计
LED显示屏广泛应用于工矿企业、学校、商场、店铺、公共场所等进行图文显示,广告宣传,信息发布。本文设计一种由4个16 16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16 16点阵LED模块组成的显示屏。 1 电路设计 控制电路由AT89C51单片机作控制器,显示屏由4个16 16点阵LED模块组成,每个16 16点阵LED模块由4个8 8点阵LED模块组成,用户可根据需要扩展增加任意多个16 16点阵LED模块。8 8点阵LED模块结构如图1所示,共8行8列,每个发光二极管放置在行线和列线的交叉点上,共64个发光二极管。当某一列为高电平,某一行为低电平时,则
[单片机]
基于<font color='red'>单片机</font>的LED显示屏控制电路设计
基于单片机的贪吃蛇游戏设计
利用三天假期把贪吃蛇游戏移植到了我的单片机开发板上,单片机是STC89C52只有8K的FLASH,本来想移植俄罗斯方块的但是移植编译之后大约有10K的空间。 下面是我拍的视频,优酷的链接: http://v.youku.com/v_show/id_XNjIxNjM2MzUy.html 高手勿喷呐! 程序中使用的器件有:   (1)STC82C52配置有片内RAM512B,片内FLASH存储器 8KB,时钟为8MHz。   (2)2.4寸TFT彩屏,最大支持RGB565格式有65536种颜色。主控制器为ILI9325,程序中使用的是8位数据模式,所以运行比较慢。   (3)红外遥控器,采用的是HS0038芯片。红外协议是NEC协议,
[单片机]
基于<font color='red'>单片机</font>的贪吃蛇游戏设计
单片机定时器-遥控器解码程序分析
一、前言 利用STC公司1T内核的STC12C08S2 单片机对一款遥控器进行解码,将解码的数据转换为以us为单位的时间通过单片机串口通讯发送到STC下载软件自带的串口调试工具接收框进行显示。 本文主要对测试结果进行展示与分析并对单片机控制程序进行分析,以此起到抛砖引玉的作用,希望读者理解程序以后可以利用单片机对身边的任意一款遥控器进行解码并将遥控器与单片机的实际应用联系在一起。 二、测试结果展示 1、实验材料介绍 实验材料硬件部分 软件部分 为KEIL V2 编程软件 和 单片机程序下载软件STC_ISP_V479 为了高效率学习程序编写,本实验平台采用单片机教程网的51hei-5单片机开发
[单片机]
<font color='red'>单片机</font>定时器-遥控器解码程序分析
兆易创新是如何做稳国产MCU冠军的?
日前,国产MCU龙头兆易创新宣布公司成功发售第10亿颗GD32 MCU,并详细复盘了兆易创新在MCU市场的成功原因以及针对未来加大工业与汽车市场的布局等规划。以下是文章详情: 2013年4月,兆易创新推出国内首款Arm Cortex MCU。9年后的我们,以累计10亿颗出货量领跑中国MCU市场。在科技与生活的连接中,无畏探索,无处不在。今天,我们高兴地与你携手宣布,10亿颗GD32:为你而来,见证未来! 数据显示,2021年兆易创新MCU产品出货量近4亿颗,相比2020年近2亿颗的出货量,连续2年持续翻倍,并保持着连续7年在中国32位MCU市场本土排名第一位的记录。 这些累计出货逾10亿的微控制器产品在9年间已经广泛应
[单片机]
兆易创新是如何做稳国产<font color='red'>MCU</font>冠军的?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved