数字逻辑数字时钟课程设计报告
数字逻辑实验报告(数字时钟设计)

数字逻辑实验报告实验三、综合实验电路一、实验目的:通过一个综合性实验项目的设计与实现,进一步加深理论教学与实验软硬件平台的实践训练,为设计性实验做好充分准备。
二、实验原理:根据要求的简单设计性的电路设计实验,应用基本器件与MSI按照电路设计步骤搭建出初级电路;设计型、综合型的较复杂实验电路三、实验设备与器件:主机与实验箱四、实验内容:(1)实验任务:根据所学习的器件,按照电路开发步骤搭建一个时钟,要求实现的基本功能有计时功能、校对时间功能、整点报时、秒表等功能。
(2)实验任务分析:完成该数字时钟,采用同步时序电路,对于计时的的功能,由于时间的秒分时的进位分别是60、60、24,所以可以应用74LS163计数器分别设计2个模60计数器以及一个模24计数器,那么需要有7个秒输出,7个分输出,6个小时的输出;对于校对时间的功能,由74LS163的特性可知,当该器件处于工作状态时,每来一个CLK脉冲,计数值加1,所以可以手动控制给CLK脉冲,来进行时间的校对;对于整点报时功能,可以采用一个比较电路,当时间的分秒数值全部为零时,那么此时可以接通报时装置,可以在电路中设置报时的的时间;对于秒表功能,有两种方案,可以单独重新设计一个秒表装置,采用模100计数器以及两个模60计数器,可以进行优化,使用原先的两个模60计数器,这样可以简化电路,是电路简洁。
(3)实验设计流程:(4)输入输出表:(5)各个功能模块的实现:A、计时功能模块的实现(电路图及说明)秒表部分及说明说明:该部分是实现功能正常计时中的秒部分的计时工作。
如图所示,图中采用两个74LS163来做一个模60计时器,计数的起止范围是0~59,(第一个74LS163采用模10计数,起止为0~9,第二个74LS163的计数起止范围是0~5),两个器件采用级联方式,用预置位方法实现跳转;该部分有7个秒输出,接到BCD译码显示器。
注解:第一个163器件:LDN端统一接到清零端ABCD端接地ENP端接到VCC高电平ENT接高电平VCC第二个163器件:LDN端统一接到清零端ABCD端接地ENP端接到VCC高电平ENT接高电平第一个163的预置位段分钟部分以及说明:说明:该部分是实现功能正常计时中的分部分的计时工作。
数字逻辑课程设计报告 电子钟

数字逻辑课程设计报告电子钟数字逻辑课程设计报告-电子钟数字逻辑电路―课程设计报告数字逻辑课程设计报告-----多功能数字钟的同时实现一.设计目的:1.学会应用领域数字系统设计方法展开电路设计。
2.进一步提高maxplusii软件开发应用领域能力。
3.培育学生综合实验能力。
二.实验仪器与器材:1、开发软件maxplusii软件2、微机3、isp实验板se_3型isp数字实验开发系统4、打印机三.实验任务及建议设计一个多功能数字钟:1.能进行正常的时、分、秒计时功能。
1)用m6m5展开24十进制小时的表明;2)用m4m3展开60十进制分的表明;3)用m2m1进行60进制秒的显示。
2.利用按键实现“校时”、“校分”和“秒清单”功能。
1)按下sa键时,计时器快速递减,按24小时循环,并且计满23时返回00。
2)按下sb键时,计时器迅速递增,按60小时循环,并且计满59时回到00,但不向时进位。
3)按下sc,秒清零。
建议按下“sa”或“sb”均不能产生数字LBP(“sa”、“sb”按键就是存有晃动的,必须对“sa”“sb”展开窭晃动处置。
)3.能够利用实验板上的扬声器并作整点报时功能。
1)当计时到达59分50秒时开始报时,在59分50、52、54、56、58秒鸣叫,鸣叫声频为500hz。
2)抵达59分后60秒时为最后一声整点报时。
整点报时的频率为1kz。
4.能够惹出时1)闹时的最小时间间隙为10分钟。
2)惹出时长度为1分钟。
3)惹出时声响就是单频的。
5.用maxplusii软件设计符合以上功能要求的多功能数字钟,并用层次化设计方法设计该电路。
1)通过语言同时实现各模块的功能,然后再图画出高电路的顶层图。
2)消抖电路可以通过设计一个d触发器来实现,sa、sb、sc等为包含抖动的诸如信号,而电路的输出则是一个边沿整齐的输出信号。
3)其他的计时功能、表明功能、多路挑选功能、分频功能、报时功能和惹出时等功能模块都用vhdl语言实现。
数字电路课程设计数字时钟报告

数字电路课程设计数字时钟报告数字电路课程设计数字时钟介绍•数字电路课程设计是一门重要的电子工程课程,旨在培养学生在数字电路设计领域的能力和技巧。
•数字时钟是数字电路设计项目中一个典型的案例,可以通过该项目加深对数字电路原理和实践的理解。
设计目标•开发一个功能完备、性能稳定的数字时钟电路。
•通过数字时钟项目,培养学生的数字电路设计能力、团队合作能力和解决问题的能力。
设计步骤1.分析需求:确定数字时钟的功能和性能要求,例如显示精度、时钟模式、闹钟功能等。
2.确定器件:根据设计需求,选择适合的数字电路和组件,如时钟发生器、计数器、显示器等。
3.设计电路原理图:根据需求和选择的器件,绘制数字时钟的电路原理图。
4.进行逻辑设计:使用数字逻辑门和触发器等器件,实现数字时钟的各个功能模块。
5.进行测试:将电路搭建并连接,对数字时钟进行功能和性能测试。
6.优化和修改:根据测试结果,优化和修改电路设计,确保数字时钟的稳定性和可靠性。
7.编写报告:总结设计过程,记录问题和解决方案,描述数字时钟的设计和实现。
设计要点•确保数字时钟的显示精度和稳定性,避免数字闪烁或误差较大。
•采用合适的计数器和时钟发生器,确保数字时钟能准确计时和显示时间。
•考虑数字时钟的功耗和可靠性,选择适合的电源和元器件。
•在设计中考虑数字时钟的扩展性和功能性,如增加闹钟、温湿度显示等功能。
结论•数字时钟设计是数字电路课程中有趣而实用的项目,能够培养学生的实践能力和创造力。
•通过数字时钟项目,学生可以通过实践掌握数字电路设计的方法和技巧,提高解决问题的能力和团队协作能力。
•数字时钟设计也是一个不断优化和改进的过程,通过反复测试和修改,可以得到一个性能稳定、功能完备的数字时钟电路。
数字时钟(数字逻辑)课程设计报告

数字时钟班级:学号:姓名:指导老师:提交日期:2011年1月8日一.系统简介:使用VHDL语言编写程序完成数字时钟的功能设计,利用软件进行编译和仿真,最后利用实验箱实现系统。
二.功能简介:完成时钟的计时、调整,整点报时等基础功能,完成闹钟的设置、开启和关闭功能,整点报时的开启和关闭功能,完成日期设定和显示功能。
三.总体结构逻辑框图:四.状态图:五.各模块电路图及程序:整体电路连接图:1.总控制模块:时钟脉冲分频元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc4_1clkdmux isport(clk:in std_logic;clk1,clk4,clk512:out std_logic);end dc4_1clkdmux;architecture clkdmux of dc4_1clkdmux is signal c1:std_logic_vector(9 downto 0); beginprocess (clk)beginif clk'event and clk='1'thenc1<=c1+1;end if;clk1<=c1(9);clk4<=c1(7);clk512<=c1(0);end process;end clkdmux;模式控制元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc4_2mode isport(clk4,bt_m:in std_logic;mode:out std_logic_vector(1 downto 0);cr1,cr2:out std_logic);end dc4_2mode;architecture mode of dc4_2mode issignal modx:std_logic_vector(1 downto 0); signal c1,c2:std_logic;beginprocess (clk4,bt_m)beginif clk4'event and clk4='1' thenif bt_m='1' thenmodx<=modx+1;c2<='1';else c2<='0';end if;end if;if modx="00" then c1<='1';else c1<='0';end if;mode<=modx;cr1<=c1;cr2<=c2;end process;end mode;调节项目控制元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc4_2mode isport(clk4,bt_m:in std_logic;mode:out std_logic_vector(1 downto 0); cr1,cr2:out std_logic);end dc4_2mode;architecture mode of dc4_2mode issignal modx:std_logic_vector(1 downto 0); signal c1,c2:std_logic;beginprocess (clk4,bt_m)beginif clk4'event and clk4='1' thenif bt_m='1' thenmodx<=modx+1;c2<='1';else c2<='0';end if;end if;if modx="00" then c1<='1';else c1<='0';end if;mode<=modx;cr1<=c1;cr2<=c2;end process;end mode;数码管显示元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc4_4sel isport(clk:in std_logic;sel:out std_logic_vector(2 downto 0));end dc4_4sel;architecture sel of dc4_4sel issignal selx:std_logic_vector(2 downto 0); beginprocess (clk)beginif clk'event and clk='1'thenselx<=selx+1;end if;end process;sel<=selx;end sel;模块波形图:2.时钟模块:时钟秒调节元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_1second isport(clk1,clk4,rest,bt_a:in std_logic;mode,set:in std_logic_vector(1 downto 0);sco,mcen:out std_logic;clks0,clks1:out std_logic_vector(3 downto 0)); end dc3_1second;architecture second of dc3_1second issignal s0,s1:std_logic_vector(3 downto 0);signal co,rco,cr:std_logic;beginprocess (clk1,clk4,rest,bt_a,mode,set)beginif clk4'event and clk4='1'thenif mode="01" thenif rest='1' thencr<='1';elsif set="00" and bt_a='1'thencr<='1';else cr<='0';end if;end if;end if;if cr='1'thens0<="0000";s1<="0000";elsif clk1'event and clk1='1' thenif s0="1001" and s1="0101" thenelsif s0="1001" thens0<="0000";s1<=s1+1;co<='0';else s0<=s0+1;co<='0';end if;end if;if mode="01" and set="01" and bt_a='1' then rco<=clk4;mcen<='0';else rco<=co;mcen<='1';end if;end process;clks0<=s0;clks1<=s1;sco<=rco;end second;时钟分调节元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_1minite isport(sco,mcen,clk4,rest,bt_a:in std_logic;mode,set:in std_logic_vector(1 downto 0);mco,hcen:out std_logic;clkm0,clkm1:out std_logic_vector(3 downto 0)); end dc3_1minite;architecture minite of dc3_1minite issignal m0,m1:std_logic_vector(3 downto 0);signal rco,co,cr:std_logic;beginprocess (sco,mcen,clk4,rest,bt_a,mode,set)beginif mode="01" and rest='1' thencr<=rest;else cr<='0';end if;if cr='1' thenm0<="0000";m1<="0000";elsif sco'event and sco='1' thenif m0="1001" and m1="0101"thenm0<="0000";m1<="0000";if mcen='1' then co<='1';else co<='0';end if;elsif m0="1001" thenelsem0<=m0+1;co<='0';end if;end if;if mode="01" and set="10" and bt_a='1' then rco<=clk4;hcen<='0';else rco<=co;hcen<='1';end if;end process;clkm0<=m0;clkm1<=m1;mco<=rco;end minite;时钟小时调节元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_1hour isport(mco,hcen,clk4,rest,bt_a:in std_logic;mode,set:in std_logic_vector(1 downto 0);hco,dcen:out std_logic;clkh0,clkh1:out std_logic_vector(3 downto 0)); end dc3_1hour;architecture hour of dc3_1hour issignal h0,h1:std_logic_vector(3 downto 0);signal rco,co,cr:std_logic;beginprocess (mco,hcen,clk4,rest,bt_a,mode,set)beginif mode="01" and rest='1' thencr<=rest;else cr<='0';end if;if cr='1' thenh0<="0000";h1<="0000";elsif mco'event and mco='1' thenif h0="1001" and h1="0101"thenh0<="0000";h1<="0000";if hcen='1' then co<='1';else co<='0';end if;elsif h0="1001" thenh0<="0000";h1<=h1+1;co<='0';elseh0<=h0+1;co<='0';end if;end if;if mode="11" and set="00" and bt_a='1' then rco<=clk4;dcen<='0';else rco<=co;dcen<='1';end if;end process;clkh0<=h0;clkh1<=h1;hco<=rco;end hour;时钟模块波形图:3.闹钟模块:闹钟分调节元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_2alminite isport(clk4,bt_a:in std_logic;mode,set:in std_logic_vector(1 downto 0);alm0,alm1:out std_logic_vector(3 downto 0)); end dc3_2alminite;architecture alarm of dc3_2alminite issignal m0,m1:std_logic_vector(3 downto 0);signal co:std_logic;beginprocess (clk4,bt_a,mode,set)beginif clk4'event and clk4='1'thenif mode="10"and set="00" and bt_a='1'then if m0="1001"and m1="0101"thenm0<="0000";m1<="0000";elsif m0="1001" thenm0<="0000";m1<=m1+1;elsem0<=m0+1;end if;end if;end if;end process;alm0<=m0;alm1<=m1;end alarm;闹钟小时调节元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_2alhour isport(clk4,bt_a:in std_logic;mode,set:in std_logic_vector(1 downto 0);alh0,alh1:out std_logic_vector(3 downto 0)); end dc3_2alhour;architecture alhour of dc3_2alhour issignal h0,h1:std_logic_vector(3 downto 0); beginprocess (clk4,bt_a,mode,set)beginif clk4'event and clk4='1'thenif mode="10"and set="01" and bt_a='1'thenif h0="0010"and h1="0100"thenh0<="0000";h1<="0000";elsif h0="1001" thenh0<="0000";h1<=h1+1;elseh0<=h0+1;end if;end if;end if;end process;alh0<=h0;alh1<=h1;end alhour;闹钟与时钟比较控制模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_2alcontrol isport(clk,clk1,clk512:in std_logic;alc:in std_logic_vector(1 downto 0);clks0,clks1,clkm0,clkm1,clkh0,clkh1,alm0,alm1,alh0,alh1:instd_logic_vector(3 downto 0);alarm:out std_logic);end dc3_2alcontrol;architecture alcontrol of dc3_2alcontrol issignal al,al0,al1:std_logic;beginprocess(clk,clk1,clk512,clks0,clks1,clkm0,clkm1,clkh0,clkh1,alm0,alm1,alh0,a lh1,alc)beginif clkm0="1001" and clkm1="0101" and clks1="0101"thenif clks0="0001"then al<=clk512;elsif clks0="0011"then al<=clk512;elsif clks0="0101"then al<=clk512;elsif clks0="0111"then al<=clk512;elsif clks0="1001"then al<=clk;else al<='0';end if;else al<='0';end if;if clkm0=alm0 and clkm1=alm1 and clkh0=alh0 and clkh1=alh1 then if clks1="0000" and clk1='1'thenal0<=clk;else al0<='0';end if;else al0<='0';end if;if alc="00" thenal1<=(al or al0);elsif alc="01" thenal1<=al;elsif alc="10" thenal1<=al0;elsif alc="11" thenal1<='0';end if;end process;alarm<=al1;end alcontrol;闹钟与时钟比较控制模块波形图:4.日期模块日期日调整元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_3day isport(hco,dcen,clk4,bt_a,sm1,sm2:in std_logic;mode,set:in std_logic_vector(1 downto 0);dco:out std_logic;day0,day1:out std_logic_vector(3 downto 0)); end dc3_3day;architecture day of dc3_3day issignal d0,d1:std_logic_vector(3 downto 0);signal rco,co:std_logic;beginprocess (hco,dcen,clk4,bt_a,mode,set)beginif hco'event and hco='1' thenif sm1='1' thenif d0="1000" and d1="0010"thend0<="0000";d1<="0000";if dcen='1' then co<='1';else co<='0';end if;elsif d0="1001" thend0<="0000";d1<=d1+1;co<='0';elsed0<=d0+1;co<='0';end if;elsif sm2='1' thenif d0="0000" and d1="0011"thend0<="0000";d1<="0000";if dcen='1' then co<='1';else co<='0';end if;elsif d0="1001" thend0<="0000";d1<=d1+1;co<='0';elsed0<=d0+1;co<='0';end if;elseif d0="0001" and d1="0011"thend0<="0000";d1<="0000";if dcen='1' then co<='1';else co<='0';end if;elsif d0="1001" thend0<="0000";d1<=d1+1;co<='0';elsed0<=d0+1;co<='0';end if;end if;end if;if mode="11" and set="01" and bt_a='1' then rco<=clk4;else rco<=co;end if;end process;day0<=d0;day1<=d1;dco<=rco;end day;日期月调整元件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dc3_3month isport(dco:in std_logic;sm1,sm2:out std_logic;mon0,mon1:out std_logic_vector(3 downto 0)); end dc3_3month;architecture month of dc3_3month issignal m0,m1:std_logic_vector(3 downto 0);signal month:std_logic_vector(7 downto 0);beginprocess (dco)beginif dco'event and dco='1' thenif m0="0010" and m1="0001" thenm0<="0000";m1<="0000";elsif m0="1001" thenm0<="0000";m1<=m1+1;else m0<=m0+1;end if;end if;month<=m1&m0;if month="00000010" thensm1<='1';sm2<='0';elsif month="00000100" or month="00000110" or month="00001001" or month="00010001" thensm1<='0';sm2<='1';else sm1<='0';sm2<='0';end if;end process;mon0<=m0;mon1<=m1;end month;四(与附加四信号)选一选择器:library ieee;use ieee.std_logic_1164.all;entity dc2_2mux18 isport(m0,m1,h0,h1:in std_logic_vector(3 downto 0);sel:in std_logic_vector(2 downto 0);y:out std_logic_vector(3 downto 0));end dc2_2mux18;architecture mux18 of dc2_2mux18 isbeginprocess (m0,m1,h0,h1,sel)begincase sel iswhen "000"=>y<=m0;when "001"=>y<=m1;when "010"=>y<="1111";when "011"=>y<=h0;when "100"=>y<=h1;when others=>y<="1111";end case;end process;end mux18;日期模块波形图:5.显示驱动模块数码管动态显示选择元件:library ieee;use ieee.std_logic_1164.all;entity dc1_1choice isport(clk1:in std_logic;set:in std_logic_vector(1 downto 0);sel:in std_logic_vector(2 downto 0);g:out std_logic_vector(7 downto 0));end dc1_1choice;architecture drive of dc1_1choice isbeginprocess (set,sel)beginif set="00" and sel="000" and clk1='1'theng<="00000000";elsif set="00" and sel="001" and clk1='1'then g<="00000000";elsif set="01" and sel="011" and clk1='1'theng<="00000000";elsif set="01" and sel="100" and clk1='1'theng<="00000000";elsif set="10" and sel="110" and clk1='1'theng<="00000000";elsif set="10" and sel="111" and clk1='1'theng<="00000000";elsecase sel iswhen"000"=>g<="00000001";when"001"=>g<="00000010";when"010"=>g<="00000100";when"011"=>g<="00001000";when"100"=>g<="00010000";when"101"=>g<="00100000";when"110"=>g<="01000000";when others=>g<="10000000";end case;end if;end process;end drive;三选一多路数据选择器:library ieee;use ieee.std_logic_1164.all;entity dc1_2mux13 isport(clock,date,alarm:in std_logic_vector(3 downto 0); mode:in std_logic_vector(1 downto 0);y:out std_logic_vector(3 downto 0));end dc1_2mux13;architecture mux13 of dc1_2mux13 isbeginprocess (clock,date,alarm,mode)begincase mode iswhen "00"=>y<=clock;when "01"=>y<=clock;when "10"=>y<=alarm;when "11"=>y<=date;when others=>y<=clock;end case;end process;end mux13;七段译码器:library ieee;use ieee.std_logic_1164.all;entity dc1_3display isport(x:in std_logic_vector(3 downto 0);segout:out std_logic_vector(6 downto 0));end dc1_3display;architecture disay of dc1_3display isbeginprocess (x)begincase x iswhen "0000"=>segout<="1111110";when "0001"=>segout<="0110000";when "0010"=>segout<="1101101";when "0011"=>segout<="1111001";when "0100"=>segout<="0110011";when "0101"=>segout<="1011011";when "0110"=>segout<="1011111";when "0111"=>segout<="1110000";when "1000"=>segout<="1111111";when "1001"=>segout<="1111011";when "1010"=>segout<="1001001";when "1011"=>segout<="1000001";when "1100"=>segout<="0001001";when others=>segout<="0000001";end case;end process;end disay;六.心得体会这是一次数字逻辑的整体练兵,本次课程设计,是对VHDL数字逻辑电子设计技术的进一步掌握,也是对MAX+PLLUS设计工具应用的进一步了解。
数字逻辑课程设计(数字时钟)

武汉纺织大学《数字逻辑》课程设计报告题目:院系:专业班级:学号:学生姓名:指导教师:年月日一、引言《数字逻辑》课程设计是配合本课程课堂和实验教学的一个实践性教学环节。
其目的是巩固所学知识,提高实验动手能力,加强综合应用能力,启发创新思维。
其任务是让学生通过动手动脑进行大中型数字逻辑电路的设计、仿真、调试,巩固和应用所学的理论和实验技能;掌握应用EDA开发工具设计大中型数字电路系统的设计流程、仿真、检测技术直至下载到FPGA物理器件进行实际物理测试的能力;提高设计能力和实验技能,为以后进行毕业设计、电子电路的综合设计、研制电子产品等打下基础。
二、系统介绍1.设计平台介绍1)本次《数字逻辑》课程设计使用Altera公司的PLD/FPGA开发软件QuartusⅡ11.0和机房SOPC EDA工具箱。
2)本课程设计使用EP3C80F484C8逻辑芯片,需用Quartus创建一个工程,完成工程中各部分设计后画出总电路图,经过编译后分配管脚,下载到芯片中,在试验箱上连接导线,实现设计。
2.知识点及技术难点分析1)本次课程设计涉及到的知识点主要有:VHDL硬件语言、八段段显示器(数码管)相关知识、时序电路设计、EDA软件及试验箱的使用等。
2)其中较难的是时序电路的设计及EDA软件的使用。
三、设计任务及设计原理1.设计任务此次课程设计课题为数字电子逻辑电路设计,需在试验箱上实现一个24小时制动态显示的数字时钟,具有小时,分钟和秒的显示,且具有整点报时效果(例如在10:59:00开始,每隔2秒发出一次声音,前四次低频率,最后进位时发出高频率声响。
)2.设计原理1)这次课题中需用VHDL硬件语言编出秒钟、分钟、24小时制时钟、8选1数据选择器、八进制计数器、译码器、控制器等7个器件的功能。
2)用控制器实现控制整点报时,快速调小时、分钟,清零秒钟,分频功能。
4HZ脉冲信号经过控制器分频得到1HZ脉冲,512HZ和1024HZ脉冲控制蜂鸣器发出低频率和高频率声音3)秒钟由控制器分频的1HZ频率脉冲控制4)分钟正常情况下由秒钟的进位输出作为脉冲信号控制,在快速调整时间时由4HZ脉冲控制5)时钟同分钟一样。
数字逻辑课设报告数字电子钟

课程设计(综合实验)报告题目:第四个实验数字电子钟院系:计算机科学系班级:计算计科学与技术1班学号:学生姓名:队员姓名:指导教师:《数字逻辑》综合实验任务书一、目的与要求1 目的1.1综合实验是教学中必不可少的重要环节,通过综合实验巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。
1.2注重培养学生正确的设计思想,掌握综合实验的主要内容、步骤和方法。
1.3培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。
1.4提高学生运用所学的理论知识和技能解决实际问题的能及其基本工程素质。
2.要求2.1 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。
2.2根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。
要求通过独立思考、深入钻研综合实验中所遇到的问题,培养自己分析、解决问题的能力。
2.3进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。
2.4学会电子电路的安装与调试技能,掌握常用仪器设备的正确使用方法。
利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。
2.5学会撰写综合实验总结报告。
2.6通过综合实验,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的生产观点、经济观点和全局观点。
要求学生在设计过程中,坚持勤俭节约的原则,从现有条件出发,力争少损坏元件。
2.7在综合实验过程中,要做到爱护公物、遵守纪律、团结协作、注意安全。
二、主要内容数字电子钟设计一台能显示时﹑分、秒的数字电子钟,要求如下:1)秒﹑分为00—59六十进制计数器,时为00—23二十四进制计数器;2)可手动校正:可分别对秒﹑分﹑时进行手动脉冲输入调整或连续脉冲输入校正,(校正时不能输出进位)。
元器件选择74LS162:4块与非门74LS00:2块共阳数码管LED 74LS161:2块 GAL16V8:2块晶体振荡器:1MHZ GAL20V8:1块 TDS-4实验箱导线若干所需要器件的图片如下1同步十进制计数器74LS162 3输入正与非门74LS002异步十六进制计数器74LS161 4 GAL20V8一、 设计(实验)正文数字钟实际上是一个对标准频率(1HZ )进行计数的计数电路。
数字电子时钟课程设计报告-5

数字电子时钟课程设计报告-5数字电子时钟课程设计报告-55.结果分析与讨论在本次数字电子时钟课程设计中,我们成功地设计出了一个简单的数字电子时钟。
通过对数字电子时钟的设计,我们深入理解了数字电路和时钟电路的原理,并且应用了Arduino开发板及其相关的编程语言。
在设计过程中,我们首先确定了所需的功能,包括显示时间、日期、设置闹钟等。
然后,我们根据这些功能需求,选择合适的硬件模块和传感器,例如7段数码管显示模块和实时时钟模块。
接着,我们进行了电路的连接和元器件的焊接,确保电路的正常工作。
在编程方面,我们使用Arduino的编程语言来实现时钟功能。
通过编写合适的代码,我们能够获取实时时钟模块的时间和日期,并将其显示在数码管上。
我们还添加了设置闹钟的功能,当闹钟时间到达时,数码管会显示闹钟提醒信息。
通过测试,我们发现我们设计的数字电子时钟能够准确显示时间和日期,并且可以正常设置和响铃闹钟。
同时,我们注意到在电路连接和编程过程中可能出现一些问题,例如电路连接错误、编程错误等。
然而,我们能够及时发现并解决这些问题,确保了时钟的正常工作。
值得一提的是,在本次课程设计中,我们还获得了很多宝贵的经验和知识。
我们学到了数字电路的设计和实现方法,熟悉了Arduino开发板的使用,掌握了一些电路故障的排除方法。
通过这次设计,我们加深了对数字电子时钟原理的理解,并且提高了我们的动手能力和解决问题的能力。
总体而言,本次数字电子时钟课程设计是一次非常有意义和有收获的实践活动。
通过设计和实现数字电子时钟,我们巩固了课堂知识,提高了实践能力,拓宽了思维的广度。
我们相信,这次课程设计对我们今后的学习和发展将会具有重要的促进作用。
感谢老师的指导和帮助,感谢小组成员的合作和付出!。
数字钟课程设计实验报告

数字钟课程设计实验报告
实验名称:数字钟课程设计实验
实验目的:设计并制作一款数字钟,学习数字电路的基本构成及工作原理,并深入掌握Verilog 语言的设计和仿真技术。
实验原理:数字钟由时钟电路、驱动电路、显示电路三部分组成。
时钟电路以晶体振荡器为基础,产生高精度的基准时钟信号;驱动电路通过将时钟信号分频、选择和转换,来控制数字显示管的亮灭和数字显示内容;显示电路则将数字经过解码、整合,转换成人类可以识别的时间。
实验步骤:
1. 选择合适的FPGA芯片和数字显示管,根据其接口特点,确定各部分电路的 Pin Assignment。
2. 采用Verilog语言,编写时钟电路模块,实现一个基于晶体振荡器的高精度时钟信号。
3. 编写驱动电路模块,根据时钟信号,实现数字显示管LED的闪烁。
4. 编写显示电路模块,把数码管的8个数字位置写入代码中,并将显示电路模块与时钟电路模块和驱动电路模块相连接。
5. 通过FPGA仿真,进行数字钟模块的验证和测试。
6. 将程序下载到FPGA芯片中,并进行实际调试测试。
实验结果:
本实验设计的数字钟可以按照设定时间进行准确的数字显示,且易于调整时钟的显示时间。
数字钟在 FPGS 上实现良好,实验结果满意。
实验总结:
通过本实验,学习了数字电路的基本构成及工作原理,并深入掌握了Verilog语言的设计和仿真技术。
对于数字电路的实际应用,我有了更加深入的认识。
同时,对于FPGA的开发和调试过程也有了初步的了解,掌握了相关的基本操作和流程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 总体方案框图 .............................................................. 4 2.2 设计原理 .................................................................. 4 2.3 元器件的选择及功能分析 ..................................................... 5 2.3.1 选择器件 ............................................................ 5 2.3.2 555 定时器的应用 ..................................................... 5 2.3.3 74290 的应用 ......................................................... 7 2.3.4 与门 ................................................................. 8 第三章 功能模块 ................................................................... 9 3.1 单元电路的设计 ............................................................ 9 3.1.1 秒脉冲发生器......................................................... 9 3.1.2 时间技术单元 ........................................................ 10 3.2 总体设计电路图 ............................................................ 12 第四章 EWB24 小时计时数字钟仿真结果 .............................................. 13
VH 是比较器 C1 的输入端,v12 是比较器 C2 的输入端。C1 和 C2 的参考电压 VR1 和
其他输入端状态的影响。 正常工作时必须使 RD 处于高电平。 下图为 EWB 软件 555 定时 器逻辑符号图:
图 2.2 555 定时器逻辑符号 555 定时器是一种中规模集成电路,只要在外部配上适当阻容元件,就可以 方便地构成脉冲产生和整形电路。
1. 根据选题要求,进行方案比较,画出系统框图,进行初步设计。 2. 设计单元电路,计算参数,选择元器件。 3. 画出系统电路原理图初稿。 5. 撰写课程设计说明书。
4. 利用 EWB 软件组装调试所设计的系统电路,修改设计中的疏漏。 6. 绘制正式的系统电路原理图。
1.3 设计数字钟的可行性分析
时计时的数字钟,并实现它的校时功能,通过电路分析,本次试验可用六块 74290 芯 片分别实现时 24 进制和分秒 60 进制,脉冲信号由振荡器产生,方案设计是可行的
数器置成 0000, S9(1)和 S9(2)为置 9 输入端, S9(1)和 S9(2)全为 1 时, 将计数器置成 1001。
由其功能表看出,当 R0(1)和 R0(2)为两个置 0 输入端,R0(1)和 R0(2)全为 1 时,将计
图 2.4 74290 的逻辑符号
8
图 2.5 74290 输出真表
1 计算机学院数字系统课程设计
第一章 系统概述 ................................................................... 2 1.1 设计题目 .................................................................. 3 1.2 系统设计目的和内容 ......................................................... 3 1.2.1 设计目的 ............................................................ 3 1.2.2 设计要求 ............................................................ 3 1.2.3 设计内容和步骤 ....................................................... 3 1.3 设计数字钟的可行性分析 ..................................................... 3 第二章 设计总体方案 .............................................................. 3
导通 不变
2.3.3 74290
功能及应用
74290 由两个计数器组成,一个是 FF0 构成的一位二进制计数器,另一个是 FF1,FF2,FF3 构成的五进制计数器。它们独立使用时,分别是二进制计数器和五进制 计数器。当计数脉冲 CP 冲 CP1 端输入,Q0 接到 CP2 端,Q3,Q2,Q1,Q0 为计数器输出时, 构成 8421 编码的十进制加法计数器。而计数脉冲 CP 从 CP2 端输入,Q3 接到 CP1 端, Q3,Q2,Q1,Q0 为计数器输出时,则构成 5421 编码的十进制加法计数器。 74290 功能如 表 2—3 所示。 表 2—3 74290 功能表
和集电极开路的放电三极管 TD 三部分组成。
VR1=2/3VCC,VR2=1/3VCC。如果 VCO 外接固定电压,则 VR1=VCO,VR2=1/2VCO.
VR2 由 VCC 经 三 个 五 千 欧 电 阻 分 压 给 出 。 在 控 制 电 压 输 入 端 VCO 悬 空 时 , RD 是置零输入端。只要在 RD 端加上低电平,输出端 v0 便立即被置成低电平,不受
第三章 功能模块
3.1 单元电路的设计
3.1.1 秒脉冲发生器 本实验采用 555 定时器组成多谐振荡器,产生 1.0HZ 的脉冲。振荡器是构成数字式 时钟的核心,它的稳定度及频率的准确度决定了数字钟计时的准确程度。计算频率公式 为 F=(1.43/(R1+R2)*C)如图 3.1 所示,输出波形如图 3.2 所示。
4.2 EWB24 小时计时数字钟基本功能仿真结果 ....................................... 14 4.3EWB 电子钟整体仿真结果 ..................................................... 15 结束语 ........................................................................... 16
是接在输出端的反相器 G3,其作用是提高定时器的带负载能力和隔离负载对定时器
2. 基本功能: 当 R � 0 时, R � 0 ,输出电压
Vo � VOL
2 1 VTH � VCC VTR � VCC 3 3 时, 时,C1 输出低电平,C2 输出高电平, Q � 1 , 当 R � 1 时,
Q=0,
选用 EWB 软件,以计算机作为载体。通过使用 EWB 软件,设计实现一个 24 小
第二章
设计总体方案
8
4 计算机学院数字系统课程设计
2.1 总体方案框图
图 2.1 总体方案框图
2.2 设计原理
由 555 定时器构成的振荡器产生稳定的 1Hz 的脉冲信号,作为标准秒脉冲。秒计数
器计 60 后向分计数器进位,分计数器计满 60 后向小时进位,小时计数器设置成 24 进 制计数器,满 24 后清零,重新开始计时。计数器的输出直接送到 LED 显示器。计时出 现误差时可以用校时电路进行校时,校分,校时电路是由一开关接到一个高电位上,当 全按一下开关就传来一院数字系统课程设计
2.3.4 与门
真值表如下表 2—5 所示:
A 0 0 1 1
B 0 1 0
F O 1 1
1 1
图 2.9 逻辑符号
逻辑功能描述如下: 其中 A、B 为输入端,Y 为输出端。 当输入端 A=0,B=0 时,输出端 Y 为低电平,即 Y=0; 当输入端 A=0,B=1 时,输出端 Y 为高电平,即 Y=1; 当输入端 A=1,B=0 时,输出端 Y 为高电平,即 Y=1; 当输入端 A=1,B=1 时,输出端 Y 为高电平,即 Y=1; 即两个输入端 A 、B 的输入电平只要有一个是低电平 0 ,输出端 Y 就为低电平 0;只要 A、B 两个输入端的电平有一个为 1 时,输出端 Y 便为高电平 1。
8
6 计算机学院数字系统课程设计
1. 555 集成定时器由五个部分组成。
图 2.3 555 定时器内部结构图
比较器: C1、C2 是两个电压比较器 电压。
基本 RS 触发器:由两个“与非”门组成 分压器:阻值均为 5 千欧的电阻串联起来构成分压器,为比较器 C1 和 C2 提供参考 晶体管开关和输出缓冲器:晶体管 VT 构成开关,其状态受 Q 端控制。输出缓冲器就 的影响。
4.1 使用 EWB 作为 24 小时计时数字钟设计平台 ..................................... 13 4.1.1 EWB 概述及其仿真软件的特点 .......................................... 13 4.1.2 EWB 介绍 ........................................................... 14