1、题目 数字电压表 任务与要求 利用单片机知识以及 89s52 为主控器,设计并调试一个数 字电压表。通过网上或图书馆的资料掌握相关知识。课程 设计要求是该设计能正常显示并精确到到百分位,通过本 课程设计,学习研究开发软件的能力,并提交课程设计报 告和实验成品 开始日期 2011 年 4 月 20 日完成日期 2011 年 5 月 25 日 目录 1 设计方案 . 3 2 设计总体框图 . 3 2.1 硬件部分 . 3 2.2 软件部分 . 4 2.2.1 主程序设计 4 2.2.2 A/D 转换子程序 5 2.2.3 数据处理子程序 6 3 设计单元电路 . 6 3.1 模数转换单元 . 6
2、3.1.1 ADC0808 引脚说明. 7 3.1.2 ADC0808 通道选择 8 3.1.3 ADC0808 的工作原理: 8 3.2 数据处理及控制单元 . 9 3.3 4 位一体七段数码管 . 10 4 电路原理说明 . 11 4.1 模数转换 . 11 4.2 数据处理及控制 . 11 5 参考文献 . 12 6 结论及心得 . 12 7 附录 . 12 7.1 调试报告 . 15 7.2 元器件清单 16 简易直流电压表的设计 1 1 设计方案设计方案 本设计主要采用 AT89C51 芯片和 ADC0808 芯片来完成一个简易的数字电压表,能够 对输入的 05 V 的模拟直流电压进
3、行测量,并通过一个 4 位一体的 7 段 LED 数码管进行 显示,测量误差约为 0.02 V。该电压表的测量电路主要由三个模块组成:A/D 转换模块、 数据处理模块及显示控制模块。A/D 转换主要由芯片 ADC0808 来完成,它负责把采集到 的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片 AT89C51 来完 成,其负责把 ADC0808 传送来的数字量经一定的数据处理,产生相应的显示码送到显示 模块进行显示;另外它还控制着 ADC0808 芯片的工作。显示模块主要由 7 段数码管组成, 显示测量到的电压值。 2 2 设计总体框图设计总体框图 2.1 2.1 硬件部分硬件
4、部分 本实验采用 AT89C51 单片机芯片配合 ADC0808 模/数转换芯片构成一个简易的数字 电压表,原理电路如图 1 所示。该电路通过 ADC0808 芯片采样输入口 IN7 输入的 05 V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道 D0D7 传送给 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)。系统框图如图 2 所示。 图 1 电路图原理 图 2 系统框图