单片机课程设计报告数字电压表设计.docx

上传人:b****2 文档编号:2143486 上传时间:2022-10-27 格式:DOCX 页数:20 大小:329.47KB
下载 相关 举报
单片机课程设计报告数字电压表设计.docx_第1页
第1页 / 共20页
单片机课程设计报告数字电压表设计.docx_第2页
第2页 / 共20页
单片机课程设计报告数字电压表设计.docx_第3页
第3页 / 共20页
单片机课程设计报告数字电压表设计.docx_第4页
第4页 / 共20页
单片机课程设计报告数字电压表设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

单片机课程设计报告数字电压表设计.docx

《单片机课程设计报告数字电压表设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告数字电压表设计.docx(20页珍藏版)》请在冰豆网上搜索。

单片机课程设计报告数字电压表设计.docx

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

**学院课程设计报告

题目:

带流水灯的数字电压表的设计

起止日期:

自2012年2月27日至2012年3月9日

系(部)

信息科学与工程系

学生姓名

**

班级

09电科1班

学号

096666666

成绩

指导教师(签字)

 

2012年3月9日

**学院课程设计任务书

2011-2012学年第学期

系(部)信息科学与工程系专业电子科学与技术班级09电子1班

课程名称:

单片机原理及接口技术

设计题目:

带流水灯的数字电压表

完成期限:

自2012年02月27日至2012年03月09日共2周

目的及任务

(1)复习单片机的相关知识,并且能够地熟练使用Proteus软件进行仿真。

(2)查阅相关的资料,确定所需各元器件型号和参数,并根据要求设计电路图。

(3)调试电路,使其能达到设计要求,并仿真成功。

(4)在万能板上实现该电路,并且能够完成数字电压表功能。

进度安排

起止日期

工作内容

2012.02.27前

选题,了解设计内容,复习数电相关知识和查阅资料。

2012.02.27-01

分析设计任务,选择总体方案,单元电路设计。

2012.03.01-06

设计总体电路,调试。

2012.03.06-09

继续完成设计,撰写实验报告,进行答辩。

主要参考资料

[1]吴柄胜,80C51单片机原理与应用技术,北京。

冶金工业出版社2008

[2]蓝和慧,宁武,单片机应用技能,北京,电子工业出版社2009

[3]蔡朝洋单片机控制实习与专题制作,北京。

北京航空航天大学出版社2006

指导教师(签字):

年月日

教研室主任(签字):

年月日

目录

1概述1

1.1简述其主要内容1

1.2技术指标1

2方案的论证及选择1

2.1设计方案1

2.2设计思路2

3单元电路的设计及元器件的选择2

3.1AT89C522

3.2ADC0832模数转换器简介2

3.3驱动存储显示电路4

3.4流水灯模块5

4系统电路总图及原理5

4.1设计原理5

4.2软件单元电路设计6

4.3系统电路总图。

7

5经验体会7

5.1设计过程中遇到的问题及解决方案7

5.2设计体会7

5.3对该设计的建议8

参考文献9

附录A:

实物图10

附录B:

原理图11

附录C:

程序12

附录D:

元器件清单18

1概述

1.1简述其主要内容

使用单片机AT89C52和DC0832设计一个数字电压表,能够测量0—5V之间的直流电压值,两位数码显示。

在单片机的作用下,能检测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。

简要地陈述了设计方案和设计思路,然后就对其有关理论知识做了一些简要的介绍,然后在性能指标分析基础上进行单元电路设计,最后设计出整体电路图并且在软件Proteus中进行仿真,验证是否达到技术要求,并在硬件上验证是否实现相应的功能,最后总结设计经验与体会。

1.2技术指标

数字电压表的设计要求:

要求1:

利用滑动变阻器、A\D转换器(ADC0832)、51系列单片机等设计

要求2:

测量结果在七段数码管上显示

要求3:

测量显示范围为0.0-5.0

要求4:

显示花样流水灯

要求3:

用Proteus软件进行电路仿真,用protel设计原理图。

要求4:

在万能板实现设计的功能。

2方案的论证及选择

2.1设计方案

使用AT89S52和ADC0832设计一个数字电压表,能够测量0-5V之间的电压值,两位数码管显示,且带流水灯显示。

 

2.2设计思路

时钟电路

 

AT89S52

数码管显示部分

 

A/D转换

图2-1总体设计框图

3单元电路的设计及元器件的选择

3.1AT89S52

AT89S52是一个低功耗,高性能的CMOS8位单片机,片内8kBytesISP(In-systemprogrammble)的可反复差些1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术直走,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用的8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可作为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S52具有如下特点:

40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

3.2ADC0832模数转换器简介

ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。

由于它的体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。

学习并使用A/D0832可使我们了解A/D转换器原理,有助于我们单片机技术水平的提高。

ADC0832为8位分辨率A/D转换芯片,其最高分辨率可达256级,可以适应一般的模拟量转换要求。

其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0-5V之间。

芯片转换时间仅为32us,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变得更加方便,通过DI数据输入端,可以轻易的实现通道功能的选择。

单片机对ADC0832的控制原理:

正常情况下的ADC0832与单片机的接口应分为4条数据线,分别是CS、CLK、D0、D1。

但由于D0端与D1端在通信时并未同时有效与单片机的接口是双向的,所以电路设计时可以将D0和D1并联在一根数据线上使用。

当要进行A/D转换时须将CS使能端应为高电平,此时芯片禁用,CLK和D0/D1的电平可任意。

当要进行A/D转换时,须先将CS使能端置为低电平直到转换完全结束。

此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,D0/D1端则使用D1端输入通道功能选择的数据信号。

在第一个时钟脉冲的下沉之前D1端必须是高电平,表示启始信号。

在第2、3个脉冲下沉之前D1端应输入2位数据用于选择通道功能。

当此2位数据为“1”、“0”时,只对CH0进行单通道转换。

当2位数据为“1”、“1”时,只对CH1进行单通道转换。

当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。

当2位数据位“0”、“1”时,将CHO作为负输入端IN-,CH1作为负输入端IN+进行输入。

到第三个脉冲的下沉之后D1端的输入电平就失去输入作用,此后D0/D1端则开始利用数据输出D0进行转换数据的读取。

从第四个脉冲下沉开始由D0端输出转换器最高位DATA7,随后每一个脉冲下沉D0端输出下一位数据。

知道第十一个脉冲时发出最低位数据DATA7,随后每一个脉冲下沉D0端输出下一个相反字节的数据,即从第十一个字节的下沉输出DATA0。

随后输出8位数据,到第十九个脉冲时数据输出完成,也标志着一次A/D转换的结束。

最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。

该模块的原理图如下:

图3-1AD转换电路

3.3驱动存储显示电路

该电路选用芯片CD4094.该芯片是带输出锁存和三态控制的串入并出的告诉转换器,具有使用简单,功耗低,驱动力强,和控制灵活等优点。

显示电路则采用四个共阳极七段数码管。

其电路模块如图所示:

图3-2数码管显示电路

3.4流水灯模块

该模块是由8个led组成,连接在单片机P0口,该流水灯有几个模式,有依次向左逐个点亮,依次向右逐个熄灭,每隔一个点亮,两个间断点亮等几种模式。

其电路图如图所示:

图3-3流水灯电路模块

4系统电路总图及原理

4.1设计原理

第一,将四片CD4094进行级联。

第二,将CD4094别与四个七段数码管连接。

第三,将上述模块与单片机相连。

第四,连接好模数转换模块。

第五,连接流水灯模块。

4.2软件单元电路设计

初始化中主要对AT89S52,ADC0832的管脚和数码管的位选及所用到的内存单元31H,32H,40H进行初始化设置。

准备工作做好后便启动ADC0832对CH0和CH1脚输入的0-5V电压模拟信号进行数据采集并准换成相对应的0-255十进制数字量。

在数据处理子程序中,运用标度变换只是,编写算法将0-255十进制数字量转换成0.0-5.0V的数据,输出到显示子程序进行显示。

整个主程序就是A/D转换,数据处理及显示程序循环执行。

换个程序流程图如图所示。

开始

初始化

调用A/D转换程序

调用数据处理程序

调用显示程序

程序代码:

见附录c

4.3系统电路总图

图4-1系统电路总图

5经验体会

5.1设计过程中遇到的问题及解决方案

问题1:

在实验的过程中仿真出来问题,选用adc0809芯片进行仿真该芯片不具有仿真功能,仿真老报错。

解决办法:

将0809芯片改成adc0832,仿真成功。

问题2:

在添加流水灯模块时,流水灯闪烁太快,通过修改延时时间还是不起作用。

解决办法:

通过请教同学和老师,将程序改为定时的,程序正常运行,仿真成功。

5.2设计体会

做完本次课程设计,我学到了很多。

首先是复习一遍单片机原理的知识。

回过头再来学习,轻松了不少。

我们重点学习了与课程设计相关的知识。

如AT89C51芯片的引脚排列及使用。

这些引脚虽然背过,但隔一段时间还是陌生了。

各项准备工作做好后,我们就开始进行仿真。

其次,一定要认真。

确认焊好板子后,我把电源线插好,发现所有的数码管只显示8。

我们反反复复检查了半天,都没发现焊接等可能存在的问题。

后面才发现第一块驱动芯片没安装。

开始以为这块芯片是驱动一个不必要的数码管,没装也没事。

结果影响了整个后面的显示模块。

真是太粗心了。

还有,有些问题,我们解决不了,问问老师或身边同学,可能就会找到解决办法。

如在做完基本模块后,我们打算加一个流水灯进去。

结果仿真时一直出错。

也不知道问题所在。

后面请教其他同学,修改了程序,就顺利的仿真成功了。

通过这次试验,我们认识到了团队合作的重要性。

这次我主要负责焊接部分。

在其他组员做仿真时,我就开始做基本的焊接工作了。

到了关键部分,就按照他们的仿真图进行焊接。

这样做事效率就明显提高了。

如果这些工作都由一个人来做的话,一方面做错了也不知道,后面再检查就比较繁琐了。

另一方面花的时间肯定更多。

最后,我们要敢于打破常规去尝试新的想法。

在做完扩展部分流水灯的焊接后,通上电,发现流水灯很暗。

这是我想到了是那个限流电阻引起的,把它去掉肯定就很亮了。

但是又不敢去掉。

在这之前,曾经因没接限流电阻而烧坏过LED灯。

这次尝试还是要冒点风险的。

后面耀眼的LED灯证实了开始想法的正确性。

5.3对该设计的建议

首先,模块化设计。

其次,每当完成一个模块时,就进行检查。

然后,将所有模块综合起来。

再次,在用芯片前,应验证芯片引脚的好坏。

最后,在连接线路时,应首先将所有要接电源和地的引脚引出来接在一起

并且接线,布线要合理,这样便于检查。

参考文献

[1]吴柄胜,80C51单片机原理与应用技术,北京。

冶金工业出版社2008

[2]蓝和慧,宁武,单片机应用技能,北京,电子工业出版社2009

[3]蔡朝

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1