基于51单片机和ADC0809多通道模数转换的设计与实现课程设计说明书.docx_第1页
基于51单片机和ADC0809多通道模数转换的设计与实现课程设计说明书.docx_第2页
基于51单片机和ADC0809多通道模数转换的设计与实现课程设计说明书.docx_第3页
基于51单片机和ADC0809多通道模数转换的设计与实现课程设计说明书.docx_第4页
基于51单片机和ADC0809多通道模数转换的设计与实现课程设计说明书.docx_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学能力拓展训练报告课程设计说明书目 录摘要11、方案设计22、硬件电路的设计22.1单片机的最小系统设计22.2 adc0809模数转换器设计电路22.2.1 adc0809的结构功能22.2.2 adc0809的工作时序22.2.3 adc0809与at89c52单片机的接口电路22.3 lcd1602显示电路22.4 键盘与单片机连接电路22.5系统整体电路图23、软件设计24、系统仿真和测试结果25、性能分析26、心得与体会27、参考文献2附录一:源程序2附录二:本科生能力拓展训练成绩评定表2毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日摘 要本文介绍了基于单片机的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有非常重要的作用。本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。硬件部分是以单片机为核心,还包括a/d模数转换模块,lcd1602显示模块部分。8路被测电压通过模数转换器adc0809进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过lcd1602显示器来显示所采集的结果,并且可以通过按键来查看任意通路的电压值,整个系统具有操作方便、线路简单、测量误差小等优点。关键词:单片机at89s52、模数转换器adc0809、数据采集、lcd1602显示器1、方案设计根据设计要求,采用的方案如下:硬件部分实现对8路数据采集和显示的功能,包括mcs-51单片机、adc0809、lcd1602;软件部分实现单片机对8路输入数据的采集以及对lcd1602的显示操作。主要设计思想:单片机p1与adc0809相连,p0与lcd1602连接。模拟信号通过in0in7输入到adc0809中转换为数字信号,p1获得此值后,经过处理得到每位的数据后,通过p0口写数据到lcd屏上。数据采集电路的原理框如图1所示。lcd1602显示器mcs-51单片机adc0809模拟输入通道1模拟输入通道2模拟输入通道8图1 数据采集电路的原理框图2、硬件电路的设计2.1单片机的最小系统设计单片机最小系统是能补足单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与控制,同时它也是所有软件的载体。本系统采用at89c52是美国atmel公司生产的低电压、高性能cmos 8位单片机,片内含8kb的可反复檫写的程序存储器和12b的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内配置通用8位中央处理器(cpu)和flash存储单元,功能强大的at89c52单片机可灵活应用于各种控制领域。at89c52单片机属于at89c51单片机的增强型,与intel公司的80c52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。主要管脚有:xtal1(19 脚)和xtal2(18 脚)为振荡器输入输出端口,外接12mhz 晶振。rst/vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。vcc(40 脚)和vss(20 脚)为供电端口,分别接+5v电源的正负端。p0p3 为可编程通用i/o 脚,其功能用途由软件定义。其管脚如下图2所示:图2 at89c52单片机管脚图本设计中,p0 端口(3239 脚)被定义为n1 功能控制端口,分别与n1的相应功能管脚相连接。单片机正常工作时,都需要有一个时钟电路和一个复位电路。本设计中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图3所示。图3 单片机最小系统2.2 adc0809模数转换器设计电路2.2.1 adc0809的结构功能本数据采集系统采用计算机作为处理器。电子计算机所处理和传输的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号后,需要模数转换将其变成数字信号才可以输入到数字系统中进行处理和控制,因此,把模拟量转换成数字量输出的接口电路,即ad转换器就是现实信号转换的桥梁。目前,世界上有多种类型的ad转换器,如并行比较型、逐次逼近型、积分型等。本文采用逐次逼近型ad转换器,该类ad转换器转换精度高,速度快,价格适中,是目前种类最多,应用最广的ad转换器。逐次逼近型ad转换器一般由比较器、da转换器、寄存器、时钟发生器以及控制逻辑电路组成。adc0809就是一种cmos单片逐次逼近式ad转换器,其内部结构如图4所示。该芯片由8路模拟开关、地址锁存与译码器、比较器、8位开关树型da转换器、逐次逼近寄存器、三态输出锁存器等电路组成。因此,adc0809可处理8路模拟量输入,且有三态输出能力。该器件既可与各种微处理器相连,也可单独工作。其输入输出与ttl兼容。 图4 adc0809内部结构adc0809是8路8位ad转换器(即分辨率8位),具有转换启停控制端,转换时间为100s采用单+5v电源供电,模拟输入电压范围为0+5v,且不需零点和满刻度校准,工作温度范围为-40+85功耗可抵达约15mw。adc0809芯片有28条引脚,采用双列直插式封装,图5所示是其引脚排列图。 图5 adc0809的引脚排列图各引脚的功能如下in0in7:8路模拟量输入端;d0d7:8位数字量输出端;adda、addb、addc:3位地址输入线,用于选通8路模拟输入中的一路;ale:地址锁存允许信号,输入高电平有效;start:ad转换启动信号,输入高电平有效;eoc:ad转换结束信号,输出当ad转换结束时,此端输出一个高电平(转换期间一直为低电平);oe:数据输出允许信号,输入高电平有效。当ad转换结束时,此端输入一个高电平才能打开输出三态门,输出为数字量;clk:时钟脉冲输入端。要求时钟频率不高640khz;ref(+)、ref(-):基准电压;vcc:电源,单一+5v;gnd:地。adc0809的工作过程:首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位。下降沿启动 a/d转换,之后eoc输出信号变低,指示转换正在进行。直到a/d转换完成,eoc变为高电平,指示a/d转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当oe输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 a/d转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认a/d转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式 对于一种a/d转换其来说,转换时间作为一项技术指标是已知的和固定的。例如adc0809转换时间为128s,相当于6mhz的mcs-51单片机共64个机器周期。可据此设计一个延时子程序,a/d转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 a/d转换芯片由表明转换完成的状态信号,例如adc0809的eoc端。因此可以用查询方式,测试eoc的状态,即可确认转换是否完成,并接着进行数据传送。 (3)中断方式 把表明转换完成的状态信号(eoc)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,oe信号即有效,把转换数据送上数据总线,供单片机接受。adc0809工作时,首先输入3位地址,并使ale为1,以将地址存入地址锁存器中。此地址经译码可选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位;下降沿则启动ad转换,之后,eoc输出信号变低,以指示转换正在进行,直到ad转换完成,eoc变为高电平,指示ad转换结束,并将结果数据存入锁存器,这个信号也可用作中断申请。当oe输入高电平时,adc的输出三态门打开,转换结果的数字量可输出到数据总线。ad转换器的位数决定着信号采集的精度和分辨率。对于8通道的输入信号,其分辨率为05。8位ad转换器的精度为:。2.2.2 adc0809的工作时序图6所示是adc0809的工作时序图。从该时序图可以看出,地址锁存信号ale在上升沿将三位通道地址锁存,相应通道的模拟量经过多路模拟开关送到ad转换器。启动信号start上升沿复位内部电路,start的下降沿启动转换,此时转换结束信号eoc呈低电平状态,由于逐位逼近需要一定过程,所以,在此期间,模拟输入量应维持不变,比较器要一次次比较,直到转换结束,此时变为高电平。若cpu发出输出允许信号oe(输出允许为高电平),则可读出数据。另外,adc0809具有较高的转换速度和精度,同时受温度影响也较小。 图6 adc0809的工作时序图2.2.3 adc0809与at89c52单片机的接口电路adc0809与at89c52单片机的接口电路如图7所示。图中,p2.0、p2.1、p2.2 输出的低3位地址加到通道选择端a、b、c,可作为通道编码。其通道基本地址为0000h0007h。输出数据与p0口连接,clock、ale一起与p2.4相连,start和p2.5连接,eoc与p2.3相连,oe和p2.6相连。图7 adc0809与at89c52单片机接口电路2.3 lcd1602显示电路字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式lcd,目前常用16*1,16*2,20*2和40*2行等的模块。lcd1602分为带背光和不带背光两种,基控制器大部分为hd44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。lcd1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表1所示:表 1 lcd1602引脚接口说明编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。1602液晶模块内部的控制器共有11条控制指令,如下表2所示,其中1为高电平、0为低电平。表 2 lcd1602控制指令序号指令rsr/wd7d6d5d4d3d2d1d01清显示00000000012光标返回000000001*3置输入模式00000001i/ds4显示开/关控制0000001dcb5光标或字符移位000001s/cr/l*6置功能00001dlnf*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01bf计数器地址10写数到cgram或ddram)10要写的数据内容指令1:清显示,指令码01h,光标复位到地址00h位置。指令2:光标复位,光标返回到地址00h。指令3:光标和显示模式设置 i/d:光标移动方向,高电平右移,低电平左移 s:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 d:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 c:控制光标的开与关,高电平表示有光标,低电平表示无光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 dl:高电平时为4位总线,低电平时为8位总线 n:低电平时为单行显示,高电平时双行显示 f: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器ram地址设置。指令8:ddram地址设置。指令9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。其操作时序图如下所示:图8 读操作时序图图9 写操作时序图本设计中采用液晶lcd1602显示模数转换器采集到的数据,其d0d7与单片机的p0端口连接,使能端e、rs、rw分别与单片机p3.1、p3.0、p3.2连接,此电路原理简单,电路连接方便,如图10所示。图10 液晶lcd1602显示电路2.4 键盘与单片机连接电路本设计中使用了两个独立按键来选择显示对应通道的电压,其中key1每按一下通道数就减1并在lcd1602上显示对应通道的电压,key2每按一下通道数就加1并在lcd1602上显示对应通道的电压,这样就十分方便查看不同通道的数据。键盘与单片机的连接电路如图11所示。图11 键盘与单片机的连接电路2.5系统整体电路图 根据上述各个部分的电路,将每个部分的电路在仿真软件protues中连接起来,仔细检查线路后确保无误后就可以得到系统的整体电路图如12所示。图12 系统整体电路图3、软件设计此次设计的多通道数据采集系统设置了8路模拟电压输入通道。仿真中为了便于调节输入的模拟电压,在输入模拟信号时采用电阻分压,最终的采样输入电压便可根据测试需要调节,系统总流程图如图13所示:开始系统初始化a/d数模转换有键按下?y选择对应的通道lcd1602显示n图13 系统流程图4、系统仿真和测试结果根据方案设计结果,进行了硬件电路在proteus下的仿真。当通过电位器调节ad转换器输入端的电压时,模拟电压值经过ad转换后,经由单片机将转换后的电压值发送至p0口,供lcd进行显示。仿真过程描述:通过keil软件对所编程序进行编译,生成.hex文件,在protues软件中,用mcs51单片机调用.hex,即可进行硬件的仿真。该仿真包括两部分:1. 对8路电压进行采集,经由ad转换器进行转化,转化后的16进制数存于单片机的内部存储器中。2. 对转换后的电压进行显示。将内部存储器中存储的转化后的电压对应的16进制数付给p0口,由lcd进行显示。调节电位器lcd的显示数据也会发生变化。仿真数据如下图所示: 图14 通路1数据采集结果 图15 通路2数据采集结果 图16 通路3数据采集结果 图17 通路4数据采集结果 图18 通路5数据采集结果 图19 通路6数据采集结果 图20 通路7数据采集结果 图21 通路8数据采集结果5、性能分析根据上述仿真结果图14至图21可以得到:8路模拟通道电压值分别设置为0.05v、0.85v、1.50v、2.30v、3.05v、3.70v、4.25v、5.00v。经过系统处理,lcd1602显示的采集值分别为0.05v、0.84v、1.50v、2.29v、3.05v、3.70v、4.25v、5.00v。系统误差为小于0.01。如果想看到某一路的数据采集值,可以通过按键key1、key2来调节,这样就方便查看。综上所述:通过用protues软件的仿真发现此次设计的系统原理图能够实现电压的正确测量,而且电压的误差极小,lcd1602液晶屏能够正确显示出8路电压测量结果。整个作品能较好的实现基本功能和扩展功能。6、心得与体会7、参考文献附录一:源程序#include#include#define uchar unsigned char#define uint unsigned int/*定义lcd1602接口信息*/sbit lcdrs=p30;/数据命令选择位sbit lcden=p31;/使能位sbit lcdrw=p32;/*定义adc0808接口信息*/sbit ada=p20;sbit adb=p21;sbit adc=p22;sbit eoc=p23;sbit clk=p24;sbit start=p25;sbit oe=p26;/*键盘管脚定义*/sbit key1=p33;sbit key2=p37;/*定义数据*/uchar tab1=48,46,48,48,48,46,48,48,48,46,48,48,48,46,48,48;/存放ad采集数据uchar tab2=48,46,48,48,48,46,48,48,48,46,48,48,48,46,48,48;uchar tab3=tonglu:;uchar tab4=dianya:;uchar tab5=12345678;uchar num,m=0,getdata=0;uint temp=0;/*延时函数*/void delay(uchar t)uchar x,y;for(x=t;x0;x-)for(y=110;y0;y-);void delayl(uchar ltime)uchar i;for(i=ltime;i0;i-)delay(255);/*写命令函数*/void write_com(uchar com)lcdrs=0;p0=com;delay(10);lcden=1;delay(10);lcden=0;/*写数据函数*/void write_data(uchar date)lcdrs=1;p0=date;delay(10);lcden=1;delay(10);lcden=0;void disp(uchar h,l,uchar *p)write_com(0x80+h*0x40+l);while(*p!=0)write_data(*p); p+; /*初始化函数*/void lcdinit()lcdrw=0;delay(5);lcden=0;/使能位置低电平 write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);delayl(20);void timeinit() tmod=0x10;/定时器1工作于方式1,16位不重装初值 th1=(65536-200)/256; /定时200us(5khz) tl1=(65536-200)%256; ea=1; et1=1; tr1=1;void adtr(bit adda,addb,addc,uchar channel) start=0;oe=0;start=1;start=0;/a/d转换启动信号,正脉冲启动选中的模拟信号开始转换ada=adda;adb=addb;adc=addc;delay(5);while(eoc=0);/启动转换后eoc变为l,转换结束后变为hoe=1;getdata=p1;temp=getdata*1.0/255*500;oe=0;if(channel=4)channel=channel-4;tab24*channel=temp/100+0x30; tab24*channel+2=(temp%100)/10+0x30; tab24*channel+3=(temp%100)%10+0x30;void keyscan()/* 按键2进行减1*/ uint k; if(key1=0) m-; if(m5) write_com(0x80+0x07); write_data(tab5m-1); write_com(0x80+0x47); for(k=0;k=5&m9) write_com(0x80+0x07); write_data(tab5m-1); write_com(0x80+0x47); for(k=0;k4;k+) write_data(tab24*(m-5)+k); if(m=1)m=1; while(key1=0); /等待按键释放 if(key2=0) m+; if(m5) write_com(0x80+0x07); write_data(tab5m-1); write_com(0x80+0x47); for(k=0;k=5&m9) write_com(0x80+0x07); write_data(tab5m-1); write_com(0x80+0x47); for(k=0;k4;k+) write_data(tab24*(m-5)+k); if(m=9)m=0; while(key2=0); /等待按键释放 void main() lcdinit();timeinit();while(1) adtr(0,0,0,0); delay(5); adtr(0,0,1,1); delay(5); adtr(0,1,0,2); delay(5); adtr(0,1,1,3); delay(5); adtr(1,0,0,4); delay(5); adtr(1,0,1,5); delay(5); adtr(1,1,0,6); delay(5); adtr(1,1,1,7); delay(5);disp(0,0,tab3);disp(1,0,tab4);keyscan(); void t1(void) interrupt 3 using 0 th1=(65536-200)/256; tl1=(65536-200)%256; clk=clk;附录二:本科生能力拓展训练成绩评定表姓 名性 别专业、班级题 目: 基于ad转换模块的单片机仿真和c语言开发任务书答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。学位论文作者(本人签名): 年 月 日学位论文出版授权书本人及导师完全同意中国博士学位论文全文数据库出版章程、中国优秀硕士学位论文全文数据库出版章程(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在中国博士学位论文全文数据库、中国优秀硕士学位论文全文数据库中全文发表和以电子、网络形式公开出版,并同意编入cnki中国知识资源总库,在中国博硕士学位论文评价数据库中使用和在互联网上传播,同意按“章程”规定享受相关权益。论文密级:公开保密(_年_月至_年_月)(保密的学位论文在解密后应遵守此协议)作者签名:_ 导师签名:_年_月_日 _年_月_日独 创 声 明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。作者签名: 二一年九月二十日毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定

温馨提示

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

评论

0/150

提交评论