基于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:允许输出信号,高电平有效,有效时允许十进制 —。基于cpld数字电压表设计
相关推荐
闸门电路 计数译码器 门控电路 时基信号发生器 预置门控电路 D Q 标准频率信号 被测信号 清零信号 CLKEN CLK CNT1 OUT1 CLR CLKEN CLK CNT2 OUT2 CLR 当方波预置门控信号由低变为高电平时, 经整形后的被测信号上升沿启动 D触发器,由 D 触发器的 R 端同时启动可控计数器 CNT1 和 CNT2 同时计数,当预置门为低电平时
CPLD 是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要对片内的 RAM 进行编程。 用户可以根据不同的配置模式,采用不同的编程方式。 加电时,CPLD 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成 后, CPLD 进入工作状态。 掉电后, CPLD 恢复成白片,内部逻辑关系消失,因此, CPLD 能够反复使用。 CPLD 的编程无须专用的 CPLD 编程器
是一个什么样的形势呢。 从全国的形势看。 2020 年,中央查处省部级领导干部是 59 人,截至今年 8 月,全国查处省部级领导干部是 48 人。 前不久中央和中纪委先后对四川南充、河南新乡落实党风廉政建设主体责任不力的情况进行了通报,新乡原市委书记因落实主体责任不力,受到 党纪处分,并被免职,纪委书记也受到相应处理,它的一个班子里面两个常委和一个市长被追究法律责任。
,只需 设置相应的 I/O 输出口的 高低 电平。 而动态显示 的原理 则 利用了人眼对物体的视觉延迟来达到所有 LED 的同时显示。 实际上,在每一个时刻,只有一组 LED 是处于显示的状态,而其他 LED组均为关闭状态 , 即在每一瞬间只 使某一位显示字符。 在此瞬间 , 段选控制 I/O口输出相应字符段选码 (字型码 ), 而位选则控制 I/O 口在该显示相应字符。 如此基于
仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真) (3) 逻辑综合: 将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。 逻辑综合软件 会生成 .edf 或 .edif 的 EDA 工业标准文件。 (4) 布局布线: 将 .edf 文件调入 PLD 厂家提供的软件中进行布线,即把设计好的逻辑安放
语言 . Cocos2DX 引擎架构 如图 2. 1 所示 : 图 2. 1 Cocos2DX 引擎架构 2. 3 开发工具 游戏在 Windows XP 系统下开发,基于 visual studio C++ 2020 的开发平台,采用了cocos2dx 技术进行开发 . 操作系统: Mac(OX X 10. 10. 3) 程序语言: C++ 开发工具: Xcode,Eclipse,SVN,