




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、总体设计方案1.设计原理及思路1.1原理分析Eour_Adl F64Hz Im(ldF 皿F51z图1-1数字钟程序总体框图数字钟实际上就是对1Hz的频率进行计数的计数电路。振荡器产生 32768Hz的时钟信 号,经过分频器后产生512Hz、64Hz 2Hz的脉冲信号,秒计数器计满 60后,触发分计数 器,分计数器计满60后,触发计时电路,当计满24小时后开始下一轮计数。如果计数的 起始时间与设想的有误差,可以通过调时、调分按键或复位键进行手动调时。计数器的输 出经过6选1多路选择器后以动态扫描方式送到 LED数码管输出。由框图可知程序模块可分为消抖模块、2分频、或门、6进制计数器、10进制计
2、数器、 24进制计数器6选1多路选择器、七段译码器、位选端控制器组成。实现思路及具体实现 过程将在第二部分详细介绍。1.2数字钟的电路结构数字钟由电源电路、CPLD电路、JATG下载接口、振荡器、分频器、显示器等部分组 成。1.2.1电源电路LEEC图1-2电源电路电源电路通过USE接口输入5V电压,经三端稳压器输出3.3V工作电压用于电路中各 元件的用电需求。1.2.2 JATG 下载接口图1-3 JATG下载接口通过USB-blaster将JATG接口与电脑相连,即可将编写好程序代码下载到开发板上 进行功能验证。1.2.3 CPLD 电路该CPLD电路通过 MAX3000A EPM3064
3、ALC44-1实现各模块的功能验证和综合。在该 芯片中有64个宏单元,44个可用引脚,载入程序后断电不消失,再次通电后仍执行上次 载入的程序。编写的 VerilogHDL模块利用其中提供的触发器,逻辑门电路实现所编写程 序的逻辑功能。从原理图可看出芯片通过制定接口与电源电路、振荡电路、JATG下载接口及译码管相连综合实现其功能。三个按键电路图分别表示RESET复位键)、AD_Hour调时按键)、AD_Min(调分按键)。三个按键通过指定接口接入芯片通过程序中的消抖模块为计 数器提供调时、调分、复位脉冲。- 4 -图1-4 CPLD电路1.2.4振荡和分频电路图1-5振荡和分频电路振荡和分频电路
4、由晶振产生 32768Hz的脉冲通过MC74WC40芯片分频,产生F512HzF64Hz F2Hz的脉冲信号,用于电路的计时脉冲和位选信号的产生1.2.5显示器F512HZ该数字钟以动态扫描方式输出。计数器把输出信号送到六选一多路选择器中的信号脉冲通过六进制计数器一个三位二进制数,把它作为六选一多路选择器和位选端控 制器的输入。六选一多路选择器根据要求把输出信号给到译码器。位选端控制器产生一个 六位二进制数决定哪个译码管亮。由于扫描频率超出人眼识别能力,所以表面上看每个译 码管是同时亮的。- 17 -二各模块说明2.1消抖模块2.1.1消抖模块原理按键开关是各种电子设备不可或缺的人机接口。在实
5、际应用中,很大一部分的按键是 机械按键。在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按 键的开关,就必须对按键的抖动进行处理。为了消除机械开关的抖动,可在开关与输出端 点之间接人一个RS触发器,就能使输出端产生很清晰的阶跃信号。2.1.2消抖模块程序代码module xiaodou(BJ_CLK,BUTTON_IN,BUTTON_OUT);in put BJ_CLK;in put BUTTON_IN;output BUTTON_OUT;reg BUTTON_IN_Q, BUTTON_IN_2Q, BUTTON_IN_3Q; always (posedge BJ_CLK)b
6、egi nBUTTON_IN_Q = BUTTON_IN;BUTTON_IN_2Q = BUTTON_IN_Q;BUTTON_IN_3Q = BUTTON_IN_2Q;endwire BUTTON_OUT = BUTTON_IN_2Q | BUTTON_IN_3Q; en dmodule仿真波形:2.2或门2.2.1或门原理对于计时和计分电路既需要低位的进位信号,又需要手动按键调时,所以需要将两个信号通过或门后给到计时器和计分器。对于或门,可用连续赋值语句C=A+B实现。2.2.2或门程序代码module huo(i n_1,i n_2,huo_out);in put in _1,i n_2;
7、output huo_out;assig n huo_out=in_1+in_2;en dmodule仿真波形Simuhtion WaveformsSimuLati on mode: FunctionalMaster Time Bar.20.0 ns 卜| Pointer0 psInterval:20 0 ns SlarLNam 00亘1V2utinlin_Value fit20. 0 its0A 0丸0pm 10. 0 ns 20. 0 ns 30. 0 nm 40. 0 ns 50. 0 ns 60. 0 nm TO. FFIIIII20.0 nsJ2.3六进制计数器(不带进位端)2.3.
8、1六进制计数器(不带进位端)原理该六进制计数器没有进位端,用于六选一多路选择器的输入,控制其输出计时器的计 时信号。同时它也作为位选端控制器的输入,决定哪个数码管亮。六进制计数器采用时序逻辑电路,从0开始计时到5后归零,重新进行开始计时。2.3.2六进制计数器(不带进位端)程序代码module liuji nzhi(clk512,cout);output cout;in put clk512;reg2:0 cout;always (posedge clk512)begi nif(clk512)beg inif(cout=3b101)cout=0;elsecout=cout+3b1;end el
9、se cout=cout; end en dmodule仿真波形Simulation WaveformsSimulati 皿 eq匪;Functi anal15.075 ns * * Pointer:1.34 ns Inleival:-13L74 ns Slrl:En惨 Master Time Bar:J ps40. 0 ns15.075 nsJ00. 0 IkS120.0 nsL60.0 m200 0 heTruuuuuuinnmuuuinrLruLrurnirn2.4 2分频241 2分频原理该模块用于产生秒计数脉冲。2分频即在每一个输入脉冲的上升沿(或下降沿)取反即可得到。2.4.2 2
10、 分频程序代码module twofenpin (clk2,clk_out);output clk_out;in put clk2;reg clk_out;always (posedge clk2)begi nclk_out=clk_out;enden dmodule仿真波形:Simuldtiion WaveforrisSimulationi mode: Functional-9.32 阳 Start:WaiFieValue :it15.09 ns10clkA 1elA 0Master Time Bar15.075 ns * * Pointer:5.76 ns: Interval:SOI g
11、niSO. 9 nxJ_II_II_II_II2.5十进制计数器2.5.1十进制计数器原理十进制计数器作为秒计数器和分计数器的低位,具有进位输出端和异步复位端,复位 信号为高电平有效。它要求从0到9计数,到九清零重新计数。采用时序逻辑电路。设计 时应考虑计数器能够进行级联。2.5.2十进制计数器程序代码module ji10(clk_1,reset,ji nwei_1,d1);in put clk_1,reset; output3:0 d1;output jin wei_1;reg3:0 d1;reg jin wei_1;always(posedge clk_1,posedge reset)
12、begi n if(reset) begi n d1=4b0;jin wei_1=1b0;endelse if(d14d9) beg in d1=d1+4b1; jin wei_1=1b0; endelse if(d1=4d9) beg in d1=4b0;jin wei_1=1b1; endenden dmodule仿真波形:SFmulatioH WaveformsSimxilo.ti cn mode : Funct. 1Value i15. 063 ps20 940 . Qns60. Ip meo. g100.(0Name.15.匚r5 ik-= JA0elk_lA理J1-1JL11JLJ
13、Li11 L1 L1l211=1 dlA 2:OW ri :xX *1X LSIJC闻XcBE-diA 0-dl21A 0J-L-JiriiA 1LL at toA 0lLJn1L-10电.eilA 01LA 0AMaster Time Bar:15.075 ns | | Pointe?11 51 n 霉Interval:-3.5? ns首怙t:End2.6六进制计数器(含进位端)2.6.1六进制计数器(含进位端)原理该六进制计数器作为秒计数器和分计数器的高位,具有进位输出端和异步复位端,复 位信号为高电平有效。它要求从 0到5计数,到5清零重新计数。采用时序逻辑电路。设 计时应考虑计数器能够
14、进行级联。2.6.2六进制计数器(含进位端)程序代码module Iiu(reset,clk_2,d2,ji nwei_2);output d2,ji nwei_2;in put reset,clk_2;reg2:0 d2;reg jin wei_2;always(posedge clk_2 or posedge reset) begi n if(reset) begi n d2=3b0;jin wei_2=1b0;else if(d2=3d5) beg in d2=3b0;jin wei_2=1b1; endelsebeg in d2=d2+3b1; jin wei_2=1b0;endend
15、en dmodule仿真波形:endMaster Time Bar:15075 ns* Podter:1530 psInterval:-14.5 nsStait0 psEnd:AVtlu* f IS 06J10- 0 ns20. 0 nsT30. D nsI40 9 M50,9 斑60.0 HE70r 0 IiSBD.C茨15.01r5 JXLSclk_2A 1-1-ir-1-1I曰d2A 2:Ho tn ;创 *3】r4X)(0)(叮)J-d2A 011-d2lk 1Ld20A 0rT.i_2A 0MEresetA 01111IIIl_IU . -2.7时计数器2.7.1时计数器原理该时计数
16、器实际是一个 24进制计数器,具有异步复位端,复位信号为高电平有效 它要求从0到23计数,到23清零重新计数。采用时序逻辑电路。dw_shi )beg in if(reset) beg in d5=4b0; d6=2b0; coun t=5b0;2.7.2时计数器程序代码module shi(reset,d5,d6,dw_shi);output d5,d6;in put reset,dw_shi;reg3:0 d5;reg1:0 d6;reg4:0 count;always(posedge reset or posedgeend beg in d5=4b0; d6=2b0; coun t=5b
17、0; end else beg inelse if(cou nt=5d23)coun t=co un t+5b1;d5=cou nt%5d10;d6=cou nt/5d10;endenden dmodule仿真波形:irrnjlation Waveforms15.075 ns 11 Pointer.1245 nsInterval.2.63 nsStartA英Value15-OE曰A :i-d53h i* 2-d52A I-d51Aft4Lds【oh i45El曲A l口 口-d51A l 口07LK in18d*_shiAf-9resttA i住 Masts Tine Ba:ps斗HQ ns1
18、5.0T5 m00 0 ns120.0 ns160. 0 n?200 0 皿, . ” _ - -01ruaa a a an RrLrLrLrLrLrmnSimulAtion fnod电:Functionil2.8六选一多路选择器2.8.1六选一多路选择器原理六选一多路选择器通过六进制计数器的输出信号控制实现了对计数器产生的脉冲信 号的选择性输出。加入此模块是为了实现数码管的动态扫描输出。六选一多路选择器的输入是一个三位二进制数,输出是计时器、计分器、计秒器的高 位或低位。in put1:0d6; output3:0cout; reg3:0cout; always(c in) case(ci
19、n)2.8.2六选一多路选择器程序代码moduleliutoyi(ci n, d1,d2,d3,d4,d5,d6,cout); in put2:0c in;in put3:0d1,d3,d5;in put2:0d2,d4;3b000:cout=d1;3b001:cout=d2;3b010:cout=d3;3b011:cout=d4;3b100:cout=d5; 3b101:cout=d6; endcase en dmodule仿真波形:Simulation Waveforms15l(J75 ns635 psInterval:-14.44 nsStat:0 psEnd:0 psMaster Ti
20、me Barpx 20.0 m 40. g ns 8Q. D 60- 0 its 100. p nsJ20. 0 m 14D.0 ns 160. p its J6Q. |15.075 iuJnL_n_nI 0ZXDRG0XD2X0nrL1rn i ! n0S ittiol i du. a de Functi pital2.9位选端控制器2.9.1位选端控制器原理该数字钟采用动态扫描方式输出,数码管每一时刻只有一个在亮,因为切换频率超过 人眼识别能力,所以可以认为它们是同时亮的。位选端控制器通过六进制计数器的输出决 定哪一个数码管亮。位选端控制器实际是一个3-6译码器。当输入是三位2进制数时,输
21、出为6位2进制 数。2.9.2位选端控制器程序代码module weixua n(cin, v);output v;in put3:0 c in;reg5:0 v;always(ci n)case(c in)3b000:v=6b111110;3b001:v=6b111101;3b010:v=6b111011;3b011:v=6b110111;3b100:v=6b101111;3b101:v=6b011111; default:v=6b111111; endcase endmodule2.10 七段译码器2.10.1 七段译码器原理七段译码器是对输入的信号对应的位置进行编码,使其能显示出输入的数
22、的值。本文 所介绍的译码器将小数点 dp 通过位拼接符将其与计数器的计数值组合,然后一同给到译 码管,便于输出。计时器低位的小数点要求常亮,即dp=1;计分器的低位小数点要求以1Hz的频率闪烁,可以让它以2分频的输出为值。2.10.2 七段译码器程序代码module yimaguan(cin_7,cout_7,xuan_tong, clk_dp);input3:0 cin_7;output cout_7;reg dpy;input clk_dp;input2:0 xuan_tong;reg7:0 cout_7; always(xuan_tong) case(xuan_tong) 3b100:d
23、py=1b1;3b010:dpy=clk_dp;default:dpy=1b0;endcasealways(cin_7)case(cin_7)4b0000:cout_7=dpy,7b0111111;4b0001:cout_7=dpy,7b0000110;4b0010:cout_7=dpy,7b1011011;4b0011:cout_7=dpy,7b1001111;4b0100:cout_7=dpy,7b1100110;4b0101:cout_7=dpy,7b1101101;4b0110:cout_7=dpy,7b1111101;4b0111:cout_7=dpy,7b0000111;4b100
24、0:cout_7=dpy,7b1111111;4b1001:cout_7=dpy,7b1101111; endcaseendmodule2.11 综合模块2.11.1 综合模块原理综合模块采用模块例化的方法实现。2.11.2 综合模块程序代码module zonghe(reset,hour_add,f64,min_add,f2,f512,z_out,z_wx); input reset,hour_add,f64,min_add,f2,f512;output 7:0 z_out;output5:0 z_wx;wire f_2,x1,x2,m1,f1,j1,j2,j3,j4,huo1,huo2;w
25、ire3:0 dd1,dd3,dd5,qi1;wire2:0 dd2,dd4,six1;wire1:0 dd6;xiaodou xd1(.BJ_CLK(f64),.BUTTON_IN(min_add),.BUTTON_OUT(x1);xiaodou xd2(.BJ_CLK(f64),.BUTTON_IN(hour_add),.BUTTON_OUT(x2);twofenpin tfp1(.clk2(f2),.clk_out(f_2);ji10 ji101(.clk_1(f_2),.reset(reset),.jinwei_1(j1),.d1(dd1);liu l1(.reset(reset),.clk_2(j1),.d2(dd2),.jinwei_2(j2);huo h1(.in_1(x1),.in_2(j2),.huo_out(huo1);ji10 ji102(.clk_1(huo1),.reset(reset),.jinwei_1(j3),.d1(dd3);liu l2(.reset(reset),.clk_2(j3),.d2(dd4),.jinwei_2(j4);huo h2(.in_1(x2),.in_2(j4),.huo_out(huo2);shi sh1(.reset(reset),.d5(dd5),.d6(dd6),.dw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 球馆施工改造方案(3篇)
- 公司对外舆情管理制度
- 车间屋顶通风方案(3篇)
- 培训机构落地管理制度
- 小学环境治理管理制度
- 线路改造增效方案(3篇)
- 房屋征收应急管理制度
- 工地防汛物资管理制度
- 超市工具采购方案(3篇)
- 应急食品组装方案(3篇)
- 烟台苹果行业分析
- 小学《信息技术》考试试题及答案(笔试)
- 美丽中国我是先行者课件
- 纠正预防措施报告(SCAR)
- 1例胃癌患者的个案护理
- 2022版义务教育(信息科技)课程标准(附课标解读)
- 死亡登记培训课件
- 八年级数学思政融合课教学设计勾股定理
- Python数据分析挖掘与可视化第2版董付国课后参考答案
- 信息安全专业大学生职业生涯规划书
- 建筑物沉降监测应急预案
评论
0/150
提交评论