数字电压表的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科信学院
课程设计说明书(2009 /2010学年第二学期)
课程名称:单片机原理与应用
题目:数字电压表的设计
专业班级:
学生姓名:
学号:
指导教师:
设计周数:两周
设计成绩:
2010 年6 月24 日
目录
1、课程设计目的 (2)
2、课程设计正文 (2)
2.1 总体概述 (2)
2.1.1 设计要求 (2)
2.1.2 设计方案 (2)
2.2 硬件单元电路设计 (2)
2.2.1 AT89S52单片机简介 (2)
2.2.2 ADC0832模数转换器简介 (2)
2.2.3 数字电压表设计的结构框图和原理图 (5)
2.2.4 Proteus仿真原理图及运行结果 (6)
2.2.5 硬件电路实物图 (6)
2.2.6 器件清单 (7)
2.3 软件单元电路设计 (7)
2.3.1 程序设计思路 (7)
2.3.2 程序代码(汇编) (9)
3、课程设计总结 (13)
4、参考文献 (14)
1、课程设计目的
使用单片机AT89C52和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。
2、课程设计正文
2.1 总体概述
本次课设题目为数字电压表的设计。
2.1.1 设计要求
(1)利用滑动变阻器、A\D转换器(ADC0832)、51系列单片机等设计
(2)测量结果再LED显示器上显示
(3)测量、显示范围为0.0-5.0
2.1.2 设计方案
使用AT89S52和ADC0832设计一个数字电压表,能够测量0-5V之间的电压值,两位数码管显示。
2.2 硬件单元电路设计
2.2.1 AT89S52单片机简介
AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存
RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC 等三种封装形式,以适应不同产品的需求。
2.2.2 ADC0832模数转换器简介
ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。ADC0832 具有以下特点:
· 8位分辨率;
· 双通道A/D转换
· 输入输出电平与TTL/CMOS相兼容
· 5V电源供电时输入电压在0-5V之间
· 工作频率为250KHZ,转换时间为32μS
· 一般功耗仅为15mW
· 8P、14P—DIP(双列直插)、PICC 多种封装
· 商用级芯片温宽为0°C~+70°C,工业级芯片温宽为-40°C ~+85°C
芯片顶视图:
图1
芯片接口说明:
· CS_ 片选使能,低电平芯片使能。
· CH0 模拟输入通道0,或作为IN+/-使用。
· CH1 模拟输入通道1,或作为IN+/-使用。
· GND 芯片参考0 电位(地)。
· DI 数据信号输入,选择通道控制。
· DO 数据信号输出,转换数据输出。
· CLK 芯片时钟输入。
· Vcc/REF 电源输入及参考电压输入(复用)。
ADC0832 与单片机的接口电路:
AT89S52
图2
ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。
单片机对ADC0832 的控制原理:
正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO 端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能。当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO