基于RlTOS和ISP功能的数字仪表系统设计与实现
基于RlTOS和ISP功能的数字仪表系统设计与实现
摘要:以Atmel公司的AT89S52型单片微控制器为对象,介绍基于RTOS(多任务实时操作系统)和ISP(在系统可编程)功能的数字仪表系统的软硬件设计,同时给出硬件系统的组成和相关软件编程的实现代码。经某武器系统的调试试验表明,该仪表系统具有显示直观、准确、可靠的优点。 关键词:RTOS;ISP;单片微控制器;液晶显示模块
引言
Atmel公司的控制器以其集成度高、在线调试方便等特点广泛应用于工程实践领域,文中以某武器系统的前期预研为背景,讨论了数字仪表系统的软硬件实现过程,其主要功能包含:实时采集配电箱系统的6路正负模拟电压值及作战环境温度,并通过MSl2232B型液晶模块动态式显示。 1 软件特性
随着C语言在嵌入式系统中的广泛运用,软件系统的实时性、复杂性设计要求也越来越高,用通常的单任务无限循环结构与中断服务子程序相配合的编程思想已难以完成相关的软件设计或实现较为困难,RTOS(多任务实时操作系统)是现阶段较为流行的处理方式。
RTOS的基本设计思想是将多种系统输入和处理要求,按功能做成不同的任务函数体,
并分配适当的优先级,参考Windows系统的多线程处理机制,将CPU执行时间划分成若干区段,每个任务函数体对应一个时间片段.在规定的时间内执行完后允许切换到另一个任务,因各时间段非常短,表现的是多任务实时处理特性。因为任务并非同时执行且具备跳转
特性,所以整个项目管理文件内可以有多个无限循环结构,且省略了main入口函数,这是RTOS最大的特色。文中以Keil集成开发环境为平台,利用RTX5l Tiny版本来完成整个软件设计过程。
ISP(在系统可编程)是一种适合Atmel系列器件的Flash技术,通过PC的LPT标准并行接口,能实时地将Intel格式的源程序代码下载到微控制器的相应存储区域。ISP的最大特点是简化了调试过程,提高了软件系统的可维护性,使其具备了在线升级特性。而且整个开发过程省去了反复插拔电路的操作。 2 系统硬件构成
本系统硬件主要包括如下几个模块:AT89S52型主控制器、ADC0809型模/数转换、MSl2232B型液晶显示器、温度传感器及语音报警等。其中AT89S52型微处理器主要完成外围器件的硬件控制及相关数据解算,ADC0809采集6路模拟信号并输入主控制器,MSl2232B完成数字及相关标识字符的显示,配电系统的电压波动超出预定指标时由语音模块给出相应的报警信息。
2.1主控制器模块
主控制器是Atmel公司生产的AT89S52型单片微控制器,与常规C51系列相比,其突出特点是具有8KB闪速式存储器(降低了对外扩存储器的要求)、256B RAM内存(可容纳更多局部变量)、8个中断源及ISP在线可编程特性。
2.2液晶显示模块
MSl2232B属于图形点阵系列的显示器件,具有双行显示功能,其点阵结构为122×32,通过AT89s52给出必要的数据和指令来操作MSl2232B主、辅控制器,从而完成图形、字
符等相关信息的显示。该液晶显示模块还具有较强的通用性.用户用少量元件就可以构成一个完整的LCD系统。电路连接如图1所示。
2.3 A/D数据采集模块
由于本系统涉及多路模拟信号,故选择了AD(20809型通用模/数转换器,它采用逐次逼近方式完成A/D转换过程,其片内带有8路模拟开关,能自动锁存信号,输入电压范围是0V~+5V,因为该器件的输出具有1TrL三态锁存缓冲器结构,所以可以直接连人单片微控制器的I/O口。相关的接口连接如图2所示。
需要说明的是,在本系统6路电源信号中只有一路负电源信号符合ADC0809 0V~5v的输入特性,因此必须配备相应的反相电路,则通过LM358型运算放大器来完成。利用LM358还可以扩展监测范围(以降低测量精度为前提),这对于精度要求不太高的场合是可行的。图2中PC817型光耦用于检测负电压信号,当IN4为低电平信号时对应负电压信号,此时在MSl2232B的相应行位置给出“-”号标志,这不仅解决了正负电压同行显示的兼容性问题,而且减少了软件设计量(由6路简化为3路),同时使系统实时性相应提升。
2.4温度传感器模块
DSl8820是Dallas公司推出的l—Wire式数字温度传感器,它能实时采集现场环境的温度数据,并将相应的值转换为数字量输出。该温度传感器与AT89S52的连接如图3所示。
2.5语音报警模块
该模块主要实现异常情况下告警信息的输出,只要配电箱电压信号的波动值超出一定的范围,音频告警装置即给出不同的频率信号使蜂鸣器发声,以提示相关操作人员注意。
3 系统软件设计
按RTOS系统的程序结构要求,软件工程主要由如下4部分组成:初始化、数据采集与A/D转换、显示子程序、温度监测与告警模块。
如果将初始化设置为任务0,那么除了要完成相应的硬件配置与变量赋初值外,还必须启动所有其他任务,另外,因为初始化过程只须进行一次,所以Task 0还应当删除其自身。具体的程序代码如下所示:
void Init(void)_task_Intial {
variable=0; LcdInitialO; ClrScreenO;
0s_create_task(AI)C0809I)ata); os_create_task(DSl8820Temperate); 0s_create_task(LCMI)isplay); 0s_delete_task(Intial);
}
其中相关的宏定义变量值为: #define Intial O
#define ADC0809Data 1 #define DSl 8820Temperate 2 #define LCMDisplay 3
在Keil集成开发环境下调试本程序时,除了要包括相应的头文件(rtx51tny.h)外,还必须设置好相应的环境参数值。
3.1数模转换子程序
数据采集与A/I)转换子程序主要对配电箱传来的模拟信号进行采样、量化及返回值处理。软件编程时的电气时序及相关技术要求如图4所示。
在时序图中,上升沿清空量化结果寄存器内的值,下降沿启动,A/D转换;采样启动
脉冲的高电平状态至少应维持100μs;EOC变为低电平表示转换过程正在进行,且启动信号的硬件迟滞效应时间至少应为10μs;MSB对应AT89S52并口的:P0.7,LSB对应P0.0。
关键部分的程序源代码及注释如下:
…… 此处隐藏:1032字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




