第一章 方案设计
要设计制作一个可以显示时、分、秒的数字钟。24小时为一个计数周期。
由此可见,24小时进制数字钟由秒钟、分钟、时钟三个模块构成,其中秒钟为60进制,分钟也为60进制,而时钟为24进制。并且当秒钟进行一个周期后,应将进位信号传给分钟,当分钟进行一个周期后,应将进位信号传给时钟,最后时钟满足24后清零。
需要用到的逻辑器件:74LS161计数器、74LS00与非门、非门、七段显示器数码管、时钟信号。

图1----74LS161引脚图和逻辑符号图

图2----74LS00引脚图和逻辑符号图
方案实施:首先应该将2片74LS161分别改成6进制与10进制来构成60进制,都可采用异步清零法,并将10进制完成一个周期的信号传给6进制的时钟段使其发生变化。这就完成了秒钟模块。而分钟模块与秒钟模块相同,采用同样的方法进行连接。时钟模块则需要将两片74LS161分别改成2进制与10进制,10进制可以采用同步置零法,2进制只需将四个输出端的最低位进行输出即可。而要构成24进制,则要用与非门去限制条件,当10进制中正好为4、2进制为2时秒钟模块清零。对于秒钟模块--分钟模块的连接:只需将秒钟6进制进位的信号传给分钟10进制的数字时钟端。对于分钟模块--时钟模块的连接:与秒钟模块与分钟模块链接里类似,需将分钟的6进制进位信号传给时钟的10进制的数字时钟端口。

图3----方案模块框图
第二章 电路设计
2.1 秒钟模块电路设计
秒钟为60进制,60进制由6进制与10进制构成。
6进制:采用异步清零法。当QDQCQBQA=0110时,CR非=0。由图2.1.1卡诺图可得,CR=BC。
10进制:当采用异步清零法:当QDQCQBQA=1010时,CR非=0。由图2.1.2卡诺图可得,CR=BD。
DC\BA | 00 | 01 | 11 | 10 |
00 | 1 | 1 | 1 | 1 |
01 | 1 | 1 | X | 0 |
11 | X | X | X | X |
10 | X | X | X | X |
表2.1.1----6进制异步卡诺图
DC\BA | 00 | 01 | 11 | 10 |
00 | 1 | 1 | 1 | 1 |
01 | 1 | 1 | 1 | 1 |
11 | X | X | X | X |
10 | 1 | 1 | X | 0 |
表2.1.2----10进制异步卡诺图

图4----异步6进制电路图

图5----异步10进制电路图

图6----60进制电路图
在图4图5中,与非门的输出都连接 CR端,ENP、ENT以及LOAD都连接高电平,ABCD四个输入端不连接或者连接低电平。不同的是,10进制的数字时钟端口CLK连接时钟信号模拟,而6进制的数字时钟端CLK连接的是10进制与非门的输出端,如图6所示。这样秒钟端口60进制就完成了。
2.2 分钟模块电路设计
分钟也为60进制,连接方式也与秒钟模块相同。也是将两片74LS161分别改成6进制与10进制计数器。改造方法也是异步清零法。具体过程如表2.1.1与表2.1.2所示。连接方式与图6相同。
分钟模块与秒钟模块的连接:当秒钟模块的6进制进行一个周期后,意味着整个秒钟模块完成了一个周期。所以只需要把秒钟模块6进制的与非门输出端连接分钟模块10进制的数字时钟端口CLK,这样当秒钟模块进行了一个周期后,就会将进位信号传给分钟模块使其运作。每当秒钟模块进行一个周期后,都会传给分钟模块使其发生改变。具体如图7所示。

图7----分钟模块与秒钟模块连接电路图
左边为分钟模块的10进制,右边为秒钟模块的6进制,将右边6进制的与非门输出端连接左边10进制的数字时钟端CLK。
2.3 分钟模块电路设计
时钟为24进制,无法通过由4进制与6进制构成,只能通过2进制与10进制加上与非门调节来构成。
10进制:当采用同步置零法:当QDQCQBQA=1001,PE非=0,如表2.3.1卡诺图可得,PE=AD。10进制同步电路图如图8所示。
2进制:当只有QA一个端口输出时,就成为了2进制。
24进制:将两个74HC161改成2进制与10进制,在通过逻辑门将20进制改成24进制。当2进制的计数器大于2,10进制的计数器大于4时,两种信号通过与非门传给2进制与10进制的CR端实现异步清零的作用。
DC\BA | 00 | 01 | 11 | 10 |
00 | 1 | 1 | 1 | 1 |
01 | 1 | 1 | 1 | 1 |
11 | X | X | X | X |
10 | 1 | 0 | X | X |
表2.3.1----同步10进制卡诺图

图8----同步10进制电路图
在图8中,时钟模块的10进制与非门的输出连接的是LOAD端,ENP、ENT以及CLR端都连接高电平,ABCD四个输入端不连接或者连接低电平。
而要构成24进制,则要有左边2进制的信号大于2,右边10进制的信号大于4这两种信号同时传给2进制传来实现整个时钟模块24进制异步清零。大于2的信号由左边2进制的QB端传出,大于4的信号由右边10进制的QC端传出,这两种信号经过与非门同时传给左边2进制和右边10进制的CLR端实现两端同时清零。与分钟模块与时钟模块不同的是,10进制与2进制的连接是通过10进制的与非门的输出再通过非门传给2进制的ENP、ENT端来达到控制2进制进位的问题。既保证了2进制与10进制的连接进位,又不会使得端口数目太多而发生混乱、毫无作用。具体电路图如图9所示。

图9----24进制的电路图
时钟模块与分钟模块的连接:与其他两个模块的连接不同的是,时钟模块的10进制与2进制的数字时钟输入端都由分钟模块的6进制的与非门传入。
第三章 测试及结果分析
3.1 秒钟模块电路仿真测试
按照预计,秒钟模块应从0到59在到0这样的变化。点击开始(可以调节时钟的频率方便观察)。

图10----秒钟模块变化图初始

图11----秒钟模块变化图末尾
如图10、11所示,我观察到秒钟模块从00逐渐变化加1最后到图11所示59最后又回到图10所示00那样。证明秒钟模块是正确的。
3.2 分钟模块电路仿真测试
按照预期,当每次秒钟模块完成一个周期后就会传给分钟模块,当秒钟模块完成60次后,分钟模块也相应的从0到59再到0这样的变化。继续测试。

图12----分钟模块变化初始

图13----分钟模块变化末尾
如图12、13所示,我观察到每次秒钟模块完后一个周期后,分钟模块就会加一,从最开始的00到后来的59,等到秒钟模块在完成一个周期后,分钟模块将会清零。与预期一样,故正确。
3.3 时钟模块电路仿真测试
按照预期,当每次秒钟模块完成一个周期后就会传给分钟模块,每次分钟模块完成一个周期后就会传给时钟模块。当秒钟模块完成60次后,分钟模块也相应的从0到59再到0这样的变化。当分钟模块完成60次后,时钟模块将会发生从00到23最后又回到00这样的变化。继续进行测试。

图14----时钟模块变化初始

图15----时钟模块变化末尾
如图14、15所示,我观察到每次分钟模块完后一个周期后,时钟模块就会加一,从最开始的00逐渐加到后来的23,等到分钟模块在完成一个周期后,时钟模块将会清零。与预期相符合,故正确。