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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于RlTOS和ISP功能的数字仪表系统设计与实现.doc)为本站会员(创****公)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于RlTOS和ISP功能的数字仪表系统设计与实现.doc

1、基于 RlTOS 和 ISP 功能的数字仪表系统设计与实现摘要:以 Atmel 公司的 AT89S52 型单片微控制器为对象,介绍基于 RTOS(多任务实时操作系统)和 ISP(在系统可编程)功能的数字仪表系统的软硬件设计,同时给出硬件系统的组成和相关软件编程的实现代码。经某武器系统的调试试验表明,该仪表系统具有显示直观、准确、可靠的优点。关键词:RTOS;ISP;单片微控制器;液晶显示模块引言Atmel 公司的控制器以其集成度高、在线调试方便等特点广泛应用于工程实践领域,文中以某武器系统的前期预研为背景,讨论了数字仪表系统的软硬件实现过程,其主要功能包含:实时采集配电箱系统的 6 路正负模拟

2、电压值及作战环境温度,并通过 MSl2232B型液晶模块动态式显示。1 软件特性随着 C 语言在嵌入式系统中的广泛运用,软件系统的实时性、复杂性设计要求也越来越高,用通常的单任务无限循环结构与中断服务子程序相配合的编程思想已难以完成相关的软件设计或实现较为困难,RTOS(多任务实时操作系统) 是现阶段较为流行的处理方式。RTOS 的基本设计思想是将多种系统输入和处理要求,按功能做成不同的任务函数体,并分配适当的优先级,参考 Windows 系统的多线程处理机制,将 CPU 执行时间划分成若干区段,每个任务函数体对应一个时间片段在规定的时间内执行完后允许切换到另一个任务,因各时间段非常短,表现的

3、是多任务实时处理特性。因为任务并非同时执行且具备跳转特性,所以整个项目管理文件内可以有多个无限循环结构,且省略了 main 入口函数,这是 RTOS 最大的特色。文中以 Keil 集成开发环境为平台,利用 RTX5l Tiny 版本来完成整个软件设计过程。ISP(在系统可编程)是一种适合 Atmel 系列器件的 Flash 技术,通过 PC 的 LPT 标准并行接口,能实时地将 Intel 格式的源程序代码下载到微控制器的相应存储区域。ISP 的最大特点是简化了调试过程,提高了软件系统的可维护性,使其具备了在线升级特性。而且整个开发过程省去了反复插拔电路的操作。2 系统硬件构成本系统硬件主要包

4、括如下几个模块:AT89S52 型主控制器、ADC0809 型模数转换、MSl2232B 型液晶显示器、温度传感器及语音报警等。其中 AT89S52 型微处理器主要完成外围器件的硬件控制及相关数据解算,ADC0809 采集 6 路模拟信号并输入主控制器,MSl2232B 完成数字及相关标识字符的显示,配电系统的电压波动超出预定指标时由语音模块给出相应的报警信息。2.1 主控制器模块主控制器是 Atmel 公司生产的 AT89S52 型单片微控制器,与常规 C51 系列相比,其突出特点是具有 8KB 闪速式存储器 (降低了对外扩存储器的要求 )、256B RAM 内存( 可容纳更多局部变量)、8

5、 个中断源及 ISP 在线可编程特性。2.2 液晶显示模块MSl2232B 属于图形点阵系列的显示器件,具有双行显示功能,其点阵结构为 12232,通过 AT89s52 给出必要的数据和指令来操作 MSl2232B 主、辅控制器,从而完成图形、字符等相关信息的显示。该液晶显示模块还具有较强的通用性用户用少量元件就可以构成一个完整的 LCD 系统。电路连接如图 1 所示。2.3 AD 数据采集模块由于本系统涉及多路模拟信号,故选择了 AD(20809 型通用模数转换器,它采用逐次逼近方式完成 AD 转换过程,其片内带有 8 路模拟开关,能自动锁存信号,输入电压范围是 0V+5V,因为该器件的输出

6、具有 1TrL 三态锁存缓冲器结构,所以可以直接连人单片微控制器的 IO 口。相关的接口连接如图 2 所示。需要说明的是,在本系统 6 路电源信号中只有一路负电源信号符合 ADC0809 0V5v 的输入特性,因此必须配备相应的反相电路,则通过 LM358 型运算放大器来完成。利用LM358 还可以扩展监测范围( 以降低测量精度为前提),这对于精度要求不太高的场合是可行的。图 2 中 PC817 型光耦用于检测负电压信号,当 IN4 为低电平信号时对应负电压信号,此时在 MSl2232B 的相应行位置给出“-” 号标志,这不仅解决了正负电压同行显示的兼容性问题,而且减少了软件设计量(由 6 路

7、简化为 3 路),同时使系统实时性相应提升。2.4 温度传感器模块DSl8820 是 Dallas 公司推出的 lWire 式数字温度传感器,它能实时采集现场环境的温度数据,并将相应的值转换为数字量输出。该温度传感器与 AT89S52 的连接如图 3 所示。2.5 语音报警模块该模块主要实现异常情况下告警信息的输出,只要配电箱电压信号的波动值超出一定的范围,音频告警装置即给出不同的频率信号使蜂鸣器发声,以提示相关操作人员注意。3 系统软件设计按 RTOS 系统的程序结构要求,软件工程主要由如下 4 部分组成:初始化、数据采集与 AD 转换、显示子程序、温度监测与告警模块。如果将初始化设置为任务

8、 0,那么除了要完成相应的硬件配置与变量赋初值外,还必须启动所有其他任务,另外,因为初始化过程只须进行一次,所以 Task 0 还应当删除其自身。具体的程序代码如下所示:void Init(void)_task_Intialvariable=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 ADC

9、0809Data 1#define DSl 8820Temperate 2#define LCMDisplay 3在 Keil 集成开发环境下调试本程序时,除了要包括相应的头文件(rtx51tnyh)外,还必须设置好相应的环境参数值。3.1 数模转换子程序数据采集与 AI)转换子程序主要对配电箱传来的模拟信号进行采样、量化及返回值处理。软件编程时的电气时序及相关技术要求如图 4 所示。在时序图中,上升沿清空量化结果寄存器内的值,下降沿启动,AD 转换;采样启动脉冲的高电平状态至少应维持 100s;EOC 变为低电平表示转换过程正在进行,且启动信号的硬件迟滞效应时间至少应为 10s;MSB 对应

10、 AT89S52 并口的:P0.7,LSB 对应 P0.0。关键部分的程序源代码及注释如下:unsigned int AI)C0809(void)unsigned int wait=3;ChannelChooseA=1;ChannelChooseB=0;ChannelChooseC=0;ADStartPulse=0;ADStartPulse=1;/产生 A/D 转换的启动脉冲(上升沿部分)delay();保证启动脉冲的高电平宽度至少大于 100sADStartPulse=0;产生 AD 转换的启动脉冲(下降沿部分)wait-;wait-; 指令延时以保证达到:EOC变为低电平所需的硬件迟滞要求

11、。whilefADConvertEOC=0):return(Result);将 A)转换后的量化值返回到主函数中。3.2 液晶显示模块MSl2232B 型图形点阵液晶显示(LCM) 模块左右分为 Master 和 Slave 控制器,上下共分 4 页,左边列地址为 0-61,右边列地址为 0-61,对该器件的操作关键是按时序图正确配置好主、辅控制器的工作状态。利用 AT89S52 访问 LCM 时有二种常用的方法,即存储器映射寄存器寻址和模拟接口时序,本系统采用后一种方法。主要函数模块源代码分析:void MasterWriteD(unsigned char Ramdata)/向 Master

12、 控制器写数据ReadOrWrite=0;InstructionOrData=1;MasterEl=1;P0=Ramdata;MasterEl:0;void MasterWriteI(unsigned char Ramdata)/向 Master 控制器写指令ReadOrWrite=0;InstructionOrData=0;MasterEl=1;P0=Ramdata;MasterE1=O;void ReadState(void) /检测主、辅控制器工作状态ReadOrWrite=1;InstructionOrData=0;MasterEl=1:SlaveE2=1;PO=0xff;while(BusStateBusy=1);void SetPage(unsigned char page0,unsigned char pagel)MasterWriteI(0xb8 | pagel);SlaveWriteI(0xb8 | page0);void SetColumn(unsigned char address0,unsigned char addressl)MasterWriteI(0x3f 发出复位脉冲前先释放总线

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。