单片机课程设计-简易数字电压表

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计报告题目:简易数字电压表课程名称:单片机与接口技术课程设计院系:电子工程学院专业、班级:学生姓名:学生学号:指导老师:目录一、设计目的及设计要求二、总体设计思路三、系统硬件设计四、软件流程图及必要说明五、总结一、设计目的及设计要求1.设计目的:(1).熟悉单片机系统综合设计方法。(2).掌握数码管的动态显示原理。(3).掌握ADC0809的工作原理。2.设计要求:数字电压表的基本原理,是对直流电压进行模数转换,其结果用数字直接显示出来,按其基本工作原理可分为积分式和比较式。基本要求:简易数字电压表可以测量0-5V的单通道输入电压值,测量值能通过数码管以十进制显示电压值,测量误差约为±0.1V。二、总体设计思路在598k3综合实验/仿真系统中,用双头线将可调电压区的VOUT接至ADC0809模数转换区的IN0,此IN0端口作为待测输入电压端口,由ADDA、ADDB、ADDC都为低电平时决定,因此ADC0809模数转换区的ADDA、ADDB、ADDC接至GND,可调电压区的VIN接至电源+5V,ADC0809模数转换区的CS4接至系统接口区的8000H端口,ADC0809模数转换区的WR接至系统接口区的/IOWR端口,ADC0809模数转换去的RD接至系统接口区的/IORD,CLK接至单脉冲与时钟区的500K,用8芯线将数据总线JX0接至ADC0809模数转换区的JX6,即将ADC0809的输出端接入实验箱系统中8255的输入端。然后在AT89S51主控芯片的控制下,将8255的PA输出端口作为数码管的位选控制端,PB输出端口作为数码管的字形控制端。三、系统硬件设计1.系统原理框图系统原理框图2.AT89S52引脚说明AD0809D0~D7IN0~IN7VREF+VREF-CLKOEST、ALEAT89S528255D0~D7PA0~PA7PB0~PB7数码管控制线控制线位选段选XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的重置引脚,高电平动作,当要对品片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。VCC:AT89S52电源正端输入,接+SVoEA/Vpp:EA,为英文ExternalAccess。的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码〔存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,ICI为其内部无程序存储器空间。如果是使川8751内部程1-挤空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp).VSS:电源地端。XTALI:单芯片系统时钟的反相放大器输入端。ALE/PROG:ALE是英文AddressLatchEnable”的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端u0的地址总线(A0-A7)锁进锁存器中,因为AT89S52是以多T的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:PSEN是“ProgramStoreEnable”的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信一号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORTO(P0.0~P0.7):端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位I,依此类推。其他三个v0端Li(P1、P2,P3)则不共有此电路组态,而是内部有一提升电路,PO在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),PO就以多工方式提供地址总线(A0--A7)及数据总线(DO-D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为AO-A7,再配合端口2所送出的A8-A15合成一充整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向1/O端口,娜一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端日便能当成输入端日来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8-A15,这个时候P2便不能当做I/O来使用了。PORT2(P2.0-P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端日使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8/A15,这个时候P2便不能当做1/O来使用了。PORTI(PI.0--PI.7):端口1也是具有内部提升电路的双向1/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是山此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3(P3.0--P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。3.ADC0809芯片说明ADC0809的引脚如图所示,下面对引脚功能做简要说明:图3.1ADC0809引脚IN0~IN7:8个模拟量的输入端。D0~D7:8位数字量输出端。START:启动A/D转换,加正脉冲后A/D转换开始。EOC:转换结束信号。转换开始时,EOC信号变低电平;转换结束时,EOC信号返回高电平。该信号可以作为CPU查询A/D转换是否完成的信号,也可以作为向CPU发出中断申请的信号。OE:输出允许信号,输入高电平有效。OE端的电平由低变高时,转换结果被送到数据线上。此信号有效时,CPU可以从ADC0809中读取数据,同时也可以作为ADC0809的片选信号。CLK:实时时钟,频率范围为10KHZ~1280KHZ,典型值为640KHZ。ALE:通道地址锁存允许信号,输入高电平有效。在ALE=1时,锁存ADDA~ADDC,选中模拟量输入。ADDC~ADDC:通道地址选择输入,其排列顺序从低到高依次为ADDA、ADDB、ADDC。该地址与8个模拟量输入,通道的对应关系如表1所示:VREF+、VREF-正负参考电压。一般情况下,VREF+接+5V,VREF-接地。此时的转换关系如表2所示:VCC\GND:工作电源和接地表1ADC0809的输入输出关系输入模拟电压输出数字量输入模拟量输出数字量000000000B............511112.510000000B表2地址与模拟量通道之间的对应关系ADDCADDBADDA选中通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ADC0809内部结构控制与时序逐次逼近寄存器SAR树状开关内部电阻网络三态输出锁存缓冲器A8路模拟量选择开关地址锁存与译码8位A/D转换器电压比较器EOC转换结束数字量输出D0~D7````D7ADDAADDBADDC地址选择模拟量输入IN0`IN7STARTCLK地址锁存ALEADC0809内部结构ADC0809的内部结构如图所示,它包含以下几部分:(1)8路模拟量选择开关根据地址锁存与译码装置所提供的地址,从8个输入的0V~5V模拟量中选择一个输出。(2)8位A/D转换器能对所选择的模拟量进行A/D转换。(3)3位地址码的锁存与译码装置对所输入的3位地址码进行锁存和译码,并将地址选择结果送给8路模拟量选择开关。(4)三态输出的锁存缓冲器是TTL结构,负责输出转换的最终结果。此结果可直接连接到单片机的数据总线上。实验箱ADC0809接线电路原理图5.8255引脚说明VccGND+-OE输出允许8255共有40个引脚,采用双列直插式封装,各引脚功能如下:D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。CS:片选信号线,低电平有效,表示芯片被选中。RD:读出信号线,低电平有效,控制数据的读出。WR:写入信号线,低电平有效,控制数据的写入。Vcc:+5V电源。PA0--PA7:A口输入/输出线。PB0--PB7:B口输入/输出线。PC0--PC7:C口输入/输出线。RESET:复位信号线。A1、A0:地址线,用来选择8255内部端口。GND:地线。8255引脚图6.显示数码管该实验箱中的数码管接线类为共阴型,位选控制由8255的PA输出端口控制,低电平有效,字形控制油8255的PB输出口控制,高电平有效。四、软件流程图及必要说明初始化P2口初始化和8255控制口初始化给地址FF80H,取ADC0809模拟输入IN0口为采样通道口并先清零延时将采样数据除以51,商为电压整数部分,并存储在地址30H中再将余数除以5,此商值为电压小数部分,并存储在地址31HYES五、总结经过一段时间的努力,简易数字电压表基本完成。在这过程中,我对电路设计,单片机的使用等都有了新的认识,对单片机这门课也有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了AT89C51单片机芯片,有许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。而调试过程中遇到很多问题,一开始是由于对实验设备的内部结构和工作原理不够了解,在查阅了很多资料后我们才着手进行连接和编程序。在连接过程中判断商值是否与10相等电压整数加1,即30H内容加1,电压小数为零,即31H内容为零①①数码管显示。8255的PA输出端口控制数码管位选,PB输出口控制数码管段选返回程序开始也出现过接线错误的问题,但是在一番检查之下我们还是把问题接线解决了。然后是AD转换算法的问题,这也困扰了我们较长的时间,多亏有老师的帮助下及同学间的相互讨论,我们就想到了一种简便又完善的算法,最终该课程设计的编程经过相对较少的调试便顺利完成了。最后的答辩环节也是比较紧张的,一开始由于对部分芯片的结构和功能不是那么的了解,又花了一定的时间去学习和了解各部分的工作原理,这个也要感谢同组同学的帮忙,以及感谢一下老师对我们的帮助和耐心教导。总之这次电路课程设计,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功