EDAⅡ实验报告 --多功能数字钟学院专业:学生学号:指导老师:蒋立平交稿时间:2012年3月25日摘要本实验借助于quartusⅡ软件设计一个多功能的数字时钟,具有24小时计时、星期显示、保持、清零、校分校时校星期、整点报时等基本功能,并在此基础上添加了闹钟、音乐闹钟、秒表等附加功能。
同时,留有万年历的接口可以方便的进行扩展。
.利用quartusⅡ进行相应的设计、仿真、调试,最后下载到SmartSOPC实验系统上验证设计的正确性。
关键词:多功能数字时钟,quartusⅡ,计时,星期显示,整点报时,闹钟,秒表ABSTRACTThis experiment is to design a multifunctional digital clock with quartus Ⅱ.The multifunctional digital clock has varities of the functions like 24-hour timer,week,keeping,clearing zero,adjusting time and chime on integral hour .It also include additional functions such as alarm clock,stopwatch and so on.At the sametimes,it can be added calendar.we designed and simulated with quartusⅡ.Finally downloaded it to the experiment platform to test.Key words:multifunctional digital clock,quartusⅡ,time,week,chime on integral hour, alarm clock,stopwatch目录1 ……………………………………………………设计要求2 ……………………………………………………方案论证3 ……………………………………基本计时模块设计原理3.1………………………………………基本计时电路的设计3.1.1……………………………………脉冲发生电路的设计3.1.2…………………………………………计时电路的设计3.2………………………………………………闹钟电路的设计3.2.1…………………………闹钟定时与计时校时校分复用电路3.2.2………………………………………………闹钟定时分清零3.2.3………………………………………………………比较电路3.2.4…………………………………………………硬件电路音乐3.2.5…………………………………………………VHDL音乐电路3.2.6……………………………………………闹钟音乐选择电路3.2.7……………………………………………报时音乐选择电路3.3………………………………………………秒表电路的设计3.3.1…………………………………………………模100计数器3.3.2……………………………………………………………秒表3.4…………………………………………切换模式电路的设计4 ………………………………多功能数字时钟的整体结构5………………………………………程序下载、仿真与调试6………………………………………………实验总结与感想多功能数字钟设计1 设计要求1.1设计一个基本的计时、计星期的数字时钟1.2 具体设计要求如下:1.2.1能够进行正常的星期、时、分、秒的计时功能;1.2.2 由七个数码管显示,从左到右分别为时十位、时个位、分十位、分个位、秒十位、秒个位、星期;星期为1、2、3、4、5、6、8来表示周一到周日;1.2.3 计时电路的开关分配(1)k1是计时电路的使能开关(k1=0正常计时,k1=1时钟保持);(2)k2是计时电路的清零/秒表清零/闹钟定时清零复用开关(在不同的模式显示下,k2=0时正常计,k2=1时清零);(3)k3是计时电路的校分/闹钟电路定分复用开关(k3=0正常计时,k3=1进行校分);(4)k4是计时电路的校时/闹钟电路定时复用开关(k4=0正常计时,k4=1进行校时);(5)k5是计时电路的校星期开关(k5=正常计时,k5=1进行校星期);(6)k6为闹钟开关,k7、k8是基本计时电路、闹钟、秒表的显示选择开关(k8k7=00显示基本计时模式;k8k7=01显示闹钟,但闹钟的开关k6=1时闹钟才进入闹钟模式,即k7k8 k6=011可以进行闹钟的定时,在这个显示下闹钟的音乐是《欢乐颂》,切换到其他的显示(且k6=1)如计时和秒表时闹钟的音乐就是《友谊地久天长》;k8k7=10是秒表模式,其中k6k7 k8=100秒表正常计时,k6k7k8=101秒表保持;k7k8=11是万年历模式,留做扩展时使用);1.2.4整点报时功能(当时钟计到59分53秒、55秒、57秒时报时频率为500hz,59秒报时频率为1Khz);1.2.5闹钟及音乐闹钟功能k6k7=01X闹钟模式中可以进行定时和音乐切换,本系统中有两首音乐,一首是通过原理图实现的,另一首是通过VHDL语言实现的;1.2.6秒表功能秒表由分十位、分个位、秒十位、秒个位、分秒十位、分秒个位组成,分秒为模100的计数器工作于100hz频率,秒位和分位均为模60的计数器;1.2.7万年历功能由于时间问题并未将万年历实现,但是当时在进行电路设计时就考虑到要预留出必要的接口,方便以后的扩展。
2 方案论证多功能数字时钟的整体框图如图由脉冲发生电路产生数字钟所需的各种频率。
根据要求设计出基本计时、秒表和闹钟,各部分通过模式选择开关进行切换。
其中,基本计时部分设计校分校时保持、校星期、报时和清零等电路。
秒表设计清零和保持电路。
闹钟设计定时、音乐电路。
最后报时、音乐闹钟电路通过蜂鸣器输出,基本计时、秒表、闹钟电路在数码管动态显示。
2.1基本计时电路原理通过分频电路来构成脉冲发生电路,将实验箱48Mhz分成基本计时电路所需的各种脉冲。
基本计时电路由模60、模24和模7计数器组成。
由脉冲发生器产- 2 -生1hz的信号来计时。
报时电路检测计时电路的小时、分钟,当时间为59分53秒、55秒、57秒时以500hz的频率驱动蜂鸣器,59秒时以1Khz的频率驱动蜂鸣器。
时、分、秒的十位和个位、星期通过译码显示电路动态显示。
用校时校分保持电路、校星期电路和清零电路来控制基本计时电路。
2.2秒表电路原理脉冲发生电路为秒表电路提供100hz的频率以驱动其分秒位。
秒表由模100计数器和模60计数器组成分秒位、秒位和分位。
用清零、保持电路来控制秒表电路。
2.3闹钟电路原理脉冲发生电路提供闹钟电路所需的各种频率。
闹钟电路由模60计数器和模2.4计数器组成分位和时位。
通过闹钟里的比较器电路比较设定的时间和计时电路里的当前时间是否相同来决定是否触发音乐电路使得蜂鸣器响。
3 数字时钟子模块的设计3.1 基本计时电路的设计3.1.1脉冲发生电路的设计通过分频电路将实验箱的48Mhz分成1hz(为基本计时电路提供时钟),2hz 快速校星期、校时、校分,500hz、1Khz为报时电路提供脉冲。
(1)2分频电路由D触发器来实现2分频电路仿真结果:- 3 -(2)3分频电路由74160构成模3计数器实现3分频电路仿真结果:(3)8分频电路2分频电路进行封装:由3个2分频电路级联实现8分频电路- 4 -- 5 -仿真结果:(4)24分频电路由3分频和8分频电路级联实现24分频电路仿真结果:(5)10分频电路由74160构成模10计数器实现10分频,0、1、2、3、4输出1,5、6、7、8、9输出0,实现1:1的占空比。
卡诺图为:所得表达式为:仿真结果:(6)1000分频电路由3个10分频的电路级联实现1000分频的电路仿真结果:输入周期为20ps输出周期为20ns,1000分频,占空比1:1- 6 -(7)脉冲发生电路仿真结果:由于仿真周期的限制,只用2ps代替48Mhz,图中读出1Khz的周期96ns,500hz为192ns。
脉冲发生电路进行封装:3.1.2计时电路的设计(1)模60计数器- 7 -模60计数器由两片74160组成,前面一片为秒或分的个位,后面一片为秒或分的十位。
74160为模10计数器,从0000->1001。
后面一片通过在0101置数实现从0000->0101。
仿真结果:qh、ql分别表示模60计数器的十位和个位,在59处有个进位脉冲模60计数器进行封装:(2)模24计数器模24计数器由两片74160组成,前后两片分别表示个位和十位。
并且通过qh[2]、ql[2]、ql[1]、en相与非完成置数和进位。
仿真结果:qh、ql分别表示模24的十位和个位,在23处有个进位脉冲模24计数器进行封装:(3)模8计数器模8计数器由一片74160组成,用了两次置数分别是在0110处置成1000,1000处置成0001。
卡诺图为:所得表达式为: QD QCQB仿真结果:模8计数器进行封装:(4)星期计时器星期计时器由模8计数器组成仿真结果:xq4、xq3、xq2、xq1分别表示从高位到低位,可以看出图中有两个周期,从0001到0110,再跳到1000,再跳回0001.(5)报时电路仿真结果:fh3、fh1、fl4、fl1、mh3、mh1、ml分别表示分十位第2位,分十位的第4位,分个位的第1位,分个位的第4位,秒十位的第2位,秒十位的第4位,秒个位,图中表示59分59秒,报时输出确是跟着1Khz同步。
(6)计时电路模60计数器分别表示秒位和分位,模24计数器表示十位计数器仿真结果:xq 、sh 、sl 、fh 、fl 、mh 、ml 分别表示星期、时十位、时个位、分十位、分个位、秒十位、秒个位。
baoshi 表示报时信号。
为了能够看到23:59:59,500hz 、1Khz 设为1hz 的1倍和2倍,但不影响仿真的结果。
可以看出计时是正确的,同时在59分53秒、55秒、57秒为500hz 报时,59秒为1Khz 报时。
计时电路进行封装:(7)译码显示电路DIG0DIG1DIG2DIG3DIG4DIG5DIG6DIG7显示电路由数据选择器74151、译码器74138、显示译码器7447、计数器和数码显示管组成。
因为每一位数需要四位二进制码来表示,所以需要选用四片74151数据选择器。
为了实现动态显示则必需有一个模7计数器,为了方便后面的扩展。
不妨用模8计数器亦不会影响计时电路的显示。
故选择74161作为计数器,低三位作为数据选择器和74138译码器的输入。