ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:468.03KB ,
资源ID:4660207      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4660207.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的步进电机式汽车组合仪表.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的步进电机式汽车组合仪表.docx

1、基于单片机的步进电机式汽车组合仪表第1章 引言1.1 设计的目的和意义 目前的汽车仪表多为模拟式动圈式机芯(线圈连同指针一起转动)或动磁式机芯(磁钢连同指针一起转动)仪表,主要是利用电磁感应原理来实现仪表的指示,指针的回转回零则是利用弹簧游丝的弹性实现。动圈式机芯仪表抗震性能差、过载能力弱、指针易抖动等弱点;而动磁式机芯(主要是十字交叉机芯)仪表虽比较先进,但也存在一致性、通用性差的缺点。同时,这两种机芯的仪表都具有体积大、重量重、生产工艺复杂等缺点,因此,迫切需要一种一致性好、通用性强、可靠性高的驱动机芯来取代。 随着计算机技术和微步进电机技术的不断发展,这给汽车仪表的技术变革带来了可能和机

2、遇。微型步进电机是一种以脉冲信号作为驱动信号的一种特殊电机,用它来驱动仪表指针,与先前的模拟式机心仪I湘比具有体积小、重量轻、指示精确、一致性好、便于控制等特点,特别适合于用单片机控制。而单片机具有集成度高,抗干扰能力强,并具有较强的数据处理能力和接口功能,所有功能由软件实现,应用灵活,系统的扩展、配置较典型、规范,容易构成各种规模的应用系统。以单片机来控制微型步进电机带动仪表指针来实现仪表指示功能已经成功的应用,充分地发挥了单片机和步进电机的所有优势,它们的完美结合构成的步进电机式数字化汽车组合仪表既保留了传统仪表的指针式显示模式,指示简单直观,符合传统视觉效果,更主要的是精度高、可靠性好、

3、抗干扰能力强、体积小、重量轻、生产检测工艺简单、一致性和通用性好,非常适合现代汽车的生产。但是目前这种新型的数字化仪表都是以单个的形式出现,每个表都是一个独立的整体,比如车速表、转速表、油量表、水温表、数字里程表等等,每一个表都需要一个MCU和仪表外壳,造成了很大的资源浪费和成本的提高。 因此,进一步提高发掘单片机步进电机在汽车仪表上的利用率和效能则是要继续研究的重要课题。1.2 本设计的背景和发展状况由于目前的汽车仪表多为传统的动圈式机芯(线圈连同指针一起转动)或动磁式机芯(磁钢连同指针一起转动)仪表,存在抗震性能差、过载能力弱、指针易抖动等弱点;而动磁式机芯(主要是十字交叉机芯)仪表虽比较

4、先进,但也存在一致性、通用性差的缺点。同时,这两种机芯的仪表都具有体积大、重量重、生产工艺复杂等缺点。但基于单片机系统的数字汽车仪表则具有精度高、可靠性好、抗干扰能力强、体积小、重量轻、生产检测工艺简单、一致性和通用性好等优点,所以发展和研究基于单片机系统的数字汽车仪表意义重大。目前的汽车仪表的发展,按技术规格来分经过了四代:第一代汽车仪表是基于机械作用力而工作的机械式仪表,即机械机芯表;第二代汽车仪表的工作原理基于电测原理,即通过各类传感器将被测的非电量转换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电动机式全数字化汽车仪表从其应用技术手段上看,还是属于电子技术范

5、畴,也属于电子式仪表。目前国内大部分汽车厂商所生产的汽车中使用的仪表仍为传统的动圈式机芯或动磁式机芯仪表,只是在部分高档轿车上才使用了数字仪表系统。因此这一块市场存在着很大的空白。1.3本设计的主要内容及难点 本文根据目前国内汽车仪表的状况和要求,完成基于STC5410的步进电机式汽车联合仪表的实现,研究通用单片机和步进电机来实现汽车组合仪表的基本功能的解决方案。用单片机驱动步进电机指示汽车在行驶过程中的车速、水温等基本信息。主要包括单片机控制系统的硬件结构、软件结构以及关键技术的实现。 通过对汽车仪表系统的基本功能的分析,完成系统的总体设计方案及基本框图的设计:对系统的各个组成部分的具体电路

6、进行分析和设计;对系统主要功能部分的软件进行分析和设计;对系统的关键问题,即如何消除指针的抖动进行分析和解决。 本设计主要是由两个模块组成来实现本设计的目的测速模块和测温模块。测温模块由温度传感器直接将测到的温度数据(数字信号)传给单片机进行处理,最后显示在LED数码显示管上,主要的难点在编程上,如果编程将传感传来的温度信号转换为单片机可处理的信号,最后显示在LED数码显示管上。 这个设计的主要难度是在测速这个模块上。LED数码显示管显示速度不是这个设计的最大难点,最大的难点在于步进电机驱动仪表指针指示车速时,如何消除指针的抖动。其中便涉及到车速采样频率的问题,如果采样过快,表盘指针抖动厉害;

7、如果采样过慢,则仪表指针抖动不灵敏,无法正确及时指示车速,因此如何使表盘指针正确指示所要求的车速是一个主要问题。本设计采取的是10s钟采样一次。另外,此次设计不对车速进行非常精确的指示,而是“模糊指示”,所谓模糊指示,是指一定车速区间内设一个点,例如100km/h150km/h之间的任何车速,在仪表盘显示的则是125km/h,以此类推。当然测速模块上的LED数码管显示的是“精确”指示,直接指示当时的车速。第2章 系统设计方案 论文研究的是基于单片机的步进式汽车组合仪表的解决方案。单片机是整个系统核心;微型步进电机是最直接最根本的控制对象;与汽车仪表密切相关的一些汽车基本行驶信息(车速、水温),

8、是单片机所需要处理的信息;系统软件是实现系统功能根本手段;系统的抗干扰能力是系统能否稳定可靠工作的基本保证。通过对它们作理论分析和研究,可以对系统方案做出一个总体的设计.2.1系统的功能与要求 设计一套车载智能仪表,用于显示和记录汽车行驶过程中的各种状态信息,具体实现功能应达到如下要求:1.采用通用单片机,用软件实现对系统的控制。2.用步进电机带动表盘指针实时指示汽车在行驶中的车速信号。3.用数码管显示汽车油箱温度。4.表盘展开角:车速展开角为0度,转速的展开角为0度。在程序设计时,展开角作为变量来处理,根据实际需要,可以随时调整。5.电源掉电和上电时,表头指针能复位回零。6.系统电源由外接变

9、压器提供+12V电压。7.系统要具有较强的抗干扰能力,硬件设计和软件设计都必须考虑。8.系统要有较好的兼容性和通用性,标定和检测方便。2.2系统组成 步进电机式汽车组合仪表系统由单片机模块、测温模块、测速模块、显示模块、步进电机控制模块、串口通信模块、单片机电源模块、单片机供电模块等部分构成。 系统组成图如图2.1所示: 图2.1系统结构图 2.2.1 步进电机控制模块1.步进电机的结构 步进电机是一种将电脉冲转化为角位移的一种特殊电机。汽车仪表所使用的则是一种非常小型化的精密电机,由电机线圈(Coin)、转动轴(Rotor Shaft)、针轴(PointerShaft)、齿轮差速比装置(Ge

10、ar Reduction)和四个分布对称的触点(Contacts)组成。 如图2.2和图2.3所示。其中,引脚1和引脚2为电机的一组线圈,引脚3和引脚4为电机的另外一组线圈。电机正转、反转和停止,取决于电机的输入信号。2.步进电机的分类 步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB)。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度:反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点,它又分为两相和五相:两相步进角一般为1.8度,而五相步进角一般为0.72

11、度。这种步进电机的应用最为广泛。3. 步进电机的工作原理 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 步进电机的工作原理,当电流信号经由四个触点输入时,引起电机线圈的磁场变化,从而引起转动轴的转动,而后再通过齿轮差速比装置带动针轴的旋转。 步进电机可以作顺时针和逆时针两个方向运动,顺时针

12、运动和逆时针运动,取决于电流信号的给定与变化。电机的正反转是由电平的高低来决定的。当输入高电平时,电机正转;当输入低电平时,电机反转。步进电机工作时序图如图2.4所示。当四个引脚1, 2与3, 4中输入相位差为60度的三相电流信号(图2.4中顺时针运动的时序图)时,步进电机由位置1右侧运动到位置4,完成一个整步运动,此时,电机作顺时针运动;当四个引脚1, 2与3, 4中输入相位差为60度的三相电流信号(图2.4中逆时针运动的时序图)时,步进电机由位置1左侧运动到位置4,完成一个整步运动,此时,电机作逆时针运动。 在图 2.4 中,指针由1(4)的位置运动到4(1)的位置完成一个整步运动;如图2

13、.4中,指针由1 (2)的位置运动到2 (1)的位置完成一个分步运动,相邻的两个相位相差180度。由于步进电机也可以将一个整步分为三个分步来完成,所以完成一个分步所需的脉冲数也只有完成一个整步所需脉冲数的1/3了,相邻的两个相位相差60度,但是,它的步距角始终不变。利用分步可以完成更准确的指示。4. 步进电机的特点 步进电机的一个最显著特点就是:步距角固定。保持转矩是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重

14、要的参数之一。一般步进电机的精度为步进角的3-5%,且不累积。 汽车仪表 在实际应用中要求精度高、功能全,微特步进电机正好具备这些要求,除此之外,它还具有体积小、控制操作方便的优点。 系统选用的虽然为普通电机,但是。功能比较完备,精确度较高,而且性价比高,具有无累积误差、成本低、控制简单等优点。2.2.2测速与测温模块 汽车的基本信号有车速、水温两个,都是通过传感器采集。其中车速信号为频率信号,但不符合标准的脉冲信号,水温信号为电阻信号,是模拟信号,在送到单片机之前要对它们进行处理。采用何种方式和电路处理,则要对它们进行分析。1. 车速信号 车速信号和转速信号是通过传感器从汽车发动机相关位置取

15、出,多以非接触方式获取,如用霍尔、电涡流等传感器获取。取出的信号为频率信号,但并非是标准的脉冲频率信号。根据取信号的位置不同,取出的信号有下面几种形式:(1)发动机飞轮齿取信号。信号比较稳定,杂波较少,最小峰值为1.5V ,高温时幅值较大。如图2.5所示。(2) 点火线圈取信号.点火时出现瞬时高峰值,最大值可达300V,紧接着迅速衰减。如图2.6所示。(3)发电机取信号。又可以分相线和中性点取信号两种,相线取信号类似方波,但是有尖峰干扰信号,必须作前级滤波处理,如图2.7所示。中性点:直流成分较大,高频成分较多,必须作前级滤波处理。如图2.8所示。 比较上面三个信号的特点,结合系统对输入脉冲信

16、号的要求,决定从发动机的飞轮齿取信号。因为它的信号由专门时传感器产生,信号较好,谐波分量少,更稳定,更规则,幅值大于1.8v ,虽不完全是较好的频率信号,但很接近于正弦波,只要经过滤波、整形等处理,很容易得到系统所要求的脉冲波形。2.水温信号 通过传感器采集来的水温属于电阻信号,要进行滤波处理和A/D转换才能送入单片机.最后通过单片机处理,显示在LCD显示液晶屏上。3 输入信号的处理 转速、车速两路频率信号通过限幅、滤波,再经过施密特触发器整形变成符合要求的脉冲信号送CPU计数器:水温、燃油量信号转换为电压信号,经限幅滤波送入A/D转换器,得到数字量再送CPU.2.2.3电源模块(单片机系统供

17、电模块、单片机电源模块) 系统的电路由于有模拟电路和数字电路两部分,电源的要求也会不同。通常模拟电路的电源为+12V.要求不太高,经过一般稳压即可;数字电路的电源则不同,一般电路为+9V,可以用集成稳压电源实现,CPU则为+5V,而且要求相当严格,可以采用开关稳压电源实现,尤其是脉宽调制型开关稳压器件组成开关的开关电源,具有体积小效率高、外围元件少、应用简单、输出电压可调、误差小、输出电流大、转换速率快、保护功能强等特点,特别适合于给单片机供电。 除了对电源电压的大小有要求外,还要考虑电源对系统硬件的干扰。在单片机仪表系统中,危害最严重的是来自电源的噪声干扰,而电源内阻是引起电源干扰噪声的主要

18、原因,如果没有这种电阻,任何噪声都会被电源短路,在线路中不会建立任何干扰电压,但事实上,电源内阻不可能不存在。电源噪声主要来源于一些大功率设备的使用及电源本身的配置的不合理性。单片机数据采集的电源干扰主要原因是因过压、欠压或尖峰电压的出现引发。过压与欠压的危害是显而易见的,它会使系统的直流工作电压偏离允许范围,而处于非正常工作状态。而对于尖峰电压,由于它持续时间很短,一般不会毁坏系统,但单片机系统的正常运行破坏性很大,它会使逻辑功能紊乱.甚至破坏源程序。解决以上问题的办法是使用具有噪声抑制能力的交流电源调节器或稳压器。对于抗干扰的问题,本文在后面的章节中还会详细介绍。2.2.4 单片机模块 单

19、片机模块是整个系统的核心,完成以下功能:输入数据的采集转换并驱动表头、驱动液晶显示里程、按键处理、系统标定等所有功能。根据系统的要求和现实的考虑,选用宏晶公司生产的STC 12C5410通用单片机。 STC 12C5410单片机简介 STC 12C5410是由宏晶公司生产的和Atmel公司生产的AT89C52性能相当的一种8K字节闪烁可编程可擦除只读存储器(FPEROM-FalsbProgrammable and Erasable Read Only Memory)的低电压,高性能CMOSS位微处理器,俗称单片机。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管

20、脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,它是一种高效微控制器,为很多嵌式控制系统提供了一种灵活性高且价廉的方案。和Intel公司的MCS-51系列单片机相兼容,是广泛应用的单片机之一。STC 12C5410芯片图:图2.9 STC 12C5410芯片图2.2.5 LED显示模块 由单片机直接控制LED数码管显示车速和温度。 LED数码显示管原理简介: 发光二极管LED在工作的时候只有两种状态,或者熄灭或者点亮,把LED按照一定的结果排列就可以组成比较复杂的显示设备.当某一个发光二极管导通的时候,相应的一个点或一条被点亮,控制不同组合的二极管导通就能显示字符.MCS-51单

21、片机对LED管的显示可以分为静态显示和动态显示两种。静态显示是各个LED管脚能稳定的显示字符;动态显示是指各LED轮流一次一次的显示各自字符,其实每次只有一个数码管在显示,但是由于人视觉的惰性,可以看到各LED似乎是在同时点亮.静态显示需要占用很多CPU端口资源,而动态显示则需要很少的端口就能实现。动态显示是一位一位的轮流点亮各位数码管,这种诸位点亮的方式称为位扫描.通常各位数码馆的段选线相应并联在一起,由一个8为的I/O口控制;各位的位选线有另外的I/O口线控制.同台方式显示是各数码管分时轮流选通,要使其稳定显示必须采取动态扫描方式,即在每一时刻只选通一位数码管,并送出相应的段码,在另一时刻

22、选通另外的一位数码管,并送出相应的码段。 图3.0数码管显示部分电路 图3.11显示电路中,CS1,CS2,CS3三个引脚为片选,而A到DP为八段显示。而3个三极管是起到扩流作用,分别向对应三个数码管提供充足电流,图上使用的为三位一体的共阴数码管。而CS1B,CS2B,CS3B分别接到单片机的P2.0到P2.3口,起到片选作用。. 2.2.6 串口通信模块 单片机的串口通信模块主要是用于扩展单片机的功能,使其功能更加强大,操作更加方便,在有串口通信模块的情况下,可以实现在电脑上直接对整个系统进行操作,如监控该系统,直接获取相关信息到电脑上,如车速,温度;也可以在计算上直接对该系统单片机进行读写

23、控制,如可以直接写入本设计需要的程序,直接控制直流电机转速,直接控制与测温相关的温度调节。串口通信模块最主要的功能是用于后续功能扩展,以使单片机具备更多的功能。 尽管此次设计中没有用到这个串口通信模块,但有了此模块后,本单片机系统在以后的功能扩展上将具备更多的便利,如和温度监控系统,汽车超速报警监控系统进行连接,以实现更多的功能。第3章 系统硬件设计3.1单片机模块功能的实现 采用STC 12C5410单片机,实现单片机模块各项功能。单片机模块接线如图3.1所示。 图3.1 单片机模块单片机模块管脚连接简介:1.对从测温传感器和测速传感器两个信号输入的数据进行处理。P3.7连接测温模块芯片DB

24、18B20。2.驱动步进电机来驱动表头,使仪表能指示车速。A0,B0,C0,D04个管脚连接的是步进电机驱动模块芯片ST188,用于单片机控制步进电机。3.将从测温传感器和测速传感器两个信号中获得的数据处理后,直接驱动LED数码管显示管,分别显示水温和车速。a,b,c,.-dp这8个管脚用于连接4个LED数码管,CS1,CS2,CS3,CS4,这4个管脚为片选管脚,用于根据程序选择4个LED数码管中其中一个数码管点亮。4.P3.3P3.5分别接选择按键(用于选择测速或测温),以及系统复位键。3.2测温模块 采用DS18B20温度传感器,实现测温模块各项功能。测温模块各项功能如图3.2图3.2测

25、温模块DS18B20的性能特点:DS18B20温度传感器是美国Dallas半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点可归纳如下:1.独特的单线接口仅需要一个端口进行通信。2.多个DS18B20可以并联在唯一的3线上,实现多点组网功能3.无需外部器件4.可通过数据线供电,电压范围为3.0-5.5V5.零待机功耗6.温度以9或12位数字量7.用户可定义的非易失性温度报警设置8.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。9.负电压特性,电

26、源极性相反时,温度计不会因发热而烧毁,只是不能正常工作。3.3测速模块 采用ST188芯片来实现测速模块的各项功能,测速模块的接线图如图3.3。图3.3测速模块ST188芯片特点:1.采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。2.检测距离可调整范围大,4-13mm可用。3.采用非接触检测方式。 应用范围:1.IC卡电度表脉冲采样2.集中抄表系统数据采集3.传真机纸张检测表3.1 ST188芯片光电特性表 3.4LED显示模块 采用4个LED数码管来实现显示模块的各项功能,显示模块接线图如图3.4。图3.4 显示模块该模块由单片机直接控制,显示水温。3.5步进电机控制模块 采用ULN

27、2803A芯片来实现步进电机控制模块各项功能,模块接线图如图3.5所示。图3.5 步进电机控制模块 东芝ULN2803芯片系列是高电压,高电流达林顿驱动芯片,由8对NPN达林顿管脚组成。可应用于继电器,灯,显示器(LED)驱动。东芝ULN2803芯片特性:1.输出电流(单输出)500mA(最大)2.持续高电压输出 50V(Min)3.输出箝位二极管4.输入兼容各类型电平5.封装AP型号:DIP-18pin6.封装AFW型号:SOL-18pin表3.2东芝ULN2803芯片特性表特性表:特性符号范围单位输出持续高电压VCE(SUS)0.5-50V输出电流 Iout500mA输入电压Vin0.5-

28、30V箝位二极管反相电压VR50V箝位二极管前向电压IF500mA电能消耗PD1.47W工作温度Topr40-85C存储温度Tstg55-150C3.6串口通信模块 采用MAX232A来实现串口通信模块各功能,用以向单片机写入程序。串口通信模块接线图如图3.6所示。图3.6串口通信模块MAX232A芯片简介: MAX232A系列芯片为MAXIM公司推出的驱动器/接收器,专为EIA/TIA232A以及V.28/V.24通信接口设计,尤其是为无法提供12V的电源的应用。 这些芯片特别适合电池供电的系统,这是由于其低功耗关断模式可以将功耗减小到5W以内。应用于:便携式计算机,低功耗调制解调器3.7单

29、片机系统供电模块、单片机系统电源模块 采用U3LM芯片实现单片机供电系统模块各项功能,用以向单片机中各其它模块提供电源。模块接线图如图3.7所示。图3.7单片机系统供电模块 采用MC7805T来实现单片机系统电源模块各项功能,用以向单片机芯片提供电源。模块接线图如图3.8所示。第4章 系统软件设计 本系统的软件功能主要是完成数据的采集与转换、步进电机的驱动、数据的存储、数据的显示、系统的复位等等,它包含主程序和若干个子程序。如何使电机平滑地转动(尤其是在车速和转速较高时)是设计重点。要保证这一点,需要做好两方面的工作:一是信号的采样频率的选定;二是表头驱动程序的合理设计。在编程过程中采用模块化

30、的编程技术,对所有项目分模块进行编程。4.1系统软件模块划分 根据系统任务分析,程序分为系统初始化、中断处理、步进电机驱动、车速转速测量、水温测量、串行通信、显示等模块。1. 初始化模块。初始化模块用于系统程序运行之前完成系统功能参数的初始化。2. 中断处理模块。获取程序所需的各种参数。3. 车速里程测量模块。根据入口参数完成车速里程的计算、转换、存储。4. 转速测量模块。根据入口参数完成转速的计算、转换。5. 水温测量模块。根据入口参数完成燃油水温的计算、转换。6. 串行通信模块。根据入口参数完成数据段的发送。4.2编程语言的选择 现在单片机的编程语言主要有三种:汇编语言、C语言和PLM语言

31、。其中C语言和PLM语言属于高级语言,它们的优点是本身具有丰富的库函数和数据类型封装,程序编制简单,可读性强,缺点是程序生成机器代码的效率低。汇编语言则相反。本系统既对机器代码的效率有较高的要求,又对数据的计算和处理要求也较高。因此,系统软件程序采用汇编语言和C语言混编的形式编程。4.3主程序设计 系统的软件是由一个主程序和若干子程序构成,主程序的主要功能是设定程序执行过程中用到的相关变量,分配寄存器,对所需要的参数进行初始化,然后按照要求在恰当的时间调用相应的处理模块和子程序,来对系统进行处理。主程序具体简述如下:1. 定义系统运行过程中所需的变量;2. 分配硬件系统所提供的相关资源,如寄存器、ROM以及中断资源和堆栈:3. 完成系统的自检;4. 在程序的运行过程中,按要求依次完成对系统各模块的调用,并将结果提供给用户;5. 在各模块的调用过程中,实现调用过程的现场保护,以确保程序正确执行;保存系统运行过程中的必要参数。图 4.1为主程序流程图。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1