(三)万年历模块
万年历的模块由年、月、日的整型计数形式组合而成,其中年是由2012计数到2030,月是一年12个月的计数,日的计数分为闰年和平年大月和小月的计数部分,当为闰年时2月份的天数为29,当为大月时日的计数为31,当为小月时日的计数为30,。由于需要显示年、月、日、星期、闰年,故本模块需要有判断是
否闰年电路,闰年以及非闰年对应的月天数的译码电路,12进制BCD计数器(用来月循环计数),100进制BCD计数(用来年循环计数),故先画出万年历的模块图如下,然后逐模块设计实现。
其模块的电路示意图如下:
(网表文件)
Preset为使能端,clk接在小时模块的co端口,data、month、year分别为日、月、年的输出,co为中国传统节假日的提醒信号端,连接在外面的chuantong端口,tixing就是为闰年的提
醒信号端口,起始的信号都为0当满足条件是则变为1可接在扬声器上。
万年历模块的仿真波形图:
D_in、m_in、y_in分别为日月年的校时输入端口,jiaoshi为校时控制端口
其子模块日的仿真波形图为:
其子模块月的仿真波形图为:
其子模块年的仿真波形图为:
(四)闹钟模块
闹钟模块是由实时的小时模块和万年历模块时钟输入和手动设定的时、日、月、年模块组合成的满足当实时的时间与手动设定的时间相等时,闹钟就会输出一个使能信号使得扬声器发出声音。其模块化的电路示意图如下:
(闹钟网表文件)
Preset为使能端口,高电平有效,hour、data、month、year为实时输入的时钟信号,shi、ri、yue、nian为外界输入的对于闹钟响铃时间的设定端口,music为响铃的使能端口。
(五)过渡模块
过渡模块是为了方便当万年历输出端口要为两个电路框图所使用的时候方便连接顶层文件中的中间信号,从而做到万年历中的时钟信号既可以连接到闹钟模块中,也可以连接到外部模块中显示出来。其模块化电路的示意图如下:
其中preset为使能信号,hour、data、month、year为时钟输入的信号,连接中间信号。Shi、ri、yue、nian为输出的时钟信号用于外部显示的作用。也就是说当输入端输入什么信号的时候,输出端就会输出相同的信号。
(六)顶层模块(dzz模块)
顶层模块是由前面的五个模块共同例化形成的,其模块化的电路示意图如下:
A为时钟信号clk,vcc为接高电平,接在所有的preset端口,当电源连接时,数字之中开始工作,当断电的时候电子时钟不工作,vcc_m接在闹钟的控制端口中,及闹钟的开关,当开关未开时即vcc_m=’0’时闹钟不工作,当为’1’时闹钟正常工作,当闹钟响时调到低电平闹钟也停止工作。Naozhong_out为闹钟工作输出口,runnian为闰年提醒端口,chuantong为中国传统节假日的提醒端口,hour_out、data_out、month_out、year_out为时钟的显示在外部的端口。
电子钟的仿真波形文件如下: