智能多路数据采集系统设计 修改稿

本科学生毕业论文(设计)

题 目 智能多路数据采集系统设计 学 院 物理与电子信息学院 专 业 通信工程 学生姓名 杨晓凤 学 号 100803091 指导教师 韩凌云 职称 讲师 论文字数 17000

完成日期 2014 年 3 月 28 日

论文题目 智能多路数据采集系统设计 学生姓名、学院: 杨晓凤,物理与电子信息学院

中文摘要

随着我国智能化水平的不断进步,在电气行业智能电气运用广泛。它既能实现实时监测,还能高速和高精确地对数据进行采集。利用自制的模拟正弦发生器将频率设计在100到1000HZ 内,频率电压转换芯片将频率转换成相应电压,同时通过主控制芯片来实现数据采集任务。本文介绍了基于单片机的智能数据采集的硬件设计和软件设计,系统的硬件部分主要包括单片机控制模块、模拟量采集接口模块、开关量采集接口模块、键盘输入模块、LCD 显示模块、电源模块。单片机控制模块用于控制和协调系统各个模块工作。模拟量采集接口模块用于对模拟量进行预处理,使其转化为单片机能够处理的模拟量。开关量采集接口模块用于对数字量进行预处理,使其转化为单片机能够处理的数字量。电源模块为整个系统提供工作电源。键盘输入模块和LCD 显示模块为系统提供了人机交互的通道,便于用户对应用系统进行干预。本设计采用具有AD 转换功能的号、4路开关量的采集,具有处理能力强、精度高、通用性强等优点。

关键词: 多路数据采集系统,模拟量,开关量 英文题目 Intelligent multi-channel data acquisition system 学生姓名、学院: Yang Xiaofeng ,College of Physics and Electronic Information

英文摘要

英文关键词 Multi-channel data acquisition system , Analog , Digital

安徽师范大学本科生毕业论文(设计)评定意见

安徽师范大学本科生毕业论文(设计)评定意见

智能多路数据采集系统设计

杨晓凤 物理与电子信息学院

摘 要:随着我国智能化水平的不断进步,在电气行业智能电气运用

广泛。它既能实现实时监测,还能高速和高精确地对数据进行采集。利用自制的模拟正弦发生器将频率设计在100到1000HZ 内,频率电压转换芯片将频率转换成相应电压,同时通过主控制芯片来实现数据采集任务。本文介绍了基于单片机的智能数据采集的硬件设计和软件设计,系统的硬件部分主要包括单片机控制模块、模拟量采集接口模块、开关量采集接口模块、键盘输入模块、LCD 显示模块、电源模块。单片机控制模块用于控制和协调系统各个模块工作。模拟量采集接口模块用于对模拟量进行预处理,使其转化为单片机能够处理的模拟量。开关量采集接口模块用于对数字量进行预处理,使其转化为单片机能够处理的数字量。电源模块为整个系统提供工作电源。键盘输入模块和LCD 显示模块为系统提供了人机交互的通道,便于用户对应用系统进行干预。本设计采用具有AD 转换功能的STC12C5A60S2单片机作为系统的控制中心,可以实现对4路模拟电压信号、4路开关量的采集,具有处理能力强、精度高、通用性强等优点。

关键词:多路数据采集系统,模拟量,开关量,STC12C5A60S2

Intelligent multi-channel data acquisition system

Yang Xiaofeng,college of Physics and Electronic Information

Abstract : With the continuous progress of China's level of intelligence ,

intelligent electrical use in the electrical industry widely . It can not only achieve

real-time monitoring, but also high-speed and high- precision data acquisition. Use homemade analog sinusoidal frequency generator 100 to the design 1000HZ, frequency voltage to frequency converter chip is converted into a corresponding voltage, while the main control chip to achieve data acquisition tasks. This article describes the SCM intelligent data acquisition hardware design and software design, the hardware system includes single-chip control module, analog acquisition interface modules , switch acquisition interface module , keyboard input module, LCD display module , power supply module. MCU control module is used to control and coordinate system for each module . Analog acquisition interface module for analog preprocessing to analog conversion for the microcontroller can handle. Switch acquisition interface module for digital preprocessing , make it into a digital microcontroller can handle. Power module supplies power to the entire system. Keyboard input module and LCD display module system provides a channel for the

human-computer interaction , user-friendly application system to intervene.This design uses STC12C5A60S2 microcontroller with AD conversion function as a control center system can be achieved on 4 -channel analog voltage signal , 4-way switch collection, with strong processing capability , high accuracy , versatility and so on.

Keywords : Multi-channel data acquisition system, Analog, Digital,

STC12C5A60S2

目录

前 言 ................................................................................................................................ 1 第1章 绪 论 . .................................................................................................................... 2 §1.1 设计背景 . ............................................................................................................... 2 §1.2 性能指标 . ............................................................................................................... 2 §1.3 硬件设计方案 ........................................................................................................ 2 §1.4 软件设计方案 ........................................................................................................ 3 第2章 多路数据采集系统的硬件设计 . ............................................................................ 5 §2.1 单片机控制模块 .................................................................................................... 5 §2.2 模拟电压采集接口模块 . ...................................................................................... 10 §2.3 LCD显示模块 ....................................................................................................... 11 §2.4 电源模块 . ............................................................................................................. 12 第3章 多路数据采集系统的软件设计 . .......................................................................... 15 §3.1 主程序流程的设计 .............................................................................................. 15 §3.1.1 开关量检测的软件设计 . ............................................................................... 16 §3.1.2 LCD显示的软件设计 . ................................................................................... 17 §3.2 定时中断的软件设计 . .......................................................................................... 18 §3.2.1 AD转换的软件设计 ...................................................................................... 21 §3.2.2 键盘扫描的软件设计 . ................................................................................... 25 结 论 .............................................................................................................................. 26 参考文献 .......................................................................................................................... 26

致 谢 .............................................................................................................................. 27 附 录 .............................................................................................................................. 28

前 言

随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。因为由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大的提高,系统的硬件成本和系统的重建费用大大的降低。而采用单片机实现的数据采集系统具有自动化和智能化等特点,使得它们在许多应用场合得到了广泛的应用。

基于单片机的多路数据采集系统是一种对单片机性能要求中等,结构简单,实用性较强的低端电子产品,单片机作为核心器件,以其体积小、成本低、速度快、升级容易等优点具有很好的现实意义。

本文介绍一种基于单片机的多路数据采集系统的设计。文中第一章简要介绍了该通用型多路数据采集系统的设计背景和总体方案。第二章介绍该多路数据采集系统的硬件设计,主要包括单片机控制模块、电源模块、模拟量采集接口模块、开关量采集接口模块、键盘输入模块和LCD 显示模块。第三章介绍该多路数据采集系统的软件设计,主要包括主程序和定时中断服务程序的设计流程,以及AD 转换、键盘扫描、LCD 显示等底层程序的设计。

本系统的控制中心是具有AD 转换功能的STC12C5A60S2单片机,所以系统具有性价比高,处理能力强的优点。该系统不仅可以对4路模拟电压信号进行采集,还可以对4路开关量进行检测,并实现LCD 显示,具有很好的通用性。

1

第1章 绪 论

1.1 设计背景

采用单片机实现的数据采集系统具有自动化和智能化,接口简单灵活且有较高的数据传输率, 能够对实时数据做出快速响应并及时进行分析和处理等特点, 使得它们在许多应用场合得到了广泛的应用。工业领域的现场信息是各种各样的,既有模拟量,也有数字量、开关量。所以设计一种能够采集多种信息的数据采集系统具有很重要的意义和价值。可以提高获取大量动态信息的能力,从而为提高产品质量,降低成本提供信息和手段。

1.2 性能指标

随着工业自动化、智能化的提高,人们对数据采集系统功能和性能都提出了越来越高的要求。为了较好的满足这些需求,本设计的多路数据采集系统通过单片机的A/D和I/O口,实现对多路模拟信号和数字信号的采集,具有以下的功能和性能指标:

(1)能够实现对4路模拟电压信号的采集;

(2)能够实现对4路开关量的采集;

(3)能数字显示采集结果。

1.3 硬件设计方案

根据多路数据采集系统具有的功能和性能指标,设计出来的多路数据采集系统的方案设计的硬件部分主要分为以下几个模块:

单片机控制模块是整个系统的控制核心。它负责采集经处理过的电压,开关量信息,并送到LCD 进行显示,控制和协调系统各模块的工作。

模拟量采集接口模块用于对模拟量进行预处理,使其转化为单片机能够处理的数字量。

开关量采集接口模块用于对数字量进行预处理,使其转化为单片机能够处理的数字量。例如,单片机处理电压信号范围为0V —5V ,所以开关量的

2

高电平状态的电平值要先转化为5V 以下。

键盘输入模块用于输入用户命令,如改变开关量状态,显示开关量等。 LCD 显示模块用来显示待采集的信号的数值或状态以及相关的提示信息。

多路数据采集系统硬件部分的总框图如图1-1所示:

图1-1 系统硬件的总框图

1.4 软件设计方案

根据方案要求多路数据采集系统软件部分采用结构化程序设计。采用结构化程序设计可以使程序结构清晰,层次分明, 易于编写与调试。本软件系统主程序的总框图见图1-2。

3

图1-2 主程序的总框图

主程序扫描键盘,显示相应的开关量状态。

主程序和定时中断服务程序通过全局变量进行数据传递。定时中断服务程序向主程序递AD 转换结果,供主程序计算模拟电压值。

LCD 显示程序接收数据,显示模拟电压值和开关量状态。

4

第2章 多路数据采集系统的硬件设计

在硬件的设计前期,根据框图对系统中可能出现的电路,进行了模拟实验,并根据实验结果对后期的硬件设计进行了合理化的修改完善。在第一章中已分析了系统并绘制了框图,多路数据采集系统硬件设计部分采用模块化的设计思想,将整个系统分成几大模块:单片机控制模块、模拟量采集接口模块、开关量采集接口模块、LCD 显示模块和电源模块。通过模块化的方法先焊接和调试各个单元模块,最后进行组装和测试,从而使复杂的问题简单化,提高了系统设计的效率。

2.1 单片机控制模块

单片机控制模块是整个系统的核心。本系统采用STC12C5A60S2单片机为核心元件。单片机正常工作还需时钟电路、复位电路、串口通讯等辅助电路。

1. 单片机电路

STC12C5A60S2单片机的电路原理图见图2-1。

图2-1 STC12C5A60S2单片机电路

STC12C5A60S2单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051, 但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速

5

10位A/D转换(250K/S,即25万次/秒), 针对电机控制,强干扰场合。

(1) 增强型 8051 CPU,1T ,单时钟/机器周期,指令代码完全兼容传统8051

(2) 工作电压:

STC12C5A60S2 系列工作电压: 5.5V - 3.3V(5V 单片机)

STC12LE5A60S2 系列工作电压: 3.6V - 2.2V(3V 单片机)

(3) 工作频率范围:0~35MHz ,相当于普通8051的 0~420MHz

(4) 用户应用程序空间 8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字节......

(5) 片上集成1280字节 RAM

(6) 通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏

每个I/O口驱动能力均可达到20mA ,但整个芯片最大不要超过120mA

(7) ISP (在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器, 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片

(8) 有EEPROM 功能(STC12C5A62S2/AD/PWM无内部EEPROM)

(9)内部集成MAX810专用复位电路(外部晶体12M 以下时,复位脚可直接1K 电阻到地)

(10) 外部掉电检测电路: 在P4.6口有一个低压门槛比较器

5V 单片机为1.33V ,误差为±5%,3.3V 单片机为1.31V ,误差为±3%

(11) 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为±5% 到±10% 以内) 用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟,

常温下内部R/C振荡器频率为:5.0V 单片机为: 11MHz ~ 15.5MHz

3.3V 单片机为: 8MHz ~ 12MHz

精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。

6

(12) 共4个16位定时器。两个与传统8051兼容的定时器/计数器,16位定时器T0 和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器, 再加上2路PCA 模块可再实现2个16位定时器

(13) 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟

(14) 外部中断I/O口7路, 传统的下降沿中断或低电平触发中断, 并新增支持上升沿中断的PCA 模块,Power Down 模式可由外部中断唤醒,INT1/P3.3,T0/P3.4, T1/P3.5, RXD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2), CCP1/P1.4(也可通过寄存器设置到P4.3)

(15) PWM(2路)/PCA(可编程计数器阵列,2路)

--- 也可用来当2路D/A使用

--- 也可用来再实现2个定时器

--- 也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)

(16) A/D转换, 10位精度ADC ,共8路,转换速度可达250K/S(每秒钟25万次)

(17) 通用全双工异步串行口(UART),由于STC12系列是高速的8051可再用定时器或PCA 软件实现多串口

(18) STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2) ,TxD2/P1.3(可通过寄存器设置到P4.3)

(19) 工作温度范围:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级)

(20) 封装:LQFP-48, LQFP-44, PDIP-40, PLCC-44, QFN-40

I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口, 还可用A/D做按键扫描来节省I/O口,或用双CPU, 三线通信,还多了串口。

2. 时钟电路

单片机的定时控制功能是用片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:内部时钟方式和外部时钟方式。

7

采用内部时钟方式时,片内高增益反向放大器通过XTAL1、XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供震荡时钟。振荡器的频率主要取决于晶体的振荡频率,一般晶体可在1.2-12MHz 之间任选。电容的值有微调作用,通常取30pF 左右。在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。起振电容C7、C8一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好。

图2-2 时钟电路

3. 复位电路

为确保单片机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般单片机电路正常工作需要供电电源为5V ±5%,即4.75~5.25V 。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC 超过4.75V 低于5.25V 以及晶体振荡器稳定工作时,复位信号才被撤除,单片机电路开始正常工作。

手动按钮复位需要人为在复位输入端RST 上加入高电平。一般采用的办法是在RST 端和正电源Vcc 之间接一个按钮。当人为按下按钮时,则Vcc 的+5V电平就会直接加到RST 端。VCC 上电时,C 充电,在10K 电阻上出现电压,使得单片机复位;几个毫秒后,C 充满,10K 电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下S ,C 放电。S 松手,C 又充电,在10K 电阻上出现电压,使得单片机复位。几个毫秒后,单片机

8

进入工作状态。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

图2-3 复位电路

3. 串口通讯电路

STC12C5A60S2单片机有一个全双工的串行通讯口,所以可以方便地进行单片机和电脑之间的串口通讯,可以同时接收或传送外部送来的数据。但是进行串行通讯时要满足一定的条件,例如电脑的串口是RS232电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,也可以用几个三极管进行模拟转换,但都不如专用芯片更简单可靠。标准的RS232电平与STC12C5A60S2单片机的串口电平并不相兼容,须加上转换IC ,方可与RS232电平直接相连。

单片机内部已集成通信接口URT ,只需扩展一片MAX232芯片将输出信号转换成RS-232协议规定的电平标准,MAX232 是一种双组驱动器/接收器,每个接收器将EIA/TIA-232-E电平输入转换为5V TTL/CMOS电平。这些接收器具有1.3V 的典型门限值及0.5V 的典型迟滞,而且可以接收±30V 的输入。 每个驱动器将TTL/CMOS输入电平转换 为 EIA/TIA-232-E电平。即EIA 接口,就是把5V 转换为-8V 到-15V 电位0V 转换为8V 到15V 再经RXD 输出,接收时由RXD 输入,把-8V 到-15V 电位转换为5V ,8V 到15V 转换

9

为0V 。MAX232的工作电压只需5V ,内部有振荡电路产生正负9V 电位。

该电路的数据传输过程如下:MAX232的11脚接单片机TXD 端P3.1,TTL 电平从单片机的TXD 端发出,经过MAX232转换为RS-232电平后从MAX232的14脚发出,再连接到实验班上串口座的第3脚,再经过随板配送的交叉串口线后,连接至PC 机的串口座的第2脚RXD 端,至此计算机接收到数据。PC 机发送数据时从PC 机串口座第3脚TXD 端发出数据,再逆向流向单片机的RXD 端接收数据。

图2-4 串口通讯电路

2.2 模拟电压采集接口模块

本系统采集4路电压模拟信号,4路电压信号的采集接口模块是相同的。 模拟电压首先经过如图2-5所示的差分比例运算电路减小到原来的6。

差分比例运算电路是由加减运算电路改进而来的,由比例运算电路分析可知,输出电压和同相输入端信号电压极性相同,与反向输入端信号电压极性相反,因而如果有多个信号同时作用于两个输入端时,就可以实现加减法

10

运算。当加减法运算电路只有两个输入,且参数对称,如图2-5所示,则

U 0=R f

R (U i 2-U i 1)

电路实现了对输入差模信号的比例运算。

之后,电压信号再经分压倍数可调的分压电路,转化为0V —5V 的电压,再接入单片机的AD 转换口。模拟电压采集接口电路见图2-6。

图2-5 差分比例运算电路

图2-6 模拟电压采集接口电路

2.3 LCD显示模块

本设计采用LCD 显示模块选用的硬件器件是液晶显示器DMT32240T035_01WN。它是便携式电子设备常用的芯片,也比较容易操作。

11

类似于平常用的数码管LED 显示。LCD 显示模块用于显示采集到的模拟电压和开关量的状态等数据以及相关提示信息。

该显示器采用M600通用液晶显示驱动。驱动模组提供的是RS232串口方式,通过协议来控制屏的显示,内置128M flash, 界面不需要编程序来做, 直接图片操作,串口下发指令实现文本图形、曲线、清屏、反色、环移等功能。操作起来特别简单,界面部分由美工设计人员通过计算机设计图片便可以,而且以后产品升级起来特别方便,下位机的控制板可以不用变化,液晶部分都是通过串口控制的,一般程序都不用修改或稍作修改便可将产品的有小显示尺寸升级到大显示尺寸,因为现在TFT 面板的价格下调,已经和单色的成本差不太多了,但显示效果和产品档次却大大的提高了。工作电压

4.5~5.5V,工作电流为200mA 。控制方式简单,与单片机只需连4根线:电源线、地线、接收信号线、发送信号线。LCD 显示模块接口电路如图2-7。

图2-7 LCD显示模块接口电路

2.4 电源模块

电源模块为整个系统提供电源。系统需要的有DC5V 和DC9V 两种电压电源,设计时采用输出电压为DC9V 的电源作为整个系统的电源。之后通过三端稳压7809和7805分别产生DC9V 和DC5V 的电源供系统的相应模块使用。电路设计时三端稳压7809和7805的输入和输出端要加上滤波和去高频的电容。

因AD 转换的参考电压是由稳压器7805的输出电压,存在一定的波动,影响AD 转换的精确度。所以,又设计了单片机电源电路。单片机电源电路主要由MC1403电路和带扩流功能的同相比例运算电路组成。

MC1403是一款低压基准芯片,是由美国摩托罗拉公司生产的高精确度、低温漂、采用激光修正的带隙基准电压源。一般用作8~12bit 的A/D芯片的

12

基准电压等一些需要基本精准的基准电压的场合。输出电压为2.5V(典型值) ,输入电压范围是4.5V —40V ,输出电流为10 mA。当输入电压从10V 降至4.5V 时,输出电压只变化0.0001V ,变化率仅为-0.0018%。

因为输出是固定的,所以电路很简单。就是Vin 接电源输入,GND 接底,Vout 加一个0.1uf-1uf 的电容就可以了。该芯片为DIP4封装,除了Vin 、GND 、Vout 外,还专门设置了5个空脚,应用时可以将其接地。

带扩流功能的同相比例运算电路主要有运放LM324和三极管8050组成。 LM324是四运放集成电路,它采用14脚双列直插塑料封装。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图2-8所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo ”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo 的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo 的信号与该输入端的相位相同。

如图2-9所示,利用LM324组成同相比例运算电路,需引入电压串联负反馈,故可以认为电阻为无穷大,输出电阻为零。即使考虑集成运放参数的影响,输入电阻也很大。根据“虚段”和“虚断”的概念,集成运放的净输入电压为零,即U p =U n =U 1

,即

U n -0U 0-U n =R R f

U o =(1+R f ) R 净输入电流为零,因而I r =I f 得

13

图2-8 同相比例运算电路

图2-9 单片机电源电路 14

第3章 多路数据采集系统的软件设计

本章介绍了该设计的软件方面,软件采用模块化方式进行编程,用到该模块时可直接调用,为了更好地理解程序模块的功能,每个模块都给出了相应的流程图。

3.1 主程序流程的设计

图3-1 主程序流程图

主程序开始后,进行系统初始化,初始化过程包括设置堆栈、定时器0初始化、定时器1初始化、ADC 初始化、串口初始化和开启中断等。

之后进入循环,在循环中读取用户按键值,根据用户按键值,计算和显示相应的数据。

15

3.1.1 开关量检测的软件设计

根据第二章的介绍可以看出开关量的检测(以key1为例) 过程如下:先读取P2.0的值,根据P2.0的值判断key1的开关量状态。具体流程图如下:

图3-2 开关量检测流程图

16

3.1.2 LCD显示的软件设计

本设计采用LCD 显示模块选用的硬件器件是液晶显示器DMT32240T035_01WN。它是便携式电子设备常用的芯片。软件设计也不难。类似于平常用的数码管LED 显示。LCD 显示的主要是开关量和在负载上采集的电压值。具体方法是,把数字值的每位都分离出来,转化为数组元素,再调用发送数据子程序进行发送显示,最后显示设计要求的电压。

LCD 模块采用串行口控制的方法,LCD 模块与单片机的串行口P3.0和P3.1口相连。单片机通过串行口向LCD 发送命令,LCD 接收到命令后完成相应的动作。

例如:要在LCD 屏幕上(128,48)处开始显示字符串“Hello !”。则需编程控制单片机通过串行口向LCD 发送如下命令(16进制):AA 55 00 80 00 30 48 65 6C 6C 6F A3 A1 CC 33 C3 3C ,共17个字节。

其中,AA 是帧头,CC 33 C3 3C 是帧尾,这两部分是固定不变的。55是命令字,表示该命令是用来在相应位置显示字符串。00 80 00 30是字符串显示的位置(128,48)的16进制表示。48 65 6C 6C 6F A3 A1是字符串“hello !”的编码。48是“H ”在ASCII 码表中的码值,65是“e ”在ASCII 码表中的码值,依次类推,这部分可以看为命令的参数。

还有很多的命令,如显示文字,图形,图象等命令,组合使用这些命令,就会显示出丰富多彩的界面。不管什么命令,单片机控制其显示的流程都是一样的,如下图所示。

17

图3-3 LCD显示程序流程图

3.2 定时中断的软件设计

图3-4 定时中断服务程序流程图

18

进入定时中断服务程序后,首先进行保护现场。51单片机相应中断后,只保护断点而不保护现场信息,如累加器A 、工作寄存器R n 、程序状态字PSW 等。所以,在编制中断服务程序时应手动保护现场。之后,切换工作寄存器组,单片机共有4组工作寄存器组,主程序默认用寄存器组0,进入中断服务程序后要进行工作寄存器的切换,否则主程序中工作寄存器里保存的值可能被中断程序破坏。然后调用AD 转换程序和键盘扫描程序。最后,恢复现场,返回主程序。

STC12C5A60S2系列单片机CPU 对中断源的开放或屏蔽,每一个中断源是否被允许中断,是由内部的中断允许寄存器IE (IE 为特殊功能寄存器,它的字节地址为A8H )控制的,其格式如下:

IE : 中断允许寄存器(可位寻址)

表3-1 IE寄存器

EA : CPU的总中断允许控制位,EA=1,CPU 开放中断,EA=0,CPU 屏蔽所有的中断申请。EA 的作用是使中断允许形成两级控制。即各中断源首先受EA 控制; 其次还受各中断源自己的中断允许控制位控制。

ELVD :低压检测中断允许位。ELVD=1,允许低压检测中断;ELVD=0

禁止低压检测中断。

EADC : A/D转换中断允许位。EADC=1,允许A/D转换中断;EADC=0,

禁止A/D转换中断。

ES : 串行口1中断允许位。ES=1,允许串行口1中断;ES=0,禁止串

行口1中断。

ET1 : 定时/计数器T1的溢出中断允许位。ET1=1,允许T1中断;ET1=0,

禁止T1中断。

EX1 : 外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,

禁止外部中断1中断。

ET0 : T0的溢出中断允许位。ET0=1,允许T0中断;ET0=0禁止T0中

19

断。

EX0 : 外部中断0中断允许位。EX0=1,允许中断;EX0=0禁止中断。 STC12C5A60S2系列单片机复位以后,IE 被清0,由用户程序置“1”或清“0”IE 相应的位,实现允许或禁止各中断源的中断申请,若使某一个中断源允许中断必须同时使CPU 开放中断。更新IE 的内容可由位操作指令来实现(SETB BIT;CLR BIT),也可用字节操作指令实现(即MOV IE,#DATA,ANL IE,#DATA;ORL IE,#DATA;MOV IE,A 等)。

传统8051单片机具有两个中断优先级,即高优先级和低优先级,可以实现两级中断嵌套 。STC12C5A60S2系列单片机通过设置新增加的特殊功能寄存器(IPH和IP2H) 中的相应位,可将中断优先级设置为4个中断优先级;如果只设置IP 和IP2,那么中断优先级只有两级,与传统8051单片机两级中断优先级完全兼容。中断优先级控制寄存器IP 、IP2、IPH 和IP2H 的各位都由可用户程序置“1”和清“0”。但IP 寄存器可位操作,所以可用位操作指令或字节操作指令更新IP 的内容。而IP2、IPH 和IP2H 寄存器的内容只能用字节操作指令来更新。STC12C5A60S2系列单片机复位后IP 、IP2、IPH 和IP2H 均为00H ,各个中断源均为低优先级中断。

TCON 为定时器/计数器T0、T1的控制寄存器,同时也锁存T0、T1溢出中断源和外部请求中断源等,TCON 格式如下:

TCON : 定时器/计数器中断控制寄存器 (可位寻址)

表3-2 TCON寄存器

TF1: T1溢出中断标志。T1被允许计数以后,从初值开始加1计数。当

产生溢出时由硬件置“1”TF1,向CPU 请求中断,一直保持到CPU

响应中断时,才由硬件清“0”(也可由查询软件清“0”)。

TR1: 定时器1的运行控制位。

TF0:T0溢出中断标志。T0被允许计数以后,从初值开始加1计数,当

20

产生溢出时,由硬件置“1”TF0,向CPU 请求中断,一直保持CPU 响应该中断时,才由硬件清0(也可由查询软件清0)。 TR0: 定时器0的运行控制位。

IE1:外部中断1请求源(INT1/P3.3)标志。IE1=1,外部中断向CPU

请求中断,当CPU 响应该中断时由硬件清“0”IE1。

IT1:外部中断1中断源类型选择位。IT1=0,INT1/P3.3引脚上的低电平

信号可触发外部中断1。IT1=1,外部中断1为下降沿触发方式。 IE0:外部中断0请求源(INT0/P3.2)标志。IE0=1外部中断0向CPU

请求中断,当CPU 响应外部中断时,由硬件清“0”IE0(边沿触发方式)。

IT0:外部中断0中断源类型选择位。IT0=0,INT0/P3.2引脚上的低电平

可触发外部中断0。IT0=1,外部中断0为下降沿触发方式。

3.2.1 AD转换的软件设计

本设计采用的STC12C60S2单片机具有输出八路A/D转换的功能,可任

选其一。本设计用第一路A/D到第四路A/D,分别用来采集4路电压信号。作为A/D转换的口需先将其设置为高阻输入或开漏模式,在P1M0和P1M1中对相应的位进行设置。A/D转换正常工作还需对一些特殊功能寄存器进行设置,和A/D转换有关的特殊功能寄存

器包含:ADC_CONTR,ADC_DATA和ADC_LOW2。

(1) P1M0和P1M1的设置

P1M0和P1M1的地址分别是:91H 和92H 。P1M0设置为1,P1M1设置为1或0均可(0为高阻输入模式,1为开漏模式)。

(2) 表3-3是ADC_CONTR寄存器

表3-3 ADC_CONTR寄存器

21

ADC_POWER: ADC电源控制位。当ADC_POWER=0时,关闭ADC 电源;

当ADC_PWOER=1时,打开ADC 电源。 ADC_FLAG: ADC 转换结束标志位,可用于请求A/D转换的中断。当A/D

转换完成后,ADC_FLAG=1,要用软件清0。不管是A/D转换完成后由该位申请产生中断,还是由软件查询该标志位A/D转换是否结束,当A/D转换完成后,ADC_FLAG=1,一定要软件清0。

ADC_START: ADC 转换启动控制位,设置为“1”时, 开始转换,转换结束

为0。

表3-4 模拟输入通道选择

表3-5 A/D转换速度控制位

22

(3) ADC_DATA是A/D转换结果寄存器(地址:C6H ) 八位全有效。A/D转换精度是十位时,为A/D转换结果高八位。 (4) ADC_LOW2是A/D转换结果寄存器(地址:BEH ) 只有低二位有效。A/D转换精度是十位时存A/D转换结果低二位 A/D转换程序的基本流程如图3-5所示。

图3-5 A/D转换程序的基本流程图

当处理多路数据时,ADC 的初始化一般放在主程序开始处,第一次进入定时中断转换服务程序之前。每次进入定时中断转换服务程序时,只转换一路数据,转换完成后,切换AD 转换通道。等下次进入中断程序时再进行转换,并切换AD 转换通道。只要保证最后一次转换完毕后,AD 转换通道切换为第一次转换的通道就能形成一个AD 转换的循环,从而实现多路数据采集。

23

多路AD 转换的流程图如下:

图3-6 多路AD 转换程序流程图

24

3.2.2 键盘扫描的软件设计

图3-7 键盘扫描程序流程图

键盘扫描的工作过程:当调用键盘扫描子程序时先判断是否有键按下,没有则返回,当有键按下先判断是否延时结束,相当于调用延时程序去抖动,再判断是否有键按下,没有则返回,当有键按下时,查键号保存键值。键值保存在全局变量中,因键盘扫描程序的调用时间间隔为定时中断的时间,间隔时间非常短,所以,保存键值的全局变量总是保存着最新的按键值。主程序可以根据该按键值,判断开关量状态和执行相应的程序。

25

结 论

本多路数据采集系统实用性强,能够很好地巡回采集测量控制多路数字信号和模拟信号,结构较为简单,成本低,外接元件少。在实际应用中工作性能稳定,测量电压准确,精度较高。并通过串口和LCD 显示端连接,拥有较好的人机界面。适用范围广泛,可以单独使用作为监控仪,应用于电子器件环境变化,工业厂房测量各部分的工作电压等等。也可以作为智能控制系统的一部分,与其它设备协同工作。系统移植性强,只需改变或添加前端测量用的传感器类型,可在此基础上修改为其他非电量参数的测量系统。但是由于时间仓促,本多路数据采集系统,还有一些不足之处,希望各位老师能多提宝贵意见!

参考文献

[1] 赵新民. 智能仪器原理及设计. 哈尔滨:哈尔滨工业大学出版社,1989 [2] 胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002 [3] 何莉. 微机原理与接口技术. 北京:机械工业出版社,2004.1 [4] 何立民. 单片机应用系统设计. 北京:航空航天大学出版社,1990 [5] 李昌禧.智能仪表原理与设计.北京:化学工业出版社,2005.2 [6] 谭浩强.C 程序设计. 北京:清华大学出版社,1991

[7] 王修才,刘祖望. 单片机接口技术. 复旦大学出版社,1995

[8] 李华等. 系列单片机实用接口技术. 北京航空航天人学出版社,2002第9版

[9] 崔建华.Delphi 串口通信工程开发实例导航. 人民邮电出版社,2003第1版

[10] 夏路易. 电路原理图与电路板设计教程. 北京:北京希望电子出版社,2002

[11] 李广军,王厚军. 实用接口技术. 电子科技大学出版社.1997

[12] 徐爱钧,彭秀华. 单片机高级语言C51应用程序设计. 电子工业出版社,

26

1998

[13] 周航慈. 单片机应用程序设计技术. 北京航空航犬大学出版社,2002 [14] 苏家健,汪志锋.单片机原理及应用技术.北京:高等教育出版社,2004,3-4

[15] 董晓红.单片机原理及接口技术.陕西:西安电子科技大学出版,2004,14-18

[16] 戴胜华,蒋大明.单片机原理及应用.北京:清华大学出版社,2005,8-10

[17] 李建忠.单片机原理及应用.陕西:西安电子大学出版社,2002,114 [18] 张大明.单片微机控制应用技术.北京:机械工业出版社,2006,153 [19] 宋浩,田丰.单片机原理及应用.北京:清华大学出版社,2005 [20] 何立民.单片机应用技术选编.北京:北京航天航空大学出版社,2004

致 谢

历经三个多月的毕业设计即将结束,回想这段时间收获颇多。在设计过程中,通过对毕业设计的认识与学习,并在其他同学的帮助下,提高了自己分析设计的能力。在毕业设计期间,我不断到图书馆,在网上、图书室查阅资料,提出了设计方案,经过指导老师的认真辅导,并不断改进设计中的缺陷,形成了我现在的设计。

同时通过韩老师指导的本次设计以及在平时的交流中,我也在解决问题的同时学会了应该以何种态度面对困难,懂得了如何查阅资料,而且在完成毕业设计的同时我也有了自己的搞科学研究的世界观,总结了许多学习经验,这些经验将对我以后的工作生涯带来很大的帮助。

本文写作过程中也得到了部分老师和同学的热心帮助,在此一并表示衷心的感谢!

27

原理图

附 录


相关内容

  • 智能脱扣器

    一种智能脱扣器数据采集系统硬件设计 时间:2011-01-20 14:09:02 来源: 作者:不详 摘要: 随着现代电气智能化的发展,智能电器已经广泛应用于电力系统的分配控制方面,在监测电网的运行状态时,高速.高精地采集信号是十分重要的. ...


  • 一种智能制氧控制系统

    说明书摘要 本实用新型涉制氧设备,具体是一种智能制氧控制系统.一种智能制氧控制系统,包括氧分压检测单元.控制单元和制氧机,所述氧分压检测单元包括氧探针.多路开关.信号放大器和A/D转换器,所述控制单元包括CPU 处理器.逻辑控制单元.存储器 ...


  • IVMS-5000平台软件软件功能介绍

    第1章 软件功能介绍 IVMS-5000平台软件是一套定位在监控专网环境中使用的网络集中监控软件.其以分布式系统设计理念为基础,从监控业务中抽象出各功能模块,各施其职.相对独立,之间的信令交互又使它们构成一个有机的整体.网络视频监控系统需要 ...


  • 物联网的关键技术与应用前景

    物联网的关键技术与应用前景 ◎李旭港 (深圳市公安边防支队广东深圳518026) 摘要:近年来物联网成为炙手可热的名词,许多人都说物联网将会彻底改变现有的生活方式,带动万亿的产业发展.但究竟什么是物联网还没有人能给出一个准确的答案,仍是众说 ...


  • 浅谈物联网技术及应用领域

    浅谈物联网技术及应用领域 戴 威 (南京交通职业技术学院,江苏南京211188) [摘要]本文介绍了物联网技术的发展和应用现状.分析了物联网研究中的关键技术,包括RFID技术.传感器网技术.智能技术和纳米技术:最后,展望了物联网技术的应用前 ...


  • 关键设备介绍

    银行项目关键设备介绍 具体设备清单: 1. MCU平台 系统采用新一代MCU媒体交换平台支持Full HD全高清1920×1080组网,具有电信级的稳定性和大规模组网能力,支持大容量的多画面和无限制速率适配, 支持独有的智能包修复技术.自学 ...


  • 综合视频监控安保系统

    一.综合视频监控安保系统概述 1.1 项目背景 中国移动国际信息中心是中国移动公司建设的融合IT 支撑.研发.交流为一体的生产研发基地,基地"服务全国,辐射全球",将发展成为IT 网络支撑.产品研发.产业集群推进.合作交 ...


  • 应急指挥中心建设方案建议稿

    xxx应急指挥中心建设方案 一. 指导思想及基本概念 1. 应急指挥中心建设指导思想 应急管理是指政府及其他公共机构在突发事件处置过程中,通过建立必要的应对机制,采取一系列必要措施,保障公众生命财产安全:促进社会和谐健康发展的有关活动. 应 ...


  • 智能仪器课后习题答案

    1-1 你在学习和生活中,接触.使用或了解了哪些仪器仪表?它们分别属于哪种类型?指出他们的共同之处与主要区别.选择一种仪器,针对其存在的问题或不足,提出改进设想(课堂作业). 参考:就测量仪器而言,按测量各种物理量不同可划分为八种:几何量计 ...