ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:224.50KB ,
资源ID:10738210      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10738210.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于51单片机的数字电压表的设计.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于51单片机的数字电压表的设计.doc

1、 数字电压表的设计目录绪论 1第 1 章 系统总体方案选择与说明 11.1 项目分析及其设计 .11.1.1 通道转换方案设计 11.1.2 显示部分方案设计 1第 2 章 系统总体结构与系统功能 22.1 系统结构框图 .22.2 系统功能 .2第 3 章 硬件设计说明及计算方法 23.1 单片机的选择及时钟电路 23.2 驱动模块 33.3 LED 显示电路设计与器件选择 .43.4 A/D 转换模块及转化电路设计 6第 4 章 软件设计与说明 74.1 数字电压表系统软件设计方案确定 .74.2 数字电压表应用程序设计 .9第 5 章 调试结果及其说明 95.1 调试结果及其说明 .9参

2、考文献 10附录 A 系统原理图 .11附录 B 系统源程序 .12第 0 页绪论本设计采用了以单片机为开发平台,控制系采用 AT89C52 单片机,A/D转换采用 ADC0809。系统除能确保实现要求的功能外,还可以方便进行 8 路其它 A/D 转换量的测量、远程测量结果传送等扩展功能。简易数字电压测量电路由 A/D 转换、数据处理、显示控制等组成。关键词: 单片机 AT89C52 A/D 转换 ADC0808 数据处理课程设计要求:利用八位 A/D 转换器实现分辨率位八位二进制数的电压表,测量结果用四位数码管显示。第一章 系统总体方案与选择实现数字电压表的方案很多,目前广泛采用的时基于 7

3、4 系列逻辑器件,本设计将介绍基于单片机实现的方案。1.1 项目分析及其设计方案设计此设计包含两个模块,通道转换和显示部分方案。1.1.1 通道转换方案设计方案一:考虑到 ADC0808 的 8 路模拟量输入本质上也是模拟开关,因此可以利用其 8 个模拟通道中的 3 个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。方案二:利用手动开关实现通道转换。该方案可简化控制程序,消减系统开销。缩短反应时间,不足之处在于操作麻烦。综上所述:方案二所需元件少、成本低且易于实现,则选此方案。1.1.2 显示部分方案设计方案一:单片机的 P0、P2 口分别接 74LS24

4、8 和 ULN2003A 芯片来驱动四位数码管方案二:直接用单片机的 P1、P2 口驱动数码管,此处把 ADC0808 的输出端接 P1 口 ,因为 P1 口能够驱动数码管。综上所述,两个方案都可行,但方案二所需元件少、成本低,则选择此方案。第 1 页第二章 系统总体结构2.1 系统结构框图根据项目要求,确定该系统的设计方案,图 2-1 为该系统设计方案的结构框图。硬件电路由 6 各部分组成,即单片机、时钟电路、复位电路、LED 显示电路、A/D 装唤器和测量电压输入电路。 为为 为为为为 为为LED为为 为为A/D为为 为为 为为为 为为 为为为为图 2-1 系统结构框图2.2 系统功能在一

5、切准备就绪以后,滑动变阻器 RV1 的阻值, A/D 采样数据,经过单片机的处理,在 4 位一体的 LED 数码管管上显示当前电压值。每改变一次 RV1 的阻值,在数码管上就会获得一个新的数值。第 3 章 硬件电路设计3.1 单片机的选择及时钟电路根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM 的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。此电路选择 ATmel 公司生产的 AT89C51。AT89 系列与 MCS-51 系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片,使整个

6、电路体积更小。它以较小的体积、良好的性价比倍受青睐。单片机工作的时间基准是由时钟电路提供的。在单片机的 XTAL1 和XTAL2 两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。电路中,电容 C1 和 C2 对震荡电路有微调的作用,通常的取值范围位(30+10 )pF。石英晶体选择 6MHz 或 12MHz 都可以,其结果只是机器周期时间不同,影响计数器的计数初值,此设计取 12MHz。第 2 页图 3-1 单片机最小系统3.2 驱动模块该设计的驱动电路是由 74LS245 来驱动的。74LS245 是我们常用的芯片,用来驱动 LED 或其他设备,它是 8 路同相三态双向总线收发器,课

7、双向传输数据。74LS245 还具有双向三态功能,既可以输出,也可以输入数据。当 51 单片机的 P0 口总线负载达到或超过 P0 最大负载能力时,必须接入74LS245 等总线驱动器。当片选端 CE 低电平有效时,AB/BA=0;信号由 B 向 A 传输;AB/BA=1 ,信号由 A 向 B 传输;当 CE 位高电平时,A,B 均为高阻第 3 页图 3-2 74LS245 管脚图3.3 LED 显示电路设计与器件选择单片机应用系统中,通常都需要进行人机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果。显示器、键盘电路就是用来完成人机对话活动的人机通道。图

8、 3-3 LED 显示管脚LED 显示器的驱动是一个非常重要的问题,由图 3-2-1 可知,显示电路由LED 显示器、段驱动电路和位驱动电路组成。此设计不采用段驱动芯片和位驱动芯片,直接由单片机的 P0, P2 口驱动,实验证明可行。在应用系统中,设计要求不同,使用的 LED 显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的 LED 显示器。在我们的设计中,选择 4 位一体的共阴极时钟型 LED 显示器,采用动态显示方式。第 4 页图 3-4 LED 动态显示采用 P0 口作为 LED 的段码输出信号,P2 口的低四位作为 LED 位码的输出控制信号。硬件电路的连接如图 3-

9、2-2 所示。该电路的工作原理:当 P0 口输出段码信号的 BCD 码后,输出具有一定驱动能力的七段字形码,由于 4-LED 的段码输入管脚是并联在一起的,所以每一位 LED 的段码输入管脚都能获得这个段码信号。若要控制在每一时刻只有一位LED 被点亮,必须靠位码信号控制。P2 口低四位输出位码信号后接到 LED 的位码控制端,因此 P2 口的低四位的位码信号在每一时刻只有一位是“0” ,其他位全为“1” ,然后按时间顺序改变输出“0”的位置,控制在每一时刻只有一位LED 被点亮,达到动态显示的目的。3.4 A/D 转换模块及转换电路设计A/D 转换器的功能是将模拟量转换为与其大小成正比的数字

10、量信号。能实现这种转换的原理和方法很多,此设计采用 ADC0808 转换器。ADC0808 是一种逐次逼近型的 8 位 A/D 转换器件,片内有 8 路模拟开关,可输入 8 个模拟量,单极性,量程为 0+5V。第 5 页3.4.1 ADC0808 简介1. ADC0808 引脚功能图 3-5 ADC0808 引脚图(1) IN0IN7:8 路模拟量输入。(2) ADDA、ADDB、ADDC:模拟量输入通道地址选择,其 8 位编码分别对应 IN0IN7 .(3) ALE:地址锁存允许,上升沿将通道选择信号存入地址锁存器。(4) START:ADC 转换启动信号,正脉冲有效,引脚信号要求保持在20

11、0ns 以上,其上升沿将内部逐次逼近寄存器清零。(5) EOC:转换解释信号,可做为中断请求信号或供 CPU 查询。(6) CLK:时钟输入端,要求频率范围在 10kHz1.2MHz.(7) OE:允许输出信号。(8) Vcc:芯片工作电压。(9) VREF(+)、VREF(-):基准参考电压的正、负值。(10)OUT1OUT8 :8 路数字量输出端。3.4.2 A/D 转换电路设计第 6 页集成摸数转换芯片 ADC0808 实现的 A/D 转换电路被测信号由 ADC0808 模拟输入端输入,完成 A/D 转换后送入单片机,经相应处理后送出显示。第四章 软件设计与说明进行应用软件设计时可以采用

12、模块化结构设计,其优点是:每个模块的程序结构简单,任务明确,易于编写、调试和修改;程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,易于功能扩充和版本升级;易于使用频繁的子程序可以建立子程序,便于多个模块调用;便于分工合作,多个程序员同时进行程序的编写和调试工作,加快软件研制进度。4.1 数字电压表系统软件设计方案确定(1)根据设计要求,根据系统所要完成的功能,设计出图 4-1 所示的功能模块。图 4-1 数字电压表软件设计的模块(2)程序的设计主程序的设计 主程序的内容一般包括:主程序的起始地址、中断服务额程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等。第 7 页

13、根据设计要求,设计出如图 4-2 所示的主程序流程图。为为为为 为为为 A/D为为 为为 为为为 为为 为为为图 4-2 主程序流程图 为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为为YN第 8 页图 4-3 A/D 转换子程序流程图 A/D 转换子程序的设计 A/D 转换程序的功能是采集数据,再整个系统设计中占有很高的地位。当系统置好后,单片机扫描转换结束管脚 P2.6 的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。若输入为低电平,则继续扫描。程序流程图如图 4-3 所示。数码转换及显示子程序的设计 由于人们日常习惯使用十进制数,而计算机的键

14、盘输入、输出以及显示常采用二进制编码的十进制数(即 BCD 码)或ASCII 码。因此,在程序设计中经常要进行数码转换。4.2 数字电压表应程序设计(1)程序起始地址 MCS-51 系列单片机复位后, (PC)=0000H,而0003H002BH 分别为各中断源的入口地址。所以,编程序时应在 0000H 处写一条跳转指令。当 CPU 接到中断请求信号并予以响应后,CPU 把当前的 PC 内容压入栈中进行保护,然后转入相应的中断服务程序入口处执行。( 2) LED 动 态 显 示 延 时 LED 显 示 器 每 一 位 的 显 示 时 间 是 5ms,延 时5ms 子 程 序 是 典 型 的 软

15、 件 定 时 程 序 。说 明 : LED 采 用 7 段 字 形 代 码 , 第 1 位 采 用 把 dp 置 1 的 方 式 显 示 小 数点 。第 五 章 调 试 结 果 及 其 说 明5.1 调 试 结 果 及 其 说 明采用 Keil Vision 编译器进行源程序编译,调试好程序后将.Hex 文件导入 Proteus 进行软件调试。在 Proteus ISIS 编辑窗口中单击开始仿真按钮,4 位 LED 数码管显示相应的电压值。当通道打到通道 0 时,滑动变阻器 RV1 的阻值调至最小位置时,LED显示 0.000,正确显示数值;把 RV1 调至中间位置时, LED 显示 2.65

16、0,同样正确读出数据;当把 RV1 的阻值调至最大位置时, LED 显示 5.000,正确读出数据。同理调试其他通道时,能正确显示通道数和电压值,证明该 8 路电压表合格。调试结果如图 5-1 第 9 页图 5-1 调试结果参考文献1 单片微机原理及应用 徐春晖 主编 电子工业出版社2 单片机应用技术( C 语言版) 王静霞 主编 电子工业出版社3 新概念 51 单片机 C 语言教程 郭天祥 主编 电子工业大学 4 单片机典型系统设计实例精讲 彭为等 电子工业出版社5 单片机原理与应用设计 张毅刚等 电子工业出版社第 10 页附录 A 系统原理图第 0 页附录 A 系统原理图第 1 页附录 B

17、 系统源程序LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HLED_3 EQU 33H /存放四个数码管的段码ADC EQU 35H /存放转换后的数据ST BIT P3.2OE BIT P3.0EOC BIT P3.1ORG 0000HSTART: MOV LED_0,#00HMOV LED_1,#00HMOV LED_2,#00HMOV LED_3,#00HMOV DPTR,#TABLE /送段码表首地址SETB P3.4SETB P3.5CLR P3.6 /选择 ADC0808 的通道 3WAIT: CLR STSETB STCLR ST /启动转换JNB

18、EOC,$ /等待转换结束SETB OE /允许输出MOV ADC,P1 /暂存转换结果CLR OE /关闭输出LCALL INTOVLCALL DISP /显示 AD 转换结果SJMP WAITINTOV:MOV DPTR,#TAB /因为所用的滑动变阻器为 0.01 的精度,所以MOV A,ADC /最小的读数为 0.05,其余均为 0.05 的倍数MOVC A,A+DPTR /因此,第三位小数,要么是 5,要么是 0MOV B,#2 DIV AB MOV R0,B /A/2 的余数付给 R0,通过判断 R0 的值,MOV B,#100DIV ABMOV R1,A /将 A 除以 100,

19、并将商赋给 R1第 2 页MOV A,#10XCH A,B /交换数据DIV AB / 得到得商为整数位,余数为第一个小数位MOV LED_3,A /整数位MOV LED_2,B /第一位小数MOV LED_0,R1 /第三位小数CJNE R0,#01,KK1 /若 R0=1,则执行下条语句,否则转移到 KK1MOV LED_1,#05 /第二位小数BACK: RETKK1: MOV LED_1,#00AJMP BACKDISP: / 采用 4 位共阴数码管,故选通开关低有效,MOV DPTR,#TABLE /整数位MOV A,LED_3MOVC A,A+DPTRSETB ACC.7CLR P

20、2.0MOV P0,ALCALL DELAYSETB P2.0MOV DPTR,#TABLE /十分位MOV A,LED_2MOVC A,A+DPTRCLR P2.1MOV P0,ALCALL DELAYSETB P2.1MOV DPTR,#TABLE /百分位MOV A,LED_1MOVC A,A+DPTRCLR P2.2MOV P0,ALCALL DELAYSETB P2.2MOV DPTR,#TABLE /千分位MOV A,LED_0MOVC A,A+DPTRCLR P2.3MOV P0,ALCALL DELAYSETB P2.3第 3 页RETDELAY: MOV R6,#10 /延时

21、 5 毫秒D1: MOV R7,#250DJNZ R7,$DJNZ R6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H /数码管 0-9 的码表DB 6DH,7DH,07H,7FH,6FHTAB: DB 0, 0 , 0 , 1, 0, 2, 0, 0, 3, 0 /存放 AD 转换后的数DB 4, 0, 0, 5, 0, 6, 0, 0, 7, 0DB 8, 0, 0, 9, 0, 0, 10, 0, 11, 0DB 0, 12, 0, 13, 0, 0, 14, 0, 15, 0DB 0, 16, 0, 17, 0, 0, 18, 0, 19, 0DB 0, 20,

22、 0, 0, 21, 0, 22, 0, 0, 23DB 0, 24, 0, 0, 25, 0, 26, 0, 0, 27DB 0, 28, 0, 0, 29, 0, 0, 30, 0, 31DB 0, 0, 32, 0, 33, 0, 0, 34, 0, 35DB 0, 0, 36, 0, 37, 0, 0, 38, 0, 39DB 0, 0, 40, 0, 0, 41, 0, 42, 0, 0DB 43, 0, 44, 0, 0, 45, 0, 46, 0, 0DB 47, 0, 48, 0, 0, 49, 0, 50, 0, 0DB 51, 0, 0, 52, 0, 53, 0, 0,

23、54, 0DB 55, 0, 0, 56, 0, 57, 0, 0, 58, 0DB 59, 0, 0, 60, 0, 0, 61, 0, 62, 0DB 0, 63, 0, 64, 0, 0, 65, 0, 66, 0DB 0, 67, 0, 68, 0, 0, 69, 0, 70, 0DB 0, 71, 0, 0, 72, 0, 73, 0, 0, 74DB 0, 75, 0, 0, 76, 0, 77, 0, 0, 78DB 0, 79, 0, 0, 80, 0, 0, 81, 0, 82DB 0, 0, 83, 0, 84, 0, 0, 85, 0, 86DB 0, 0, 87, 0, 88, 0, 0, 89, 0, 90DB 0, 0, 91, 0, 0, 92, 0, 93, 0, 0DB 94, 0, 95, 0, 0, 96, 0, 97, 0, 0DB 98, 0, 99, 0, 0, 100, 0, 0, 0END

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报