正文内容

毕业论文-基于80c51单片机的数字电压表设计-文库吧

2023-10-30 04:56 本页面


【正文】 为“ 1” A/B 端的信号将不导通,只有为“ 0”时 A/B 端才被启用,该脚也就是起到开关的作用 第 10 脚 GND,电源地。第 20 脚 VCC,电源正极。 4 管脚说明: 第 1 脚 DIR,为输入输出端口转换用, DIR=“ 1”高电平时信号由“ A”端输入“ B”端输出, DIR=“ 0”低电平时信号由“ B”端输入“ A”端输出。 第 2~9 脚“ A”信号输入输出端, A0=B0、、 A7=B7, A0 与 B0 是一组,如果 DIR=“ 1” OE=“ 0”则 A1 输入 B1 输出,其它类同。如果 DIR=“ 0” OE=“ 0”则 B1输入 A1 输出,其它类同。 第 11~18 脚“ B”信号输入输出端,功能与“ A”端一样,不再描述。 第 19 脚 OE,使能端,若该脚为“ 1” A/B 端的信号将不导通,只有为“ 0”时 A/B端才被启用,该脚也就是起到开关的作用。 第 10 脚 GND,电源地。 第 20 脚 VCC,电源正极。 3. ADC0832 ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 0~5V之间。芯片转换时间仅为 32μ S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过 DI 数据输入端,可以轻易的实现通道功能的选择。 正常情况下 ADC0832 与 单片机的接口应为 4 条数据线,分别是 CS、 CLK、 DO、 DI。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。当 ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用, CLK 和 DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲, DO/DI 端则使用 DI 端输入通道功能选择 5 的数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能,其功能项见官方资料。 如资料 所示,当此 2 位数据为“ 1”、“ 0”时,只对 CH0 进行单通道转换。当 2位数据为“ 1”、“ 1”时,只对 CH1 进行单通道转换。当 2 位数据为“ 0”、“ 0”时,将 CH0 作为正输入端 IN+, CH1 作为负输入端 IN进行输入。当 2 位数据为“ 0”、“ 1”时,将 CH0 作为负输入端 IN, CH1 作为正输入端 IN+进行 输入。到第 3 个脉冲的下沉之后 DI 端的输入电平就失去输入作用,此后 DO/DI 端则开始利用数据输出 DO 进行转换数据的读取。从第 4 个脉冲下沉开始由 DO 端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO 端输出下一位数据。直到第 11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出 DC0832 封装以及各端子 (1 张 )完成。也正是从此位开始输出下一个相反字节的数据,即从第 11 个字节的下沉输出 DATA0。随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次 A/D 转换的结束。最后将 CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。 作为单通道模拟信号输入时 ADC0832 的输入电压是 0~5V 且 8 位分辨率时的电压精度为 。如果作为由 IN+与 IN输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行 IN+与 IN的输入时,如果IN的电压大于 IN+的电压则转换后的数据结果始终为 00H。 管脚说明: CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道 0,或作为 IN+/使用。 CH1 模拟输入通道 1,或作为 IN+/使用。 GND 芯片参考 0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据 输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。 4. 继电器和放大器 6 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 放大器:能把输入讯号的电压或功率放大的装置,由电子管或晶体管、电源变压器和其他电器元件组成。 控制继电器的工作状态,当 低 电平时,继电器处于常闭状态,那么相对应的运放的放大增益为 25 倍。而当 为高电平时继电器工作,其对应的放大增益即变为 倍。对于一个模拟输入,现将其放大 倍,然后由 AD 输入并相应转化,如果它的输出要是小于 ,也就是 19H,则选择此档位是不精确的,也说明此时的输入电压介于 0~200mV 之间。那么我们就需要让 置低电平,将相应的放大倍数改成 25以提高转换精度。若其满足相应的条件则直接将其转换成 BCD 码并直接送数显示即可。 三 . 实验原理和设计思路 由 ADC0832 采集电压信号,电压信号经过 ADC0832 变成相应的数字信号进入 89s51,89s51 根据输入电压的大小通过继电器和放大器电路选择对应的放大倍数及量程,然后显示在数码管上。 7 最终电路图如下: 系统组成框图如下 STC89C51 电源、时钟、复位电路 显示电路 ADC0832 输入电压 8 程序流程图: 开始 清除显示器 启动 AD 转换 AD 转换完成 转换数据送 A BCD 转换调整 输出显示 是 否 9 ADC0832 数据读取程序流程图 开始 初始化通 道选择 ADCLK 清零、 CS 置低 输入通道控制字 串行循环送数 CS 、 CLK 初始化 将值送入指定寄存器 结束 产生 CLK 信号 10 四 . 程序设计 ORG 0000H LJMP MAIN ORG 0600H MAIN: MOV SP,70H 。设堆栈起始地址 MOV R0,40H 。将转换得到 BCD 码高位地址给 R0 MOV R2,0DFH 。将高位 LED 数码位选择地址给 R2 CLR 。 START: LCALL TOAD 。调用 AD 电压采集程序 MOV 30H,A 。将采集回来的数据存储到 30H JB ,READY LCALL SWITCH 。调用量程判断切换程序 JB ,START READY: LCALL TRANSFER 。调用 BCD 码换算程序 LCALL DISPLAY 。调用显示程序 CLR SJMP START 。返回作循环电压测量 。AD 转换电压采集程序 TOAD: CLR 。CS=0 MOV A,03H 。起始位和配置位为 011 MOV R3,03H LOOPB1: CLR 。CLK=0 RRC A MOV ,C NOP SETB 。CLK=1 DJNZ R3,LOOPB1 CLR 。通道稳定脉冲 NOP SETB 。CLK=1 MOV R3,08H LOOPB2: CLR 。CLK=0 MOV C, 。读入一位数据 11 RLC A SETB 。CLK=1 DJNZ R3,LOOPB2 SETB 。CS=1
点击复制文档内容
公司管理相关推荐
文库吧 www.wenkub.com
备案图鄂ICP备17016276号-1