对于一个100以内的二进制数,由于2的六次方小于100小于2的七次方,所以100用6位二进制数表示不够,用七位二进制数表示刚好。
把七位二进制数分为前三位和后四位,分别取其十位和个位用全加器相加就能得到bcd码。
之所以这么分,是因为后四位小于20大于10,可以直接减10得到个位数。
在这之前,先把后4位数用数值比较器与10比较,如果大于10,则输出信号1,作为10位u,再将其加上10的补码6来减十。后四位数的十位和个位就拆分开了。
对于高三位,有三种设计方法
一种是列真值表,对其进行逐位分析,再用门电路实现。
一种是因为其左移了4位即相当于乘了16,再拆分为10和6。因为高三位最大为8,故高三位直接可以作为十位数。乘6可以看做先乘3再乘2。乘3又可以看做乘2+1
乘6可以用一个全加器实现。
把高三位接到全加器A输入的高三位,A口最后一位设为0,再接到B输入的低三位,再把全加器的和接到数码管的高三位,数码管最后一位设为0,即可以实现乘6
电路图以后有空再补