AT89S51与ADC0809构建的四位数字电压表设计

需积分: 9 11 下载量 54 浏览量 更新于2024-10-28 收藏 79KB DOC 举报
本项目是基于单片机AT89S51和ADC0809设计的一款数字电压表,主要目标是实现对0-5V直流电压的测量,并采用四位数码管显示,同时注重元器件使用的最小化。电路设计的核心是通过硬件连线将各个模块连接起来,包括单片机系统与动态数码显示、模数转换模块、电源模块以及三路可调电压模块。关键步骤如下: 1. 实验任务:设计的数字电压表利用了AT89S51的P1.0-P1.7和P2.0-P2.7接口驱动数码显示,P3.0-P3.3端口分别连接到ADC0809的ST、OE、EOC和CLK,以控制ADC的时钟信号和读取转换结果。其中,P3.3作为时钟信号源,需要通过软件模拟产生。 2. 电路连接: - P1.0-P1.7与动态数码显示的ABCDEFGH端口通过8芯排线相连。 - P2.0-P2.7与S1S2S3S4S5S6S7S8端口也通过8芯排线相连。 - P3.0连接到ADC0809的ST,P3.1连接OE,P3.2连接EOC,P3.3作为时钟源。 - ADC0809的A2A1A0接到电源模块的GND,IN0接到三路可调电压模块的VR1。 - P0.0-P0.7则用于ADC0809的数据输入。 3. 程序设计: - 需要编写软件代码生成ADC0809所需的时钟信号,确保数据采集的正确性。 - ADC0809的参考电压设为VCC,转换后的数据需经过处理,计算出实际电压值并显示在四位数码管上,公式为(D/256)*VREF。 4. 源程序: - 提供了汇编源程序和C语言源程序片段,展示了如何编码字符以驱动数码管显示,如反向查找表(LUT)的形式存储显示代码。 这个项目涉及单片机基础、模拟电路、数字信号处理以及编程技能,重点在于理解并应用ADC0809的工作原理,通过软件控制实现模拟电压到数字信号的转换,并通过四位数码管清晰地显示测量结果。整个设计旨在实现功能的同时,尽可能减少元器件的数量,体现出简洁实用的设计原则。