2023年数字日历设计.docx
《2023年数字日历设计.docx》由会员分享,可在线阅读,更多相关《2023年数字日历设计.docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年数字日历设计 第一篇:数字日历设计 XXXXX学院 EDA技术与应用实训报告 数字日历设计 学 号 XX 姓 名 XX 指导老师: xx 题目:数字日历电路的设计 概述 通过EDA项目设计,运用Quartus软件进行数字日历电路的设计,能够实现最基本的日期,时间显示功能,并在此基础上进行相应的功能创新,使设计项目拥有更丰富的功能。1.1设计要求 1.1.1设计任务 用EDA的方法设计一个数字日历 1.1.2性能指标 用EDA实训仪的I/O设备和PLD芯片实现数字日历的设计。 数字日历能够显示年、月、日、时、分和秒。 用EDA实训仪上的8只八段数码管分两屏分别显示年、月、日和时、分、秒
2、,即在确定时间段内显示年、月、日如20230101,然后在另一时间段内显示时、分、秒如00123625,两个时间段能自动倒换。 数字日历具有复位和校准年、月、日、时、分、秒的按钮,但校年和校时同用一个按钮,即在显示年、月、日时用此按钮校年,在显示时、分、秒时则用此按钮校时,依此类推。1.2总体设计基本原理及框图 1.2.1基本原理 首先设计要实现年月日和时分秒的显示,再设计定时和整点报时模块,以及校准模块。此外,还要使其具备星期显示功能,则要设计星期模块。最终,就是将这些底层模块连接起来实现整体功能。那么,就需要限制模块,校准模块,显示限制模块等等。1.2.2总体框图 系统软件设计分析 2.1
3、时分秒计时器模块: 分秒模块程序: module cnt60(clk,clrn,j,q,cout);input clk,clrn,j;output reg q;output reg cout;always (posedge clkj or negedge clrn)begin if(clrn)q=0;else begin if(q=h59)q=0;else q=q+1;if(q=ha)begin q=0;q=q+1;end if(q=h59)cout=1;else cout=0;end end endmodule 小时模块程序: module cnt24(clk,clrn,j,q,cout);
4、input clk,clrn,j;output reg q;output reg cout;always(posedge clkj or negedge clrn)begin if(clrn)q=0;else begin if(q=h23)q=0;else q=q+1;if(q=ha)begin q=0;q=q+1;end if(q=h23)cout=1;else cout=0;end end endmodule 2.2年月日模块 module nyr2023(clrn,clk,jn,jy,jr,qn,qy,qr); input clrn,clk,jn,jy,jr; output qn; /年
5、月日模块 output qy,qr; reg reg reg reg reg qn;qy,qr;clkn,clky;date;clkn1,clkn2,clkn3;initial begin clkn1=1;clkn2=1;clkn3=1;end initial begin qn=h2000;qy=1;qr=1;end always (posedge(clkjr)or negedge clrn) / 日计时模块 begin if(clrn)qr=1; end else begin if(qr=date)qr=1; else qr=qr+1; if(qr=ha)begin qr=0;qr=qr+1
6、;end if(qr=date)clky = 1;else clky = 0;end always (posedge clkyjy or negedge clrn) /月计时模块 begin if(clrn)qy=1; end else begin if(qy=h12)qy=1; else qy=qy+1; if(qy=ha)begin qy=0;qy=qy+1;end if(qy=h12)else clkn = 0;end clkn = 1;always begin case(qy)h01: date=h31; h02: begin if(qn%4=0)&(qn%100!= 0)|(qn%4
7、00=0)date=h29;else date=h28;end h03: date=h31;h04: date=h30;h05: date=h31; h06: date=h30;h07: date=h31;h08: date=h31;h09: date=h30;h10: date=h31;h11: date=h30;h12: date=h31;default :date=h30;endcase end always (posedge(clknjn)or negedge clrn)begin if(clrn)qn=0; else begin if(qn=9)qn=0; else qn=qn+1;
8、 if(qn=9)clkn1=0; else clkn1=1;end end always (posedge clkn1 or negedge clrn)begin if(clrn)qn=0; else begin if(qn=9)qn=0; else qn=qn+1; if(qn=9)clkn2=0; else clkn2=1;end end always (posedge clkn2 or negedge clrn)begin /年计时模块 if(clrn)qn=0; else begin if(qn=9)qn=0; else qn=qn+1; if(qn=9)clkn3=0; else
9、clkn3=1;end end always (posedge clkn3 or negedge clrn) begin if(clrn)qn=2; else if(qn=9)qn=0;end else qn=qn+1; endmodule 2.3限制模块 module contr(clk,k1,k2,k);input clk,k1,k2;output reg k;reg qc;reg rc;always (posedge clk) begin qc=qc+1; if(qc8)rc=0; else rc=1; case(k1,k2) 0:k=rc; 1:k=0; 2:k=1; 3:k=rc;
10、endcase end endmodule 2.4校准模块 module mux_4(k,jm,jf,js,jr,jy,jn,j1,j2,j3);input k,j1,j2,j3;output reg jm,jf,js,jr,jy,jn;always begin if(k=0)jm,jf,js=j1,j2,j3; else jr,jy,jn=j1,j2,j3; end endmodule 2.5星期模块 module xinqishumaguan(clk,qn,qy,qr,z);input clk;input qn;input qy,qr;output reg z;reg y;always b
11、egin if(qn%4=0)&(qn%100!= 0)|(qn%400=0)begin case(qy) h01:y=0; /该月对应数 h02:y=3; h03:y=4; h04:y=0; h05:y=2; h06:y=5; h07:y=0; h08:y=3; h09:y=6; h10:y=1; h11:y=4; h12:y=6; endcase;end else begin case(qy) h01:y=0; h02:y=3; h03:y=3; h04:y=6; h05:y=1; h06:y=4; h07:y=6; h08:y=2; h09:y=5; h10:y=0; h11:y=3;
12、h12:y=5; endcase;end end always if(qn%4=0)&(qn%100!= 0)|(qn%400=0) z=(qn-1+(qn/4)+(qn/400)-(qn/100)%7-1+qr+y)%7;/闰年计算公式 else z=(qn+(qn/4)+(qn/400)-(qn/100)%7-1+qr+y)%7;/平年计算公式 endmodule 2.6报时模块 module baoshi(qs,qf,fLED,qm,off);input off;input qm, qs,qf;output fLED;reg fLED;always begin if(qs=h07&qf=
13、h01)|(qm=0&qf=0) /7:01和整点时彩灯亮起,蜂鸣器响 fLED=1; else fLED=0; if(off=1)fLED=0; / 在随便时刻都可以关掉彩灯亮,蜂鸣器 end endmodule 2.7数码管显示模块 module mux_xianshi_2(k,qm,qf,qs,qr,qy,qn,q,z);input k;input qm,qf,qs,qr,qy;input qn;input z;output reg q;always begin if(k=0)begin q=z; q=0; q=qs,qf,qm;end else q=qn,qy,qr; end endm
14、odule 2.8分频模块 module fenping(clk,newclk);input clk;output reg newclk;reg cnter;always (posedge clk) begin if(cnter20000000)cnter=cnter+1; else cnter=0; if(cnter10000000)newclk=1;else newclk=0; end endmodule 3 系统测试(调试) 3.1 测试仪器与设备 装有quartus软件的计算机,EDA试验箱一台。 3.2 性能指标测试 系统能够完成基础功能即日期时间的计时显示功能,并能实现报时,星期的
15、显示功能。3.2.1软件测试 时分秒仿真: 如仿真所示:可以进行自动时分秒计数,并且在校准时,可以有效的进数。精确的实现时分秒计数功能。 年月日仿真: 仿真出程序可以进行正常的年月日自动计数功能,并且在校准有效时可以进行正确的进数,实现校准功能。 限制模块仿真: 如下图:当k1,k2=0或3时,k会出现前8秒为0,后8秒为1的自动切换;当k1,k2=2时,k显示为1;当k1,k2=1时,k会显示为0。校准模块仿真: 如下图:当k=0时,显示时分秒状态,此时可以对时分秒进行校准;当k=1时,显示年月日状态,此时可以对年月日进行校准。 报时模块仿真: 如图:整点0时0分0秒和7时0分0秒时LED会
16、亮起注:电路设计时是将蜂鸣器和LED并联的,所以是一起工作的,这里只进行一个输出设计,起到整点报时的功能;在设定的闹钟7时1分时,LED工作设计是进行1Hz的闪烁,起到闹钟功能,给off高电平常,关掉闹钟。 星期模块仿真: 如图为显示年月日后对应的星期,在2023年7月2日输出Z显示星期三;在2023年7月2日输出Z显示星期六。 显示模块仿真: 如图:仿真同时给定年月日和时分秒包括输入星期输入,在k=1时只显示年月日;在k=0时只显示星期和时分秒。 整个日历仿真测试: 在k1=0,k2=0和k1=1,k2=1两种状态时显示每隔8秒进行年月日和时分秒的自动切换;在k1=1,k2=0时,只显示年月
17、日,并可以进行有效的校准;在k1=0,k2=1时,只显示年月日,并可以进行有效的校准;当到达整点时蜂鸣器尖端性响起和LED会亮,当到达定时间7时1分时会进行闹铃蜂鸣器尖端性响起和LED会闪烁;off=1时,会关掉闹铃。 3.2.2硬件测试 软件仿真后,查看试验箱手册进行引脚锁定: 将仿真测试好的程序通过计算机下载到试验箱,进行硬件测试: 3.3 结果分析 经过程序设计,软件测试和硬件测试日历能够完全实现预定设计的功能,因此设计胜利完成。波形发生器的设计 设计函数发生器,可以通过两个按钮进行选择输出4个波形锯齿波、三角波、方波和正弦波中的一个。4.1 设计原理框图 如下设计原理图,ipm rom
18、0为锯齿波,ipm rom1为正弦波,ipm rom2为三角波,ipm rom3为方波;inst7为四选一选择模块,s1、s2为选择输入端。 4.2 测试与仿真 4.2.1 ModelSim仿真: 如图为四选一波形选择,仿真在同一截面上:s1、s2为00时,显示锯齿波;s1、s2为01时显示三角波;s1、s2为10时,显示为方波;s1、s2为11时,显示为正弦波。 4.2.2 SignalTap仿真: SignalTap仿真时,需要结合硬件进行仿真,将原理图程序下载到试验箱上,通过锁定好的选择开关s1和s2按键进行波形选择。 s1、s2为00时,显示锯齿波;s1、s2为01时显示三角波;s1、
19、s2为10时,显示为方波;s1、s2为11时,显示为正弦波。实训总结 通过EDA实训,进一步驾驭EDA设计方法和阅历,特别是仿真测试方面,体验到Quartus软件的电路设计上的强大和便利快捷。对于工程项目设计上有特殊大的关心。 对于波形发生器的设计,在设计中会遇到软件操作不熟识,仿真文件加载会出问题,在思索四选一波形,和软件仿真给选择输入端S1、S2凹凸电平常遇到困难,在老师的关心下以上问题得到解决。 在日历设计,基本日期和时间显示时,在上升沿触发向高位进位时,会遇到进位上的错位,日月初始为1,以及分屏显示时间问题等;在功能创新上,由日期换算到对应的星期时,计算公式较为困难,而且在考虑到数码管
20、利用上,将显示时分秒时没有利用到的数码管用来显示星期,充分利用资源;在设计整点报时和闹铃的时候为了简化程序和电路将两个功能模块放到一起。 在实训过程中遇到问题、解决问题,学会找寻解决问题的方法和途径,以及在创新上不断追求更好的看法等等,都让我从中获益匪浅。当然还有团队合作是完成设计的关键,使我获得大量的试验阅历,产生了深厚的爱好。参考文献 江国强EDA技术与应用第4版电子工业出版社,2023 其次篇:教学设计:日历 日历教学设计 王哲河南省南阳市其次十二中学 教学目标: 1.留意朗读,在朗读中梳理文章脉络,品尝哲理式句子的深意。 2.理解文章用具体可感的事物来表现抽象意义的奇异构思。 3.根据
21、课文,延长阅读,以写作为载体培育学生珍惜时间、珍爱生命的思想意识。 教学重点难点: 1.留意朗读,在朗读中梳理文章脉络,品尝哲理式句子的深意。 2.理解文章用具体可感的事物来表现抽象意义的奇异构思。 教学难点: 留意朗读,在朗读中梳理文章脉络,品尝哲理式句子的深意。 教学时数:1课时 教学过程: 一、导入新课 课前播放歌曲时间都去哪儿了同学们,刚刚那首歌中,我感受最的是那句“时间都去哪儿了,还没好好感受年轻就老了,你们有没有同感?所以,很多时候我们宠爱一首歌,并不愿定是因为它多好听,而是歌词写得像自己。今日我们学习当代作家冯骥才先生的文章日历,信任它也能像这首歌一样,引起大家的共鸣。 二、检查
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 数字 日历 设计
限制150内