A. 数字电路 用74Ls151设计一个四位奇校验逻辑电路 过程详细一点 需要逻辑电路图 和逻辑表达式
真值表:
ABCD Y
0000 0
0001 1
0010 1
0011 0
0100 1
0101 0
0110 0
0111 1
1000 1
1001 0
1010 0
1011 1
1100 0
1101 1
1110 1
1111 0
表达式:
Y=A’B’C’D+A’B’CD’+A’BC’D’+AB’C’D’+ABCD’+ABC’D+AB’CD+A’BCD,
连接图:
74151的端子A2、A1、A0分别接A、B、C,
74151的端子D0、D3、D5、D6接D,D1、D2、D4、D7接D’,
74151的输出端为Y。
(1)四数字电路扩展阅读:
在asic设计和pld设计中组合逻辑电路设计的最简化是很重要的,在设计时常要求用最少的逻辑门或导线实现。在asic设计和pld设计中需要处理大量的约束项,值为1或0的项却是有限的,提出组合逻辑电路设计的一种新方法。
与逻辑表示只有在决定事物结果的全部条件具备时,结果才发生的因果关系。输出变量为1的某个组合的所有因子的与表示输出变量为1的这个组合出现、所有输出变量为0的组合均不出现,因而可以表示输出变量为1的这个组合。
组合逻辑电路的分析分以下几个步骤:
(1)有给定的逻辑电路图,写出输出端的逻辑表达式;
(2)列出真值表;
(3)通过真值表概括出逻辑功能,看原电路是不是最理想,若不是,则对其进行改进。
B. 数字电路问题,四个与非门完成异或功能
图是根据网上的结论再制的 为什么这样可以 你用真值表 验算一下就可以了 是谁的灵感把图画成这样 要感谢先人了
C. 数字电路,用一个芯片实现四输入与门,不能直接用与门,只能用异或、与非、或非(都是二4输入)其中之一做
1)F = ABCD = ( (ABCD)非 )非;这个是采用与非门
2)F = ABCD = ( (ABCD)非 )非 = ( (AB)非 + (CD)非 )非;这是采用与非门及或非门
但是专你只要求采属用其中之一,就只有1)符合了;
D. 数字电路 四个输入 abcd 当且仅当连续三个0或连续三个1 输出是1 设计电路 用4个3输入与门
题目是只有输入三个 1 或者输入三个 0 时,输出为 1 ?
输入“连续三个0或连续三个1”是脉冲串,是时序电路。
Y = ABCD' + ABC'D + AB'CD + A'BCD + A'B'C'D + A'B'CD' + A'BC'D' + AB'C'D'
= AB(C⊕D) + (A⊕B)CD + A'B'(C⊕D) + (A⊕B)C'D'
= (AB + A'B') (C⊕D) + (A⊕B) (CD + C'D')
=(A⊕B)'(C⊕D) +(A⊕B)(C⊕D)'
=(A⊕B)⊕(C⊕D)
E. 那位大哥能提供一个由数字电路完成的“四位数字显示电容表”资料 十万火急 谢谢了
不好意思兄弟~找了一些你用不到的~呵呵~soryy~帮不了你!!
http://diagram.weeqoo.com/2007/10/200710171782221340.html
http://cqrice.blog.dianyuan.com/u/52/1177380466.doc
希望对你有帮助~
还有:AT89C2051作为AT89C51的简化版虽然去掉了P0、P2等埠,使I/O口减少了,但是却增加了一个电压比较器,因此其功能在某些方面反而有所增强,如能用来处理模拟量、进行简单的模数转换等。本文利用这一功能设计了一个数字电容表,可测量容量小于2微法的电容器的容量,采用3位半数字显示,最大显示值为1999,读数单位统一采用毫微法(nf),量程分四档,读数分别乘以相应的倍率。
电路工作原理
本数字电容表以电容器的充电规律作为测量依据,测试原理见图1。
图1
电源电压E+经电阻R给被测电容CX充电,CX两端原电压随充电时间的增加而上升。当充电时间t等于RC时间常数τ时,CX两端电压约为电源电压的63.2%,即0.632E+。数字电容表就是以该电压作为测试基准电压,测量电容器充电达到该电压的时间,便能知道电容器的容量。例如,设电阻R的阻值为1千欧,CX两端电压上升到0.632E+所需的时间为1毫秒,那么由公式τ=RC可知CX的容量为1微法。
测量电路如图2所示。
图2
A为AT89C2051内部构造的电压比较器,AT89C2051的P1.0和P1.1口除了作I/O口外,还有一个功能是作为电压比较器的输入端,P1.0为同相输入端,P1.1为反相输入端,电压比较器的比较结果存入P3.6口对应的寄存器,P3.6口在AT89C2051外部无引脚。电压比较器的基准电压设定为0.632E+,在CX两端电压从0升到0.632E+的过程中,P3.6口输出为0,当电池电压CX两端电压一旦超过0.632E+时,P3.6口输出变为1。以P3.6口的输出电平为依据,用AT89C2051内部的定时器T0对充电时间进行计数,再将计数结果显示出来即得出测量结果。
整机电路见图3。电路由单片机电路、电容充电测量电路和数码显示电路等部分组成。
图3
AT89C2051内部的电压比较器和电阻R2-R7等组成测量电路,其中R2-R5为量程电阻,由波段开关S1选择使用,电压比较器的基准电压由5V电源电压经R6、RP1、R7分压后得到,调节RP1可调整基准电压。当P1.2口在程序的控制下输出高电平时,电容CX即开始充电。量程电阻R2-R5每档以10倍递减,故每文件显示读数以10倍递增。由于单片机内部P1.2口的上拉电阻经实测约为200K,其输出电平不能作为充电电压用,故用R5兼作其上拉电阻,由于其他三个充电电阻和R5是串联关系,因此R2、R3、R4应由标准值减去1K,分别为999K、99K、9K。由于999K和1M相对误差较小,所以R2还是取1M。
数码管DS1-DS4、电阻R8-R14等组成数码显示电路。本机采用动态扫描显示的方式,用软件对字形码译码。P3.0-P3.5、P3.7口作数码显示七段笔划字形码的输出,P1.3-P1.6口作四个数码管的动态扫描位驱动码输出。这里采用了共阴数码管,由于AT89C2051的P1.3-P1.6口有25mA的下拉电流能力,所以不用三极管就能驱动数码管。R8-R14为P3.0-P3.5、P3.7口的上拉电阻,用以驱动数码管的各字段,当P3的某一埠输出低电平时其对应的字段笔划不点亮,而当其输出高电平时,则对应的上拉电阻即能点亮相应的字段笔划。
软件设计
程序使用C语言编写,详细源程序见本刊网站。
程序由主程序、定时中断服务子程序等模块组成。定时器T0作被测电容器充电时间的计数用。定时器T1用于定时中断服务,定时时间为5ms,即5ms产生一次中断。数组BitTab[4] 用来存储位驱动码,DispTab[11] 用来存储字形码,数组DispBuf[4]的4个元素分别用来存储从定时器T0读出的数据的个、十百千位的4位数字。
程序显示每一位数码的时间为5ms,因此显示完整的4位数的周期为20ms(4次中断)。每过240ms(48次中断)刷新一下资料,即每过240ms测一下电容量,测量时间小于2ms,由于这一时间小于中断的时间5ms,因此在测量过程中不会出现中断现象。测量电容时P1.2口输出高电平,电容开始充电,与此同时定时器T0开始计数,当电容器充电达到基准电压时,P3.6口输出高电平,据此程序作出判断停止T0的计数,并读出数据送数码管显示。如果被测电容器的容量超出测试文件的量程,则计数值大于或等于2000,显示结果为千位数显示1,其他三位数不显示,这和数字万用表超过量程的显示模式相同。这时可选择大一档的量程进行测试。
经仿真和电路测试,发现单片机判断P3.6口是否输出高电平要化3个机器周期,这会使显示值增加3,因此在程序中对此误差进行了修正,对计数值减去了3。
字形码的输出用了P3口的P3.0-P3.5、P3.7,P3.6为空,P3口输出的数据通过数组DispTab[11]获得。
数据位 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 字形码
笔段位 A 空 B C D E F G
数
字 0 1 1 1 1 1 1 1 0 0xfe
1 0 1 1 1 0 0 0 0 0x70
2 1 1 1 0 1 1 0 1 0xed
3 1 1 1 1 1 0 0 1 0xf9
4 0 1 1 1 0 0 1 1 0x73
5 1 1 0 1 1 0 1 1 0xdb
6 1 1 0 1 1 1 1 1 0xdf
7 1 1 1 1 0 0 0 0 0xf0
8 1 1 1 1 1 1 1 1 0xff
9 1 1 1 1 1 0 1 1 0xfb
不显示 0 1 0 0 0 0 0 0 0x40
数据位和字形的对应关系如上表所示,因为数码管为共阴型,所以相应的输出位为1时笔段亮。
安装与调试
印刷电路板图见图4,制作双面板有困难时也可用万能印刷电路板制作。IC1
图4
用AT89C2051单片机集成电路,X1用12MHz的石英晶体,S1选用1×4的波段开关,DS1-DS4选用共阴LED数码管。其余元器件的参数见图3。
安装前先将C语言源程序用KEIL 51编译成目标文件即HEX文件,再用编程器将HEX档写入AT89C2051芯片。C语言源程序和HEX文件下点击下面连接下载。
C文件
#include <reg51.h>
unsigned char j,n,t,DispBuf[4];
unsigned int cap;
unsigned char code
BitTab[4]={0xbf,0xdf,0xef,0xf7};//位驱动码
unsigned char code
DispTab[11]={0xfe,0x70,0xed,0xf9,0x73,0xdb,0xdf,0xf0,0xff,0xfb,0x40};//字形码
sbit P1_2=P1^2;
sbit P3_6=P3^6;
main() //主程序
{ TMOD=0x11;//定时器T0、T1均工作于定时方式1
TH1=0xec;
TL1=0x78;//T1定时时间为5ms
IE=0X88; //开中断
TR1=1; //开定时器T1
for(;;) //无限循环,定时中断返回点
;
}
Timer1() interrupt 3//定时中断服务程序
{ TH1=0xec;
TL1=0x78;
t=BitTab[j];//取位值
P1=P1|0x78;//P1.3-P1.6送1
P1=P1&t; //P1.3-P1.6输出取出的位值
t=DispBuf[j];//取出待显示的数
t=DispTab[t];//取字形码
P3=t; //字型码由P3输出显示
j++; //j作为数码管的计数器,取值0-3,显示程序通过它确认显示哪个数码管
if(j==4)
j=0;
n++;
if(n==48)//每过48个中断测一次电容量
{
n=0;
TH0=0;
TL0=0;
P1_2=1;//电容开始充电
TR0=1; //开定时器T0
for(;P3_6==0;)//判断充电电压达到参考电压否
;
TR0=0;//充电电压达到参考电压,关定时器T0
P1_2=0;
cap=TL0|(TH0<<8);//取定时器T0中的数值
cap=cap-3;//修正误差
if(cap>=2000)
{
DispBuf[3]=10;
DispBuf[2]=10;
DispBuf[1]=10;
DispBuf[0]=1; //超量程,最高位显示1,其余各位不显示(灭)
}
if(cap<2000) //不超量程,取各位数值
{
DispBuf[3]=cap%10;//取个位数
cap=cap/10;
DispBuf[2]=cap%10;//取十位数
cap=cap/10;
DispBuf[1]=cap%10;//取百位数
DispBuf[0]=cap/10;//取千位数
}
}
}
1164636437.c
HEX文件
:
:
:03001B0002001EC2
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:07010E00D083D0F0D0E032F5
:0300000002017981
:
:
:
:
:
:
:050165000FD5F0EA22B5
:00000001FF
1164636633.hex
安装后的调试工作主要是通过对RP1的调节来调整基准电压,最好是通过对一个精度比较高的电容器的测量进行调节,而不是直接测量基准电压。具体方法是选一个经确认容量比较准确的电容器,如一只15nf的电容器,将S1置于20nf档,调节RP1使测量显示值为1500。选择的电容器容量至少要大于相应量程的一半,最好是接近满量程,这样才能使调节比较准确。该档调试好后其他各档也就相应的调好了,如果发现某档精度有问题可改变其相应的充电电阻阻值进行调整。
在使用过程中,当S1置于2nf档时,在没有放入测试电容器时有10pf左右的显示值为正常现象,因为这是电压比较器的输入电容和电路的分布电容,只要在测量读数时减去这一数值即可。因此在调试时也不要选择该档,以免分布电容影响调试的准确性。
文章怎么样,发表一下你的高论,愿与你交流。我正在做全自动量程的电容表,硬件和思路已经有了,就等软件调试了,到时多提意见呦!
F. 4位数字电子钟怎么焊接
电子钟在进行焊接的过程中,你可以看一下它具体是什么材质,然后再去选择焊条就可以了。
G. 请问数字电路中什么是4位循环码
自然码:有权码,每位代码都有固定权值,结构形式与二进制数完全相同。
循环码:无权码,可靠性代码(又称间隔位编码、格雷码(Gray)),每位代码无固定权值,任何相邻的两个码组中,仅有一位代码不同。
十进制数 自然二进制码 循环二进制码
0----------0000----------0000
1----------0001----------0001
2----------0010----------0011
3----------0011----------0010
4----------0100----------0110
5----------0101----------0111
6----------0110----------0101
7----------0111----------0100
8----------1000----------1100
9----------1001----------1101
10---------1010----------1111
11---------1011----------1110
12---------1100----------1010
13---------1101----------1011
14---------1110----------1001
H. 数字电路,四输入与门能代替二输入与门吗
可以,把多余不用的两个输入引脚接高电平即可。
I. 数字电路:设计四位数数据的输入时的奇偶校验电路 用异或门(74LS86)实现4位数据输入的偶校验