第一篇:基于ewb的数字钟设计报告
电子线路实验
基于EWB 的数字钟设计 摘要:
本文介绍、记录了基于EWB设计所需功能数字钟电路的方案及过程。从设计思路到芯片选择,通过软件仿真,一步步调试、完善。本数字钟具有基础功能,调试运行成功。
关键字:数字钟 EWB
一、数字钟简介
数字钟是指利用电子线路构成的计时器。
数字钟应能达到的基础功能为计时并显示时、分、秒、星期,同时还能进行时间调整; 可增加附加功能如下:整点报时、闹钟、年月日、秒表功能等
二、设计思路
三、芯片说明
选用的芯片有74160、74138、74153 1、74160(1)芯片功能:
Decade Counter truth table: ___ ____ CLR | LOAD | ENP | ENT | CLK | A B C D | QA QB QC QD RCO----|------|-----|-----|-----|---------|--------------------0 | X | X | X | X | X X X X | 0 0 0 0 0 1 | 0 | 0 | 0 | POS | X X X X | A B C D *1 1 | 1 | 1 | 1 | POS | X X X X | Count *1 1 | 1 | 1 | X | X | X X X X | QA0 QB0 QC0 QD0 *1 1 | 1 | X | 1 | X | X X X X | QA0 QB0 QC0 QD0 *1
-*1-RCO goes HIGH at count 9 to 0.(2)使用
①利用160的count功能来实现时间计数器里的60进制和24进制等各种需要的进制 如下为秒60进制,左边为低位,右边为高位,将高位0110返回到CLK',高位置0,同时进位给分计数器
②利用160组成4进制,作为调时模式下四个数码管的位型选择器的组成部分(见138芯片使用介绍部分)2、74138(1)芯片功能
3-to-8 decoder/demultiplexer truth table:
__ __ | Select | GL G1 G2 | C B A | Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7-----------|---------| X X 1 | X X X | 1 1 1 1 1 1 1 1 X 0 X | X X X | 1 1 1 1 1 1 1 1-----------|---------| 0 1 0 | 0 0 0 | 0 1 1 1 1 1 1 1 0 1 0 | 0 0 1 | 1 0 1 1 1 1 1 1 0 1 0 | 0 1 0 | 1 1 0 1 1 1 1 1 0 1 0 | 0 1 1 | 1 1 1 0 1 1 1 1-----------|---------|------------------------------0 1 0 | 1 0 0 | 1 1 1 1 0 1 1 1 0 1 0 | 1 0 1 | 1 1 1 1 1 0 1 1 0 1 0 | 1 1 0 | 1 1 1 1 1 1 0 1 0 1 0 | 1 1 1 | 1 1 1 1 1 1 1 0-----------|---------|------------------------------1 1 0 | X X X | Output corresponding to stored | | address 0;all others 1
(2)使用
调试/显示 开关 控制该部分电路的开启,开关功能如下:
下 显示 上 调时
利用138译码器,和160配合实现调试电路中数码管位型的选择和字型的输出
左边的138:控制在不同显示模式前提下该调整的计时器部分,如果是在 时:分 模式下启动调时,则只调整时:分 , 秒:00 模式下同理
右边的138:前一片138的Y1端接这片138的G1端,作为字型信号输入;地址端由160产生的四进制数控制。
顾整个调时电路的原理在于:用160控制位型,用第一片138控制模式,第二片138控制字型,从而实现调时。3、74153(1)芯片功能
Data selector/multiplexer truth table:
Select | Data Inputs | Strobe | Output B A | C0 C1 C2 C3 | G' | Y-------|----------------|--------|-------X X | X X X X | 1 | 0 0 0 | 0 X X X | 0 | 0 0 0 | 1 X X X | 0 | 1 0 1 | X 0 X X | 0 | 0 0 1 | X 1 X X | 0 | 1 1 0 | X X 0 X | 0 | 0 1 0 | X X 1 X | 0 | 1 1 1 | X X X 0 | 0 | 0 1 1 | X X X 1 | 0 | 1(2)使用
用于模式控制电路中,数码管的输出选择
用一个开关“MODE”接到所有153的A端,B端接地,左边四个153中有八个数据选择器,将输出“时”的八个管脚分别接到八个C0端,输出“秒”的八个管脚接到C1端;“分”的八个管脚接到右边四个153的C0端;最后将所有16个数据选择器的Y输出接到数码管中。四个数码管中,第一第二个数码管在两种模式下分别显示“时”和“秒”,第三第四个数码管在两种模式下分别显示“分”和“00”
开关拨动时有如下功能: MODE开关 B A 显示 下 0 0 时:分 上 0 1 秒:ms
四、电路的设计和测试
电路分为如下几个模块:
1、显示模块
(1)、左上角两个指示灯:
左边为整点报时灯,整点时显示绿色(同时高音蜂鸣器响)
右边为整点五秒倒计时指示灯,从整点前一分钟的56s~59s显示红色(同时低音蜂鸣器响)
(2)、中间四个数码管:在不同模式下分别显示 时:分 和 秒:00(3)、中间两个指示灯:间隔标识(4)、右下角七个指示灯:显示星期日~六
2、时间计数器
共有秒、分、时、星期模块
3、模式调整模块
4、调时模块:
5、整点报时模块
6、电源和开关模块
五、数字钟的使用说明
1、显示屏:见模块介绍中的“显示模块”
2、五个开关
(1)、调时/显示 开关:开关置下为显示当前时间模式,用“A”键控
(2)、MODE:模式开关,置于上方时显示 秒:00 模式,置下时显示 时:分 模式,用空格键控
(3)、位型按钮:用于调时模式下选择调整当前模式下四个数码管中哪个数码管的示数,用“E”键控,来回拨动一次位型前移一位
(4)、调时按钮:调时状态下用于调整当前选定数码管示数,用“D“键控,来回拨动一次示数+1,根据各自的进制数循环显示(5)、week:星期调整按钮(在week模块中),调时状态下,用”W“键控,来回拨动一次星期数循环+1;在显示模式下该键无效
3、启动数字钟:在”调时/显示开关“为”显示“状态时启动数字钟,初始状态为显示 00:00
六、出现的问题、解决方案及有待改进的不足之处
1、秒模块:
出现问题:低位8-9时高位进一
原因:将低位RCO输出接了高位的CLK 解决:两片CLK应接同一个,用低位RCO控制高位ENP,RCO进位输出有效时高位芯片才工作COUNT+1 2、138 138的输出端口为Y',故在输出端要接非门
3、调时模式下
由138输出开关手动给时间计数器的CLK,显示模式下CLK则由信号源提供,故要将两者用或门连接,再接到相应的CLK和ENP控制端
4、初始状态问题
此数字钟只有在“调时/显示”开关为“显示”状态下,初始态才会为“00:00”,该问题有待改进
5、位型开关和字型开关
此数字钟有两个数码管在调整位型开关时,理想状态是只改变位型,不改变字型,只由字型开关来控制字型。但问题在于,位型开关改变数码管显示位型时,同时也会改变该位上的字型,虽然这样与理想状态不一样,但是也有好处,好处在于可以知道位型开关调整到了哪一位。
本功能有待改进为:位型开关调整到的该位数码管闪烁,但是字型不改变。
七、设计数字钟心得体会
这是第一次使用EWB设计一个具有功能性的较大的数字电路。从最开始的时间计时模块到最后整点报时模块,脑子里一点一点的想法都慢慢实现出来,把所需要的功能要求转换成数字电路,再从电路中调时实现出功能,这个过程很纠结,有时候感觉脑子已经逻辑混乱不能运转了,但是一步一步的思考、排故、调整、完善的过程,最终调试成功,还是让人很开心的一件事。其中很多小问题的发现和解决已经不能完全记清了,因为太多了,便只记下了上面的五个问题。
这个数字钟功能还不是很完善,有待改进,我会继续去完善他。
第二篇:EWB数字钟实验报告
EWB数字钟实验报告
一、利用EWB设计用于秒计数和分计数的60进制(00-59)计数器,用于时计数的24进制(00-23)计数器和用于星期计数的7进制(1-7)计数器。1.60进制计数器 电路截图
工作原理:选用两片74160芯片,左边一片为显示个位,右边一片为显示十位。当两片芯片同时计数到“60”时,转换为二进制为0110,000。控制CLR’端置0。
2.24进制计数器 电路截图
工作原理:选用两片74160芯片,左边一片为显示个位,右边一片为显示十位。当两片芯片同时计数到“24”时,转换为二进制为0010,0100。控制CLR’端置0。
3.7进制计数器 电路截图
工作原理:选用一片74160,当计数器数字为“7”即二进制为0111时,控制LOAD’端。LED显示1~7。.二、.利用EWB设计具有秒、分、时、星期显示功能的基本数字钟。电路截图
工作原理:本数字钟由一个七进制计数器、一个二十四进制计数器、两个六十进制计数器构成。七进制计数器显示星期、二十四进制计数器显示小时、两个六十进制计数器分别显示分和秒。秒进位分的原理是:当秒走到“59”时,控制分控计数器的时钟端,输入一个脉冲信号,即分显示一个脉冲。分进位小时同理。小时向星期进位的原理是:当小时走到“23”时,控制星期计数器的时钟端,输入一个脉冲信号,即星期显示一个脉冲。
三、利用EWB设计具有秒、分、时、星期显示功能,能够对分和时进行校准,具有整点报时功能的改进型数字钟。
电路截图(分、时校准电路)
工作原理:分别用两个开关控制两个计数器的时钟端,一端正常接上秒计数器的发出的信号脉冲,为正常工作状态,另一端接秒的时钟信号发生源。当需要调时时,按下开关,即计数器的时钟端接秒计数器的发出的信号脉冲,当走到要调到时间再次按下开关,即恢复到正常工作状态。
电路截图(整点报时功能)
工作原理:电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA、个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。
4.利用EWB设计数字钟的其它扩展功能,如闹钟、秒表、多功能切换、倒计时、日历、万年历等。
电路截图(秒表功能)
工作原理:秒表由一个一百进制计数器构成。时钟端接秒计数器的信号发生脉冲。开关
C(CHANGG)切换功能,开关S(start)为秒表开始z暂停。开关R为请开关。接计数器的清零端。
本次训练的心得体会:通过这几天对EWB软件的学习,我掌握了该软件的基本操作、各个电路的连接以及功能。发现该软件是一款端电工学生非常容易上手、实用性很强的软件。在实验过程中也遇到不少的问题、比如芯片的功能忘记、计数器的接法等等,这是我会去查数字电路的教科书或者选择询问老师,在这样的过程中提高自己的专注力。
第三篇:EDA数字钟设计
数字钟
一、实验目的
1、掌握多位计数器相连的设计方法。
2、掌握十进制,六进制,二十四进制计数器的设计方法。
3、掌握扬声器的驱动及报时的设计。
4、LED灯的花样显示。
5、掌握CPLD技术的层次化设计方法。
二、实验器材
1、主芯片Altera EPF10K10LC84-4。2、8个LED灯。
3、扬声器。4、4位数码显示管。5、8个按键开关(清零,调小时,调分钟)。
三、实验内容
根据电路特点,运用层次设计概念设计。将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。
1、时计时程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity hour is
port(reset,clk : in std_logic;
daout : out std_logic_vector(7 downto 0));end hour;
architecture behav of hour is
signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);begin
p1: process(reset,clk)
begin
if reset='0' then
count<=“0000”;
counter<=“0000”;
elsif(clk'event and clk='1')then
if(counter<2)then
if(count=9)then
count<=“0000”;
counter<=counter + 1;
else
count<=count+1;
end if;
else
if(count=3)
then
counter<=“0000”;
else
count<=count+1;
count<=“0000”;
end if;
end if;
end if;
end process;
daout(7 downto 4)<=counter;daout(3 downto 0)<=count;
end behav;
2、分计时程序: library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity minute is
port(reset,clk,sethour: in std_logic;
daout : out std_logic_vector(7 downto 0);
enhour : out std_logic);end minute;
architecture behav of minute is
signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);signal carry_out1 : std_logic;signal carry_out2 : std_logic;begin
p1: process(reset,clk)begin
if reset='0' then
count<=“0000”;
counter<=“0000”;
elsif(clk'event and clk='1')then
if(counter<5)then
if(count=9)then
count<=“0000”;
counter<=counter + 1;
else
count<=count+1;
end if;
carry_out1<='0';
else
if(count=9)then
count<=“0000”;
counter<=“0000”;
carry_out1<='1';
else
count<=count+1;
carry_out1<='0';
end if;
end if;end if;end process;
p2: process(clk)begin
if(clk'event and clk='0')then
if(counter=0)then
if(count=0)then
carry_out2<='0';
end if;
else
carry_out2<='1';
end if;end if;end process;
daout(7 downto 4)<=counter;daout(3 downto 0)<=count;enhour<=(carry_out1 and carry_out2)or sethour;end behav;
3、秒计时程序: library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity second is
port(reset,clk,setmin : in std_logic;
daout : out std_logic_vector(7 downto 0);
enmin : out std_logic);end second;
architecture behav of second is
signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);signal carry_out1 : std_logic;signal carry_out2 : std_logic;begin
p1: process(reset,clk)begin
if reset='0' then
count<=“0000”;
counter<=“0000”;
elsif(clk'event and clk='1')then
if(counter<5)
then
if
(count=9)
then
count<=“0000”;
counter<=counter + 1;
else
count<=count+1;
end if;
carry_out1<='0';
else
if(count=9)
then
count<=“0000”;
counter<=“0000”;
carry_out1<='1';
else
count<=count+1;
carry_out1<='0';
end if;
end if;end if;end process;daout(7 downto
4)<=counter;
daout(3
downto
0)<=count;enmin<=carry_out1 or setmin;end behav;6
4、alert程序: library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity alert is port(clkspk : in std_logic;
second : in std_logic_vector(7 downto 0);
minute : in std_logic_vector(7 downto 0);
speak : out std_logic;
lamp : out std_logic_vector(8 downto 0));end alert;
architecture behav of alert is signal divclkspk2 : std_logic;begin p1: process(clkspk)begin
if(clkspk'event and clkspk='1')then
divclkspk2<=not divclkspk2;
end if;end process;p2: process(second,minute)begin if(minute=“01011001”)then case second is
when “01010001”=>lamp<=“000000001”;speak<=divclkspk2;when “01010010”=>lamp<=“000000010”;speak<='0';when “01010011”=>lamp<=“000000100”;speak<=divclkspk2;when “01010100”=>lamp<=“000001000”;speak<='0';when “01010101”=>lamp<=“000010000”;speak<=divclkspk2;when “01010110”=>lamp<=“000100000”;speak<='0';when “01010111”=>lamp<=“001000000”;speak<=divclkspk2;when “01011000”=>lamp<=“010000000”;speak<='0';when “01011001”=>lamp<=“100000000”;speak<=clkspk;when others=>lamp<=“000000000”;end case;end if;end process;end behav;8
5、seltime程序 library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity seltime is port(ckdsp : in std_logic;
reset : in std_logic;
second : in std_logic_vector(7 downto 0);
minute : in std_logic_vector(7 downto 0);
hour : in std_logic_vector(7 downto 0);
daout : out std_logic_vector(3 downto 0);
sel : out std_logic_vector(2 downto 0));end seltime;
architecture behav of seltime is signal sec : std_logic_vector(2 downto 0);begin
process(reset,ckdsp)begin
if(reset='0')then sec<=“000”;
elsif(ckdsp'event and ckdsp='1')then
sec<=“000”;else
sec<=sec+1;end if;end if;end process;
process(sec,second,minute,hour)begin case sec is
when “000”=>daout<=second(3 downto 0);when “001”=>daout<=second(7 downto 4);when “011”=>daout<=minute(3 downto 0);when “100”=>daout<=minute(7 downto 4);when “110”=>daout<=hour(3 downto 0);when “111”=>daout<=hour(7 downto 4);when others=>daout<=“1111”;end case;end process;
if(sec=“111”)then
sel<=sec;end behav;
6、deled程序: LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;
ENTITY deled IS PORT(S: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
A,B,C,D,E,F,G,H: OUT STD_LOGIC);END deled;
ARCHITECTURE BEHAV OF deled IS
SIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL DOUT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN DATA<=S;PROCESS(DATA)BEGIN
CASE DATA IS
WHEN “0000”=>DOUT<=“00111111”;WHEN “0001”=>DOUT<=“00000110”;WHEN “0010”=>DOUT<=“01011011”;WHEN “0011”=>DOUT<=“01001111”;WHEN “0100”=>DOUT<=“01100110”;WHEN “0101”=>DOUT<=“01101101”;WHEN “0110”=>DOUT<=“01111101”;WHEN “0111”=>DOUT<=“00000111”;WHEN “1000”=>DOUT<=“01111111”;WHEN “1001”=>DOUT<=“01101111”;WHEN “1010”=>DOUT<=“01110111”;WHEN “1011”=>DOUT<=“01111100”;WHEN “1100”=>DOUT<=“00111001”;WHEN “1101”=>DOUT<=“01011110”;WHEN “1110”=>DOUT<=“01111001”;WHEN “1111”=>DOUT<=“01000000”;WHEN OTHERS=>DOUT<=“00000000”;END CASE;END PROCESS;H<=DOUT(7);
G<=DOUT(6);
F<=DOUT(5);
E<=DOUT(4);D<=DOUT(3);C<=DOUT(2);B<=DOUT(1);A<=DOUT(0);END BEHAV;
7、顶层原理图:
四、实验结果 顶层原理图仿真波形:
五、心得体会
1、系统设计进要行充分的方案论证,不可盲目就动手去做;
2、实验中对每一个细节部分都要全面思考,要对特殊情况进行处理;
3、对于数字系统,要考虑同步、异步问题;
4、数字电路的理论分析要结合时序图;
5、遇到问题,要顺藤摸瓜,分析清楚,不可胡乱改动,每做一次改变都要有充分的理由;
6、模块化设计方法的优点在于其简洁性,但是在实验设计中也发现,在实验最终电路确定之前,要尽量减少模块重叠嵌套,因为在总的电路敲定之前,电路还不成熟,很多地方需要改进,如果在开始时就进行多层模块化,里层模块电路的修改将影响其外层的全部电路,这样就是牵一发动全身,很显然,这样将导致电 数字钟课程设计 电路设计的低效,所以在设计过程中,一定要尽量减少超过两层的模块;
7、遇到问题花了很长时间没有解决掉,要学会想他人请教,别人的不经意一点,可能就能把自己带出思维死区。
第四篇:多功能数字钟设计
课程设计任务书
课程设计名称学生姓名专业班级设计题目多功能数字钟设计
一、课程设计目的1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力;
2、结合理论知识,考察阅读参考资料、文献、手册的能力;
3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和
应用技巧;
4、锻炼撰写研究报告、研究论文的能力;
5、通过本实践环节,培养科学和严谨的工作作风。
二、设计内容、技术条件和要求
l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示。
2、能利用实验系统上的按钮实现“校时”、“校分”功能;
(1)按下“SA”键时,计时器迅速递增,并按24小时循环;
(2)按下“SB”键时,计时器迅速递增,并按59分钟循环,并向“时”进位;
(3)按下“SC”键时,秒清零;抖动的,必须对其消抖处理。
3、能利用扬声器做整点报时:
(1)当计时到达59’50”时开始报时,频率可为500Hz;
计满23小时后回零;计满59分钟后回零。
(2)到达59’59”时为最后一声整点报时,整点报时的频率可定为lKHz。
4定时闹钟功能
5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。
6、报时功能。报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。
三、时间进度安排
1周:(1)完成设计准备,确定实施方案;(2)完成电路文件的输入和编译;(4)完成功能仿真。
2周:(1)完成文件至器件的下载,并进行硬件验证;(2)撰写设计说明书。
四、主要参考文献
(1)谭会生、瞿遂春,《EDA技术综合应用实例与分析》,西安电子科技大学出版社,2004
(2)曹昕燕、周凤臣等,《EDA技术实验与课程设计》,清华大学出版社,2006
指导教师签字:2012年9月1日
第五篇:数字钟课程设计报告
摘要
数字电子钟是一种用数字显示秒﹑分﹑时的记时装置,与传统的机械时钟相比,它一般具有走时准确﹑显示直观﹑无机械传动装置等优点,因而得到了广泛的应用。数字电子钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。本课程设计采用的是中小规模集成电路法,时钟信号发生器采用32768Hz的CMOS石英谐振器制作,产生1Hz时钟脉冲;用74LS290设计两个六十进制的计数器对“分”、“秒”信号计数,二十四进制计数器对“时”信号计数、再通过“时”、“分”校正电路进行时间的校正,实现数字电子钟的功能。
关键词
数字电子钟;中小规模集成芯片;计数器;数字电子技术
设计的目的
(1)加强对电子制作的认识,充分掌握和理解设计个部分的工作原理、设计过程、选择芯片器件、电路的焊接与调试等多项知识。(2)把理论知识与实践相结合,充分发挥个人与团队协作能力,并在实践中锻炼。(3)提高利用已学知识分析和解决问题的能力。(4)提高实践动手能力
设计用到的仪器和零件
计数器(3片CD4518、CD4081)、显示译码器(6片CD4511)、6片共阴极数码管、二极管、电阻、电容、晶振(32.768kHz)、集成计数器(CD4060、CD4013)、开关、接线座、PCB板等元件。
数字钟的结构及基本工作原理
结构
数字电子时钟实际上是一个对标准频率(1Hz)进行计数的计数电路。由于计数的起始时间不可能与某一个标准时间(如东八时区时间)一致,故需要在电路上加上一个对“时”、“分”进行校正的校时电路,同时为了提高计时的准确性,信号发生器产生的标准的1Hz时间信号必须做到准确稳定,通常使用石英晶体振荡器电路构成数字电子时钟中的信号发生器电路的主元件。
(1)晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。
(2)分频器电路将32768Hz的高频方波信号经3276次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。
(3)时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。
(4)译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。
(5)数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。
工作原理
(1)秒脉冲产生电路— CD4060
14位二进制串行计数器 CD4060。CD4060 是由一振荡器和 14 级二进制串行计数位组成。振荡器的结构可以是 RC 或晶振电路。CR 为高电平时,计数器清零且振荡器停止工作。所有的计数器均为主-从触发器,在 CP1(和 CP0)的下降沿,计数器以二进制进行计数。在时钟脉冲线上使用斯密特触发器对时钟的上升和下降时间无限制。利用CD4060组成32.768 kHz振荡器,再经过内部分频器14分频从其第3脚输出2Hz(32.768 kHz /214 = 2 Hz)的脉冲信号。焊接完毕后,通电测试 LED指示灯闪烁,1秒钟闪烁 2次。说明该电路正常工作
(2)分脉冲产生电路— CD4518 CD4518,是一种同步加计数器,在一个封装中含有两个可互换二 / 十进制计数器,其功能引脚分别为1~7和9~15。该计数器是单路系列脉冲输入(1 脚或 2 脚;9 脚或 10脚),4路BCD码信号输出(3脚~6脚;{11}脚~{14}脚)。此外还必须掌握其控制功能,否则无法工作CD4518有两个时钟输入端CP和EN,若用时钟上升沿触发,信号由CP输入,此时EN端应接高电平“1”, 若用时钟下降沿触发,信号由EN端输入,此时CP端应接低电平“0”,不仅如此,清零(又称复位)端CR也应保持低电平“0”,只有满足了这些条件时,电路才会处于计数状态,若不满足则不工作。值得注意,因输出是二/十进制的BCD码,所以输入端的计数脉冲到第十个时,电路自动复位0000状态。另外,CD4518无进位功能的引脚,但电路在第十个脉冲作用下,会自动复位,同时第6脚或第14 脚将输出下降沿的脉冲,利用该脉冲和EN端功能,就可作为计数的电路进位脉冲和进位功能端供多位数显用。(3)小时脉冲产生电路— CD4518 与分脉冲产生电路的结构工作原理相同,只是为24进制。
(4)与门电路— CD4081 CD4081为14脚封装,四2输入与门。在数字钟电路中的作用:将CD4518置为60进制、24进制计数器。
(5)2分频电路— CD4013 CD4013 是双 D 触发器芯片,为14脚封装,在数字电路中常用来进行锁存数据,组成分频电路等。CD4013 在数字钟电路中的作用:将 CD4060 产生的2Hz 脉冲2分频(2进制计数器),输出 1Hz 的秒脉冲。(6)译码显示电路— CD4511 CD4511 是一片 CMOS BCD —锁存 / 7 段译码 / 驱动器,用于驱动共阴极LED数码管显示器的BCD码—七段数码管译码器。具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路,能提供较大的拉电流。共阴 LED 数码管是指 7 段 LED 的阴极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选取,电源电压5V时,可使用300Ω左右的限流电阻。(7)秒、分、时校准电路—开关S3、S2、S1 分、时校准电路:利用开关手动输入脉冲,S2、S1每按下一次,相应的时、分的数字加一。秒校准电路:正常计时工作时,S3闭合;进行秒校准时,S3断开,暂停秒计时,等标准时间一到,立即闭合S3,恢复正常走时。
课程设计电路的组装与调试
组装
(1)核对元器件清单:是否有缺件;
(2)检查印制电路板:是否有断线、短路等;(3)焊接电阻:摆放整齐一致,黄色环在下边;(4)焊接二极管:1N4148,注意极性;(5)焊接跨线:剪下二极管引脚,焊J1~J6;(6)焊接集成电路座:注意缺口位置与图一致;(7)焊接无极性电容、晶振:注意C的字在正面;(8)焊接数码管:注意小数点在右下方;(9)焊接发光二极管:LED,注意极性;(10)焊接开关、电解电容、接线座。(1)判断二极管1N4148,LED的极性;
(2)判断电阻阻值:读色环、用万用表测量;(3)安装集成芯片12片:芯片型号不要装错,缺口位置与图/座一致,缺口左下方为1脚;(4)安装数码管:注意小数点在右下方;
(5)安装电容:正负极性,无极性C的字放在正面(6)最后检查焊接质量:焊点有无虚焊、瑕疵。
调试
(1)安装完成后通电,观察各个模块的工作情况;(2)若数码管不亮,检查地线通否,3脚接地否;(3)若整个电路不工作,分模块检查,各个部分 的接线、安装、功能是否正常;(一般方法)(4)芯片工作是否正常:首先检查电源,„„;(5)秒、分、时校准部分:测试是否功能正常。
总结与心得
通过这次课程设计,加强了我动手、思考和解决问题的能力。在设计中用的芯片可能与平时常见的不一样,但原理一样,同时我还理解到,同样功能可以由不同的芯片实现,需遵行简单,经济的原则,从而最大程度符合目标设计。课程设计是一次难得的锻炼机会,让我们能够充分利用所学过的理论知识还有自己的想象的能力,另外还让我们学习查找资料的方法,以及自己处理分析电路,设计电路的能力。这些对我来说都是一个很好的提高。我趁着做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。另外还学习到了一些仿真软件,比如Proteus等学习软件,给设计提供了很大的便利。
同时,这次课设还让我明白,困难是成功的台阶,只有一级级走上去才能有所收获。工科院校的学生应当这样多参与实践,多去运用自己所学的知识,为将来工作打下基础。