付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、苏州科技学院微型计算机接口技术大作业姓名:徐东升班级:电科1011学号:1020108110老师:许洪华2013-6-211 设计原理及要求本设计是利用单片机AT89C51 与 ADC0808 设计一个数字电压表,测量05V 之间的直流电压值,四位数码显示.1.1 数字电压表的实现原理ADC0808是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为 255( 0FFH) ,因此最大分辨率为0.0196( 5/255) 。 ADC0808 具有 8路模拟量输入端口, 通过 3 位地址输入端能从8 路中选择一路进行转换。如每隔一段时间依次轮流改变3 位地址输入端的地址,就能依次对8 路
2、输入电压进行测量。LED数码管显示采用软件译码动态显示。通过按键选择可对8 路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。1.2 数字电压表的设计要求可以测量05V范围内的3路直流电压值。在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3 位 LED 数码管显示电压值,显示范围为0.00V5.00V, 1位LED数码管显示路数,3路分别为02 要求测量的最小分辨 率为0.02V。2 软件仿真电路设计2.1 设计思路多路数字电压表应用系统硬件电路由单片机、A/D 转换器、 数码管显示电路和按键处理电路组成,由于ADC0808 在进行 A/D 转换时需要有CLK 信号,本
3、试验中 ADC0808 的 CLK 直接由外部电源提供为500kHz 的方波。 由于 ADC0808的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显 示出电压值。实际显示的电压值(D/256*VREF) ADC0808 采用逐次逼近法转换,把模拟电压转换成16进制的D,由于是对直流电压05V进行采集,所以D对 应的电压为V0 , 我们的目的就是要把V0 显示在 LED 显示器上,因为单片机不好进行小数点计算,所以有:V0=2*D 扩大了 100 倍,扩大100 倍后的结果高八位放寄存器B, 低八位放寄存器A, 分寄存器B 为 0 或不为 0 的情况进行存取数据,得到的
4、结果个位放入 R0,十位放入R1,通过查表使之显示在LED显示器。 2.2 仿真电路图用 Protues 软件仿真设计的电路如图3-1 所示。P3876C2C3R0K313054=3 C422u3233PU1P1.7P1.6P1.5P1.4P1.3P1.2P1.1/T2EXP1.0/T2EA ALE PSENRSTXTAL2?XTAL1AT89C52NET=p5P3.7/RDP3.6/WRP3.5/T1P3.4/T0P3.3/INT1P3.2/INT0P3.1/TXDP3.0/RXDP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P
5、2.0/A8P0.7/AD7P0.6/AD6P0.5/AD5P0.4/AD4P0.3/AD3P0.2/AD2P0.1/AD1P0.0/AD0"目环U4:A单步VR15U2AD1AD2ALE82813U31EOC74LS3733221OUT133203419AD-25VREF(+)OEVREF(-)ADC08081716OE LED0D1D2D3D4D5D6D7CLOCKSTARTOUT2OUT3OUT4OUT5OUT6OUT7OUT8IN6IN7Q723ADD AADD BADD CALEIN2IN326 IN0AD3ALE272824232235361881413121111417
6、183425272625-2T373839RDQ0Q1Q2Q3Q4Q5Q6IN0IN1IN2IN3IN4IN5151417图3-1仿真电路2.3 设计过程简易数字电压测量电路由A/D转换、数据处理及显示控制等组成。电路原 理图见附录2。A/D转换由集成电路0808完成。0808具有8路模拟输入端口, 地址(23-25)脚可决定对哪路模拟输入作 A/D转换,22脚为地址锁存控制,当输 入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2us宽高电 平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时7 脚输出高电平。9脚为A/D转换数据输出允许控制,当 OE脚为高电
7、平时,A/D 转换数据从该端口输出。10脚为0808的时钟输入端,由外部信号源提供。单片 机的P1、P3.0-P3.3端口作为四位LED数码管现实控制。P3.5端口用作单路显示 /循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D转换数 据读入用,P2端口用作0808的A/D转换控制。2.4 AT89C51的功能介绍2.4.1 简单概述AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM 一Flash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8位微处理器,俗称单片机。 AT89C51
8、是一种带2K字节闪存可编 程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标 准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供 了一种灵活性高且价廉的方案。2.4.2 主要功能特性(1) 4K字节可编程闪烁存储器。(2) 32 个双向 I/O 口; 128X8 位内部 RAM 。(3) 2个16位可编程定时/计数器中断,时钟频率 0-24
9、MHZ。(4)可编程串行通道。2.5 5个中断源。2.6 2个读写中断口线。(7)低功耗的闲置和掉电模式。(8)片内振荡器和时钟电路。2.4.3 AT89C51的引脚介绍(1)电源引脚电源引脚接入单片机的工作电源。Vcc(40引脚):+5V电源。GND(20弓|脚):接地。时钟引脚XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。XTAL2(20引脚):片内振荡器反相放大器的输出端。(3)复位RST(9引脚)在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。 EA/Vpp(31 引脚)EA为
10、外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程 序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。当它为低电平时, 只限定在外部程序存储器,地址为 0000HFFFFH。Vpp为该引脚的第二功能, 为编程电压输入端。(5)ALE/ PROG (30 引脚)ALE为低八位地址锁存允许信号。在系统扩展时,ALE的负跳沿江P0 口发 出的第八位地址锁存在外接的地址锁存器, 然后再作为数据端口。 PROG为该引 脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。(6) PSEN (29 引脚)片外程序存储器的读选通信号。在单片机读片外程序存储器时,此引脚输出 脉冲的负
11、跳沿作为读片外程序存储器的选通信号。pin39-pin32为P0.0-P0.7输入输出月却,称为 P0 口。P0是一个8位漏极开路型双向I/O 口。内部不带上拉电阻,当外接上拉电 阻时,P0 口能以吸收电流的方式驱动八个 LSTTL负载电路。通常在使用时外接 上拉电阻,用来驱动多个数码管。在访问外部程序和外部数据存储器时,P0 口 是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。(8) Pin1-Pin8为P1.0-P1.7输入输出脚,称为P1 口,是一个带内部上拉电阻 的8位双向I/0 口。P1 口能驱动4个LSTTL负载。Pin21-Pin28为P2.0-P2.7输入输出脚,称为
12、 P2 口。P2 口是一个带内部上拉电阻的 8位双向I/O 口,P2 口能驱动4个LSTTL负 载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash程 序存储器编程时,接收高8位地址和控制信息。在访问外部程序和 16位外部数 据存储器时,P2 口送出高8位地址。而在访问8位地址的外部数据存储器时其 引脚上的内容在此期间不会改变。(10)Pin10-Pin17 为 P3.0-P3.7输入输出脚,称为 P3 口。P3 口是一个带内部上拉电阻的 8位双向I/O 口,P2 口能驱动4个LSTTL负 载,这8个引脚还用于专门的第二功能。端口置 1时,内部上拉电阻将端口拉到 高电平,
13、作输入用。对内部Flash程序存储器编程时,接控制信息。2.5 ADC0808的引脚及功能介绍2.5.1 芯片概述ADC0808是一种典型的A/D转换器。它是由8位A/D转换器,一个8路模 拟量开关,8位模拟量地址锁存译码器和一个三态数据输出锁存器组成;+5V单电源供电,转化 时间在100us左右;内部没有时钟电路,故需外部提供时钟 信号。芯片模型如图3-4所示。2.5.2 引脚简介(1) IN0IN7 : 8路模拟量输入端。D0D7: 8位数字量输出端口。(3) START: A/D转换启动信号输入端(4) ALE:地址锁存允许信号,高电平有效。(5) EOC:输出允许控制信号,高电平有效。
14、(6) OE:输出允许控制信号,高电平有效。(7) CLK :时钟信号输入端。(8)A、B、C:转换通道地址,控制8路模拟通道的切换。A、B、C分别与地址线 或数据线相连,三位编码对应 8个通道地址端口,A、B、C=000111分别对应 IN0IN7通道的地址端口。2.5.3 ADC0808的转换原理ADC 0808采用逐次比较的方法完成 A/D转换,由单一的+5V电源供电。片 内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。 ADC0809完成一次转换需100仙s左右,它具有输出TTL三态锁存缓冲器,可直 接连接到AT89C51的数据总线上。通过适当的外接电路,ADC
15、0808可对05V的模拟信号进行转换。2.674LS373芯片的引脚及功能2.6.1 芯片概述74LS373是一种带有三态门的8D锁存器,其在本设计中是锁存P0 口的低8 位地址,芯片模型如图3-5所示。2.6.2 引脚介绍(1) D0D7:8位数据输入线;(2) Q0Q7:8位数据输出线(3) G:数据输入锁存选通信号。当加到该引脚的信号为高电平时,外部数据选通 到出锁存器,负跳变时,数据锁存到锁存器中。OE :数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁 存器中的数据输出到数据输出线上,当该信号为高电平时,输出线为高阻态。2.7 LED数码管的控制显示2.7.1 LED
16、数码管的接口简介LED的段码端口 AG分别接至 AT89C51的P1.0P1.7 口,位选端14分别接至P35 P34 P3.1、P3.0,如图3-7所示0而安 p-a cm才回FZJWyE3 P7 4Mt?P2石0FFX.1 W3k kT2博3MkEla苴 A AA .H Aft A A UDnDnDD riplrlprlp图4-3中断显示程序流程图图3-7LED与AT89C51的硬件连线4系统软件程序的设计多路数字电压表系统软件程序主要有主程序、A/D转换子程序和中断显示程序组成。3.1主程序主程序包含初始化部分、调用A/D转换子程序和相应外部 0中断显示电压数值程序,初始化部分包含存放通
17、道的缓冲区初始化和显示缓冲区初 始化。另外,对于单路显示和循环显示,系统设置了一个标志位 00H控制, 初始化时00H位设置为0,默认为循环显示,当它为1时改变为单路显示控 制,00H位通过单路、循环按键控制。流程图如图 4-1所示。3.2 A/D转换子程序显示子程序A/D转换子程序用于对 ADC0808的4路输入模拟电压进行 A/D转换, 并将转换的数值存入 4个相应的存储单元中,A/D转换子程序每隔一定时间 调用一次,即隔一段时间对输入电压采样一次,3.3中断显示程序设计中采用中断的方式来读取转换完成的数据能节省 CPU的资源当系统设置好后,一旦数据转换完成,便会进入外部中断0,然后在中断
18、中读取转换的数值,处理数据并送数码管显示输出。LED数码管采用软件译码动态扫描的方式。在中断程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把4个存储单元的数值依次取出送到4个数码管上显示,每一路显示一秒。单路显示程序只对当前 选中的一路数据进行显示。 每路数据显示时需经过转换变成十进制BCD码,放于4个数码管显示缓冲区中。 单路或多路循环显示通过标志位00H控制。在显示控制程序中加入了对单路或多路循环按键的判断。5电压表的调试及性能分析5.1调试与测试本设计应用Proteus6及KEIL51软件,首先根据自己设计的电路图用 Proteus6 软件画出电路模型,关于这个软件的使用通过
19、查一些资料和自己的摸索学习;然后我们用KEIL51软件对所编写的程序进行编译、链接,如果没有错误和警告便 可生成程序的hex文件,将此文件加到电路图上使软硬件结合运行,最后进行端4-1中标准电压值采用Proteus6软件口电压的对比测试,测试的第一路对比见图 中的模拟电压表测得。图4-1数字电压表与标准电压表的比较从图中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均 在0.02V以内,这与采用8位A/D转换器所能达到的理论误差精度相一致,在 一般的应用场合可以完全满足要求。6电路仿真图图6-1为4路通道用模拟电压表测得的理论值。图6-1模拟电压表测量结果图6-2为进行模拟仿真时的
20、电路图图6-2仿真时的电路图7总结经过一周的努力终于设计成功,LED的显示结果和直接用数字电压表测试 模拟量输入所得结果几乎一致,误差完全在合理的范围之内。由于仪器误差,LED 显示最大值只能是4.9V,离标准最大值5.0V已经不远,达到预期目的,设计成 功。本设计参考了教材上第H一章 89C51与ADC0809转换的接口连线,设计出 电路图的连线,从并中理解了许多基本的知识和接线方法, 在程序的设计与电压 表调试的过程中中遇到了很多的问题, 刚开始时四个数码管根本不显示, 后来发 现用的是共阳极的数码管,而设计是共阴极的,更换后数码管终于显示,但问题又出现了,单路显示和循环显示的开关不能控制
21、电路的单路显示和循环显示,经过仔细地检查电路和修改程序,采用中断的方法,产生一次外部中断0,程序转移到单路显示,按一次单路显示开关,地址加一,转换的模拟通道相应的加一, 如果按下循环按键就返回循环显示的程序,功夫不负有心人,最后终于调试成功。在此再次向带领我们这次课程设计的老师说声:谢谢!1 源程序ORG 0000HSJMP MAINORG 0003HLJMP INTOMAIN:MOV 50H,#19HMOV 54H,#78HMOV DPTR,#7FF8HMOV 51H,DPHMOV 52H,DPLMOV R0,#04HMOV 53H,#00HMOV R7,#00H SETB EASETB I
22、T0SETB EX0L4: MOV R1,#00HMOV R2,#00HMOV R3,#0FFHMOV R4,#00HMOV R5,#00H MOVX DPTR,A LCALL DELAYMOVX A,DPTR;R1 存放十六进制转换成十进制后的低两位;R2 存放十六进制转换成十进制后的高两位; 循环显示十进制数; 存放 A/D 转换后的十六进制数;存放0.5相加后的数; 开始A/D 转换; 调用延时大于A/D 转换的时间; 取 A/D 转换后的十六进制数INC DPTR;A/D 转换芯片的地址加一PUSH DPL;压入堆栈PUSH DPHDEC R0;4路转换的次数减一JZ SB2;判断是否
23、是0VMOV R4,AL1:MOV A,R1;进行十六进制到十进制的调整ADD A,50H;每次加19DA AMOV R1,AJC L2;如果溢出则跳转到L2MOV A,R5;进行0.5V相加ADD A,54HDA AMOV R5,AJC L3;如果溢出则跳转到L3SB1:DJNZ R4,L1;判断十六进制数是否转换完成,如果没有则循环MOV A,R5SWAP AANL A,#0FHMOV B,R1ADD A,BDA AMOV R1,ASB2:LCALL DISPLCALL DJWDJNZ R3,SB2POP DPHPOP DPLMOV A,53HINC AMOV 53H,ACJNE R0,#
24、00H,L4LJMP MAINL2: CLR CMOV A,R2ADD A,#01HDA AMOV R2,ALJMP SB105V相加溢出后进位L3: CLR CMOV A,R1ADD A,#01HDA AMOV R1,ALJMP SB1DISP:MOV A,R1SWAP AANL A,#0FHMOV DPTR,#TAB1MOVC A,A+DPTRCLR P3.0MOV P1,ALCALL DELAYSETB P3.0MOV A,R2ANL A,#0FHMOV DPTR,#TAB1MOVC A,A+DPTRCLR P3.1MOV P1,ALCALL DELAYSETB P3.1MOV A,R2
25、SWAP AANL A,#0FHMOV DPTR,#TAB2MOVC A,A+DPTRCLR P3.4MOV P1,ALCALL DELAYSETB P3.4RETDJW:MOV A,53HMOV DPTR,#TAB1MOVC A,A+DPTR; 显示电压子程序;显示第几路转换电压子程序CLR P3.5MOV P1,ALCALL DELAYSETB P3.5RET;只显示其中一路中断INTV: PUSH ACCPUSH 53HMOV 53H,#00HCX2: MOV R1,#00HMOV R2,#00HMOV R3,#0FFHMOV R4,#00HMOV DPH,51HMOV DPL,52HMOVX DPTR,ALCALL DELAYMOVX A,DPTRMOV R4,AJZ SB22L11: MOV A,R1ADD A,50HDA AMOV R1,AJC L22MOV A,R5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 17737.124-2026同轴通信电缆第1-124部分:电气试验方法漏泄电缆的耦合损耗试验
- T/ZGM 008-2025绿色产品评价 201×7凝胶型强碱性苯乙烯系阴离子交换树脂
- T/HNCAA 069-2025公路桥梁结构健康监测技术应用规程
- T/CIQA 67-2023“三同”产品 家用和类似用途电动洗衣机技术要求
- T/CAPSA 11202-2024生产安全事故应急响应标准文献元数据导则
- T/CSBME 090-2025车载医用X射线计算机体层摄影设备临床放射防护要求
- 2025~2026学年广东省河源市东源县人教版五年级上册数册中作业题【附答案】
- 2026学年湖南省醴陵市五年级语文期末提升竞赛挑战题(详细参考解析)详细答案和解析
- 2026学年云南省楚雄市五年级语文期末高分难点突破题(详细参考解析)详细答案和解析
- PHP初级面试题及详细答案(真实企业版)
- 智造未来-2026年智能建造技术与施工机器人应用全景
- 2026中国放射性废水处理用陶瓷超滤膜辐照稳定性加速测试报告
- T/TMAC 248-2025连续石墨化炉能源消耗限额
- 2026秋统编版(新教材)七年级道德与法治上册易错知识点梳理+分课填空自测练习题及答案
- 四上2-3《呼吸的变化》教学课件
- 2026年中盐榆林盐化有限公司秋季招聘笔试模拟试题及答案详解
- 2025年信息安全工程师考试真题及答案解析
- 2026年压力容器考试题库及答案
- BJS 202602 食品中伐地那非杂质30的测定
- 2026年广东省中考物理试卷附答案
- 2026年新闻记者职业资格考试新闻采编实务试卷及答案解析
评论
0/150
提交评论