智能多路数据采集系统设计修改稿.doc_第1页
智能多路数据采集系统设计修改稿.doc_第2页
智能多路数据采集系统设计修改稿.doc_第3页
智能多路数据采集系统设计修改稿.doc_第4页
智能多路数据采集系统设计修改稿.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科学生毕业论文(设计)题 目 智能多路数据采集系统设计 学 院 物理与电子信息学院 专 业 通信工程 学生姓名 杨晓凤 学 号 100803091 指导教师 韩凌云 职称 讲师 论文字数 17000 完成日期 2014 年 3 月 28 日论文题目 智能多路数据采集系统设计 学生姓名、学院: 杨晓凤,物理与电子信息学院中文摘要随着我国智能化水平的不断进步,在电气行业智能电气运用广泛。它既能实现实时监测,还能高速和高精确地对数据进行采集。利用自制的模拟正弦发生器将频率设计在100到1000HZ内,频率电压转换芯片将频率转换成相应电压,同时通过主控制芯片来实现数据采集任务。本文介绍了基于单片机的智能数据采集的硬件设计和软件设计,系统的硬件部分主要包括单片机控制模块、模拟量采集接口模块、开关量采集接口模块、键盘输入模块、LCD显示模块、电源模块。单片机控制模块用于控制和协调系统各个模块工作。模拟量采集接口模块用于对模拟量进行预处理,使其转化为单片机能够处理的模拟量。开关量采集接口模块用于对数字量进行预处理,使其转化为单片机能够处理的数字量。电源模块为整个系统提供工作电源。键盘输入模块和LCD显示模块为系统提供了人机交互的通道,便于用户对应用系统进行干预。本设计采用具有AD转换功能的STC12C5A60S2单片机作为系统的控制中心,可以实现对4路模拟电压信号、4路开关量的采集,具有处理能力强、精度高、通用性强等优点。 关键词: 多路数据采集系统,模拟量,开关量 英文题目 Intelligent multi-channel data acquisition system 学生姓名、学院: Yang Xiaofeng,College of Physics and Electronic Information英文摘要 With the continuous progress of Chinas 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. 英文关键词 Multi-channel data acquisition system , Analog , Digital安徽师范大学本科生毕业论文(设计)评定意见指导教师评语主要内容包括:学生写作态度、科研作风,论文选题的理论意义和实践价值,论据是否充分、可靠,掌握基础理论、专门知识、研究方法和技能的水平,写作的逻辑性、技巧及其他优缺点。成绩: 签名: 年月日 安徽师范大学本科生毕业论文(设计)评定意见专业负责人系主任评定意见成绩: 专业负责人(系主任)签名:年月日学院意见成绩: 院长签章:年月日 智能多路数据采集系统设计 杨晓凤 物理与电子信息学院摘 要:随着我国智能化水平的不断进步,在电气行业智能电气运用广泛。它既能实现实时监测,还能高速和高精确地对数据进行采集。利用自制的模拟正弦发生器将频率设计在100到1000HZ内,频率电压转换芯片将频率转换成相应电压,同时通过主控制芯片来实现数据采集任务。本文介绍了基于单片机的智能数据采集的硬件设计和软件设计,系统的硬件部分主要包括单片机控制模块、模拟量采集接口模块、开关量采集接口模块、键盘输入模块、LCD显示模块、电源模块。单片机控制模块用于控制和协调系统各个模块工作。模拟量采集接口模块用于对模拟量进行预处理,使其转化为单片机能够处理的模拟量。开关量采集接口模块用于对数字量进行预处理,使其转化为单片机能够处理的数字量。电源模块为整个系统提供工作电源。键盘输入模块和LCD显示模块为系统提供了人机交互的通道,便于用户对应用系统进行干预。本设计采用具有AD转换功能的STC12C5A60S2单片机作为系统的控制中心,可以实现对4路模拟电压信号、4路开关量的采集,具有处理能力强、精度高、通用性强等优点。关键词:多路数据采集系统,模拟量,开关量,STC12C5A60S2 Intelligent multi-channel data acquisition systemYang Xiaofeng,college of Physics and Electronic InformationAbstract: With the continuous progress of Chinas 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章 绪 论21.1 设计背景21.2 性能指标2 1.3 硬件设计方案21.4 软件设计方案3第2章 多路数据采集系统的硬件设计52.1 单片机控制模块52.2 模拟电压采集接口模块102.3 LCD显示模块112.4 电源模块12第3章 多路数据采集系统的软件设计153.1 主程序流程的设计153.1.1 开关量检测的软件设计163.1.2 LCD显示的软件设计173.2 定时中断的软件设计183.2.1 AD转换的软件设计213.2.2 键盘扫描的软件设计25结论26参考文献26致谢27附录28前言随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。因为由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大的提高,系统的硬件成本和系统的重建费用大大的降低。而采用单片机实现的数据采集系统具有自动化和智能化等特点,使得它们在许多应用场合得到了广泛的应用。基于单片机的多路数据采集系统是一种对单片机性能要求中等,结构简单,实用性较强的低端电子产品,单片机作为核心器件,以其体积小、成本低、速度快、升级容易等优点具有很好的现实意义。本文介绍一种基于单片机的多路数据采集系统的设计。文中第一章简要介绍了该通用型多路数据采集系统的设计背景和总体方案。第二章介绍该多路数据采集系统的硬件设计,主要包括单片机控制模块、电源模块、模拟量采集接口模块、开关量采集接口模块、键盘输入模块和LCD显示模块。第三章介绍该多路数据采集系统的软件设计,主要包括主程序和定时中断服务程序的设计流程,以及AD转换、键盘扫描、LCD显示等底层程序的设计。本系统的控制中心是具有AD转换功能的STC12C5A60S2单片机,所以系统具有性价比高,处理能力强的优点。该系统不仅可以对4路模拟电压信号进行采集,还可以对4路开关量进行检测,并实现LCD显示,具有很好的通用性。第1章 绪 论 1.1 设计背景采用单片机实现的数据采集系统具有自动化和智能化,接口简单灵活且有较高的数据传输率, 能够对实时数据做出快速响应并及时进行分析和处理等特点,使得它们在许多应用场合得到了广泛的应用。工业领域的现场信息是各种各样的,既有模拟量,也有数字量、开关量。所以设计一种能够采集多种信息的数据采集系统具有很重要的意义和价值。可以提高获取大量动态信息的能力,从而为提高产品质量,降低成本提供信息和手段。 1.2 性能指标随着工业自动化、智能化的提高,人们对数据采集系统功能和性能都提出了越来越高的要求。为了较好的满足这些需求,本设计的多路数据采集系统通过单片机的A/D和I/O口,实现对多路模拟信号和数字信号的采集,具有以下的功能和性能指标:(1)能够实现对4路模拟电压信号的采集;(2)能够实现对4路开关量的采集; (3)能数字显示采集结果。 1.3 硬件设计方案根据多路数据采集系统具有的功能和性能指标,设计出来的多路数据采集系统的方案设计的硬件部分主要分为以下几个模块:单片机控制模块是整个系统的控制核心。它负责采集经处理过的电压,开关量信息,并送到LCD进行显示,控制和协调系统各模块的工作。模拟量采集接口模块用于对模拟量进行预处理,使其转化为单片机能够处理的数字量。开关量采集接口模块用于对数字量进行预处理,使其转化为单片机能够处理的数字量。例如,单片机处理电压信号范围为0V5V,所以开关量的高电平状态的电平值要先转化为5V以下。键盘输入模块用于输入用户命令,如改变开关量状态,显示开关量等。LCD显示模块用来显示待采集的信号的数值或状态以及相关的提示信息。多路数据采集系统硬件部分的总框图如图1-1所示:图1-1 系统硬件的总框图 1.4 软件设计方案根据方案要求多路数据采集系统软件部分采用结构化程序设计。采用结构化程序设计可以使程序结构清晰,层次分明,易于编写与调试。本软件系统主程序的总框图见图1-2。图1-2 主程序的总框图主程序扫描键盘,显示相应的开关量状态。主程序和定时中断服务程序通过全局变量进行数据传递。定时中断服务程序向主程序递AD转换结果,供主程序计算模拟电压值。LCD显示程序接收数据,显示模拟电压值和开关量状态。第2章 多路数据采集系统的硬件设计 在硬件的设计前期,根据框图对系统中可能出现的电路,进行了模拟实验,并根据实验结果对后期的硬件设计进行了合理化的修改完善。在第一章中已分析了系统并绘制了框图,多路数据采集系统硬件设计部分采用模块化的设计思想,将整个系统分成几大模块:单片机控制模块、模拟量采集接口模块、开关量采集接口模块、LCD显示模块和电源模块。通过模块化的方法先焊接和调试各个单元模块,最后进行组装和测试,从而使复杂的问题简单化,提高了系统设计的效率。第1章 2.1 单片机控制模块单片机控制模块是整个系统的核心。本系统采用STC12C5A60S2单片机为核心元件。单片机正常工作还需时钟电路、复位电路、串口通讯等辅助电路。1. 单片机电路STC12C5A60S2单片机的电路原理图见图2-1。图2-1 STC12C5A60S2单片机电路STC12C5A60S2单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速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) 工作频率范围:035MHz,相当于普通8051的 0420MHz(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.5MHz3.3V 单片机为: 8MHz 12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。(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-40I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。2. 时钟电路单片机的定时控制功能是用片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:内部时钟方式和外部时钟方式。采用内部时钟方式时,片内高增益反向放大器通过XTAL1、XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供震荡时钟。振荡器的频率主要取决于晶体的振荡频率,一般晶体可在1.2-12MHz之间任选。电容的值有微调作用,通常取30pF左右。在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。起振电容C7、C8一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好。图2-2 时钟电路3.复位电路为确保单片机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般单片机电路正常工作需要供电电源为5V5%,即4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,单片机电路开始正常工作。手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下S,C放电。S松手,C又充电,在10K电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。图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转换为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所示的差分比例运算电路减小到原来的。差分比例运算电路是由加减运算电路改进而来的,由比例运算电路分析可知,输出电压和同相输入端信号电压极性相同,与反向输入端信号电压极性相反,因而如果有多个信号同时作用于两个输入端时,就可以实现加减法运算。当加减法运算电路只有两个输入,且参数对称,如图2-5所示,则电路实现了对输入差模信号的比例运算。之后,电压信号再经分压倍数可调的分压电路,转化为0V5V的电压,再接入单片机的AD转换口。模拟电压采集接口电路见图2-6。图2-5 差分比例运算电路图2-6 模拟电压采集接口电路 2.3 LCD显示模块本设计采用LCD显示模块选用的硬件器件是液晶显示器DMT32240T035_01WN。它是便携式电子设备常用的芯片,也比较容易操作。类似于平常用的数码管LED显示。LCD显示模块用于显示采集到的模拟电压和开关量的状态等数据以及相关提示信息。该显示器采用M600通用液晶显示驱动。驱动模组提供的是RS232串口方式,通过协议来控制屏的显示,内置128M flash,界面不需要编程序来做,直接图片操作,串口下发指令实现文本图形、曲线、清屏、反色、环移等功能。操作起来特别简单,界面部分由美工设计人员通过计算机设计图片便可以,而且以后产品升级起来特别方便,下位机的控制板可以不用变化,液晶部分都是通过串口控制的,一般程序都不用修改或稍作修改便可将产品的有小显示尺寸升级到大显示尺寸,因为现在TFT面板的价格下调,已经和单色的成本差不太多了,但显示效果和产品档次却大大的提高了。工作电压4.55.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是一款低压基准芯片,是由美国摩托罗拉公司生产的高精确度、低温漂、采用激光修正的带隙基准电压源。一般用作812bit的A/D芯片的基准电压等一些需要基本精准的基准电压的场合。输出电压为2.5V(典型值),输入电压范围是4.5V40V,输出电流为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组成同相比例运算电路,需引入电压串联负反馈,故可以认为电阻为无穷大,输出电阻为零。即使考虑集成运放参数的影响,输入电阻也很大。根据“虚段”和“虚断”的概念,集成运放的净输入电压为零,即净输入电流为零,因而,即得图2-8 同相比例运算电路图2-9 单片机电源电路第3章 多路数据采集系统的软件设计 本章介绍了该设计的软件方面,软件采用模块化方式进行编程,用到该模块时可直接调用,为了更好地理解程序模块的功能,每个模块都给出了相应的流程图。第2章 3.1 主程序流程的设计图3-1 主程序流程图主程序开始后,进行系统初始化,初始化过程包括设置堆栈、定时器0初始化、定时器1初始化、ADC初始化、串口初始化和开启中断等。之后进入循环,在循环中读取用户按键值,根据用户按键值,计算和显示相应的数据。 3.1.1 开关量检测的软件设计根据第二章的介绍可以看出开关量的检测(以key1为例)过程如下:先读取P2.0的值,根据P2.0的值判断key1的开关量状态。具体流程图如下:图3-2 开关量检测流程图 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码表中的码值,依次类推,这部分可以看为命令的参数。还有很多的命令,如显示文字,图形,图象等命令,组合使用这些命令,就会显示出丰富多彩的界面。不管什么命令,单片机控制其显示的流程都是一样的,如下图所示。图3-3 LCD显示程序流程图 3.2 定时中断的软件设计图3-4 定时中断服务程序流程图进入定时中断服务程序后,首先进行保护现场。51单片机相应中断后,只保护断点而不保护现场信息,如累加器A、工作寄存器、程序状态字PSW等。所以,在编制中断服务程序时应手动保护现场。之后,切换工作寄存器组,单片机共有4组工作寄存器组,主程序默认用寄存器组0,进入中断服务程序后要进行工作寄存器的切换,否则主程序中工作寄存器里保存的值可能被中断程序破坏。然后调用AD转换程序和键盘扫描程序。最后,恢复现场,返回主程序。STC12C5A60S2系列单片机CPU对中断源的开放或屏蔽,每一个中断源是否被允许中断,是由内部的中断允许寄存器IE(IE为特殊功能寄存器,它的字节地址为A8H)控制的,其格式如下:IE : 中断允许寄存器(可位寻址)表3-1 IE寄存器SFR nameAddressBitB7B6B5B4B3B2B1B0IEA8HnameEAELVDEADCESET1EX1ET0EX0EA : 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中断。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寄存器SFR nameAddressBitB7B6B5B4B3B2B1B0TCON88HnameTF1TR1TF0TR0IE1IT1IE0IT0TF1: T1溢出中断标志。T1被允许计数以后,从初值开始加1计数。当产生溢出时由硬件置“1”TF1,向CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0”(也可由查询软件清“0”)。TR1: 定时器1的运行控制位。TF0:T0溢出中断标志。T0被允许计数以后,从初值开始加1计数,当产生溢出时,由硬件置“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寄存器SFR nameAddressBitB7B6B5B4B3B2B1B0ADC_CONTRBCHnameADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0ADC_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 模拟输入通道选择CHS2CHS1CHS0模拟输入通道选择000选择P1.0作为A/D输入001选择P1.1作为A/D输入010选择P1.2作为A/D输入011选择P1.3作为A/D输入100选择P1.4作为A/D输入101选择P1.5作为A/D输入110选择P1.6作为A/D输入111选择P1.7作为A/D输入表3-5 A/D转换速度控制位SPEED1SPEED0A/D转换一次所需时间00840个时钟周期01630个时钟周期10420个时钟周期11210个时钟周期,A/D转换速度约为100KHz(3) ADC_DATA是A/D转换结果寄存器(地址:C6H)八位全有效。A/D转换精度是十位时,为A/D转换结果高八位。(4) ADC_LOW2是A/D转换结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论