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

上传人:第*** 文档编号:56896588 上传时间:2018-10-16 格式:DOC 页数:20 大小:482.65KB
返回 下载 相关 举报
单片机课程设计 数字电压表_第1页
第1页 / 共20页
单片机课程设计 数字电压表_第2页
第2页 / 共20页
单片机课程设计 数字电压表_第3页
第3页 / 共20页
单片机课程设计 数字电压表_第4页
第4页 / 共20页
单片机课程设计 数字电压表_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《单片机课程设计 数字电压表》由会员分享,可在线阅读,更多相关《单片机课程设计 数字电压表(20页珍藏版)》请在金锄头文库上搜索。

1、成绩课 程 设 计课程名称单片机原理与应用课程设计单片机原理与应用课程设计课题名称数字电压表数字电压表专 业自动化自动化班 级13011301学 号2929姓 名黄奎伦黄奎伦指导老师林国汉、王迎旭、李晓秀等林国汉、王迎旭、李晓秀等2016 年 6 月 10 日电电气气信信息息 学学院院课课程程设设计计任任务务书书课题名称数字电压表设计数字电压表设计姓 名黄奎伦专业自动化班级1301学号29指导老师林国汉老师课程设计时间2016 年 5 月 30 日-2016 年 6 月 10 日一、任务及要求设计任务:本课题要求以 MCS-51 系列单片机为核心,设计一个数字电压表。(1)采用串行 A/D 转

2、换模块或者并行 A/D 转换模块能对多路电压信号进行采样并使用 LED 或者液晶显示器进行显示;(2)具有轮流显示功能(3)能够通过键盘对采样通道进行选择(4)其它功能设计要求: (1)确定系统设计方案; (2)进行系统的硬件设计;(3)完成应用程序设计;(4)应用系统的硬件和软件的调试。三、参考资料1、王迎旭等.单片机原理及及应用. 2 版.机械工业出版社,20122、胡汉才.单片机原理及其接口技术.3 版.清华大学出版社,2010.3、戴灿金.51 单片机及其 C 语言程序设计开发实例.清华大学出版社,2010目 录1 总体方案设计11.1 设计要求 .11.2 设计思路 .11.3 总设

3、计框图 .22 硬件电路设计.22.1 总硬件电路设计.22.2 单片机控制模块设计.22.3 AD 转换模块设计 32.4 LCD 显示模块 .53 软件设计.53.1 主程序设计.63.2 A/D 转换程序设计 .64 调试.84.1 显示结果.84.2 误差分析.85 总结.96 参考资料107 附录1001 总方案设计1.1 设计要求本课题要求以 MCS-51 系列单片机为核心,设计一个数字电压表。(1)采用串行 A/D 转换模块或者并行 A/D 转换模块能对多路电压信号进行采样并使用 LED 或者液晶显示器进行显示;(2)具有轮流显示功能(3)能够通过键盘对采样通道进行选择(4)其它

4、功能1.2 设计思路 基于 AT89C51 单片机来设计。 用 ADC0808 芯片做为 A/D 转换器,与单片机的接口为 P1 口和 P2 口的高四 位引脚。 电压的输出显示采用 LCD1602 液晶显示器显示通过按键选择通道1.3 总设计框图利用AD转换器对输入电压进行采集并传输给单片机,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来,另外可以通过按键选择通道。然后通过单片机与液晶显示器LCD1602连接,最终显示液晶显示器上。图 1 设计总框图AT89C5 1 单片 机时钟电路复位电路电压输入显示系统A/D 转换按键1根据系统的功能

5、要求,控制系统采用 AT89C52 单片机,A/D 转换器采用ADC0808。ADC0808 是 8 位的 A/D 转换器。当输入电压为 5.00V 时,输出的数据值为 255(0FFH),因此最大分辨率为 0.0196V(5/255)。ADC0808 具有 8 路模拟量输入端口,通过 3 位地址输入端能从 8 路中选择一路进行转换。如每隔一段时间依次轮流改变 3 位地址输入端的地址,就能依次对 8 路输入电压进行测量。显示器采用 LCD 显示器,显示效果好。按键可只设定一个,用于选择显示的当前通道。2 硬件电路设计2.1 总硬件电路设计数字电压表具体硬件电路如图附录 A 所示。 其中,显示器

6、 LCD1602 的数据线与 89C 51 的 P0 口相连,RS 与 P1.7 相连,R/与 P1.6 相连,E 端与 P1.5 相连。按键只设定了一个 K1,与 AT89C52 的WP1.0,用于进行通道选择,当按下一次,通道加 1,显示下一个通道。ADC0808 的数据线 D0D7 与 AT89C51 的 P2 口相连,地址输入端 ADDA、ADDB、ADDC 与AT89C51 的 P3 口的低 3 位 P3.0、P3.1、P3.2 相连,地址锁存控制端 ALE 和启动信号 START 连接在一起与 P3.7 相连,数据输出允许控制端 OE 与 P3.6 相连,转换结束信号 EOC 与

7、P1.3 相连。ADC0808 的时钟信号输入端 CLOCK 与 P1.4 相连,而 P1.4 由定时/计数器 0 控制,每 10(s 取反一次,则 CLOCK 的时钟周期为20(s,频率为 50KHz,满足 ADC0808 的时钟要求。参考电压 VREF+接+5V 电源,参考电压 VREF-接地,则当输入电压为 5.00V 时,输出的数据值为 255(0FFH),当输入电压为 0V 时,输出的数据值为 0(00H),最大分辨率为 0.0196V(5/255)。2.2 单片机控制模块设计单片机控制模块的作用是为控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。

8、时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的 XTAL1 和 XYAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器 C1和 C2 对振荡频率有微调作用,通常取(3010pF)石英晶体选择211.0592MHz。时钟电路如图 2 所示。图 2 时钟电路 复位电路单片机的 RST 管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为 2 个机器周期以上。单片机的复位方式为上电复位方式。复位电路如图 3 所示。图 3 复位电路2.3 AD 转换模块设计逐次逼近型 A/D 转换器 ADC0808 属于直接型 A/D 转换器,它能把输

9、入的模拟电压直接转换为输出的数字代码,而不需要经过中间变量。 ADC0808 简介3ADC0808 精度为 8 位,CMOS 器件,不仅包括一个 8 位的逐次逼近型的 ADC部分,而且还提供一个 8 通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入 8 个单端的模拟信号分时进行 A/D 转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。外部引脚图及引脚功能ADC0808 的外部引脚如图 4 所示。图 4 ADC0808 外部引脚图IN0IN7:8 路模拟量输入。A、B、C:3 位地址输入,2 个地址输入端的不同组合选择八路模拟量输入。ALE:地

10、址锁存启动信号,在 ALE 的上升沿,将 A、B、C 上的通道地址锁存到内部的地址锁存器。D0D7:八位数据输出线,A/D 转换结果由这 8 根线传送给单片机。OE:允许输出信号。当 OE=1 时,即为高电平,允许输出锁存器输出数据。START:启动信号输入端,START 为正脉冲,其上升沿清除 ADC0808 的内部的各寄存器,其下降沿启动 A/D 开始转换。EOC:转换完成信号,当 EOC 上升为高电平时,表明内部 A/D 转换已完成。AD 转换模块设计集成摸数转换芯片 ADC0808 实现的 A/D 转换电路如图 5 所示,被测信号由ADC0808 模拟输入端输入,完成 A/D 转换后送

11、入单片机,经相应处理后送出显示。4图 5 AD 转换电路2.4 LCD 显示模块LCD 显示器分为字段显示和字符显示两种。其中字段显示与 LED 显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用 LCD1602 作为显示器件输出信息。与传统的 LED 数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602 可以显示 2 行 16 个汉字。3 软件设计根据需要,可将系统软件按照功能划分为 4 个模块,分别是主程序模块

12、、A/D 转换模块、液晶显示模块、中断服务程序模块,各模块的功能关系如图 6所示。编写系统软件时,可首先编写各模块的底层驱动程序,而后是系统联机调试,编写上层主程序。系统主程序液 晶 管 显 示A/ D转 换中 断 服 务图 6 系统软件框图53.1 主程序设计3.1 主程序设计图 7 主程序流程图整个主程序就是在 A/D 转换,数据处理及显示程序循环执行。整个程序流 程框图如图 7 所示。启动 ADC0808 对模拟量输入信号进行转换,通过查询 P1.3 引脚来确定转换是否完成,若完成则把数据通过 P2 端口读入,经过数据处理后 在 LCD1302 上显示。3.2 A/D 转换程序设计程序开

13、始执行后首先通过手动控制拨码开关来选择 8 路模拟通道的一路进行模数转换。接着启动一次 A/D 转换,通过判断转换结束状态信号 EOC 是否为1 来判断 A/D 转换是否结束。EOC=1, 则表示 A/D 转换结束,否则 EOC=0,则表示正在进行 A/D 转换。接着输出允许信号 OE=1,输出转换后的数据,就完成了一次 A/D 转换,程序返回到数据处理模块。只要手动控制模拟通道就可以不停的循环进行模数转换。START选择 ADC0808 的转换通道设置定时器,提供时钟信 号启动 A/D 转换转换是否结束输出转换结果数值转换显示NY6图 8 A/D 转换程序流程图4 调试4.1 显示结果1.当

14、输入电压为 0V 时显示结果如图所示,测量误差为 0V。图 9 输入电压为+0V 时,LCD 显示结果2.当输入电压为+1.65V 时,显示结果如图所示,测量误差为 0.1V。图 10 输入电压为+1.65V 时,LCD 显示结果3.当输入电压为+3.85V 时,显示结果如图所示,测量误差为 0.1V。开始设置模拟输入口启动转换转换完?输出数值处理YN7图 11 输入电压为+3.84V 时,LCD 显示结果4.当输入电压为+5V 时,显示结果如图所示,测量误差为 0V。图 12 输入电压为+5.00V 时,LCD 显示结果4.2 误差分析通过以上仿真测试结果可以得到数字电压表与实际电压对比表格

15、,如表 1 所示:表 1 数字电压表与实际输入电压对比测试表输入电压值/V电压表测量值/V绝对误差/V0.000.000.000.510.500.011.231.230.0082.182.170.013.003.000.000.260.250.014.004.000.004.374.370.005.005.000.00因为单片机 AT89C51 为 8 位处理器,当输入电压为 5.00V 时,ADC0808 输出数据值为 255(FFH),因此单片机最高的数值分辨率为 0.0196V(5/255)。这就决定了电压表的最高分辨率只能到 0.0196V,从上表可看到,测试电压一般以 0.01 的幅

16、度变化。而且数字电压表测得的值基本上比实际输入值偏小 0-0.01V。5 总结本设计以AT89C51 单片机为控制核心,通过集成摸数转换芯片 ADC0808 将被测信号转换成数字信号,经单片机内部程序处理后,由 液晶显示器LCD1602 显示测量结果。仿真测试表明,系统性能良好,测量读数稳定易读、更新速度合理, 直流电压测量范围为0.00 5.00V,最小分辨率为0.0196V,满足 任务书指标要求。但是,该系统也存在一定程度的不足,例如数 字电压表测量结果误差还比较大,输出量可用平均值算法改善,使测量 准确度更高。 通过本次课程设计的锻炼,我学到了很多有关仪表的设计方法与工 作原 理 。在设计的过程中,出现了很多错误,这让我明白了,对总体 的把握固然重要,但对于一个实际的系统,很难在设计之初就把握所有 细节,设计任何一个系统都需要耐心逐步去发现和解决问题。在寻求解 决困难的过程中,激发了我今后努力学习的兴趣,我想这将对我以后的 学习产生积极的影响。总体来说,这次实习使我受益匪浅。在摸索该如 何设计电路

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号