数字电路计算器
数字电路计算器下面介绍一种利用数字电路加法器,减法器,乘法器除法器,进行算术计算的计算器。这种计算器通过按键输入公式,经过数字电路的加法器,减法器,乘法器,除法器计算后得到计算结果,最后再将计算结果输出到数码管上面。该计算器首先通过晶振产生32768HZ的谐振方波信号,再经过分频电路将这个方波信号的频率降低为100HZ,,即周期为0.01秒,再将这个100HZ的信号接入到按键的公共端,按键共有60个,它们的一端接到一起,另外一端分别接到倍频器上。相当于这些按键并联在一起,当某个按键被按下时,100HZ的信号就会接入到倍频器上,经过倍频后,频率变为1HZ。为什么按键上面的频率是100HZ,这是因为100HZ的频率,周期是1毫秒,通常使用者按下按键的时间在1毫秒左右,所以,只有这个频率的信号才会在按下按键时输入到后级电路中。键值计算电路由十进制转二进制电路组成,当有数字键按下时,对应的数字按键输出端输出对应的数值。数值按键的输出端接上或门,或门两两相接,最后输出一个或门,当有任何计算符号按键按下时,或门输出高电平,或门后面接上计数器,计数器记录按键按下的次数,当有按键按下时,计数器将对应的次数输入到加法器,加法器给键值乘以10,100,1000,等倍数。当连续按2次按键时,需要用乘法器给键值乘以10,连续按下3次按键时,需要用乘法器给键值乘以100,依次类推。所有数值按键的输出端连接到一起,输出到计算符号电路,进行计算。电路图下载网址:数字电路计算器链接:提取码:12h9链接:提取码:81s7数字电路计算器下载地址:数字电路计算器访问码:ha14数字电路计算器计算符号编码电路产生对应计算符号的编码,输送给计算符号按键电路。用计算符号按键输入计算符号+-×÷,cos,sin,ln,log,等,计算符号按键的输出端接上或门,或门两两相接,最后输出一个或门,当有任何计算符号按键按下时,或门输出高电平,或门后面接上计数器,计数器记录按键按下的次数,当有按键按下时,计数器将对应的次数输入到加法器,加法器将对应计算符号接入数值电路,进行计算。每个计算符号按键的后面接上一个或非门,再加上一个与门,最后它们两两之间接上或门,最后一级是一个或门。这个或门输出刚刚按下的计算符号的编码到计算电路,当按下一次计算符号按键时,进行一次计算,输入到存储器,存储器在将数值和上面最近一次按下的计算符号编码输入到计算电路进行计算,每一个计算符号按键对应一个计算电路,分别有开方电路,开立方电路,sinx计算电路,ln计算电路等等。当按下一个计算符号按键时,数据进行对应的计算电路进行计算,例如,按下lncosx计算按键时,从键盘输入的数字进入lncosx计算电路进行计算,并输出到数码管显示。开方计算电路通过对应的牛顿迭代法公式对数据进行开方计算,sinx,cosx,tanx,cotx等计算电路通过泰勒展开公式进行计算,lnx,立方n次方计算通过泰勒展开公式进行计算。lncosx通过古今算学丛书假数测圆里面的公式进行计算。上面各种计算公式通过数字电路加法器,减法器,乘法器,除法器按公式连接起来进行计算。()等按键通过非门,与门判断电路,将使电路先计算其里面的数值,在计算其外面的数值。最后电路通过=按键输出高电平控制输出计算结果到数码管编码器,驱动数码管输出计算结果。电路中的加法器,减法器,乘法器,除法器都采用串行加法器,减法器,除法器,乘法器等。按键扫描电路当有按键按下时RS触发器Q输出1,Q输出0,按下清零键以后,RS触发器Q端输出0,Q 端输出0。当RS触发器的输入端R,S都是1时,触发器保持输出端没有变化。利用这个特点,当按键输入高电平1时,电路输出高电平1给存储器,当按键断开输入低电平0时,RS触发器仍然给存储器输入1,当清零键按下时,RS触发器的S端输入0,触发器给存储器输入0,存储器清零。计算码生成电路当数字键1,按下时,这个与门输出0000001给后面计算电路,所有按键存储器后面两两之间接上或门,或门后面再接上或门,最后接上计数器。当按键按下时,计数器变为1,对应的存储器输出对应键值。当按键按下第二次时,计数器输出2,输出两位数字,当按键按下第三次时,计数器输出3,输出三位数字。当有按键按下时,计数器输出高电平,后级的与门输出键值00000001,第一次按下键值,通过与门输出键值,二进制数字发生器,产生脉冲00001010,相当于十进制数字10,即给键值乘以10倍,因为第二次按下按键时,需要给键值乘以10。脉冲发生器,产生脉冲01100100,相当于十进制数字100,即给键值乘以100倍,因为第三次按下按键时,需要给键值乘以100。脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以1000倍,因为第四次按下按键时,需要给键值乘以1000。脉冲发生器,产生脉冲1111101000,相当于数字1000,二进制数字发生器,产生脉冲00001010,相当于十进制数字10,即给键值乘以10000倍,因为第五次按下按键时,需要给键值乘以10000。脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲01100100,相当于十进制数字100,即给键值乘以100000倍,因为第六次按下按键时,需要给键值乘以100000。脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以1000000倍,因为第七次按下按键时,需要给键值乘以1000000。二进制数字发生器,产生脉冲00001010,相当于十进制数字10,脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以100000000倍,因为第八次按下按键时,需要给键值乘以100000000。脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以1000000000倍,因为第九次按下按键时,需要给键值乘以1000000000。当有符号按键按下时,按键计数器清零,记录按键次数为零,只有当字符按键按下时,异或门输出0,与门输出0,计数器清零。当没有按键按下时,有数字键按下时,异或门输出1,与门输出1。计算器的总电路图如下:第一部分 计算整数次方根下面的电路可参见数字工程美G.K.科斯托普洛斯著,王玉龙,蔡勇译,张其善校,人民邮电出版社1981年出版。附录A,计算整数次方根的一般方法的详细推导。不论是哪一种数制中的数,其n次方根都可以通过每次只计算出一位当根的方法来确定。设R是数K的n次方根,其中n为整数,R可表示为:R=r r .r r r .r (A*1) im im-1 i1 f1 f2 fj 式中,R的整数部分分为m位,小数部分分为j位,等式(A1)也可表示为: m-1 R=(r r .r r r .r )Q (A2) im im-1 i1 f1 f2 fj式中,Q是数制的基数,r 为非零数。取R的n次幂,则由式(A2)可得: im n n (m-1)n R =(r r .r r r .r ) *Q (A3) im im-1 i1 f1 f2 fj n 用字母h表示R 整数部分的位数,当括号里的数为最小时,k为最小。这就是r 等于1,其余各r位都等于0时的情况,如下式所示: im(r r .r r r .r ) =(1.0.0)=1(1位最小) (A4) im im-1 i1 f1 f2 fj 因此,k的最小值为式(A3)中基数Q的指数加1,即: (m-1)*n+1k (A5)同样,当式(A3)括号里的数为最大时,k为最大。这就所有r位都等于Q-1时的情况,其中Q-1是Q数制中的最大数值。 n n n (r r .r r r .r ) =(Q-1.Q-1 Q-1 .Q-1) =(10-0.00.1) (十进制) im im-1 i1 f1 f2 fj max (A6) 如果括号里的数仅是10,则取幂结果将为n+1位数: n n n n n