基于cpld数字电压表设计内容摘要:

*256/5 =》 VIN=5*N/256=*N 实际上 VIN=*N 就是 VIN 模拟量真正意义上对应的数字量,而在 VIN 通过 A/D 转换器后所得到的是 N,若要在数值上等值,还要 在 N 的基础上再乘以 . 例如:若输入的模拟电压为 ,则转换后的数字量为: N=( VINVREF( ) *256/( VREF( +) VREF( )) =( ) *256/(50)=128 即 10000000B 二 — 十进制转换器 通过 A/D 转换器我们已经得到了 8 位二进制的数字量,虽为二进制 的数字量但它是无法直接驱动 LED 数码管显示的,因为数码管显示的输入量只能与 BCD 码相匹配,因此我们需要先将 8 位二进制数,转换为十进制数,再将十进制数转换为 BCD 码,从而与 LED 数码管显 示相匹配,下面先来介绍一下二 — 十进制的转换。 1)引脚功能 二 — 十进制转换的模块图如图 5所示 图 5 二 — 十进制转换模块 I1: 8 位二进制数字量输入端; O1: 3 位十进制数字量输出端; I1 O1 OE EOC START1 AA START1:启动信号,当为低电平时有效并启动二 — 十进制转换器开始工作; EOC:转换结束信号,当二 — 十进制转换工作时,此信号为低电平,当工 作结束时,此信号立即为高电平; OE:允许输出信号,此信号为高电平有效,有效时转换后的数据通 O1端 输出; AA:错 误信号,此信号为高电平有效果,当有效时表示转换后的数据有误不 能够输出。 2)真值表 表 2 工作过程及流程图 我们需将各位的数, 0或 1分别乘各位对应的 2 的 0 次方、 2的 1次方、 2 的 2 次方、 2 的 3 次方、 2 的 4次方、 2 的 5次方、 2 的 6次方和 2的 7次方,然后依次求和记为 A。 为了能够与输入的模拟数值上对应还需将 A 再乘以 ,此时转换结 束, EOC=‘ 1’。 接下来要判断所转换的十进制数是否超出 0— 5V的范围,如果超出则 AA=‘ 1’提示转换出现错误,否则 AA=‘ 0’,OE=‘ 1’数据输出。 START1 EOC OE AA 功能 0 0 0 0 开始转换 0 1 0 0 转换结束 0 1 0 1 数据有误 0 1 1 0 允许输出 十进制 — BCD 码转换器 1)引脚功能 十进制 — BCD 码转换器的模块图如图 7 所示 图 7 十进制 — BCD 码模块 START2:启动信号,低电平胶,当有效时启动十进制 — BCD 码转换工作; EOC:转换结束信号,当转换工作时 EOC 为低电平,当转换结束时 EOC 立即变 为高电平; OE:允许输出信号,高电平有效,当有效时允许转换后的数据输出; START=0 开始工作 等待转换结束 ,使 EOC=1 判断数据是否出错 OE=1,允许输出 AA=1,提示转换出错 不工作 B Q EOC START2 OE B: 3 位十进制数据输入端; Q: 12 位 BCD 码输出端; 2)真值表 表 3 3)工作过程 十进制与 BCD 码的对应转换如表 4所示 表 4 通过二 — 十进制转换器我们已经得到了 3位的十进制数,当 START2=‘ 0’ 时,十进制 — BCD 码转换器开始工作,根据查表 4 我们可以很方便的将每一START2 EOC OE 功能 0 0 0 开始转换 0 1 0 转换结束 0 1 1 允许输出数据 输入的十进制 数 输出的 BCD 码 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 位十进制数转换为 4 位的 BCD 码。 从低位到高位,那么 3 位的十进制数也就转换为了 12 位的 BCD 码。 例如, 十进制数为 ,通过查表 4可以得到, 9对应的是‘ 1001’, 5 对应的是‘ 0101’, 4 对应的是‘ 0100’。 那么最终的确12 位 BCD 码为‘ 010001011001’。 当转换结束时, EOC 立即变为高电平,即EOC=‘ 1’,当 OE=‘ 1’时使得 12 位的 BCD 码允许从输出端输出。 BCD 码多路数据选择器 通过十进制 — BCD 码转换我们已经得到了 12 位的 BCD 码,但 12 位的数据是 无法直接在 3个 LED 数码管上显示的,因此我们要用 BCD 多路数据选择器将 12 位的 BCD 码分成 3路信号,每一路 4 位然后分别接到相应数码管显示电路 的输入上,从而完显示工作。 1)功能与模块图 数据选择器( Multiplexer,简称 MUX)又称“多路开关”或“多路调制器”。 它 的功能是在选择输入(又称“地址输入”)信号的作用下,从多个数据输 入通道中 择某一通道的数据(数字信息)传输至输出端。 数据选择器是一种 灵活方便,开 发性很强的组合逻辑电路,在数字系统中应用比较广泛,数据 选择器的芯片种类很多,常用的有 2选 4选 8 选 16 选 1 等,但我 们现在所要介绍的是一种 12选 4的多路数据选择器。 模块图如图 8所示 D 0 A 1 A 0 ︰ ︰ ︰ D ︰ C ︰ B ︰ A D 1 1 图 8 12 选 4 多路数据选择器 D0— D7:为 12位 BCD 码输入端; A1, A0:为地址输入端; DCBA: 这 4位 BCD 码输出端; 2)真值表 表 5 通过 A1A0 地址的不断变化,从而完成对 12 位 BCD码的分时输出,以实现相应数值在对应位的数码管上的显示。 BCD 译码显示器 在这里我们需用七段显示器将 0— 9的十进制字符通过七段字划亮灭的 不同组合来实现七段数码显示器。 数码管的种类很多,但大致可分为共阴极 数码管和共阳极数码管。 共阴极数码管是将各发光二极管阳极连在一起接低 A1 A0 D C B A 0 0 D3 D2 D1 D0 0 1 D7 D6 D5 D4 1 0 D11 D10 D9 D8 电平,阳极分别接译码器输出端,当译码输出某段码为高电平时,相应的发光二极管就导通发光,显示相应的数码,这种显示器可用输出高电平有效的译码器来驱动。 而共阳极数码管是将各发光二极管阳极连在一起,接高电平,而阴极分别接译码器输 出端,当译码输出某段为低电平时,二极管导通发光,共阳显示器由输出低电平有效的译码器来驱动。 在这里我们选用的是共阳极的数码管。 与七段显示数码管配合的译码器只能有 a— g七个输出端和四个输入端下有一个使能端 S,控制译码器是否工作,七段译码器的真值表如表 6所示 十进制数或功能 输入 输出 S D C B A Ya Yb Yc Yd Ye Yf Yg 字形 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 2 0 0 0 1 0 1 1 0 1 1 0 1 2 3 0 0 0 1 1 1 1 1 1 0 0 1 3 4 0 0 1 0 0 0 1 1 0 0 1 1 4 5 0 0 1 0 1 1 0 1 1 0 1 1 5 6 0 0 1 1 0 0 0 1 1 1 1 1 6 7 0 0 1 1 1 1 1 1 0 0 0 0 7 8 0 1 0 0 0 1 1 1 1 1 1 1 8 0 1 1 1 1 0 0 0 1 1 1 1 倒 F 表 6 通过查表 6 我们可以清晰的将 3路 4位 BCD 码转换为能够驱动数码管显示的七段码,从而使 3位十进制数字分别在 3个数码管上显示出来,表明被测量的电压值 第 4 章 控制器与控制电路的设计 控制器的设计 在数字电压表测量工作的进行中,控制器主要是对 A/D 转换器、二 — 十进制转换器、十进制 — BCD 码转换器的工作边程中起到了控制及协调的作用。 使工作转换的过程顺畅有次序,当前一模块有数据输出时,随即启动后一模块开始工作。 即当前一模块 OE 允许输出端由低电平 变为高电平时,立即给后一模块一个由高电平变为低电平的启动信号,使其工作。 并且控制显示电路当遇到数据转换错误或复位时,完成需要的显示。 1)引脚功能 首先给出控制器的模块图如图 9所示 图 9 控制器的模块图 START:开关按钮,低电平有效,当有效时控制器开开始工作; START0:低电平有效,当有效时启动 A/D 转换器开始工作; START1:低电平有效,当有效时启动二 — 十进制转换器开始工作; START2:低电平有效,当有效时启动十进制 — BCD 码器工作; START EOC0 START0 EOC1 START1 EOC2 START2 OE1 AA OE2 R 启动开关 复位开关 EOC0: A/D 转换器工作时为低电平,当转换结束时立即变为高电平; EOC1:二 — 十进制转换结束信号,当转换结束时立即变为高电平; EOC2:十进制 — BCD 码转换结束信号,当转换结束时立即变为高电平; AA:错误信号,高电平有效,当有效时表示测量过程出错; R:复位信号,低电平有效,当有效时使电路清零; OE1:允许输出信号,高电平有效,当有效时允许二 — 十进制转换后的数据输出; OE2:允许输出信号,高电平有效,有效时允许十进制 —。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。