3.2 ADC0832与单片机89C51 3.2.1 A/D转换
3.2.1.1 A/D转换器的特点
ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换 芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎, 其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器 的原理,有助于我们单片机技术水平的提高。
ADC0832 具有以下特点:8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在0~5V之间;工作频率为250KHZ,转换时间为32μS;一般功耗仅为15mW;8P、14P—DIP(双列直插)、PICC 多种封装;商用级芯片温宽为0°C to +70°C,工业级芯片温宽为?40°C to +85°C; 3.2.1.2 ADC0832元件说明
ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟 电压输入在 0~5V 之间。芯片转换时间仅为 32μS,据有双数据输出可作为数据 校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使 多器件挂接和处理器控制变的更加方便。通过 DI 数据输入端,可以轻易的实现 通道功能的选择。 3.2.1.3 芯片顶视图
图
3-5 ADC0832 芯片顶视图
芯片接口说明:
GND 芯片参考 0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。
VCC/REF 输入及参考电压输入(复用)。 CS 片选使能,低电平芯片使能。 CH0 模拟输入通道 0,或作为 IN+/-使用。 CH1 模拟输入通道 1,或作为 IN+/-使用。
3.2.1.4 ADC0832 与单片机的接口电路
ADC0832与单片机的接口电路如图3-6所示
图3-4 接口电路图
3.2.1.5 单片机对
ADC0832 的控制原理
正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、CLK、 DO、DI。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双 向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。(见图 3-6)
当ADC0832未工作时其CS输入端应为高电平此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端
CLK 输入时钟脉冲,DO/DI 端则使用 DI 端输入通道功能选择的 数据信号。在第1个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 2、3个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能。
3.2.2 单片机89c51
为了设计此系统,我们采用了80c51单片机作为控制芯片。89C51是MCS-51系列单片机中CHMOS工艺的一个典型品种 ;其它厂商以8951为基核开发出的CMOS工艺单片机产品统称为89C51系列。该系列单片机是采用高性能的静态89C51 设计 由先进CMOS 工艺制造并带有非易失性Flash 程序存储器 全部支持12时钟和6 时钟操作 P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM 32条I/O 口线3 个16位定时/计数器 6 输入4优先级嵌套中断结构1 个串行I/O 口可用于多机通信I/O 扩展或全双工UART以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围,频率可降至0 。可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定时器,串口和中断系统仍然工作掉电模式保存RAM的内容 但是冻结振荡器 导致所有其它的片内功能停止工作。由于设计是静态的时钟可停止而不会丢失用户数据 运行可从时钟停止处恢复。
图3-5 ADC0832时序图
3.2.2.1 89c51的基本结构
89C51的微处理器(CPU); 运算器;累加器ACC ;寄存器B ;程序状态字寄存器PSW。;控制器程序计数器PC ;指令寄存器IR ;定时与控制逻辑。89C51的片内存储器内部ROM容量4K字节内部RAM容量128字节。
89C51的I/O口及功能单元四个8位的并行口,即P0~P3。它们均为双向口,既可作为输入,又可作为输出。每个口各有8条I/O线。 有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);有2个16位的定时/计数器 ;有1套完善的中断系统。
89C51的特殊功能寄存器(SFR)低功耗的闲置和掉电模式片内振荡器和时钟电路
XTAL2 时钟电路 CPU 总线控制XTAL1VCCROM/EPROM/FLASH4K 字节RAM 128字节SFR 21个定时/计数器2个中断系统5中断源、2优先级串行口 全双工 2个 并行口4个VSSRSTEAALEPSEN
图3-6 89C51结构
P0P1P2P3
3.2.2.2 89c51的引脚图
图3-7 89C51引脚图
89C51的制作工艺为CMOS,采用40管脚双列直插DIP封装,引脚说明如下: VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行