《8多路数据采集控制系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《8多路数据采集控制系统课程设计报告.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机多路数据采集控制系统课程设计报告叶醒 Xb09610118 余希 Xb09610120 一、设计目的运用单片机原理及其应用等课程知识,根据题目要求进行软硬件系统的设计和调试,从而加深对本课程知识的理解,把学过的比较零碎的知识系统化,比较系统的学习开发单片机应用系统的基本步骤和基本方法,使学生应用知识能力、设计能力、调试能力以及报告撰写能力等有一定的提高。二、设计要求用8051单片机设计数据采集控制系统,基本要求如下:基本部分:1可实现8路数据的采集,假设8路信号均为05V的电压信号。2采集数据可通过LCD显示,显示格式为通道号 电压值,如01 4.5。3可通过键盘设置采集方式:单点采集、
2、多路巡测、采集时间间隔。4具有异常数据声音爆晶功能:对第一路数据可设置正常数据的上限值和下限值,当采集的数据出现异常,发出报警信号。选作功能:1.异常数据音乐报警。2.可输出8路顺序控制信号,设每路顺序控制信号为一位,顺序控制的流程为:工序1工序2工序3工序4工序5工序6工序7工序8延时3秒延时3秒延时6秒延时1秒延时1秒延时1秒延时1秒延时6秒三、总体设计我们选择单片机与A/D转换芯片结合的方法实现本设计。使用的基本元器件是:AT89C52单片机,ADC0809模数转换芯片,LCD显示器,按键,电容,电阻,晶振等。数字电压测量电路由A/D转换、数据处理及显示控制等组成。A/D转换由集成电路A
3、DC0809完成。ADC0809具有8路拟输入端口,地址线(23- 25脚)可决定对哪一路模拟输入作A/D换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2uS宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端。单片机的P1.5P1.7、P3端口作1602液晶显示控制。P2端口作A/D转换数据读入用,P0端口用作0809的A/D转换控制。通过对单片机p3.5口置低电平控制LED亮灯,p3.4口置高电
4、平时蜂鸣器报警。流程图: 开始循环判断按键1,按键2有没按下按键1按下,开启ADC0808转换输出二进制数经过处理,在由数码管输出向下个口读电压依次循环输出按键2按下,开启AD0808转换输出二进制数经过处理,在由数码管输出选择ADC0808下个口循环判断按键1,按键2有没按下主要程序介绍:CLR P1.7MOV A,R0MOV DPTR,#1FFFHRL ARL ARL ARL ARL AMOV P0,AMOV P2,#0CLR P3.6SETB P3.6AD2:JNB P3.2,AD2MOVX A,DPTRMOV R1,ARET是选择ADC0808的哪个口读电压,然后手动开启ADC0808
5、工作,再将读到的代表电压的二进制送入单片机内部 MOVA,R1MOVDPTR,#ADTAB_1MOVCA,A+DPTRMOVR2,AMOVA,R1MOVDPTR,#ADTAB_2MOVCA,A+DPTRMOVR3,ARET将读到的二进制数进行查表转化,转化为可识别的电压,再处理,然后通过数码管输出四、硬件设计1原理图2PCB图 380C5280C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片
6、机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)、32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C52有PDIP(40pin)和PLCC(44pin
7、)两种封装形式。4ADC0809 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。本数据采集系统采用单片机作为处理器。单片机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要模/数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟量转换成数字量输出的接口电路,即A/D转换器就是现实信号转换的桥梁。目前,世界上有多种类型的A/D
8、转换器,如并行比较型、逐次逼近型、积分型等。本文采用逐次逼近型A/D转换器,该类A/D转换器转换精度高,速度快,价格适中,是目前种类最多,应用最广的A/D转换器。逐次逼近型A/D转换器一般由比较器、D/A转换器、寄存器、时钟发生器以及控制逻辑电路组成。(1) ADC0809结构功能1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 2内部结构 ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图1322所示,它由
9、8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近 3外部特性(引脚功能) ADC0809芯片有28条引脚,采用双列直插式封装,如图1323所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电
10、平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 (2) ADC0809
11、的工作时序地址锁存信号ALE在上升沿将三位通道地址锁存,相应通道的模拟量经过多路模拟开关送到AD转换器。启动信号START上升沿复位内部电路,START的下降沿启动转换,此时转换结束信号EOC呈低电平状态,由于逐位逼近需要一定过程,所以,在此期间,模拟输入量应维持不变,比较器要一次次比较,直到转换结束,此时变为高电平。若CPU发出输出允许信号OE(输出允许为高电平),则可读出数据。另外,ADC0809具有较高的转换速度和精度,同时受温度影响也较小。(3) ADC0809与MCS-51单片机的接口电路ADC0809与MCS-51系列单片机的接口电路如图5所示。图中,74LS373输出的低3位地址
12、A2、A1、A0加到通道选择端A、B、C,可作为通道编码。其通道基本地址为0000H0007H。8051的WR与P27经过或非门后,可接至ADC0809的START及ALE引脚。8051的RD与P27经或非门后则接至ADC0809的OE端。ADC0809的EOC经反相后接到8051单片机的P33(INT1)。 “数据采集”是指将温度、压力、流量、位移等模拟物理量采集并转换成数字量后,再由计算机进行存储、处理、显示和打印的过程,相应的系统称为数据采集系统。由于采集的是直流信号,对于缓慢变化的信号不必加采样保持电路,因此选用市面上比较常见的逐次逼近型ADC0809芯片,该芯片转换速度快,价格低廉,
13、可以直接将直流电压转换为计算机可以处理的数字量。同时选用低功耗的LCD显示器件来满足其在终端显示采集结果的需求。终端键盘控制采用尽可能少的键来实现控制功能,为了防止键盘不用时的误操作,设计时还设置了锁键功能,在键盘的输入消抖方面,则采用软件消抖方法来降低硬件开销,提高系统的抗干扰能力。软件设计方面则采用功能模块化的设计思想;键盘模数转换等采用中断方式来实现,从而大大提高了单片机的效率以及实时处理能力。4Lm016l液晶模块简介LM016L的结构及功能LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通
14、讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符
15、的对应关系,可以查看参考文献(30)中的表4.CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM但愿,LM016L液晶模块的引脚功能如下表所示:引脚说明1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正
16、电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三
17、态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flang)15BLA背光电源正极16BLK背光 电源负极五、调试及结果六、主程序ORG00HAJMPMAINORG30HRS EQU P1.6 RW EQU P1.7 E EQU P1.5MAIN:MOV R0,#00HMOV R4,#01HANJIAN:JNB P1.0,MOSHI0 ;判断按键是否按下JNB P1.1,MOSHI1SJMP ANJIANMOSHI0: ;按键1功能多路顺序采集电压 AN1:JNB P1.0,AN1ACALL J0INC R0INC R4JNB P1.0,MOSHI0
18、JNB P1.1,MOSHI1ACALL DELAY1JNB P1.0,MOSHI0JNB P1.1,MOSHI1ACALL DELAY1JNB P1.0,MOSHI0JNB P1.1,MOSHI1ACALL DELAY1SJMP MOSHI0MOSHI1: ;按键2暂停和单点采集AN2:JNB P1.1,AN2ACALL J0INC R0INC R4SJMP ANJIANDELAY1: ;电压显示间隔延迟MOV 43H,#02HD3:MOV 40H,#0FFH D1:MOV 41H,#0FFH D2:DJNZ 41H ,D2 DJNZ 40H,D1 DJNZ 43H,D3 RETJ0: ;显
19、示单个电压主程序CJNE R0,#08H,J1MOV R0,#00HCJNE R4,#09H,J1MOV R4,#01HJ1:LCALL ADLCALL VHDMOV P0,#00000010B ;数码管初始化ACALL LOOP MOV P0,#00111000B ACALL LOOP MOV P0,#00001111B ACALL LOOP MOV P0,#00000110B ACALL LOOPMOV P0,#0C0H ;对数码管中数据显示位置确定ACALL LOOP MOV P0,#01011011B ;给数码管赋要显示的数据ACALL XIAN MOV P0,#0C1H ACALL
20、LOOP MOV P0,#00110000BACALL XIANMOV P0,#0C2H ACALL LOOPMOV A,R4ADD A,#00110000B MOV P0,AACALL XIANMOV P0,#0C3H ACALL LOOP MOV P0,#01011101BACALL XIANMOV P0,#0C4H ACALL LOOPMOV A,R2ADD A,#00110000B MOV P0,AACALL XIANMOV P0,#0C5H ACALL LOOP MOV P0,#00101110BACALL XIANMOV P0,#0C6H ACALL LOOPMOV A,R3ADD
21、 A,#00110000B MOV P0,AACALL XIANMOV P0,#0C7H ACALL LOOP MOV P0,#01010110BACALL XIANRETAD: ;打开ADC0808启动A/D转化,将输出的二进制读入CLR P1.7MOV A,R0MOV DPTR,#1FFFHRL ARL ARL ARL ARL AMOV P0,AMOV P2,#0CLR P3.6SETB P3.6AD2:JNB P3.2,AD2MOVX A,DPTRMOV R1,ARETVHD: ;查表程序,对读入的二进制对应的电压查找MOVA,R1MOVDPTR,#ADTAB_1MOVCA,A+DPTR
22、MOVR2,AMOVA,R1MOVDPTR,#ADTAB_2MOVCA,A+DPTRMOVR3,ARETLOOP: ;对数码管写指令代码CLR RS CLR RW CLR E ACALL DELAY SETB E RETDELAY: ;检测数码管是否正忙MOV P0,#0FFH CLR RS SETB RW CLR ENOP SETB E JB P0.7,DELAY RETXIAN: ;写入数码管要显示的数据SETB RS CLR RW CLR E ACALL DELAY SETB ERETADTAB_1: ;查表程序DB0,2,1,3,0,3,1,4,0,2,1,4,0,3,2,4,0,2,
23、1,3,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,4DB0,2,1,3,0,3,1,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,5DB0,2,1,3,0,3,1,4,0,2,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,
24、4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,5DB0,2,1,3,0,3,1,4,0,2,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,3,0,3,2,4,0,3,1,4,1,3,2,4,0,2,1,4,0,3,2,4,0,3,1,4,1,3,2,5ADTAB_2:DB0,5,3,8,6,1,9,4,3,8,6,1,9,5,2,7,2,7,4,9,8,3,0,5,5,0,7,2,1,6,4,9,1,6,3,8,7,2,0,5,4,9,6,2,0,5,3,8,2,7,5,0,9,4,1,6,
25、5,1,8,3,2,7,4,9DB0,5,3,8,7,2,9,4,4,9,6,1,0,5,2,7,2,7,5,0,8,3,1,6,5,0,8,3,1,6,4,9,1,6,4,9,7,3,0,5,4,9,7,2,1,6,3,8,3,8,5,0,9,4,2,7,6,1,8,4,2,7,5,0DB0,5,3,8,6,2,9,4,3,8,6,1,0,5,2,7,2,7,4,9,8,3,1,6,5,0,7,3,1,6,4,9,1,6,4,9,7,2,0,5,4,9,7,2,0,5,3,8,3,8,5,0,9,4,1,6,6,1,8,3,2,7,5,0DB1,6,3,8,7,2,9,5,4,9,6,1,0
26、,5,3,8,2,7,5,0,8,4,1,6,5,0,8,3,2,7,4,9,1,6,4,9,8,3,0,5,5,0,7,2,1,6,3,8,3,8,5,1,9,4,2,7,6,1,9,4,2,7,5,0END七、结束语通过本次课程设计的学习,我学到了好多有用的知识。作为电子信息专业的学生,懂得了,利用电路板将电子器件布局,巧妙的焊接以及程序的设计是这个专业不可缺少的学习和工作手段。并且在学习中,要熟练地掌握及应用专业的相关软件,protel99,proteus等等。通过本次的学习,我还懂得更好的利用编程来解决一些实际的问题工程问题,使我对汇编编程有了更好的掌握,在接下来的学习生涯中,要不断的加深对专业知识的理解以及应用,还要对相关软件不断的学习以及利用编程等手段解决一些实际问题。