
课程设计论文基于单片机的数字电压表的设计.doc
25页重庆三峡学院课 程 设 计 报 告 书题目: 基于单片机的智能数字 电压表设计学院(系): 应用技术学院 年级专业: 08级电信(仪表) 学 号: 学生姓名: 指导教师: 教师职称: 副 教 授 2010年12月25日目 录第一章 引言……………………………………………………………………………………21.1设计目的………………………………………………………………………………21.2设计任务及要求………………………………………………………………………21.3 设计方案………………………………………………………………………………2 第二章 数字电压表简介………………………………………………………………………22.1数字电压表的介绍……………………………………………………………………22.2数字电压表工作原理…………………………………………………………………2第三章 硬件部分的设计………………………………………………………………………23.1 8255内部结构概述 …………………………………………………………………33.2 AT89S52控制电路……………………………………………………………………33.21 AT89S52…………………………………………………………………………4 3.22 74LS373…………………………………………………………………………43.23 74LS245…………………………………………………………………………53.3时钟电路和复位电路…………………………………………………………………53.4显示电路………………………………………………………………………………63.5模数(A/D)转换电路 ………………………………………………………………73.6键盘电路………………………………………………………………………………10第四章 系统软件的设计………………………………………………………………………114.1程序框图……………………………………………………………………………124.2主程序 ……………………………………………………………………………12第五章 系统的调试……………………………………………………………………………22 5.1硬件调试………………………………………………………………………………22 5.2软件调试………………………………………………………………………………22第六章 心得体会………………………………………………………………………………23第七章 参考文献………………………………………………………………………………23第八章 附录……………………………………………………………………………………24整体电路图……………………………………………………………………………24实验结果………………………………………………………………………………24 元器件清单……………………………………………………………………………25基于单片机的数字电压表的设计重庆三峡学院应用技术学院 第一章 引言摘要:本次设计主要解决A/D转换、数据处理及显示键盘控制等模块。
控制系统采用AT89S52单片机,A/D转换采用ADC0809显示采用6位LED显示数码管的具有电压测量功能的具有一定精度的数字电压表数字电压表可以测量0~5V的输入电压值,并在6位LED数码管上轮流显示或单路选择显示测量最小分辨为0.020V,测量误差约为±0.02V关键字:A/D转换 显示电路 AT89S52单片机 8255 键盘电路1.1设计目的本课程的任务是使学生通过“数字电压表的设计”的设计过程,综合所学课程,掌握目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具的使用方法,通过这一设计实践过程,锻炼学生的动手能力和分析,解决问题的能力;积累经验,培养按部就班,一丝不苟的工作个对所学知识的综合应用能力1.2设计任务及要求基本要求:以单片机及A/D转换器为核心,设计一个智能数字电压表可以测量0~5V的直流电压,并实时显示在LED或LCD显示器上第一位显示定时时间的采样值,第二、三位屏敝,第四、五、六位显示电压值,在第四位后加小数点转换精度≤20mV有适当的抗干扰措施扩展要求:外加键盘控制时间即第一位LED1.3设计方案按系统功能实现要求,决定控制系统采用AT89S52单片机,A/D转换采用ADC0809,显示采用LED七段共阴极数码管和74LS20反向驱动电路。
系统除能确保复位控制,外加键盘电路进行采样值的控制功能外,还可以方便地进行其它8路模拟量的测量第二章 智能数字电压表简介2.1数字电压表的介绍数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表2.2 数字电压表的基本结构及工作原理 电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法, 避免了读数的视差和视觉疲劳目前数字电压表的内部核心部件是A/D转换器, 转换器的精度很大程度上影响着数字电压表的准确度,数字式电压表是由高阻抗电压表头与分压电路组成的 1.各部分的功能A/D转换器:将输入的模拟信号转换成数字信号基准电源:提供精密电压,供A/D转换器作参考电压标度变换:将十六-十进制(BCD)码转换成七段信号驱动器:驱动显示器的a、b、c、d、e、f、g七个发光段,驱动发光数码管(LED)进行显示。
显示器:将译码输出的七段信号进行数字显示,读出A/D转换结果第三章 硬件部分的设计数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图所示(见附录图一)3.1 8255内部结构概述8255管脚图如图1所示8255有3个8位的数据端口,即端口A、端口B、端口C端口A对应一个8位输入锁存器和一个8位数据输出锁存器/缓冲器图1 8255管脚图3.2 AT89S52控制电路(如图2)图2 AT89S52控制电路3.21 AT89S52(图2)AT89S52是一个低功耗,高性能CMOS 8位单片机 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器74LS245是我们常用的芯片,用来驱动led或者其他的设备,用法很简单如上图,这里简单的给出一些资料,他是8路同相三态双向总线收发器,可双向传输数据 At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。
3.22 74LS373(图3)74LS373是常用的8D三态同相锁存器,作用是在单片机系统中扩展外部存储器,其引脚图和功能表如图6-2所示当门控端G输入正脉冲,且输出控制低电平有效时,D端的数据被锁存到锁存器的输出端,当G为低电平时,输出Q保持不变;当为高电平时,输出Q是高阻态图3 74LS373引脚图和功能表3.23 74LS245(图4)74LS245还具有双向三态功能,既可以输出,也可以输入数据图6-7为74LS245的引脚图和功能表,图中,为允许端,DIR为方向控制图4 74LS245引脚图和功能表74LS245的固定接地,其DIR端由单片机的和相“与”后控制当CPU执行读外部数据存储器(=0)或访问外部程序存储器(=0)时,DIR=0,驱动器导通方向为从外部到内部总线;否则,=1,=1,使DIR=1,驱动器导通方向为从内部总线向外,可供CPU向外传送数据当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。
3.3时钟电路和复位电路 时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行1 时钟电路(图5a)单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式此次采用内部振荡方式2 复位电路(图5b)当单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位本次采用开关复位图5a 内部振荡电路 图5b 开关复位开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作3.4显示电路本次设计采用共阴数码管,数码管是最常用的一种显示器件,它是由几个发光二极管组成的8字段显示器件,其特点是价格非常的便宜,使用也非常的方便,显示效果非常的清楚小电流下可以驱动发光,发光响应时间极短,体积小,重量轻,抗冲击性能好,寿命长。
但数码管只能是显示0——9的数据不能够显示字符这也是数码管的不足之处见图6)图6 共阴数码管这次设计中,采用的是74LS240反向驱动中的/Y1到/Y8的输出信号驱动数码管的a .b.c.d.e.f.g..DP七段显示74LS240中的A1-A8与8255的PB口相连(段控),8255的PA口为位控如图7) 图7 显示电路3.5模数(A/D)转换电路A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理A/D转换由集成电路0809完成0809具有8路模拟输入端口,地址线(23~- 25脚)可决定对哪一路模拟(IN0-IN7)输入作A/D转换22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存6脚为测试控制,当输入一个高电平脉冲时,就开始A/D转换7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出10脚为0809的时钟输入端,利用单片机AT89S52的30脚6分频晶振频率再通过74LS90五分频得到500KHz时钟8255的PA0-PA5端口作为六位LED数码管显示控制。
P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制 ADC0809是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。












