您好,欢迎访问三七文档
-1-摘要AD转换器是一种能把输入模拟电电压或电电流变成与它成正比的数数字量,即能把被控对对象的各种模拟信息变成计计算机可以识别的数字信息。本电路由AD转换器,8255,单片机组成,其中AD转换器器由ADC0809集成芯片组成。AD转换器要将时间和幅值都连续的模拟量,转换为时间、幅值都离散的数字量,一般要经过取样、保持和量化、编码几个过程。本设计与市场同类产品设计相比,具有电路简单、结构合理、制作方便、工作可靠、功能齐全等优势。关键词:AD转换器单片机8255-2-目录一、课程设计目的-----------------------------------------1二、课程设计内容与要求--------------------------------2三、芯片简介-----------------------------------------------3(一)A/D转换芯片0809引脚图与功能简介(二)8051单片机引脚图与引脚功能简介(三)8255引脚图及功能描述四、设计方案----------------------------------------------10五、程序设计及硬件电路-------------------------------11(一)原程序(二)修改后程序(三)硬件电路图六、课程设计总结-----------------------------------------14七、参考书目----------------------------------------------15-3-一、课程设计目的单片机课程设计的目的就是要锻炼学生的实际动手能力。在理论学习的基础上,通过完成一个具有综合功能的小系统,使学生将课堂上学到的理论知识与实际应用结合起来,对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立设计单片机应用系统的开发设计工作打下一定的基础。-4-二、课程设计内容与要求要求每个学生都要自己动手独立设计完成一个典型的单片机应用小系统。设计题目由指导教师提供。课程设计的时间为1周。设计的最终作品包括硬件和软件两个部分,要求能够演示并达到设计指标的要求。设计目的:利用MCS-51芯片及相关芯片构成AD转换器。设计要求:1、用ADC转换器完成模拟量到数字量的转换2、用LED数码管显示转换结果-5-三、芯片简介(一)A/D转换芯片0809引脚图与功能简介ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(1)ADC0809的内部逻辑结构由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。-6-(2).ADC0809引脚结构ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。-7-OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。CBA选择的通道-8-000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。(二)8051单片机引脚图与引脚功能简介⒈电源:①VCC-芯片电源,接+5V;-9-②VSS-接地端;⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。⒊控制线:控制线共有4根,ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。PSEN:外ROM读选通信号。RST/VPD:复位/备用电源。①RST(Reset)功能:复位信号输入端。②VPD功能:在Vcc掉电情况下,接备用电源。EA/Vpp:内外ROM选择/片内EPROM编程电源。①EA功能:内外ROM选择端。②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。-10-(三)8255引脚图及功能描述8255A引脚功能及管脚定义图8255共有40个引脚,采用双列直插式封装,各引脚功能如下:RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255通过数-11-据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。Vcc:+5V电源。6片选端A1,A08,9地址总线的最低2位。用于决定断口地址:如A1A0为00,是A口:A1A0为01,是B口:A1A0为10,是C口:A1A0是11,是控制字寄存器D7~D027~34双向数据总线PA7~PA037~401~4A口的8位I/O引脚PB7~PB025~18B口的8位I/O引脚PC7~PC010~1317~14C口的8位I/O引脚GND:地线。8255的三种工作方式方式0(基本输入/输出方式):这种工作方式不需要任何选通信号。A口,B口及C口的两个4位口中任何一个端口都可以由程序设定为输入或者输出。作为输出口时,输出数据被锁存:作为输入口,输入数据不锁存。方式1(选通输入/输出方式):在这种工作方式下,A,B,C三个口分为两组。A组包括A口和C口的高四位,A口可由编程设定为输入口或者输出口,C口的高四位则是用来作为A口输入/输出操作的控制和同步信号:B组包括B口和C口的低四位,B口可由编程设定为输入口或者输出口,C口的低四位则是用来作为B口输入/输出操作的控制和同步信号。A口和B口的输入或者输出的数据都被锁存。方式2(双向传送方式)在这种方式下,A口可以用于双向传送,C口的PC3~PC74用来作为输入/输出的控制同步信号。应该注意的是,只有A口允许用作双向传送,这时B口和PC0~PC2则可编程为方式0或者方式1工作。3)编程控制字8255A的编程选择是通过对控制口输入控制字的方式实现的。控制字有方式选择控制字和C口置位/复位控制字。-12-方式选择控制字:其格式如下表6所示:C口置位/复位控制字:C口具有位操作功能,把一个置位/复位控制字送入送入8255A的控制寄存器(控制口)就能把C口的某一位置1或者清0而不影响其他位的状态。四、设计方案主要由三大模块组成:A/D转换模块,8051单片机模块和8段译码显示模块。首先,通过实验箱产生0---5V可调电压;然后,将0---5V可调电压输入A/D转换进行数模转换,将0---5V的模拟量转换成00H-----FFH的数字信号,出入到单片机中;-13-最终通过发光二极管L1-L8显示出转换结果【注】A/D转换器大致分有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并行A/D转换器,ADC0809属第二类,是8位A/D转换器。每采集一次一般需100μs。由于ADC0809A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与单片机的INT0相连,可以用中断方式读取A/D转换结果。五、程序设计及硬件电路(一)原程序:modeequ082h;方式0,PA,PC输出,PB输入CS0809equ8000hPortAequ9000h;PortAPortBequ9001h;PortBPortCequ9002h;PortCCAddrequ9003h;控制字地址org0-14-movdptr,#CAddrmova,#modemovx@dptr,amovdptr,#CS0809mova,#0movx@dptr,a;起动A/Dmova,#40hdjnzACC,$;延时100usmovxa,@dptr;读入结果movr7,#100dly:movdptr,#PortAmovx@dptr,adjnzr7,dly;延时ljmp0end(二)修改后程序:modeequ89h;方式0,PA,PB输出,PC输入CS0809equ8000hPortAequ9000hPortBequ9001hPortCequ9002hCAddrequ9003horg0000Hmovdptr,#CAddrmova,#modemovx@dptr,a-15-movdptr,#CS0809mova,#12Hmovx@dptr,aloop:MovTMOD,#01hMovTH0,#0B1HMovTL0,#0E0HSETBTR0Loop1:JNBTF0,Loop1CLRTF0Loop2:movxa,@dptrmovr7,#500dly:movdptr,#PortAmovx@dptr,adjnzr7,dlyljmp0000hend(三)硬件电路图:-16-六、课程设计总结我在这一次模数转换器的设计过程中,受益匪浅。通过对自-17-己在单片机课堂上所学知识的回顾,结合模拟电子技术和数字电子技术的知识,完成了目标。这为自己今后进一步深化学习,积累了一定的宝贵经验,还对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试
本文标题:单片机AD转换
链接地址:https://www.777doc.com/doc-2594070 .html