《单片机课程设计数字电压表》.docxVIP

  • 32
  • 0
  • 约1.39万字
  • 约 25页
  • 2016-12-10 发布于贵州
  • 举报
《单片机课程设计数字电压表》

郑州科技学院单片机课程设计 题 目 数字电压表 学生姓名 周兵轲 专业班级 自动化一班 学 号座机电话号码2 院 (系) 电气工程学院 指导教师 王继红 完成时间 2014 年 11 月 28 日目 录1 设计方案12 设计总体框图12.1 硬件部分12.2 软件部分23 设计单元电路33.1 模数转换单元33.2 ADC0808通道选择53.3 ADC0808的工作原理:53.4 数据处理及控制单元63.5 4位一体七段数码管74 电路原理说明84.1 模数转换84.2 数据处理及控制85 结论及心得96 附录106.1 调试报告106.2 元器件清单166.3 参考文献161 设计方案? 本设计主要采用AT89C51芯片和ADC0808芯片来完成一个简易的数字电压表,能够对输入的0~5 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示,测量误差约为0.02 V。该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0808芯片的工作。显示模块主要由7段数码管组成,显示测量到的电压值。2 设计总体框图2.1 硬件部分 本实验采用AT89C51单片机芯片配合ADC0808模/数转换芯片构成一个简易的数字电压表,原理电路如图1所示。该电路通过ADC0808芯片采样输入口IN7输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字经过其输出通道D0~D7传送给AT89C51芯片的P0口。AT89C51负责把接收到的数字经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口传送给数码管。同时它还通过其三位I/O口P3.0、P3.1、P3.2产生信号,控制数码管的亮灭。另外,AT89C51还控制着ADC0808的工作。其ALE管脚为ADC0808提供了1MHz工作的时钟脉冲;P2.3控制ADC0808的地址锁存端ALE;P2.4控制ADC0808的启动端START;P2.5控制ADC0808的输出允许端OE;P3.7控制ADC0808的转换结束信号EOC。图1 电路图原理2.2 软件部分 本设计采用C语言编程。首先是初始化,主要是针对定时器T0,设置其工作方式,装入计数初值,允许中断等。准备工作做好后便启动ADC0808对IN7脚输入进的0~5V电压模拟信号进行数据采集并转换成相对应的0~255十进制数字量。在数据处理子程序中,运用标度变换知识,编写算法将0~255十进制数字量转换成0.00~5.00V的数据,输出到显示子程序进行显示。整个主程序就是在A/D转换,数据处理及显示程序循环执行。整个程序流程框图如图3所示。开始初始化调用A/D转换子程序数据处理调用显示程序图3 主程序流程图启动ADC0808对模拟量输入信号进行转换,通过判断EOC(P1.6引脚)来确定转换是否完成,若EOC为0,则继续等待;若EOC为1,则把OE置位,将转换完成的数据存储到AT89C51中。3 设计单元电路3.1 模数转换单元此处采用ADC0808模块实现,它是典型的8位8通道逐次逼近式A/D转换器,主要由8路模拟开关、地址所存译码电路、逐次逼近寄存器SAR、树状模拟开关、256R电阻分压器、电压比较器及三态输出锁存器等组成。 ADC0808芯片为28引脚双列直插式封装,其引脚如图5所示, 图5 ADC0808的引脚图1IN0~IN7:8路模拟量输入通道。2A、B、C:模拟通道地址线。这3根地址线用于对8路模拟通道的选择,其译码关系如表1-1所示。其中,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。3ALE:地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。4START:转换启动信号。START上升沿时,复位ADC0808;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST。5D7~D0:数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高。 6OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE0,输出数据线呈高阻;OE1,输出转换得到的数据。7CLK:时钟信号。ADC0808的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号。8EOC:转换结束信号。EOC0,正在进行转换

文档评论(0)

1亿VIP精品文档

相关文档