单片机多通道数据采集系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机多通道数据采集系统
目录
1.功能描述 (3)
2 方案设计 (3)
2.1 系统分析 (3)
2.2 器件选择 (4)
2.2.1 微处理器 (4)
2.2.2 显示器 (4)
2.2.3 按键 (4)
2.2.4 闹铃 (4)
3、硬件电路设计 (5)
3.1 最小系统设计 (5)
3.2 显示电路设计 (6)
3.3 按键电路设计 (7)
3.4 声音报警电路设计 (6)
3.5多通道数据采集电路设计 (8)
4、软件设计 (9)
4.1 操作功能设计 (9)
4.2程序编制思想 (9)
4.3 主程序 (10)
5 程序调试 (17)
6 技术小结 (18)
7多通道数据采集系统的使用说明 (19)
8心得体会 (20)
9参考文献 (21)
附录1:电路原理图 (22)
附录2:程序参考清单 (23)
设计报告
1.功能描述
利用单片机控制A/D转换器实现多通道数据采集系统。
具有如下功能:
1.基本功能
(1)采集的数据为0-5V电压信号;
(2)通过按键选择任意通道的数据显示或轮流显示;
(3)可以设定报警上下限。
2.扩展功能
自行扩展功能,如音乐铃声,通讯功能等。
2 方案设计
2.1 系统分析
根据系统功能要求,可将系统组成结构分成五大部分:单片机控制中心、按键接口、多通道数据采集、数码管显示和报警播放音乐,如下图为系统的组成结构图。
其中,单片机控制中心是核心。
MCU根据按键输入,可切换不同的模式或设置不同的参数,从而实现多通道数据的采集。
报警播放音乐可设置最高或最低温度报警值。
图2.1 系统总体结构图
2.2 器件选择
2.2.1 微处理器
市场上微处理器种类很多。
这里,选取微处理器从多方面考:成本低、性能高、能够满足功能要求等等。
这里,选取STC89C52芯片。
因为其功能与普通51芯片相同,其价格非常低廉、程序空间大、资源较丰富、在线下载非常方便。
同时,使用该芯片,编程上亦可采用所熟悉的KEIL软件,使课程设计非常简单。
2.2.2 显示器
常见的显示器件LED数码管和LCD液晶器件。
LED数码管能够显示数字和部分字符,价格便宜,硬件电路、软件编程均非常简单,而且使用动态扫描技术可节省大量硬件成本。
LCD液晶显示器件,显示字迹清晰、能够显示数字、字符,本实验主要是用于显示所采集的电压与温度的显示。
系统显示主要还是数字,根据这两种显示器件的特性,选取LED数码管器件。
由于系统要求显示所采集的通道数据,采用四位数码管显示即可。
2.2.3 按键
按键是用来变换显示模式以及设置传送上位机信息等功能的。
这里采用普通按键即可,选用原则:以最少的按键,实现尽可能多的功能。
所以这里,设置两个按键:模式键、传送键。
2.2.4 闹铃
选用最常见,亦最常用的声音提示方式——蜂鸣器,用于报警音乐定时播放。
3.1 最小系统设计
GND
图3.1 最小系统电路
图3.2 数码管显示电路3.3 声音报警电路设计
图3.3 蜂鸣器连接电路
图3.4 按键电路
3.5多通道数据采集电路设计
图3.5 PCF89C51多通道数据采集
4、软件设计
4.1 操作功能设计
根据系统功能描述,可以将功能大致分成四类:多通道数据播放采集功能、脉冲波形输出功能、报警温度设置功能和音乐功能,上位机信息传送功能。
系统设有四个数码管,四个按键。
采用模式式人机对话,便于操作。
所以可分成多种菜单,功能键切换模式,UP或DOWN键可以设置报警上下限温度值。
模式设计如下:
模式1:温度显示:显示格式为:AA.BB摄氏度(如:51.25,为51.25摄氏度)
模式2:电位电压显示:显示格式为:AA.BB伏(如03.45,为电位电压3.45伏)模式3:电压显示:显示格式为:AA.BB.伏(如02.34,为电压2.34伏)
模式4:输入电压显示:显示格式为:AA.BB.伏(如04.55,为输入电压4.55伏)模式5:脉冲波形输出:显示格式为:NF.分钟(如NF.34,为闹铃时间分钟设为34分)模式6:调节警报下限:显示格式为:AA.BB摄氏度(如00.00为当前报警温度下限),在此种模式下,UP键设为用来增加报警温度下限值、DOWN键用来减小报警温度下限值。
模式7:调节警报上限:显示格式为:AA.BB摄氏(如50.00为当前报警温度上限),在此种模式下,UP键设为用来增加报警温度上限值、DOWN键用来减小报警温度上限值。
模式8:播放音乐:使用蜂鸣器播放音乐。
4.2程序编制思想
数码管采用动态扫描原理。
所以系统需使用单片机定时器资源。
定时时间可设为5ms,即4位数码管,每5ms扫描一位数码管,20ms循环一次。
另一方面,按键接普通IO口,所以按键管理程序所涉及到的识键、译键均需采用软件扫描的方法。
这里选用查询扫描控制方式。
所以,程序编制思想为:使用定时器0完成数码管动态扫描,并在主程序中循环查询按键是否被按下。
查询到相应的按键时,如模式键,则执行相应的操作,如切换模式。
切换模式的方法,主要是通过程序定义一个变量,变量不同的值表示不同的模式。
在进行切
换模式后,跳到相应模式的处理函数,并更新数码管显示内容。
另外,系统有播放音乐功能,所以,切换到播放音乐模式,播放美妙动听的音乐。
4.3 主程序
(程序流程图主要根据学生的思路来绘制)这里只给出数码管动态扫描所涉及的流程图。
图4.2温度显示模块
图4.3 电位电压显示模块
图4.4 输入电压显示模块
图4.5 DA转换波形显示模块
图4.6 温度警报上限调节模块
图4.7 温度警报下限调节模块
图4.8 音乐播放模块
5 程序调试
在程序编制当中易出现问题:定时器中断的用法、动态扫描的过程、按键与显示的对应,按键的消抖动等。
问题1:在按模式按键进行切换模式时,遇到按一次,模式切换多次的问题
解决思路:
在按按键时,在IO口由高电平变为低电平及低电平变为高电平的过程中,会电平抖动现象,为了不让抖动对按键判断产生干扰,需延时一段时间,再判断按键是否按下,并且当按键一直处于低电平时在原处循环,直到电平为高则退出循环。
问题2:在读取温度值时,读到的是一个0~255之间的值,并不是我想要的温度值解决思路:使用PCF89C51读取温度值时,使用IIC协议读取时返回一个unsigned char 的数值,最大为255,最小为0,而设定的温度是20摄氏度到80摄氏度之间。
假设返回值与温度值是线性关系(实际上不是,这里假设为有线性关系,方便计算),建立线性方程,求得关系系数为0.235294,将读到的数与相关系数相乘加20,即得到想要显示的温度值。
6 技术小结
单片机多通道数据采集系统的主要技术应包括:单片机最小系统结构、数码管显示技术、按键检测技术、系统功能设计、软硬件调试等技术。
系统设计:单片机多通道数据采集系统包含的功能有采集0~5V的电压信号,通过按键选择任意通道的数据显示,设置警报上下限以及音乐播放等功能。
将功能细分为8种模式:温度显示模式、电位显示模式、电压显示模式、输入电压显示模式、脉冲波形显示模式、调节警报上限模式、调节警报下限模式及播放音乐模式。
选择不同的模式来实现多通道数据采集系统。
硬件设计:在设计单片机多通道数据采集系统的最小系统结构时,考虑到要在数码管上动态显示采集到的数据、温度报警的设置以及要使用PCF89C51芯片来采集几种信号等,硬件电路应能提供3.3V~5V的电压来正常驱动蜂鸣器等设备,用USB转串口线来提供系统所要的运行电压。
软件设计:在设计单片机多通道数据采集系统的软件层时,要依据不同的按键实现不同的功能,本系统采用了按键查询的方法来实现按键检测功能,既简单易实现,在实际的测试中表现也很稳定。
在用数码管显示多通道采集的温度、电压等信号时,因为是实时采集动态显示的,所以在设计数码管显示时,将采集到的数经过相应的计算及转换后,赋给P0,在定时器0中快速循环选择不同的数码管段码,即可动态显示温度、电压等信号。
7多通道数据采集系统的使用说明
1功能使用:
(1)温度显示:读取通过PCF89C51采集的数据并转换为20~50摄氏度的温度,在数码管上动态显示
(2)电位电压显示:读取通过PCF89C51采集的数据并准换为0~5伏的电压,在数码管上动态显示
(3)电压显示:读取通过PCF89C51采集的数据并转换为电压,在数码管上动态显示
(4)输入电压显示:读取通过PCF89C51采集的数据并转换为0~5V的电压,在数码管上动态显示
(5)脉冲波形输出:通过PCF89C51将数据转换为相应的电压,在示波器上输出脉冲波形
(6)警报设置:通过调整温度警报的上下限值,当温度达到警报值时,蜂鸣器警报(7)播放音乐:播放单片机上的音乐
2操作说明:
进入系统,在第一个数码管上显示“0”,按KEY键,模式值循环变换,当调整到要进入的模式时,按下ENTER键,即可进入该模式。
在一种模式下,要进入另一种模式时,直接按KEY键,即可循环选择模式,之后的过程同上。
在调节警报温度值模式下,按UP键,设定值增加,按DOWN键,设定值减小,显示值即为设定值。
8心得体会
通过这一周的课程设计,我学到了许多有关51单片机系统设计及管理的东西,实际动手能力也得到了很大的提高,对51单片机系统的设计流程有了进一步的了解,通过团队合作,协商分析项目,提高了我的团队协作意识和能力。
在本次课程设计中我也遇到了许多的困难,比如用有源蜂鸣器来播放音乐,IIC协议的实现,以及对系统总体构思不完整等问题。
在以后的学习中希望能够对51单片机系统的设计更加熟悉,使设计出来的51单片机系统更加易用,更加稳健。
9参考文献
[1]沈红卫. 单片机的智能系统设计与实现[M]. 北京电子工业出版社. 2005.
[2]李光飞,楼然苗,胡佳文,等著. 单片机课程设计实例指导[M]. 北京航空航天大学出版社. 2005.
[3]汪德彪. MCS-51单片机原理及接口技术[M]. 北京电子工业出版社. 2004.
[4]胡文金,钟秉翔. 单片机应用技术实训教程[M]. 重庆大学出版社. 2005.
[5]张毅刚,彭喜元,董继成. 单片机原理及应用[M]. 重庆大学出版社. 2003.
附录1:电路原理图
附录2:程序参考清单。