数字式电压表的设计
摘 要 ………………………………………………………………………..2 第一章 硬件介绍 …………………………………………………………..4
1.1 AT89C51单片机的介绍 ………………………………………………….………………..4 1.2 ADC0809芯片的介绍……………………………………………………………………. ..5 1.3 LED动态数码管的介绍…………………………………………………………………. ..6
第二章 系统设计和理论分析 ……………………………………………..7
2.1 系统的设计思路 …………………………………………………………………………..7 2.2 系统的设计目标…………………………………………………………………………...7 2.3实现功能 …………………………………………………………………………………...7 2.4 理论分析 …………………………………………………………………………………..7 2.5 程序流程图………………………………………………………………………………...7
第三章 程序设计与电路 ……………………………………….………….9
3.1 主程序 ……………………………………………………………………………….…….9 3.2 AD模数转换子程序模块 …………………………………………………………….…...9 3.3 BCD码转换子程序模块 …………………………………………………………………10 3.4显示子程序模块 ………………………………………………………………………….11 3.5 延时子程序和字节数据表模块…………………………………………………………. 12 3.6 PROTEUS仿真 ……………………………………………………………………...…...13
第四章 仿真结果分析 ……………………………………………………14
4.1 仿真结果 …………………………………………………………………………………14
第五章 课程设计总结 ……………………………………………………17 参考文献 …………………………………………………………………..18
1
数字式电压表的设计
摘 要
本次课程设计的主要目的,就是通过应用8位并行模数转换器ADC0809采集电压信
号,并进行AD转换,转换成数字信号传送给51单片机,在单片机内部通过编写程序进行数据处理,最后通过单片机的I/O口控制LED显示出所采集的电压大小,量程为0—10伏;另外利用集成运放放大10毫伏电压的大小显示在LED上,即设有毫伏档可测10毫伏以下电压。
关键字:ADC0809
AT89C51 LED 电压量程
2
数字式电压表的设计
Abstract
The aim of this text is to use the 8 bit parallel analogy converter ADC0809 collect the voltage signal.And transfer the analogy signal into the digtal signal .The the digtal signal passed to theSingle-chip..The the digtal signal oprrated in the Single-chip by the programe which set by the programmer in advance.At last through the input and the output port control the LED lights.And show the result of the voltage signal.The range of the voltage from 0—10 volt.The use the amplifer amplify the 10 milivolt signal.And show the result which have been amplified on the dynamic LED lights.Which means that the digtal voltmeter can measure the small voltage signal.
Keywords: ADC0809 AT89C51 Light Emitting Dioxide the range of the voltmeter
3
数字式电压表的设计
第一章 硬件介绍
1.1 AT89C51单片机的介绍
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,可提供以下标准功能:4K 字节闪存,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
图1 AT89C51引脚图
引脚功能说明
Vcc:电源电压 GND:地
P0口:P0口是一组8位漏极开路型双向I/O口,即地址/数据总线复位口。作为输出口用时,每位能吸收电流的方式驱动8个逻辑门电路,对端口写“1”可 作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,此时P0激活内部的上拉电阻。
P1口:P1是一个带有内部上拉电阻的8位双向I/O口。P1的输出缓冲级可驱动(输入或输出)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可做输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(输入或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器获16位地址的外部数据存储器(例如执行 MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行 MOVX @RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(输
4
数字式电压表的设计
入或输出)4个TTL逻辑门电路。对P3口写入“1”时,他们被内部上拉电阻拉高并可作为输入口。此时,被外部拉低的P3口将用上拉电阻输出电流。
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对输出时钟信号或用于定时。要注意的是:当访问外部数据存储器时将跳过一个ALE脉冲。闪存编程期时,该引脚还用于输入编程脉冲。
PSEN:程序存储允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两个PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。
EA/VPP:外部访问允许。要使CPU仅访问外部程序存储器(地址为0000H---FFFFH),EA端必须保持低电平(接地)。需注意的是; 如果加密位LB1被编程,复位时内部会锁存EA端状态。如 EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2 :振荡器反相放大器的输出端。
1.2 ADC0809芯片的介绍
ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。
图2 ADC0809引脚图
芯片引脚功能说明:
IN0~IN7:八路模拟信号输入端。
ADD-A、ADD-B、ADD-C:三位地址码输入端。
CLOCK:外部时钟输入端。CLOCK输入频率范围在10~1280KHz,典型值为640KHz,此时A/D转换时间为100us。51单片机ALE直接或分频后可与CLOCK相连。
D0~D7:数字量输出端。
OE:A/D转换结果输出允许控制端。当OE为高电平时,允许A/D转换结果从D0~D7
5