




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的多路数据采集系统目 录目 录1第一章 设计要求及目的2第二章 系统总体方案选择与说明3第三章 系统方框图与工作原理43.1 主程序43.2 A/D转换子程序43.3 中值滤波子程序5 3.4 LED显示子程序.5第四章 器件说明54.1 A/D转换电路说明54.2 单片机89C51说明54.3 ADC0809说明74.4 LED显示器8第五章 软件设计与说明85.1 主程序的设计85.2 键盘扫描子程序设计95.3 A/D转换子程序设计115.4 中值滤波子程序的设计12 5.5 LED显示子程序设计.12第六章 调试步骤、结果、使用说明146.1 硬件调试说明:146.2 软件调
2、试:156.3 ADC0809 应用说明15总 结16参考文献17第一章 设计要求及目的数据采集系统用于将模拟信号转换为计算机可以识别的数字信号。该系统目的是便于对某些物理量进行监视。数据采集系统的好坏取决于他的精度和速度。设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求。在科学研究中应用该系统可以获得大量动态物理量,是研究瞬间物理过程的重要手段,亦是获取科学奥秘的重要手段之一。本文采用新颖的方法完成设计,用到的集成芯片主要有89C52单片机、ADC0809等。ADC0809主要作用是对八路模拟信号进行选择采集,并将其转化为八位数字信号,再送至主控制器(89
3、C52单片机)输出显示。程序由汇编语言完成并在PROTEUCE开发软件中进行的调试与仿真。本系统利用单片机为核心,设计一个多路数据采集系统,采用2路模拟量输入设计,工作范围是0-5V。要求对输入的2个通道的模拟量进行巡回采样,并将采集的信号数据经A/D转换后以10进制数在LED 显示器上显示,并能通过按键切换所选通道的采样数据。经过这次课程设计进一步的去培养学生的工程设计能力和工程设计思想,同样把书本的知识应用到实际当中去,考察了学生的实际操作能力和理论知识与实际应用相结合的能力。为将来进入工厂中进行生产奠定好一个良好的基础。第二章 系统总体方案选择与说明为了充分利用学校的有效资源,我们仅仅对
4、本课题做一个简单的设计,并且在网上下载PROTUEUCE软件,运行后进行初步的仿真实验。两路模拟信号数值测量显示电路由A/D转换、数据处理及显示控制等组成。并能通过按键切换所选通道的采样数据。 A/D转换由集成电路0809完成,0809具有8路模拟输入端口,地址线(23-25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2S宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。单片机的P0、P2
5、端口作四位LED数码管显示控制,P1端口作A/D转换数据读入用,P3端口用作0809的A/D转换控制。数据处理则只由89C52来完成,从P1端口读入数据,通过P0口送入LED显示器显示。当然,还有很多的电阻器等等一些防止电路出现故障的外围设备这里不做详细的解说。该方案简单具有低价格,程序少的,运算得快的优点。第三章 系统方框图与工作原理八 路模 拟 量 入 AD转换ADC0809单片机系统选择信号通路LED显示器 系统方框图 硬件说明系统由单片机选择信号通道通过ADC0809的A,B,C口地址译码来选择模拟信号的输入通道,并转换信号输出给单片机系统,由单片机显示数据及其通道数。 3.1 主程序
6、 系统通电后,单片机开始根据程序进行初始化,扫描按键,通过键数选择A/D换通道,启动A/D转换程序,而后进行数字滤波处理,得到8位数据,送入单片机中,调用LED显示子程序,显示到LED显示器上,并不断循环。3.2 键盘扫描子程序 采用行扫描法。首先判别有无键按下,由单片机I/O口向建攀输出全扫描字,然后读入列线状态来判断。判断键盘中哪一个键被按下是通=通过将行线逐行置低电平后,检查列输入状态实现的。如果全为1,则所按下的键不在此行;如果不全为1,则所按下的键必在此行,而且是在与零电平列线相交的交点上的那个键。3.3 A/D转换子程序先送通道号地址到ADDA、ADDB、ADDC,由ALE信号锁存
7、通道号地址后,让START有效,并启动A/D转换。A/D转换完毕,EOC端发出 一正脉冲,申请转换完毕,打开输出锁存器三态门,8位数据便读入到CPU中。 3. 4 中值滤波子程序 中值滤波是对某一参数连续采样N次,然后把N次采样值从小到大或从大到小排列,再取中间值作为本次采样值。 3.5 LED显示子程序采用动态扫描法来实现四位数码管的数值显示。测量所得的A/D转换数据放在内存单元中。其中LED第一位显示通道数,第二、三位显示电压值,第四位显示电压符号。第四章 器件说明4.1 A/D转换电路说明多路数据采集系统,通过多路模拟开关控制多路之间的切换,实现单片AD芯片对多路数据信号的逐个采集。模数
8、转换的核心是模数转换器(ADC),即AD芯片。它将输入的模拟信号进行量化,即把连续的模拟信号转换为计算机能处理的离散数字信号。因此,数据采集系统的性能在很大程度上取决于AD芯片的性能。AD芯片的主要参考指标是:量化误差、零位偏置误差、增益误差和非线性误差等。4.2 单片机89C52说明89C52是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。89C52内置中央处理单元、
9、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52是典型的单片机,由CPU系统,外围功能单元和一体化的I/O端口3部分组成。CPU系统:包括CPU,时钟系统和总线控制逻辑3部分。CPU包含运算器和控制器,专门为面向控制对象,嵌入式特点而设计,有突出控制功能的指令系统。时钟系统:包含振荡器
10、,外接谐振元件,可关闭振荡器或CPU时钟。总线控制逻辑:主要用于管理外部并行总线时序及系统的复位控制,外部引脚有RET、ALE、EA和PSEN。外围功能单元包括ROM程序存储器,RAM数据存储器,I/O端口和SFR特殊功能寄存器4部分。89C52基本功能单元包括定时/计数器、中断系统和串行接口3个基本功能单元。 AT89C52引脚图4.3 ADC0809说明ADC0809 由一个8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE
11、端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809 各脚功能如下:D7-D0:8 位数字量输出引脚。IN0-IN7:8 位模拟量输入引脚。VCC:+5V 工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D 转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D 转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。 ADC0809引脚图4.4 LED显示器 本LED显示器可自动轮流显示
12、8路输入模拟电压的数字值,最小分辨精度为0.1V,最大显示数值为255(输入为5V时),模拟输入最大值为4.9V。表一 LED数码显示器的字形(段)码显示字形字形码(共阳极)字形码(共阴极)0C0H3FH1F9H06H2A4H5BH3B0H4FH499H66H592H6DH682H7DH7F8H07H880H7FH990H6FHA88H77HB83H7CHCC6H39HDA1H5EHE86H79HF8EH71H熄灭FFH00H第五章 软件设计与说明系统软件主要功能是对整个计算机系统进行调度、管理、监视及服务等。它能够使系统的各种资源得到合理的调度和高效的使用,并能监视系统的运行状态,一旦出现故
13、障就能自动保护现场信息使之不受破坏,并诊断出故障部位。它还可以帮助用户调试程序、查找程序中的错误等。5.1 主程序的设计主程序主要是用来各个子程序进行调用和控制来达到采集数据的功能。这里我们设计的主程序主要对按键扫描子程序(KEY)和A/D转换子程序(ADC),以及LED显示子程序进行调用。主要程序内容如下:MAIN:CLR P2.5 ;清A/D启动信号和地址锁存信号CLR P3.7 ;清A/D输出允许控制端TE:LCALL KEY ;调用键盘扫描子程序LCALL ADC ; 调用A/D转换子程序MOV 80H,A;将A/D转换结果存于80HLCALL LED ;调用显示子程序LJMP TE
14、开始初始化按键扫描,判断有无键按下A/D转换LED显示 N Y 主程序流程图5.2 键盘扫描子程序设计 采用行扫描法。首先判别有无键按下,由单片机I/O口向建攀输出全扫描字,然后读入列线状态来判断。判断键盘中哪一个键被按下是通=通过将行线逐行置低电平后,检查列输入状态实现的。如果全为1,则所按下的键不在此行;如果不全为1,则所按下的键必在此行,而且是在与零电平列线相交的交点上的那个键。KEY: ;键盘扫描子程序LCALL KS ;判断有无键按下JZ KND;无键按下,退出扫描LCALL T10MS;有键按下,延时去抖动LCALL KSJZ KNDMOV R2,#0FEH ;首行扫描子送R2MO
15、V R4,#00H ;首行号#00H送入R4LK1:MOV P3,R2 ;首行扫描字送P3口MOV A,P3 JB ACC.3,ONE;0列无键按下,转1列MOV A,#00H ;0列有键按下,该列首号#00H送ALJMP KP ;转求键号ONE:JB ACC.2,NEXT ;1列无键按下,转下行MOV A,#02H;1列有键按下,该列首号#02H送AKP:ADD A,R4;求键号PUSH ACC ;键号进栈保护LK:LCALL KS;等待键释放JNZ LK ;未释放,等待POP ACC ;键释放,键号送AMOV R3,A ;键号送入R3保存KND:RET NEXT:INC R4 ;行号加1M
16、OV A,R2;判断两行扫描完了吗JNB ACC.1,KND;扫描完成,退出RL A ;未扫描完,扫描字左移一位MOV R2,A ;扫描字入R2AJMP LK1 ;转扫下一行KS:MOV P3,#0FCH;全扫描字送P3口MOV A,P3 ;读入P3口状态CPL AANL A,#0CH;取正逻辑,高电平表示有键按下RETT10MS:MOV R7,#10H ;延时10ms子程序TS1:MOV R6,#0FFHTS2:DJNZ R6,TS2DJNZ R7,TS1RET5.3 A/D转换子序设计ADC:;A/D转换程序MOV A,R3;键号送AJB ACC.0,IN4 ;若A最低位为1,选择通道4,
17、否则为通道3CLR P3.6 ;通道3SETB P3.5SETB P3.4SETB P2.5;启动A/D转换NOP NOPCLR P2.5NOP NOPHERE:JNB P2.4,HERE;判断转换完成否SETB P3.7 ;转换完成,送出数据NOP NOPMOV A,P1;将转换数据送入ACLR P3.7RETIN4: ;通道4SETB P3.6CLR P3.5CLR P3.4SETB P2.5NOP NOPCLR P2.5NOPNOPAJMP HERE5.3 中值滤波子程序的设计FILT1:MOV A,40H ;40H41H时,交换40H和41HXCH A,41HMOV 41H,AFILT
18、2:MOV A,41H ;41H42H吗?CLR CSUBB A,42H JC FILE3 ;41H42H时,交换41H和42HXCH A,41HXCH A,42H ;41H40H吗?CLR CSUBB A,41HJNC FILT3 ;41H40H时,排序结束MOV A,40H ;41H40H时,以40H为中值MOV 41H,AFILT3:RET ;中值在41H中5.4 LED显示子程序的设计LED:MOV A,80H ;LED显示子程序MOV B,#05H MUL ABMOV 31H,B ;乘5取高八位,送入LED第二位显示MOV B,#0AHMUL AB MOV 32H,B ;余数乘10取
19、高八位送入LED第三位显示 XIANSHI:MOV DPTR,#TABMOV A,R3MOVC A,A+DPTR ;点亮LED第一位,键值MOV P0,ACLR P2.0SETB P2.1SETB P2.2SETB P2.3LCALL MSSETB P2.0MOV A,31H;点亮LED第二位MOVC A,A+DPTRMOV P0,ASETB P0.7CLR P2.1LCALL MSSETB P2.1MOV A,32H;点亮LED第三位MOVC A,A+DPTRMOV P0,ACLR P2.2LCALL MSSETB P2.2 MOV A,#3EH;点亮LED第四位MOV P0,ACLR P2
20、.3LCALL MSSETB P2.3RETTAB:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79H,71HMS: ;延时1ms子程序MOV R7,#02HDL:MOV R6,#0FFHDL1:DJNZ R6,DL1DJNZ R7,DLRET第六章 调试步骤、结果、使用说明单片机应用系统的开发过程可以分为系统硬件设计、系统软件设计、系统仿真调试及系统脱机运行等四个阶段。如前所述,系统的硬件设计与软件设计工作是同时进行的,可以在设计硬件电路时编制相应电路的软件模块或子程序。系统的仿真调试工作是指修改软件模块,将软
21、件模块链接成二个完整的满足系统功能要求的软件,并对硬件系统进行诊断,系统的仿真调试工作必须借助于开发工具才能进行,目前较常见的开发工具有在线仿真开发装置它可在计算机上调试单片机的应用程序,既能输入程序、设置断点运行,单步运行、修改程序,也能方便地查询各寄存器,I/O口、存储器的状态和内容,还能判断硬件系统的故障。系统应用软件调试通过后,应固化在EPROM中,然后脱机运行,即脱离开发装置,独立运行。6.1 硬件调试说明: 硬件调试是利用Proteus仿真开发系统、检查用户程序语言系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试是在用户系统未工作时的一种硬件检测。第一步 目
22、测。检查外部的各种元件或者是电路是否有断点。第二步 用万用表测试。先用万用表复核目测中有疑问的连接点,再检测 各种电源线与地线之间是否有短路现象。第三步 加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值 第四步 联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路
23、无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。6.2 软件调试:软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。6.3 ADC0809 应用说明(1) ADC0809 内部带有输出锁存器,可以与AT89C52 单片机直接相连。(2) 初始化时,使ST 和OE 信号全为低电平。(3) 送要转换的哪一通道的地址到A,B,C 端口上。(
24、4) 在ST 端给出一个至少有100ns 宽的正脉冲信号。(5) 是否转换完毕,我们根据EOC 信号来判断。(6) 当EOC 变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。软件设计完成后,可根据PRTEL99SE中的电路原理图进行引脚锁定,然后启动编译程序来编译项目。编译器将进行错误检查、网表提取、逻辑综合和器件适配,然后进行行为仿真、功能仿真和时序仿真。参考文献1 何立民.单片机应用系统设计.北航出版社2 王迎旭.单片机原理及应用.机械工业出版社,北京:20043 楼然苗.51系列单片机设计实例. 北航出版社4 戴家.51单片机应用系统开发典型实例. 中国电力出版社社5 陈
25、光东.单片微型计算机原理及接口技术.华中科技大学出版社6 房小翠.单片机实用系统设计技术. 国防工业出版社附录A程序清单:ORG 0000HAJMP MAINORG 0100HMAIN:CLR P2.5 ;清A/D启动信号和地址锁存信号CLR P3.7 ;清A/D输出允许控制端TE:LCALL KEY ;调用键盘扫描子程序LCALL ADC ; 调用A/D转换子程序MOV 80H,A;将A/D转换结果存于80HLCALL LED ;调用显示子程序LJMP TE KEY: ;键盘扫描子程序LCALL KS ;判断有无键按下JZ KND;无键按下,退出扫描LCALL T10MS;有键按下,延时去抖
26、动LCALL KSJZ KNDMOV R2,#0FEH ;首行扫描子送R2MOV R4,#00H ;首行号#00H送入R4LK1:MOV P3,R2 ;首行扫描字送P3口MOV A,P3 JB ACC.3,ONE;0列无键按下,转1列MOV A,#00H ;0列有键按下,该列首号#00H送ALJMP KP ;转求键号ONE:JB ACC.2,NEXT ;1列无键按下,转下行MOV A,#02H;1列有键按下,该列首号#02H送AKP:ADD A,R4;求键号PUSH ACC ;键号进栈保护LK:LCALL KS;等待键释放JNZ LK ;未释放,等待POP ACC ;键释放,键号送AMOV R3,A ;键号送入R3保存KND:RET NEXT:INC R4 ;行号加1MOV A,R2;判断两行扫描完了吗JNB ACC.1,KND;扫描完成,退出RL A ;未扫描完,扫描字左移一位MOV R2,A ;扫描字入R2AJMP LK1 ;转扫下一行KS:MOV P3,#0FCH;全扫描字送P3口MOV A,P3 ;读入P3口状态CPL AANL A,#0CH;取正逻辑,高电平表示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024广告设计师证书考试设计市场定位题及答案
- scratch4级试题及答案
- 助理广告师品牌宣传技巧试题及答案
- 消化系统内科试题及答案
- 2024年纺织生产流程试题及答案
- 商业美术设计师2024年考试重要题目及答案
- 数字时代的广告设计趋势研究试题及答案
- 师姐心理测试题及答案
- 2024年国际商业美术设计师考试设计平台选择与运用试题及答案
- 品牌故事对纺织品设计的意义试题及答案
- 温泉度假设施造价预算
- 水质自动在线监测系统技术协议1010审计
- DBJ04∕T 258-2016 建筑地基基础勘察设计规范
- 青少年创意编程试题
- 七年级地理下双向细目表
- 企业风险评估报告模板
- 网吧员工劳动合同书
- Revit基础入门课件
- 小升初英语奥数题
- 项目部管理人员安全培训考试题及答案
- 国内各航空公司差异化服务
评论
0/150
提交评论