第一篇:數(shù)字電子鐘邏輯電路設(shè)計(jì)總結(jié)報(bào)告
課程設(shè)計(jì)總結(jié)報(bào)告
寫(xiě)總結(jié)報(bào)告是對(duì)學(xué)生寫(xiě)科學(xué)論文和科研總結(jié)報(bào)告的能力訓(xùn)練??偨Y(jié)報(bào)告包括以下內(nèi)容: 1.報(bào)告名稱
2.內(nèi)容摘要(<300字)3.設(shè)計(jì)內(nèi)容及要求
4.方案比較,畫(huà)出系統(tǒng)框圖,確定使用的方案。
5.單元電路設(shè)計(jì)、參數(shù)計(jì)算和器件的選擇(含器件功能表)并說(shuō)明單元電路工作原理。
6.畫(huà)出完整的電路圖 7.安裝調(diào)試內(nèi)容,包括:
(1)使用的主要儀器和儀表;(2)調(diào)試電路的方法和技巧;
(3)測(cè)試的數(shù)據(jù)和波形,并與計(jì)算結(jié)果比較分析;(4)調(diào)試中出現(xiàn)的故障、原因及排除方法。
8.總結(jié)設(shè)計(jì)電路的特點(diǎn)和方案的優(yōu)缺點(diǎn),提出進(jìn)一步的改進(jìn)意見(jiàn)和未來(lái)的發(fā)展。9.列出所用的元器件 10.列出參考文獻(xiàn)
第二篇:數(shù)字邏輯課題報(bào)告—電子鐘
電子鐘設(shè)計(jì)報(bào)告
班級(jí):
姓名:學(xué)號(hào):
指導(dǎo)老師:
驗(yàn)收時(shí)間:201 年
日
月
一﹑設(shè)計(jì)目的及要求
設(shè)計(jì)并實(shí)現(xiàn)多功能數(shù)字鐘,達(dá)到要求如下:
1. 能進(jìn)行正常的記時(shí)、記分、記秒,2.實(shí)現(xiàn)校時(shí)、校分以及秒清0的功能,3.實(shí)現(xiàn)整點(diǎn)報(bào)時(shí)的功能,4.實(shí)現(xiàn)定鬧鈴及鬧鈴的響,完成全部電路設(shè)計(jì)后在實(shí)驗(yàn)板上下載,驗(yàn)證設(shè)計(jì)課題的正 確性。
二、系統(tǒng)設(shè)計(jì)方案論述:
根據(jù)對(duì)電子鐘控制電路的要求,分析如下:
首先根據(jù)老師對(duì)實(shí)驗(yàn)的要求,編寫(xiě)電子鐘控制電路的vhdl程序,程序分為正常顯示時(shí)間、調(diào)整和鬧鈴時(shí)間調(diào)整、報(bào)時(shí)等進(jìn)程;運(yùn)用了3-8譯碼器、八選一、二選一數(shù)據(jù)選擇器、模8計(jì)數(shù)器、七段譯碼、24進(jìn)制計(jì)數(shù)器、60進(jìn)制計(jì)數(shù)器、比較器等構(gòu)成其動(dòng)態(tài)顯示電路,使電子鐘正常顯示。
開(kāi)始確定了兩個(gè)方案,但考慮到方案的可行性,選擇了第一種,也就是這一種方案。
三、環(huán)境說(shuō)明:
主要是使用了MAXPLUSⅡ軟件,經(jīng)過(guò)系統(tǒng)的學(xué)習(xí)及了解,以及請(qǐng)教老師和同學(xué),虛心請(qǐng)教,終于在不懈努力下完成了老師的任務(wù)。
四、具體設(shè)計(jì):
頂層結(jié)構(gòu)功能圖:
根據(jù)總體設(shè)計(jì)框圖,可以將整個(gè)系統(tǒng)分為6個(gè)模塊來(lái)實(shí)現(xiàn),分別是計(jì)時(shí)模塊、校時(shí)模塊、整點(diǎn)報(bào)時(shí)模塊、鬧鐘模塊、動(dòng)態(tài)顯示模塊及正常顯示時(shí)間與鬧鐘時(shí)間的切換模塊。
1、計(jì)時(shí)模塊:
能進(jìn)行正常的時(shí)、分、秒計(jì)時(shí),用動(dòng)態(tài)掃描的方式,需用8個(gè)數(shù)碼管。
用24進(jìn)制計(jì)數(shù)器進(jìn)行小時(shí)的顯示,用60進(jìn)制計(jì)數(shù)器進(jìn)行分的顯示,用60進(jìn)制計(jì)數(shù)器進(jìn)行秒的顯示
2、校時(shí)模塊:
利用按鍵實(shí)現(xiàn)“校時(shí)”、“校分”和“時(shí)、分、秒的清0”功能。先令k5=1,切換到正常時(shí)鐘的顯示上。
(1)k1:校時(shí)鍵。當(dāng)k1=0鍵時(shí),計(jì)時(shí)器迅速遞增,按24小時(shí)循環(huán),并且計(jì)滿23時(shí)回到00,k1=1時(shí)停止循環(huán)。
(2)k2:校分鍵。當(dāng)k2=0鍵時(shí),計(jì)時(shí)器迅速遞增,按60小時(shí)循環(huán),并且計(jì)滿59時(shí)回到00,但不向時(shí)進(jìn)位,k2=1時(shí)停止循環(huán)。
(3)k8:秒清零。當(dāng)k8=0時(shí),時(shí)、分、秒清零。
3、整點(diǎn)報(bào)時(shí)模塊:
能進(jìn)行整點(diǎn)報(bào)時(shí),即當(dāng)分秒都為0時(shí)整點(diǎn)報(bào)時(shí)。、鬧鐘模塊:
和以上計(jì)時(shí)模塊一個(gè)原理,但也可以進(jìn)行鬧鐘的設(shè)置
先令k5=0,切換到鬧鐘的顯示上。
(1)k3:校時(shí)鍵。當(dāng)k1=1鍵時(shí),計(jì)時(shí)器迅速遞增,按24小時(shí)循環(huán),并且計(jì)滿23時(shí)回到00,k3=0時(shí)停止循環(huán)。
(2)k4:校分鍵。當(dāng)k2=1鍵時(shí),計(jì)時(shí)器迅速遞增,按60小時(shí)循環(huán),并且計(jì)滿59時(shí)回到00,但不向時(shí)進(jìn)位,k4=1時(shí)停止循環(huán)。
(3)k6:k6=0時(shí)清零,k6=時(shí)正常運(yùn)行。
(4)k7:k7=0分清零,k7=1時(shí)正常運(yùn)行。
5、動(dòng)態(tài)顯示模塊:
時(shí)間的顯示需要用到8個(gè)數(shù)碼管,其中小時(shí)與分鐘及分鐘與秒之間用數(shù)碼管的一個(gè)g段,在動(dòng)態(tài)顯示方式下,所有的數(shù)碼管對(duì)應(yīng)同一組七段碼,可用VHDL語(yǔ)言實(shí)現(xiàn)
6、正常顯示時(shí)間與鬧鐘時(shí)間的切換模塊: k5=1,切換到正常時(shí)鐘的顯示上 k5=0,切換到鬧鐘的顯示上
五、各功能模塊說(shuō)明及源代碼: 數(shù)碼管顯示電路源程序: 1.七段譯碼顯示:
library ieee;
use ieee.std_logic_1164.all;
entity bin7 is port(date_in:in std_logic_vector(3 downto 0);
en:in std_logic;
date_out:out std_logic_vector(6 downto 0));end entity;
architecture duan of bin7 is begin process(date_in,en)
begin
if en='1' then case date_in is when “0000”=>date_out<=“1111110”;--0
when “0001”=>date_out<=“0110000”;--1 when “0010”=>date_out<=“1101101”;--2 when “0011”=>date_out<=“1111001”;--3 when “0100”=>date_out<=“0110011”;--4 when “0101”=>date_out<=“1011011”;--5 when “0110”=>date_out<=“1011111”;--6 when “0111”=>date_out<=“1110000”;--7 when “1000”=>date_out<=“1111111”;--8 when “1001”=>date_out<=“1111011”;--9 when others=>date_out<=“0000001”;end case;end if;
end process;
end duan;
2.八選一數(shù)據(jù)選擇器: library ieee;use ieee.std_logic_1164.all;entity mux8 is port(d0,d1,d2,d3,d4,d5,d6,d7:in std_logic_vector(3 downto 0);
sel:in std_logic_vector(2 downto 0);
y:out std_logic_vector(3 downto 0));end mux8;architecture arch of mux8 is begin process(d0,d1,d2,d3,d4,d5,d6,d7,sel)begin
case sel is
when “000”=>y<=d0;
when “001”=>y<=d1;
when “010”=>y<=d2;
when “011”=>y<=d3;
when “100”=>y<=d4;
when “101”=>y<=d5;
when “110”=>y<=d6;
when “111”=>y<=d7;
when others=>y<=“0000”;
end case;end process;end arch;
3.二選一選擇器(二位)library ieee;use ieee.std_logic_1164.all;
entity mux_2 is port(d1 :in std_logic;
d2 :in std_logic;
sel
:in std_logic;
y
:out std_logic);end mux_2;architecture rtl of mux_2 is begin process(sel,d1,d2)begin if(sel='1')then y<=d1;else y<=d2;end if;
end process;end rtl;
4.二選一選擇器(四位)library ieee;use ieee.std_logic_1164.all;
entity mux_24 is port(d1 :in std_logic_vector(3 downto 0);
d2 :in std_logic_vector(3 downto 0);
sel
:in std_logic;
y
:out std_logic_vector(3 downto 0));end mux_24;architecture rtl of mux_24 is begin process(sel,d1,d2)begin if(sel='1')then y<=d1;else y<=d2;end if;
end process;end rtl;
5.3_8譯碼器: library ieee;use ieee.std_logic_1164.all;
entity decode3_8 is port(a,b,c
:in std_logic;
s1,s2,s3 :in std_logic;
y
:out std_logic_vector(7 downto 0));
end decode3_8;
architecture rtl of decode3_8 is
signal ind:std_logic_vector(2 downto 0);
begin
ind<=c&b&a;
process(ind,s1,s2,s3)
begin
if(s1='1'and s2='0' and s3='0')then
case ind is
when “000”=>y<=“00000001”;
when “001”=>y<=“00000010”;
when “010”=>y<=“00000100”;
when “011”=>y<=“00001000”;
when “100”=>y<=“00010000”;
when “101”=>y<=“00100000”;
when “110”=>y<=“01000000”;
when “111”=>y<=“10000000”;
when others=>y<=“00000000”;
end case;
else y<=“00000000”;end if;end process;end rtl;
6.報(bào)時(shí)器 library ieee;use ieee.std_logic_1164.all;
entity baoshi is port(a1,a2,a3,a4 :in std_logic_vector(3 downto 0);
y
:out std_logic);
end baoshi;architecture rtl of baoshi is begin process(a1,a2)begin if(a1=“0000” and a2=“0000” and a3=“0000” and a4<=“0011”)then y<='1';else y<='0';end if;end process;end rtl;
7.比較器 library ieee;use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;entity bijiao is port(a1,a2 :in std_logic_vector(3 downto 0);
b1,b2 :in std_logic_vector(3 downto 0);
y
:out std_logic);end bijiao;architecture rtl of bijiao is begin process(a1,a2,b1,b2)begin if(a1=b1 and a2=b2)then y<='1';else y<='0';end if;end process;end rtl;
8.模60 library ieee;use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;entity mod_60 is port(clk:in std_logic;
clr :in std_logic;
yh :out std_logic_vector(3 downto 0);
yl :out std_logic_vector(3 downto 0);
co :out std_logic);
end mod_60;architecture six of mod_60 is signal
hh:std_logic_vector(3 downto 0);signal
hl:std_logic_vector(3 downto 0);begin
process(clk)
begin
if clr='0'
then hh<=“0000”;hl<=“0000”;co<='0';
elsif(clk'event and clk='1')then
if(hh=“0101” and hl=“1001”)then
hh<=“0000”;hl<=“0000”;co<='1';
elsif(hl=“1001”)then
hh<=hh+1;
hl<=“0000”;co<='0';
else
hl<=hl+1;
hh<=hh;co<='0';
end if;
end if;
end process;
yh<=hh;yl<=hl;
end six;
9.模24 library ieee;use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;entity mod_24 is port(clk:in std_logic;
clr :in std_logic;
yh :out std_logic_vector(3 downto 0);
yl :out std_logic_vector(3 downto 0);
co :out std_logic);
end mod_24;architecture two of mod_24 is signal
hh:std_logic_vector(3 downto 0);signal
hl:std_logic_vector(3 downto 0);
begin
process(clk)
begin
if clr='0'
then hh<=“0000”;hl<=“0000”;co<='0';
elsif(clk'event and clk='1')then
if(hh=“0010” and hl=“0011”)then
hh<=“0000”;hl<=“0000”;co<='1';
elsif(hl=“1001”)then
hh<=hh+1;
hl<=“0000”;co<='0';
else
hl<=hl+1;
hh<=hh;co<='0';
end if;
end if;
end process;
yh<=hh;yl<=hl;
end two;
六、遇到的問(wèn)題:
當(dāng)調(diào)動(dòng)開(kāi)關(guān)時(shí),容易出現(xiàn)數(shù)字的變動(dòng),經(jīng)過(guò)上網(wǎng)的搜索可知,這是抖動(dòng)效應(yīng),是物理效應(yīng),現(xiàn)學(xué)知識(shí)還解決不了。所以在實(shí)驗(yàn)中我們就小心翼翼的把弄開(kāi)關(guān),結(jié)果也沒(méi)出現(xiàn)什么錯(cuò)誤。但是我們知道這不是做科學(xué)應(yīng)有的嚴(yán)謹(jǐn)態(tài)度,但以后我們會(huì)努力的。
七、實(shí)驗(yàn)結(jié)果及心得體會(huì):
實(shí)驗(yàn)結(jié)果:程序?qū)崿F(xiàn)了現(xiàn)實(shí)情況下正常時(shí)間的顯示,時(shí)間的調(diào)整,鬧鐘的設(shè)置,還有鬧鐘的響鈴以及整點(diǎn)的報(bào)時(shí)。實(shí)驗(yàn)心得:
1.通過(guò)本次實(shí)驗(yàn)工作,學(xué)會(huì)了很多vhdl的編程思想,并進(jìn)一步掌握了其基本語(yǔ)法,可以熟練地編寫(xiě)程序啦!
2.在實(shí)驗(yàn)過(guò)程中,提高了分析問(wèn)題、解決問(wèn)題的能力,明白了用vhdl語(yǔ)言設(shè)計(jì)的基本過(guò)程及步驟,為以后的實(shí)驗(yàn)提供了寶貴的經(jīng)驗(yàn)。3.在編寫(xiě)程序的過(guò)程中遇到了很多問(wèn)題,一開(kāi)始一點(diǎn)頭緒也沒(méi)有,通過(guò)查找資料有了初步的認(rèn)識(shí),在實(shí)際過(guò)程中也遇到了很多問(wèn)題,通過(guò)和同學(xué)及老師的交流,一些問(wèn)題逐步迎刃而解。
八、感謝
感謝王老師的辛勤教導(dǎo),感謝學(xué)院給提供了進(jìn)行實(shí)踐的機(jī)會(huì),讓我們?cè)趯?shí)踐中學(xué)會(huì)了很多,提高了我們的自我學(xué)習(xí)能力,是我們得到了很好的進(jìn)步。在此還要感謝學(xué)校給我們提供了實(shí)驗(yàn)器材。
第三篇:電子鐘——合肥工業(yè)大學(xué)數(shù)字邏輯課程設(shè)計(jì)報(bào)告
一)設(shè)計(jì)題目:
電子鐘
二)設(shè)計(jì)任務(wù)和基本要求:
1.實(shí)驗(yàn)臺(tái)上的六個(gè)數(shù)碼管顯示時(shí)、分、秒; 2.能使電子鐘復(fù)位(清零); 3.能啟動(dòng)和停止電子鐘運(yùn)行;
4.在電子鐘停止運(yùn)行狀態(tài)下,能夠修改時(shí)、分、秒的值; 5.具有報(bào)時(shí)功能,整點(diǎn)時(shí)喇叭鳴叫。
三)所用主要器件和設(shè)備:
1、TDS 系列數(shù)字電路實(shí)驗(yàn)系統(tǒng)
2、ISP 系統(tǒng)可編程器件以及《數(shù)字邏輯》課程實(shí)驗(yàn)所用部分中、小規(guī)模集成電路等
3、PC 計(jì)算機(jī)
4、ISP1032E 可編程邏輯器件以及數(shù)據(jù)選擇器、觸發(fā)器、移位寄存器、計(jì)數(shù)器及基本門(mén)電路等
5、在Windows平臺(tái)上運(yùn)行的ispLEVER 編程軟件
四)設(shè)計(jì)思想:
數(shù)字鐘電路的基本結(jié)構(gòu)由兩個(gè) 60 進(jìn)制計(jì)數(shù)器和一個(gè)24 進(jìn)制計(jì)數(shù)器組成,分別對(duì)秒、分、小時(shí)進(jìn)行計(jì)時(shí),當(dāng)計(jì)時(shí)到23 時(shí)59 分59 秒時(shí),再來(lái)一個(gè)計(jì)數(shù)脈沖,則計(jì)數(shù)器清零,重新開(kāi)始計(jì)時(shí)。
當(dāng)數(shù)字鐘處于計(jì)時(shí)狀態(tài)時(shí),秒計(jì)數(shù)器的進(jìn)位輸出信號(hào)作為分鐘計(jì)數(shù)器的計(jì)數(shù)信號(hào),分鐘計(jì)數(shù)器的進(jìn)位輸出信號(hào)又作為小時(shí)計(jì)數(shù)器的計(jì)數(shù)信號(hào)時(shí)、分、秒的計(jì)時(shí)結(jié)果通過(guò)6 個(gè)數(shù)碼管來(lái)動(dòng)態(tài)顯示。數(shù)字鐘除了能夠正常計(jì)時(shí)外,還應(yīng)能夠?qū)r(shí)間進(jìn)行調(diào)整。因此,通過(guò)模式選擇信號(hào)MOD1、MOD2 控制數(shù)字鐘的工作狀態(tài),即
控制數(shù)字鐘,使其分別工作于正常計(jì)時(shí),調(diào)整分、時(shí)和設(shè)定分、時(shí)5 個(gè)狀態(tài)。當(dāng)數(shù)字鐘處于計(jì)時(shí)狀態(tài)時(shí),3 個(gè)計(jì)數(shù)器允許計(jì)數(shù),且秒、分、時(shí)計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘信號(hào)分別為CLK,秒的進(jìn)位, 分的進(jìn)位;當(dāng)數(shù)字鐘處于調(diào)整時(shí)間狀態(tài)時(shí),被調(diào)的分或時(shí)會(huì)一秒一秒地增加;當(dāng)數(shù)字鐘處于定時(shí)狀態(tài)時(shí),可以設(shè)定小時(shí)和分;當(dāng)計(jì)時(shí)到所設(shè)定的時(shí)刻時(shí),會(huì)響鬧鐘
五)設(shè)計(jì)步驟及程序:
pause是暫停鍵,當(dāng)暫停時(shí)set1與set2分別控制調(diào)節(jié)為時(shí)還是為分或是為秒。exam提供一個(gè)模擬上升沿,hh,hl,mh,ml,sh,sl分別控制小時(shí)高位,低位,分鐘高位,分鐘低位,秒高位,低位。thh,thl,tmh,tml,tsh,tsl分別表示時(shí)分秒變化的中間變量。alarm表示鬧鐘是否報(bào)時(shí)
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock is port(clk:in std_logic;
clr:in std_logic;
pause:in std_logic;
set1:in std_logic;
set2:in std_logic;
clk1:in std_logic;
alarm:out std_logic;
hh,hl,mh,ml,sh,sl:out std_logic_vector(3 downto 0));end clock;architecture behavioral of clock is signal count:integer range 0to 1000;signal thh,thl,tml,tmh,tsh,tsl:std_logic_vector(3 downto 0);signal exam:integer;begin
process(clk,clk1,clr,pause,set1,set2)
begin
alarm<='0';
if(clr='0')then
hh<=“0000”;
hl<=“0000”;
mh<=“0000”;
ml<=“0000”;
sh<=“0000”;
sl<=“0000”;
thh<=“0000”;
thl<=“0000”;
tmh<=“0000”;
tml<=“0000”;
tsh<=“0000”;
tsl<=“0000”;
count<=0;
exam<=0;elsif(clk='1'and clk'event)then
if(pause='1')then
if(count=999)then
count<=0;
if(thh=“0010”and thl=“0011”and tmh=“0101”and tml=“1001”and tsh=“0101”and tsl=“1001”)then
thh<=“0000”;
thl<=“0000”;
tmh<=“0000”;
tml<=“0000”;
tsh<=“0000”;
tsl<=“0000”;
elsif(tsl=“1001”)then
tsl<=“0000”;
if(tsh=“0101”)then
tsh<=“0000”;
if(tml=“1001”)then
tml<=“0000”;
if(tmh=“0101”)then
tmh<=“0000”;
if(thl=“1001”)then
thl<=“0000”;
thh<=thh+1;
else thl<=thl+1;
end if;
else tmh<=tmh+1;
end if;
else tml<=tml+1;
end if;
else tsh<=tsh+1;
end if;
else tsl<=tsl+1;
end if;
else count<=count+1;
end if;
elsif(pause='0'and(clk1='1'and exam=0))then
exam<=1;
if(set1='1'and set2='0')then
if(thh=“0010”and thl=“0011”)then
thh<=“0000”;
thl<=“0000”;
elsif(thl=“1001”)then
thl<=“0000”;
thh<=thh+1;
else thl<=thl+1;
end if;
elsif(set1='0'and set2='1')then
if(tmh=“0101”and tml=“1001”)then
tmh<=“0000”;
tml<=“0000”;
elsif(tml=“1001”)then
tml<=“0000”;
tmh<=tmh+1;
else tml<=tml+1;
end if;
elsif(set1='0'and set2='0')then
if(tsh=“0101”and tsl=“1001”)then
tsh<=“0000”;
tsl<=“0000”;
elsif(tsl=“1001”)then
tsl<=“0000”;
tsh<=tsh+1;
else tsl<=tsl+1;
end if;
end if;
end if;
if(clk1='0')then
exam<=0;
end if;
hh<=thh;
hl<=thl;
mh<=tmh;
ml<=tml;
sh<=tsh;
sl<=tsl;
if(tmh=“0000”and tsl=“0000”)then
alarm<='1';
end if;
end if;
end process;end behavioral;
tml=“0000”and tsh=“0000”and
六)實(shí)驗(yàn)結(jié)果:
1.當(dāng)clk提供一個(gè)時(shí)鐘脈沖,鬧鐘開(kāi)始計(jì)時(shí),當(dāng)暫停鍵pause為1時(shí),時(shí)鐘按標(biāo)準(zhǔn)時(shí)鐘運(yùn)行
2.當(dāng)pause為0時(shí),可以調(diào)節(jié)時(shí)鐘,當(dāng)set1=0,set2=0時(shí),調(diào)節(jié)秒,當(dāng)set1=0,set2=1時(shí)為調(diào)節(jié)分,當(dāng)set1=1,set2=0時(shí)為調(diào)節(jié)時(shí)
3.當(dāng)整點(diǎn)時(shí),時(shí)鐘會(huì)自動(dòng)鳴笛。
七)心得體會(huì):
經(jīng)過(guò)一個(gè)星期的課程設(shè)計(jì),經(jīng)歷的困難一語(yǔ)難盡。整個(gè)課程設(shè)計(jì)期間我們失落過(guò),也曾一度熱情高漲。從開(kāi)始時(shí)滿富盛激情到最后汗水背后的復(fù)雜心情,點(diǎn)點(diǎn)滴滴無(wú)不令我們回味無(wú)長(zhǎng)。
生活就是這樣,汗水預(yù)示著結(jié)果也見(jiàn)證著收獲。勞動(dòng)是人類生存生活永恒不變的話題。通過(guò)實(shí)習(xí),我才真正領(lǐng)略到“艱苦奮斗”這一詞的真正含義。我想說(shuō),設(shè)計(jì)確實(shí)有些辛苦,但苦中也有樂(lè),在如今浮躁的生活中,很少有機(jī)會(huì)能靜下心來(lái)做一個(gè)設(shè)計(jì),但我們可以,一個(gè)團(tuán)隊(duì)的任務(wù),一起的工作可以讓我們有說(shuō)有笑,相互幫助,配合默契。
在一次次的試驗(yàn)中,我們收獲的不僅是電路設(shè)計(jì)的技能更加是耐心和經(jīng)驗(yàn),還有做課程設(shè)計(jì)的心態(tài)。一根線的錯(cuò)誤直接影響著最后的結(jié)果,這就讓我們每一根線都接的仔細(xì)。最讓人苦惱的是完全按設(shè)計(jì)的接線,結(jié)果卻依然不對(duì),這時(shí)候,我們需要分析錯(cuò)誤的原因,逐步排查。
最終驗(yàn)收成功的時(shí)候我們由衷的高興。當(dāng)然,這與老師的指導(dǎo)和示范十分不開(kāi)的,正是有了老師耐心的指導(dǎo)和對(duì)于錯(cuò)誤原因分析的幫助,才有了我們的對(duì)電路設(shè)計(jì)的新認(rèn)識(shí)
對(duì)我而言,知識(shí)上的收獲重要,精神上的豐收更加可喜。挫折是一份財(cái)富,經(jīng)歷是一份擁有。這次實(shí)習(xí)必將成為我人生旅途上一個(gè)非常美好的回憶!
再次感謝老師,您辛苦了。
第四篇:交通燈控制邏輯電路設(shè)計(jì)與總結(jié)報(bào)告
交通燈控制邏輯電路設(shè)計(jì)與總結(jié)報(bào)告
一、設(shè)計(jì)任務(wù)
用CPLD設(shè)計(jì)路口交通燈控制器
二、設(shè)計(jì)要求
1、滿足一下時(shí)序要求:南北方向紅燈亮,東西方向綠燈亮;南北方向綠燈亮,東西方向紅燈亮;
2、每一方向的紅(綠)黃燈總共維持30秒;
3、十字路口要有時(shí)間顯示,具體為:當(dāng)某一方向綠燈亮?xí)r,置顯示器為30秒,然后以每秒減一技術(shù)方式工作,直至減到數(shù)為4秒時(shí),紅綠燈熄滅,黃燈開(kāi)始間隙閃耀4秒,減到0時(shí),紅綠燈交換,一次工作循環(huán)結(jié)束,進(jìn)入下一步另一方向的工作循環(huán);
4、紅綠燈均采用發(fā)光二極管;
5、設(shè)計(jì)由晶振電路產(chǎn)生1Hz標(biāo)準(zhǔn)秒信號(hào)的單元電路(實(shí)際秒脈沖由開(kāi)發(fā)箱提供);
6、要求對(duì)整體電路進(jìn)行仿真,觀察并記錄下仿真波形;
7、選作部分:
a、手動(dòng)調(diào)整和自動(dòng)控制,夜間為黃燈閃耀;
b、白天黃燈亮?xí)r,以2Hz的速度閃爍點(diǎn)亮四秒; c、紅綠燈循環(huán)點(diǎn)亮?xí)r間可以自由修改。
三、設(shè)計(jì)設(shè)備
含有Quartus軟件的電腦一臺(tái),可下載的試驗(yàn)臺(tái);
四、設(shè)計(jì)方法
使用VHDL語(yǔ)言進(jìn)行程序的設(shè)計(jì)運(yùn)行和仿真,以及波形的運(yùn)行仿真,最后進(jìn)行下載仿真;
五、方案論證
方案1:把整個(gè)流程分成幾個(gè)進(jìn)程來(lái)做;
方案2:每個(gè)進(jìn)程都使用if和case語(yǔ)句實(shí)現(xiàn)功能的實(shí)現(xiàn); 方案3:使用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)狀態(tài)間的轉(zhuǎn)換;
方案論證:
1、要實(shí)現(xiàn)整個(gè)流程,需要做的輸出內(nèi)容類型不同,如果放在一個(gè)進(jìn)程里面就比較容易混淆,產(chǎn)生混亂。而采用分成幾個(gè)進(jìn)程來(lái)做的方式就明確了每個(gè)模塊的內(nèi)容和分工,使其調(diào)理清晰,一目了然;
2、if語(yǔ)句是條件語(yǔ)句,是VHDL語(yǔ)言中常用的基本語(yǔ)句。該流程中的變量比較繁多,而使用case語(yǔ)句分情況列出來(lái),簡(jiǎn)潔明了。
3、狀態(tài)機(jī)的使用格式簡(jiǎn)潔,使用簡(jiǎn)單方便,特別是在進(jìn)行狀態(tài)的轉(zhuǎn)換時(shí)候。并行的狀態(tài)轉(zhuǎn)換不易出錯(cuò),可將狀態(tài)轉(zhuǎn)換、賦值、計(jì)數(shù)等多個(gè)功能封裝在某一個(gè)狀態(tài)中,并且更加便于為系統(tǒng)添加新的狀態(tài)功能。
方案選定:
通過(guò)以上分析,確定用以上方案為本次設(shè)計(jì)的方案。
六、工作原理
先對(duì)所給時(shí)鐘脈沖進(jìn)行分頻到標(biāo)準(zhǔn)時(shí)鐘脈沖;設(shè)計(jì)兩個(gè)時(shí)鐘控制倒計(jì)時(shí),倒計(jì)時(shí)的時(shí)間可自由修改,由輸入決定;設(shè)計(jì)另一個(gè)時(shí)鐘,用以控制白天與夜間模式的轉(zhuǎn)換;在白天時(shí),根據(jù)倒計(jì)時(shí)的數(shù)字進(jìn)行紅綠燈的狀態(tài)轉(zhuǎn)換;夜間時(shí),紅綠燈狀態(tài)改為夜間模式:黃燈閃爍。
七、程序設(shè)計(jì)
------交通燈控制系統(tǒng)所使用的庫(kù)和包
-------------------------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
-------------------------------交通燈控制系統(tǒng)的實(shí)體
-------------------------entity jt is
port(clk,reset:in std_logic;
------------------時(shí)鐘脈沖clk由系統(tǒng)直接提供,需要進(jìn)行分
頻;reset是啟動(dòng)鍵,當(dāng)reset為1是,系統(tǒng)啟動(dòng)
t0:integer range 0 to30;
------------------紅綠燈循環(huán)點(diǎn)亮的時(shí)間,根據(jù)輸入的不同
系統(tǒng)運(yùn)行的不同
r1,y1,g1,r2,y2,g2:out std_logic;
------------------r1為東西方向紅燈,y1為東西方
向黃燈,g1為東西方向綠燈;r2為南北方向紅燈,y2為南北方向黃燈,g2為南北方向綠燈
ec0,ec1,nc0,nc1:out std_logic_vector(3 downto 0));
------------------ec0,ec1分別為東西方向的倒計(jì)時(shí)間的個(gè)位和十位;
nc0,nc1分別為南北方向的倒計(jì)時(shí)間的個(gè)位和十位
end jt;-------------------------------交通燈控制系統(tǒng)的結(jié)構(gòu)體(5個(gè)進(jìn)程)
-------------------------architecture one of jt is
type state_type is(s0,s1,s2,s3);
------------------定義狀態(tài)的類型
signal state:state_type;
------------------使用狀態(tài)機(jī)
signal k:std_logic;
------------------分頻后的1Hz的標(biāo)準(zhǔn)時(shí)鐘脈沖
signal c1,c2:integer range 0 to 30;
------------------定義東西、南北方向的兩個(gè)
倒計(jì)時(shí)的計(jì)數(shù)
signal t1:integer range 0 to 3600;
signal t2:integer range 0 to 24;------------------定義一個(gè)時(shí)鐘,用以控制白天與夜間模式 Begin------該進(jìn)程用以分頻
-------------------------q0:process(clk)
variable tt:std_logic_vector(9 downto 0);
------------------中間變量
begin
if clk'event and clk='1' then
if tt=“1111101000” then
----------------------把所給1kHz分頻成1Hz的脈沖
k,10000分頻,仿真值用“ 0000000100”八分頻
tt:=(others=>'0');
k<='1';
else
tt:=tt+1;k<='0';
end if;
end if;end process q0;-------------------------
------該進(jìn)程用以設(shè)計(jì)時(shí)鐘
-------------------------q1:process(k,reset)
begin
if reset='1' then
------------------啟動(dòng)開(kāi)關(guān)為1時(shí),系統(tǒng)開(kāi)始運(yùn)行
t1<=0;t2<=0;
------------------從0點(diǎn)開(kāi)始 elsif k='1' and k'event then if t1=3599 then
------------------一個(gè)t1循環(huán)是一個(gè)秒,仿真值用“35” if t2=23 then
-------------------一個(gè)t1循環(huán)是一個(gè)小時(shí),一天24小時(shí) t2<=0;
else t2<=t2+1;end if;t1<=0;else t1<=t1+1;end if;end if;end process q1;-------------------------------該進(jìn)程用以控制白天黑天模式和紅綠燈狀態(tài)轉(zhuǎn)換
-------------------------q2:process(k,reset,t2)
begin
if t2>=5 and t2<=22 then
-------------------白天模式5:00到22:00之間
if reset='1' then
-------------------啟動(dòng)開(kāi)關(guān)為1時(shí),系統(tǒng)開(kāi)始運(yùn)
行,進(jìn)行狀態(tài)轉(zhuǎn)換
r1<='0';y1<='0';g1<='1';-------------------東西方向綠燈亮 r2<='1';y2<='0';g2<='0';-------------------南北方向紅燈亮 state<=s0;-------------------紅綠燈處于初始狀態(tài)s0 c1<=t0;
c2<=t0;-------------------倒計(jì)時(shí)從自由輸入值開(kāi)始遞減 elsif k='1' and k'event then
case state is
when s0=>-------------------當(dāng)處于第1狀態(tài)時(shí),討論
if c1=5 then
--------------由于進(jìn)程內(nèi)部的并列進(jìn)
行,當(dāng)?shù)褂?jì)時(shí)第4秒時(shí),進(jìn)入到第2狀態(tài)s1
state<=s1;
c1<=c1-1;
c2<=c2-1;
--------------倒計(jì)時(shí)遞減
elsif c2=0 then
------------倒計(jì)時(shí)減到0時(shí),再?gòu)?/p>
初始值開(kāi)始
c1<=t0;
c2<=t0;
else
----------------否則繼續(xù)保持第1狀態(tài)s0
state<=s0;
c1<=c1-1;
c2<=c2-1;
end if;
when s1=>-------------------當(dāng)處于第2狀態(tài)時(shí),討論
if c1=1 then--------------由于進(jìn)程內(nèi)部的并列進(jìn)行,當(dāng)
倒計(jì)時(shí)第t0秒時(shí),進(jìn)入到第3狀態(tài)s2
state<=s2;
c1<=c1-1;
c2<=c2-1;
else----------------否則繼續(xù)保持第2狀態(tài)
state<=s1;
c1<=c1-1;
c2<=c2-1;
end if;
when s2=>-------------------當(dāng)處于第3狀態(tài)時(shí),討論
if c2=5 then--------------由于進(jìn)程內(nèi)部的并列進(jìn)行,當(dāng)?shù)褂?jì)時(shí)第4秒時(shí),進(jìn)入到第4狀態(tài)s3
state<=s3;
c1<=c1-1;
c2<=c2-1;
elsif c1=0 then
------------倒計(jì)時(shí)減到0時(shí),再?gòu)某?/p>
始值開(kāi)始
c1<=t0;
c2<=t0;
else
----------------否則繼續(xù)保持第3狀態(tài)
state<=s2;
c1<=c1-1;
c2<=c2-1;
end if;
when s3=>-------------------當(dāng)處于第4狀態(tài)時(shí),討論 if c2=1 then--------------由于進(jìn)程內(nèi)部的并列進(jìn)行,當(dāng)?shù)?/p>
計(jì)時(shí)第t0秒時(shí),進(jìn)入到第1狀態(tài)s0
state<=s0;
c1<=c1-1;
c2<=c2-1;
else----------------否則繼續(xù)保持第4狀態(tài)
state<=s3;
c1<=c1-1;
c2<=c2-1;
end if;
when others=> state<=s0;
end case;if state=s0 then
r1<='0';y1<='0';g1<='1';
r2<='1';y2<='0';g2<='0';elsif state=s1 then
r1<='0';g1<='0';
r2<='1';y2<='0';g2<='0';
if c1=4 or c1=2 then y1<='1';
else y1<='0';
end if;elsif state=s2 then
r1<='1';y1<='0';g1<='0';
r2<='0';y2<='0';g2<='1';elsif state=s3 then
r1<='1';y1<='0';g1<='0';
r2<='0';g2<='0';
if c2=4 or c2=2 then y2<='1';
else y2<='0';
end if;end if;
--各個(gè)狀態(tài)的紅綠燈變量的賦值,‘1’亮‘0’熄 end if;else-------------------夜間模式22:00到次日5:00之間
c2<=0;c1<=0;r1<='0';r2<='0';g1<='0';g2<='0';y1<=k;y2<=k----------------紅綠燈的狀態(tài):脈沖k賦給黃燈變量,黃燈閃爍
end if;end process q2;-------------------------------該進(jìn)程用于東西方向倒計(jì)時(shí)的譯碼顯示
-------------------------q3:process(c1)
begin case c1 is when 0=>ec0<=“0000”;ec1<=“0000”;when 1=>ec0<=“0001”;ec1<=“0000”;when 2=>ec0<=“0010”;ec1<=“0000”;when 3=>ec0<=“0011”;ec1<=“0000”;when 4=>ec0<=“0100”;ec1<=“0000”;when 5=>ec0<=“0101”;ec1<=“0000”;when 6=>ec0<=“0110”;ec1<=“0000”;when 7=>ec0<=“1000”;ec1<=“0000”;when 9=>ec0<=“1001”;ec1<=“0000”;when 10=>ec0<=“0000”;ec1<=“0001”;when 11=>ec0<=“0001”;ec1<=“0001”;when 12=>ec0<=“0010”;ec1<=“0001”;when 13=>ec0<=“0011”;ec1<=“0001”;when 14=>ec0<=“0100”;ec1<=“0001”;when 15=>ec0<=“0101”;ec1<=“0001”;when 16=>ec0<=“0110”;ec1<=“0001”;when 17=>ec0<=“0111”;ec1<=“0001”;when 18=>ec0<=“1000”;ec1<=“0001”;when 19=>ec0<=“1001”;ec1<=“0001”;when 20=>ec0<=“0000”;ec1<=“0010”;when 21=>ec0<=“0001”;ec1<=“0010”;when 22=>ec0<=“0010”;ec1<=“0010”;when 23=>ec0<=“0011”;ec1<=“0010”;when 24=>ec0<=“0100”;ec1<=“0010”;when 25=>ec0<=“0101”;ec1<=“0010”;when 26=>ec0<=“0110”;ec1<=“0010”;when 27=>ec0<=“0111”;ec1<=“0010”;when 28=>ec0<=“1000”;ec1<=“0010”;when 29=>ec0<=“1001”;ec1<=“0010”;when 30=>ec0<=“0000”;ec1<=“0011”;----------------------------當(dāng)在設(shè)定范圍內(nèi)時(shí),分別為個(gè)位十位譯碼并顯示
when others=>ec0<=“0000”;ec1<=“0000”;
-------------------------否則,LED燈顯示0
end case;
end process q3;-------------------------------該進(jìn)程用于南北方向倒計(jì)時(shí)的譯碼顯示
-------------------------q4:process(c2)
begin
case c2 is when 0=>nc0<=“0000”;nc1<=“0000”;when 1=>nc0<=“0001”;nc1<=“0000”;when 2=>nc0<=“0010”;nc1<=“0000”;when 3=>nc0<=“0011”;nc1<=“0000”;when 4=>nc0<=“0100”;nc1<=“0000”;when 5=>nc0<=“0101”;nc1<=“0000”;when 6=>nc0<=“0110”;nc1<=“0000”;when 7=>nc0<=“0111”;nc1<=“0000”;when 8=>nc0<=“1000”;nc1<=“0000”;when 9=>nc0<=“1001”;nc1<=“0000”;when 10=>nc0<=“0000”;nc1<=“0001”;when 11=>nc0<=“0001”;nc1<=“0001”;when 12=>nc0<=“0010”;nc1<=“0001”;when 13=>nc0<=“0011”;nc1<=“0001”;when 14=>nc0<=“0100”;nc1<=“0001”;when 15=>nc0<=“0101”;nc1<=“0001”;when 16=>nc0<=“0110”;nc1<=“0001”;when 17=>nc0<=“0111”;nc1<=“0001”;when 18=>nc0<=“1000”;nc1<=“0001”;when 19=>nc0<=“1001”;nc1<=“0001”;when 20=>nc0<=“0000”;nc1<=“0010”;when 21=>nc0<=“0001”;nc1<=“0010”;when 22=>nc0<=“0010”;nc1<=“0010”;when 23=>nc0<=“0011”;nc1<=“0010”;when 24=>nc0<=“0100”;nc1<=“0010”;when 25=>nc0<=“0101”;nc1<=“0010”;when 26=>nc0<=“0110”;nc1<=“0010”;when 27=>nc0<=“0111”;nc1<=“0010”;when 28=>nc0<=“1000”;nc1<=“0010”;when 29=>nc0<=“1001”;nc1<=“0010”;when 30=>nc0<=“0000”;nc1<=“0011”;---------------------------當(dāng)在設(shè)定范圍內(nèi)時(shí),分別為個(gè)位十位譯碼并顯示
when others=>nc0<=“0000”;nc1<=“0000”;
end process q4;-------------------------end architecture one;
----所有進(jìn)程結(jié)束-------------------------
八、仿真結(jié)果
1、clk為輸入脈沖;開(kāi)始令reset為’1’,啟動(dòng)系統(tǒng),系統(tǒng)正常工作后值為’0; t0為紅綠燈循環(huán)時(shí)間,可自由修改,如果輸入值為’0010000’,則為16秒倒計(jì)時(shí)。如下圖:系統(tǒng)從0點(diǎn)開(kāi)始運(yùn)行,處于夜間模式時(shí),倒計(jì)時(shí)都為“00”,兩個(gè)方向都為黃燈閃爍,紅綠燈都熄滅。
---------------------------否則,LED燈顯示0
end case;2、5:00之后,進(jìn)入到白天模式:從第1狀態(tài)(東西方向綠燈亮、南北方向紅燈)開(kāi)始,倒計(jì)時(shí)從16秒開(kāi)始遞減。倒計(jì)時(shí)第4秒后進(jìn)入第2 狀態(tài)(東西方向黃燈閃爍,南北方向紅燈亮)。
3、倒計(jì)時(shí)第0秒后進(jìn)入第3 狀態(tài)(東西方向紅燈亮,南北方向綠燈亮),倒計(jì)時(shí)再?gòu)?6秒開(kāi)始遞減;倒計(jì)時(shí)第4秒后進(jìn)入第4 狀態(tài)(東西方向紅燈亮,南北方向黃燈閃爍);倒計(jì)時(shí)第0秒后進(jìn)入第1 狀態(tài)(東西方向綠燈亮,南北方向紅燈亮),倒計(jì)時(shí)再?gòu)?6秒開(kāi)始遞減
。如此循環(huán)。
4、當(dāng)計(jì)時(shí)器到22:00時(shí),再次進(jìn)入夜間模式:東西南北方向黃燈閃爍;到次日5:00時(shí)又回到白天模式。如此循環(huán)。
九、討論與改進(jìn)
特點(diǎn):
1、在整個(gè)設(shè)計(jì)過(guò)程中,分進(jìn)程實(shí)現(xiàn)整個(gè)功能,簡(jiǎn)單明了;
2、狀態(tài)機(jī)的功能和優(yōu)點(diǎn)得到了較為完整的體現(xiàn);
3、分夜間和白天模式不同,系統(tǒng)自動(dòng)調(diào)節(jié);
4、黃燈以閃爍的形式亮;系統(tǒng)運(yùn)行后紅綠燈循環(huán)點(diǎn)亮的時(shí)間也可自由修改。不足:
1、整個(gè)系統(tǒng)啟動(dòng)后從夜間0點(diǎn)開(kāi)始運(yùn)行,而不能隨意調(diào)為哪個(gè)時(shí)間的交通燈狀態(tài),只能從程序中改,不能手動(dòng)調(diào)節(jié);
2、整個(gè)功能還是比較簡(jiǎn)單,未能分左右轉(zhuǎn)和直行的情況;
3、緊急情況處理時(shí)也無(wú)特殊處理的設(shè)置。
改進(jìn):
1、在進(jìn)程中可增加一個(gè)輸入量,用以控制系統(tǒng)的時(shí)鐘時(shí)間,方便調(diào)節(jié)模式和交通燈狀態(tài);
2、在進(jìn)程中可加入幾個(gè)紅綠燈狀態(tài)來(lái)分別控制東西方向和南北方向的左轉(zhuǎn)、右轉(zhuǎn)和直行的紅綠燈狀態(tài);
3、在原有程序的基礎(chǔ)上,可通過(guò)增加一個(gè)輸入量來(lái)控制一種特殊狀態(tài),用以控制特殊情況的處理,視該特殊情況而定。
二○一○年九月三日
第五篇:數(shù)字電子鐘實(shí)驗(yàn)報(bào)告
本科實(shí)驗(yàn)報(bào)告
學(xué)號(hào): 指導(dǎo)教師:
2016年7月19日
課程名稱:
姓名: 院系: 專業(yè):
電子電路安裝與調(diào)試 陳肖葦、李曉杰、張晨靖 信息與電子工程學(xué)院 電子科學(xué)與技術(shù) 3140104544 王子立
實(shí)驗(yàn)報(bào)告
課程名稱:電子電路安裝與調(diào)試指導(dǎo)老師:王子立成績(jī):______________ 實(shí)驗(yàn)名稱:多功能數(shù)字鐘的設(shè)計(jì)與制作實(shí)驗(yàn)類型:設(shè)計(jì)型同組成員:
一、實(shí)驗(yàn)?zāi)康暮鸵?/p>
實(shí)驗(yàn)?zāi)康模?/p>
1.學(xué)習(xí)并掌握中規(guī)模集成電路設(shè)計(jì)制作數(shù)字電路系統(tǒng)的方法,裝調(diào)技術(shù)和數(shù)字鐘的功能擴(kuò)展電路的設(shè)計(jì)。
2.熟悉集成電路的使用方法。實(shí)驗(yàn)要求:
1.選用74系列或COMS系列中規(guī)模集成電路,LED數(shù)碼顯示器為主要器件設(shè)計(jì)并制作一多功能數(shù)字電子鐘,要求具有如下功能:
①基本功能:以數(shù)字形式顯示時(shí)、分、秒的時(shí)間,小時(shí)的顯示為“12”翻“1”,手動(dòng)快校時(shí)。
②擴(kuò)展功能:仿廣播電臺(tái)整點(diǎn)報(bào)時(shí),報(bào)整點(diǎn)時(shí)數(shù),定時(shí)控制(時(shí)間自定)。自行設(shè)計(jì)電路,至少實(shí)現(xiàn)其中兩個(gè)擴(kuò)展功能,電路形式盡可能不與前述電路相同。
2.設(shè)計(jì)與制作要求
①擬定數(shù)字電子鐘電路的組成框圖,要求電路的基本功能與擴(kuò)展功能同時(shí)實(shí)現(xiàn),使用的器件要盡量少、成本低。
②設(shè)計(jì)、仿真、制作各單元電路,要求器件布局合理、美觀,便于級(jí)聯(lián)與調(diào)試。③測(cè)試數(shù)字電子鐘系統(tǒng)的邏輯功能,同時(shí)滿足基本功能與擴(kuò)展功能的要求。
④畫(huà)出數(shù)字鐘系統(tǒng)的整機(jī)邏輯電路圖,設(shè)計(jì)印制電路板,要求器件布局合理,布線整齊、美觀。
⑤安裝并調(diào)試整個(gè)數(shù)字電子鐘。
二、實(shí)驗(yàn)內(nèi)容和原理
實(shí)驗(yàn)內(nèi)容:
1.設(shè)計(jì)主體電路,完成基本功能:以數(shù)字形式顯示時(shí)、分、秒的時(shí)間,小時(shí)的顯示為“12”翻“1”,手動(dòng)快校時(shí)。
2.設(shè)計(jì)擴(kuò)展電路,完成擴(kuò)展功能:仿廣播電臺(tái)整點(diǎn)報(bào)時(shí),報(bào)整點(diǎn)時(shí)數(shù),定時(shí)控制(時(shí)間自定)。
3.仿真各單元電路。4.制作PCB板并印刷電路。5.焊接電路板并調(diào)試。實(shí)驗(yàn)原理:
1.數(shù)字電子鐘電路原理
數(shù)字電子鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)頻率(1Hz)進(jìn)行計(jì)數(shù)的電路,主要由基準(zhǔn)頻率源、分頻器、計(jì)數(shù)器、譯碼顯示驅(qū)動(dòng)器、數(shù)字顯示器和校準(zhǔn)電路等組成?;鶞?zhǔn)頻率源是數(shù)字電子鐘的核心,它產(chǎn)生一個(gè)矩形波時(shí)間基準(zhǔn)信號(hào),其頻率精度和穩(wěn)定性決定了計(jì)時(shí)的精度。分頻器采用計(jì)數(shù)器實(shí)現(xiàn),以得到1秒(即頻率1Hz)的標(biāo)準(zhǔn)秒信號(hào)脈沖。在計(jì)數(shù)器電路中,對(duì)秒、分計(jì)數(shù)采用60進(jìn)制的計(jì)數(shù)器,對(duì)時(shí)計(jì)數(shù)器采用12翻1 的計(jì)數(shù)器。譯碼器采用BCD碼七段譯碼顯示驅(qū)動(dòng)器。顯示器采用LED七段數(shù)碼管。
整個(gè)數(shù)字電路系統(tǒng)的原理如圖2.1所示,分為主體電路和擴(kuò)展電路兩大部分。其中主體電路完成數(shù)字鐘的基本功能,擴(kuò)展電路實(shí)現(xiàn)數(shù)字鐘的擴(kuò)展功能。
圖2.1多功能數(shù)字鐘系統(tǒng)組成框圖
該系統(tǒng)的工作原理是:由振蕩器產(chǎn)生穩(wěn)定的高頻脈沖信號(hào),作為數(shù)字鐘的時(shí)間基準(zhǔn),經(jīng)分頻器輸出標(biāo)準(zhǔn)脈沖信號(hào)。秒計(jì)數(shù)器滿60后想分計(jì)數(shù)器進(jìn)位,分計(jì)數(shù)器滿60或向小時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按照“12翻1”規(guī)律計(jì)數(shù)。計(jì)數(shù)器的輸出經(jīng)譯碼器送顯示器。計(jì)時(shí)出現(xiàn)誤差時(shí)可以用校時(shí)電路進(jìn)行校時(shí)、校分。擴(kuò)展電路必須在主體電路正常運(yùn)行的情況下才能進(jìn)行功能擴(kuò)展。
2.主體電路原理 ①振蕩器
振蕩器是數(shù)字鐘的核心。振蕩器頻率的精確度及穩(wěn)定度決定了數(shù)字鐘計(jì)時(shí)的準(zhǔn)確程度,通常選用石英晶體構(gòu)成振蕩器電路。一般來(lái)說(shuō),振蕩器的頻率越高,計(jì)時(shí)精度越高。
由于石英晶體振蕩器的輸出頻率較高,為了得到1Hz的秒信號(hào),需要對(duì)振蕩器的輸出信號(hào)進(jìn)行分頻。通常用計(jì)數(shù)器實(shí)現(xiàn)分頻,一般用多級(jí)二進(jìn)制計(jì)數(shù)器實(shí)現(xiàn)。
圖2.2為時(shí)鐘專用集成電路(CD4060)的晶體振蕩電路及分頻電路,取晶振的頻率為32768Hz,該電路內(nèi)部含有一個(gè)振蕩電路和一個(gè)14級(jí)2分頻電路,使用非常方便。在他的輸出端可以得到2Hz的標(biāo)準(zhǔn)脈沖和其他高頻信號(hào)。2Hz再經(jīng)過(guò)一個(gè)D觸發(fā)器二分頻后得到1Hz的秒信號(hào)。
圖2.2 用CD4060構(gòu)成的電子鐘振蕩與分頻電路
如果精度要求不高,也可以采用由集成邏輯門(mén)與RC組成的時(shí)鐘源振蕩器,或由集成定時(shí)器555與RC組成的多諧振蕩器。選用555構(gòu)成的多諧振蕩器,設(shè)振蕩頻率f0=103Hz,電路參數(shù)如圖2.3所示:
圖2.3 555構(gòu)成的振蕩器
②分頻器
分頻器的功能主要有兩個(gè):一是產(chǎn)生標(biāo)準(zhǔn)秒脈沖信號(hào),二是提供功能擴(kuò)展電路所需要的信號(hào),如仿電臺(tái)報(bào)時(shí)用的1kHz的高音頻信號(hào)和500Hz的低音頻信號(hào)等。選用3片中規(guī)模集成電路計(jì)數(shù)器74LS90可以完成上述功能,因?yàn)槊科?/10分頻,3片級(jí)聯(lián)則可以獲得所需要的頻率信號(hào),即第一片的Q0端輸出頻率為500Hz,第二片的Q3端輸出為10Hz,第三片的Q3端輸出為1Hz。
③時(shí)分秒計(jì)數(shù)器
時(shí)間計(jì)數(shù)單元有時(shí)計(jì)數(shù)、分計(jì)數(shù)和秒計(jì)數(shù)三個(gè)部分。分和秒都是模M=60的計(jì)數(shù)器,輸出為兩位的BCD嘛,其計(jì)數(shù)規(guī)律為00→01→?→58→59→00→?。選用74LS92作為十位計(jì)數(shù)器,74LS90作為個(gè)位計(jì)數(shù)器,再將他們級(jí)聯(lián)組成模數(shù)M=60的計(jì)數(shù)器。
也可以選用10進(jìn)制計(jì)數(shù)器,無(wú)需進(jìn)制轉(zhuǎn)換,只需要將Q0和CP1’相連即可。CP0’與脈沖輸入信號(hào)相連,Q3可作為向上的進(jìn)位信號(hào)與秒的十位計(jì)數(shù)電路CP0’相連,電路連接如圖2.4所示:
圖2.4 十進(jìn)制計(jì)數(shù)器電路
秒十位計(jì)數(shù)電路為6進(jìn)制計(jì)數(shù)器,需要進(jìn)制轉(zhuǎn)換。10進(jìn)制計(jì)數(shù)器轉(zhuǎn)換為6進(jìn)制計(jì)數(shù)器的電路如圖2.5所示,Q2、Q1通過(guò)與門(mén)與1清零端R相連,實(shí)現(xiàn)6進(jìn)制轉(zhuǎn)換,與門(mén)的輸出同時(shí)還作為向上的進(jìn)位信號(hào)與分個(gè)位計(jì)數(shù)電路CP0’相連。
圖2.5 十進(jìn)制-六進(jìn)制計(jì)數(shù)器轉(zhuǎn)換電路
分計(jì)數(shù)器與秒計(jì)數(shù)器設(shè)計(jì)相同。
時(shí)計(jì)數(shù)器是一個(gè)12翻1的特殊進(jìn)制計(jì)數(shù)器,即當(dāng)數(shù)字中運(yùn)行到12時(shí)59分59秒時(shí),秒的個(gè)位計(jì)數(shù)器再輸入一個(gè)秒脈沖后,數(shù)字鐘應(yīng)自動(dòng)顯示為01時(shí)00分00秒,實(shí)現(xiàn)日常生活中習(xí)慣用的計(jì)時(shí)規(guī)律。選用74LS191和74LS74,其電路原理見(jiàn)圖2.6:
圖2.6 時(shí)計(jì)數(shù)器
74LS191是帶異步置數(shù)端的16進(jìn)制可逆計(jì)數(shù)器,設(shè)計(jì)成0-9的10進(jìn)制加法器和2→1的減法計(jì)數(shù)器,用它做1-9的計(jì)數(shù)何從12→1的減法計(jì)數(shù)。74LS74是D觸發(fā)器,用作時(shí)十位計(jì)數(shù)。
工作過(guò)程:74LS191從0開(kāi)始計(jì)數(shù),到第九個(gè)技術(shù)脈沖過(guò)后,其輸出為1010,與非門(mén)G1輸出低電平,計(jì)數(shù)器異步置零,與非門(mén)G1又回到高電平。與非門(mén)G1回到高電平的瞬間(上升沿),74LS74觸發(fā)器被置1,完成9-10的進(jìn)位過(guò)程。第十一、十二個(gè)脈沖過(guò)后計(jì)數(shù)狀態(tài)分比為10001/10010,這時(shí)與非門(mén)G2輸出低電平,計(jì)數(shù)控制端為高電平74LS191被設(shè)置為減法計(jì)數(shù)器,第十三個(gè)脈沖到來(lái)是74LS191的狀態(tài)由0010轉(zhuǎn)變?yōu)?001.這時(shí),與非門(mén)G3的兩輸入端都為高電平,輸出變?yōu)榈碗娖?,使D觸發(fā)器清零,整個(gè)計(jì)數(shù)器的狀態(tài)為00001,完成了從12→1的狀態(tài)轉(zhuǎn)換。同時(shí)計(jì)數(shù)器74LS191的控制端又恢復(fù)為低電平,重新開(kāi)始下一個(gè)12的計(jì)數(shù)周期。
④譯碼、驅(qū)動(dòng)及顯示電路
各計(jì)數(shù)單元的計(jì)數(shù)器實(shí)現(xiàn)了對(duì)時(shí)間的累計(jì),并分別從Q0-Q3端以BCD碼的形式輸出,譯碼驅(qū)動(dòng)顯示電路是將計(jì)數(shù)器的輸出數(shù)碼轉(zhuǎn)換為數(shù)碼顯示器所需要的邏輯并驅(qū)動(dòng)顯示器進(jìn)行顯示。圖2.7是使用CD4511作為譯碼驅(qū)動(dòng)電路,選用LED數(shù)碼管作為顯示器。CD4511是CMOS BCD碼到7段鎖存、譯碼、驅(qū)動(dòng)電路,它可以直接驅(qū)動(dòng)共陰極LED,圖中電阻器限流的作用,其阻值應(yīng)根據(jù)電源電壓來(lái)決定,一般限制LED數(shù)碼管每段筆畫(huà)10mA左右。
圖2.7 譯碼、驅(qū)動(dòng)及顯示電路
⑤時(shí)分校正電路
當(dāng)數(shù)字鐘剛接通電源或計(jì)時(shí)出現(xiàn)誤差時(shí),需要校正時(shí)間,校時(shí)是數(shù)字鐘應(yīng)具備的基本功能。一般電子鐘都有時(shí)、分、秒等校時(shí)功能。
對(duì)校時(shí)電路的要求是:在小時(shí)校正的時(shí)候不影響分和秒的正常計(jì)數(shù),在分校正時(shí)不影響小時(shí)和秒的正常計(jì)數(shù)。校時(shí)方法有快校時(shí)和慢校時(shí)兩種:快校時(shí)通過(guò)開(kāi)關(guān)控制,使計(jì)數(shù)器會(huì)1Hz的校時(shí)脈沖計(jì)數(shù),慢校時(shí)用手動(dòng)產(chǎn)生單脈沖作為校時(shí)脈沖。圖2.8為校時(shí)分電路,它是由基本RS觸發(fā)器和與非門(mén)組成,基本RS觸發(fā)器的功能是產(chǎn)生單脈沖,防止抖動(dòng)。其中K為校正用的控制開(kāi)關(guān)。校正脈沖采用1Hz的秒信號(hào),當(dāng)K處于圖示位置時(shí),與非門(mén)G1輸出高電平,基本RS觸發(fā)器處于1狀態(tài),這是數(shù)字鐘正常工作,來(lái)自分或秒的進(jìn)位信號(hào)能進(jìn)入時(shí)或分計(jì)數(shù)器。撥動(dòng)開(kāi)關(guān)K時(shí),與非門(mén)G2輸出高電平,基本RS觸發(fā)器處于0狀態(tài),這時(shí)數(shù)字鐘處于校正狀態(tài),秒信號(hào)可以直接進(jìn)入計(jì)數(shù)器,而進(jìn)位信號(hào)被阻止,因而能夠較快地校正相應(yīng)計(jì)數(shù)器的計(jì)數(shù)值。校準(zhǔn)后將校正開(kāi)關(guān)K薄回原位,數(shù)字鐘繼續(xù)進(jìn)行正常的計(jì)數(shù)工作。如果校時(shí)脈沖改由單位脈沖產(chǎn)生器提供,則可以進(jìn)行慢校時(shí)。
圖2.8 時(shí)分校正電路
3.功能擴(kuò)展電路 ①仿廣播電臺(tái)整點(diǎn)報(bào)時(shí)電路
一般數(shù)字電子鐘都具備整點(diǎn)報(bào)時(shí)的功能,及在時(shí)間到達(dá)整點(diǎn)前數(shù)秒鐘內(nèi)數(shù)字鐘會(huì)自動(dòng)發(fā)出聲響報(bào)時(shí)。報(bào)時(shí)方式是發(fā)出連續(xù)的或者有節(jié)奏的音頻信號(hào),較復(fù)雜的也可以是實(shí)時(shí)語(yǔ)音提示。仿廣播電臺(tái)整點(diǎn)報(bào)時(shí)是在整點(diǎn)前數(shù)秒內(nèi)開(kāi)始報(bào)時(shí),響1秒停1秒共5聲,前4聲低音,最后1聲高音。電路功能要求:每當(dāng)數(shù)字鐘計(jì)時(shí)快要到正點(diǎn)時(shí)發(fā)出聲響,通常按照4低音1高音的順序發(fā)出間斷聲響,以最后一聲高音結(jié)束的時(shí)刻為整點(diǎn)時(shí)刻。
設(shè)4聲低音(約500Hz)分別發(fā)生在59分的51秒、53秒、55秒和57秒,最后一聲高音(約1kHz)發(fā)生在59分59秒,它們的持續(xù)時(shí)間為1秒,如下表所示: CP(秒)
00 Q3S1 0 0 0 0 0 0 0 0 1 1 0
Q2S1 0 0 0 0 1 1 1 1 0 0 0
Q1S1 0 0 1 1 0 0 1 1 0 0 0
Q0S1 0 1 0 1 0 1 0 1 0 1 0
功能 低音 停 低音 停 低音 停 低音 停 高音 停
當(dāng)Q3S1=0時(shí)鳴低音,當(dāng)Q3S1=1時(shí)鳴高音。
只有當(dāng)十位的(Q2Q0)M2=11,分個(gè)位的(Q3Q0)M1=11,秒十位的(Q2Q0)S2=11以及秒個(gè)位的Q0S2=1時(shí),音響電路才能工作。
②定時(shí)控制電路
數(shù)字鐘在制定的時(shí)刻發(fā)出信號(hào),或驅(qū)動(dòng)音響電路“鬧時(shí)”,或?qū)δ逞b置的電源進(jìn)行接通或斷開(kāi)控制,不管是鬧時(shí)還是控制,都要求時(shí)間準(zhǔn)確,即信號(hào)的開(kāi)始時(shí)刻與持續(xù)時(shí)間必須滿足規(guī)定的要求。
例:要求上午7時(shí)59分發(fā)出鬧時(shí)信號(hào),持續(xù)時(shí)間為1min。7時(shí)59對(duì)應(yīng)的時(shí)個(gè)位計(jì)數(shù)器狀態(tài)0111,分十位計(jì)數(shù)器狀態(tài)0101,分個(gè)位計(jì)時(shí)器狀態(tài)1001.若將上述計(jì)數(shù)器輸出為1的所有輸出端經(jīng)過(guò)與門(mén)電路控制音響電路,可以使音響電路正好在7點(diǎn)59響,持續(xù)1min后停響。實(shí)現(xiàn)的電路如圖2.9所示:
圖2.9鬧時(shí)電路
有圖可見(jiàn)到達(dá)時(shí)刻時(shí),音響電路的晶體管導(dǎo)通,揚(yáng)聲器發(fā)出1kHz的聲音,持續(xù)1min后晶體管因?yàn)檩斎攵藶?而截至,電路停鬧。
③報(bào)整點(diǎn)時(shí)數(shù)電路
報(bào)整點(diǎn)時(shí)數(shù)電路功能:每當(dāng)數(shù)字鐘計(jì)時(shí)到整點(diǎn)時(shí)發(fā)出音響,且?guī)c(diǎn)響幾聲,實(shí)現(xiàn)這一功能的電路主要由以下幾部分組成:
①減法計(jì)數(shù)器:完成幾點(diǎn)響幾聲的功能,即從小時(shí)計(jì)數(shù)器的整點(diǎn)開(kāi)始進(jìn)行減法計(jì)數(shù),直到零為止。
編碼器:將小時(shí)計(jì)數(shù)器的5個(gè)輸出端Q4、Q3、Q2、Q1、Q0按照12翻1的編碼要求轉(zhuǎn)換為減法計(jì)數(shù)器的4個(gè)輸入端D3、D2、D1、D0所需的BCD碼。
③邏輯控制電路:控制減法計(jì)數(shù)器的清零與置數(shù),控制報(bào)時(shí)音響電路的輸入信號(hào)。根據(jù)以上要求,采用過(guò)了如圖2.10的報(bào)整點(diǎn)時(shí)數(shù)的電路。
圖2.10自動(dòng)報(bào)整點(diǎn)時(shí)數(shù)的電路
編碼器是由與非門(mén)實(shí)現(xiàn)的組合邏輯電路,其輸出端的邏輯表達(dá)式由5變量的卡諾圖可得: D0=Q0
D1=((Q4’Q1)’·(Q1Q4)’)’ D2=(Q2’·(Q4Q1)’)’ D3=(Q3’Q4’)’
減法計(jì)數(shù)器選用74LS191,個(gè)控制端的作用如下:LD’為置數(shù)端,當(dāng)LD’=1時(shí)將小時(shí)計(jì)數(shù)器輸出的數(shù)據(jù)經(jīng)數(shù)據(jù)輸入端D0D1D2D3置入,CP0’為溢出負(fù)脈沖輸出端,當(dāng)減計(jì)數(shù)到0時(shí),CP0’輸出一個(gè)負(fù)脈沖,U’/D為加減控制器。U’/D=1做減法計(jì)數(shù)。
邏輯控制電路由D觸發(fā)器74LS74與多級(jí)與非門(mén)組成。電路的工作原理是:接通電源后按出發(fā)開(kāi)關(guān)S,使D觸發(fā)器清零。該清零脈沖有兩個(gè)作用,一是使74LS191的置數(shù)端LD’=0,即將此時(shí)對(duì)應(yīng)的小時(shí)計(jì)數(shù)器輸出的整點(diǎn)時(shí)數(shù)置入74LS191,二是封鎖1kHz的音頻信號(hào),使音響電路無(wú)輸入脈沖而停止發(fā)聲。當(dāng)分十位計(jì)數(shù)器的進(jìn)位脈沖的上升沿來(lái)到時(shí),小時(shí)計(jì)數(shù)器加1,新的小時(shí)數(shù)被置入74LS191,進(jìn)位脈沖的上升沿同時(shí)又使74LS191的狀態(tài)翻轉(zhuǎn),輸出高電平,經(jīng)G2、G3延時(shí)后使LD’=1,此時(shí)74LS191進(jìn)行減法計(jì)數(shù)技術(shù)脈沖由1Hz秒信號(hào)提供。秒信號(hào)低電平時(shí)音響電路發(fā)出1kHZ聲音,秒信號(hào)高電平時(shí)停響。當(dāng)減法計(jì)數(shù)到0時(shí),74LS191的CP0’會(huì)輸出一個(gè)負(fù)脈沖,使D觸發(fā)器的觸發(fā)信號(hào)回到0,單觸發(fā)器的狀態(tài)保持不變,當(dāng)74LS191的CP0’結(jié)束負(fù)脈沖回到高電平時(shí),因此時(shí)分進(jìn)位信號(hào)仍為高電平,經(jīng)與非門(mén)G1和非門(mén)后產(chǎn)生一個(gè)上升沿,使D觸發(fā)器翻轉(zhuǎn)到0狀態(tài),74LS191又回到置數(shù)狀態(tài)。
如果出現(xiàn)某些整點(diǎn)數(shù)不準(zhǔn)確,主要原因是邏輯控制電路中的與非門(mén)延時(shí)時(shí)間不夠,產(chǎn)生了競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,可以適當(dāng)增加與非門(mén)的級(jí)數(shù)或接入小電容進(jìn)行延時(shí)。
三、主要儀器設(shè)備
裝有AD、Proteus軟件的電腦,各類元件,鑷子,焊錫,電烙鐵等
四、操作方法和實(shí)驗(yàn)步驟
1.實(shí)驗(yàn)電路的設(shè)計(jì):
①由圖2.1所示的數(shù)字鐘系統(tǒng)組成框圖,按照信號(hào)的流向分級(jí)安裝,逐級(jí)級(jí)聯(lián)。②級(jí)聯(lián)時(shí)如果出現(xiàn)時(shí)序配合不同步或尖峰脈沖干擾,引起邏輯混亂,可以增加多級(jí)邏輯門(mén)來(lái)延時(shí),如果顯示字符變化很快,模糊不清,可能由于電源電流的跳變引起,可以在集成電路器件的電流端Vcc加退耦濾波電容。
③畫(huà)數(shù)字鐘的主題邏輯電路圖。經(jīng)過(guò)聯(lián)調(diào)并糾正設(shè)計(jì)方案中的錯(cuò)誤和不足,再測(cè)試電路的邏輯功能是否滿足設(shè)計(jì)要求,最后畫(huà)出滿足設(shè)計(jì)要求的總體邏輯電路圖。
2.實(shí)驗(yàn)電路的仿真
①在Proteus軟件中繪制電路圖。
②依次進(jìn)行主體電路和各擴(kuò)展電路的功能仿真,觀察各電路模塊的功能是否滿足需求,必要時(shí)在關(guān)鍵節(jié)點(diǎn)添加示波器探針觀察電路的波形情況。根據(jù)仿真結(jié)果對(duì)電路進(jìn)行適當(dāng)?shù)恼{(diào)整。
3.PCB板的繪制 4.實(shí)驗(yàn)電路的裝調(diào)
五、設(shè)計(jì)方案及仿真分析
1.實(shí)驗(yàn)電路的設(shè)計(jì): ①主體電路
圖5.1主體電路
圖5.2 振蕩器
圖5.3 計(jì)數(shù)器
圖5.3 譯碼顯示
②擴(kuò)展電路
圖5.4 正點(diǎn)報(bào)時(shí)
圖5.5仿廣播電臺(tái)正點(diǎn)報(bào)時(shí)
圖5.6 定時(shí)控制
圖5.7 音響電路
圖5.8 電源電路
2.實(shí)驗(yàn)電路的仿真: ①計(jì)時(shí)顯示功能
起初仿真發(fā)現(xiàn)小時(shí)、分、秒的數(shù)字都能夠正常顯示,且分、秒為60進(jìn)制,但小時(shí)信號(hào)出現(xiàn)滿7復(fù)0的狀況,即狀態(tài)為0→1→2→3→4→5→6→7→10→11→12。此時(shí)我們的局部電路如圖5.9所示:
圖5.9 原小時(shí)計(jì)數(shù)顯示電路 當(dāng)H11=1,H13=1即Q3Q2Q1Q0=1010,U2進(jìn)行置零操作,但觀察仿真發(fā)現(xiàn)Q3Q2Q1Q0= 0111即置零。我們將H11、H12、H13和LD信號(hào)添加到示波器中觀察到波形如圖5.11所示。
圖5.10 添加示波器
圖5.11 波形顯示
結(jié)合數(shù)碼管顯示發(fā)現(xiàn),當(dāng)數(shù)字從7將要變成8時(shí),H13和LD都出現(xiàn)了跳變,H13原本應(yīng)當(dāng)從0狀態(tài)變?yōu)?狀態(tài)并保持一段時(shí)間但實(shí)際上H13從0變?yōu)?后又迅速跳回0,導(dǎo)致電路計(jì)數(shù)器被置0。
結(jié)合這一現(xiàn)象,我們分析原因?yàn)?,?dāng)H13從0狀態(tài)變成1狀態(tài)時(shí),H10、H11和H12也同時(shí)從1狀態(tài)變成0,由于電路的延遲,以及計(jì)數(shù)器采用異步置數(shù),導(dǎo)致跳變現(xiàn)象的產(chǎn)生。因此,我們將原本輸入為H11、H13的與非門(mén)U18改為輸入為H10’、H11、H12’、H13的四輸入與非門(mén),然后再進(jìn)行仿真,發(fā)現(xiàn)功能可正常實(shí)現(xiàn)。
圖5.12 修改后局部電路
②時(shí)間校準(zhǔn)功能
對(duì)電路進(jìn)行快速時(shí)間校準(zhǔn)功能的仿真,發(fā)現(xiàn)當(dāng)校時(shí)開(kāi)關(guān)下按時(shí),小時(shí)數(shù)會(huì)升高,實(shí)現(xiàn)小時(shí)校準(zhǔn);當(dāng)校分開(kāi)關(guān)下按時(shí),分鐘數(shù)會(huì)升高,實(shí)現(xiàn)分鐘校準(zhǔn),時(shí)間校準(zhǔn)功能正常。
③正點(diǎn)報(bào)時(shí)功能
圖5.13 音響電路示波器
如圖5.13將示波器探針?lè)胖迷谝繇戨娐飞希^察當(dāng)整點(diǎn)來(lái)臨時(shí),示波器顯示的波形情況。圖5.14所示是4時(shí)來(lái)臨時(shí),音響發(fā)出4聲提示音的波形。另外選取其他若干整時(shí)數(shù),均能實(shí)現(xiàn)正點(diǎn)報(bào)時(shí)功能。
圖5.14正點(diǎn)報(bào)時(shí)
④仿廣播電臺(tái)報(bào)時(shí)功能
圖5.15仿廣播電臺(tái)報(bào)時(shí)
觀察整點(diǎn)即將來(lái)臨時(shí)音響的波形顯示,發(fā)現(xiàn)在整點(diǎn)前10s開(kāi)始報(bào)時(shí),并從揚(yáng)聲器中聽(tīng)出先報(bào)四聲低音再報(bào)一聲高音,更改若干整點(diǎn)數(shù)功能均能正常實(shí)現(xiàn)。
⑤定時(shí)控制
圖5.16 定時(shí)控制
利用撥碼開(kāi)關(guān)設(shè)定好定時(shí)的小時(shí)數(shù)和分鐘數(shù),仿真發(fā)現(xiàn)到達(dá)定時(shí)時(shí)間時(shí)揚(yáng)聲器開(kāi)始發(fā)出提示音,聲音持續(xù)一分鐘,更換若干定時(shí)時(shí)間再次測(cè)試,發(fā)現(xiàn)定時(shí)控制功能都能夠正常實(shí)現(xiàn)。
⑥電源電路
圖5.15 電源電路
3.PCB板的繪制
最終設(shè)計(jì)完成的PCB版如下:
圖5.16 電路整體設(shè)計(jì)
電路排版的整體設(shè)計(jì)理念是將電源以及指示燈放在右上角,通電的同時(shí)即可檢驗(yàn)電路是否能工作以及電源電路是否正常工作,同時(shí),將整塊電路中的用戶交互界面,即時(shí)間顯示界面和按鈕操作界面分別置于電路板的上下兩側(cè),其中,將時(shí)間顯示界面放在最上方,方便觀察和調(diào)試,將按鈕操作界面放在電路板的最下方,方面用戶操作;至于其他的功能模塊,則放在電路板的中間部分,并按功能相關(guān)的原則進(jìn)行排版。
電路布線的整體設(shè)計(jì)理念是在電路板的一周布上一圈的電源線和地線,當(dāng)有需要時(shí)直接橫向延伸進(jìn)去進(jìn)行連接;電路的其它部分則采取自動(dòng)布線然后手動(dòng)進(jìn)行調(diào)整的方法。
下面,將針對(duì)電路中的關(guān)鍵模塊進(jìn)行詳細(xì)的介紹。
圖5.17 電源電路
上圖為電源電路,將8~12V的直流電接在JP1上,若電源正常工作,則電源指示燈LED被點(diǎn)亮,同時(shí)經(jīng)過(guò)7805輸出5V穩(wěn)壓;其中四個(gè)電容C11,C12,C13,C14起到濾波的作用,用來(lái)穩(wěn)定穩(wěn)壓器輸出的電壓。
圖5.18 晶振電路 上圖為晶振電路,其中32468為頻率為32.768KHz的晶體振蕩器,U1是14次分頻的分頻器,晶振的輸出信號(hào)經(jīng)過(guò)U1產(chǎn)生一個(gè)1KHz的信號(hào)和一個(gè)2Hz的信號(hào),其中2Hz的信號(hào)再次經(jīng)過(guò)分頻產(chǎn)生1Hz的信號(hào),當(dāng)作計(jì)數(shù)器的時(shí)鐘。
圖5.19 數(shù)字鐘主體部分
上圖為數(shù)字鐘的主體部分從上到下分別是共陰數(shù)碼管顯示器,分壓限流電阻,顯示譯碼器和16進(jìn)制計(jì)數(shù)器。首先由16進(jìn)制計(jì)數(shù)器由1Hz信號(hào)進(jìn)行計(jì)數(shù)和產(chǎn)生進(jìn)位,同時(shí)將狀態(tài)傳遞給顯示譯碼器4511,顯示譯碼器4511將計(jì)數(shù)器傳遞來(lái)的狀態(tài)進(jìn)行譯碼,輸出對(duì)應(yīng)的高電平信號(hào),經(jīng)電阻分壓后,點(diǎn)亮對(duì)應(yīng)的共陰數(shù)碼管顯示器,即可實(shí)現(xiàn)電路的主體功能。
圖5.20 開(kāi)關(guān)控制電路
上圖是我們的開(kāi)關(guān)控制電路,左邊四個(gè)撥碼開(kāi)關(guān)分別對(duì)應(yīng)小時(shí)的十位,小時(shí)的個(gè)位,分鐘的10位,分鐘的各位,用其對(duì)應(yīng)的二進(jìn)制代碼進(jìn)行控制。SW2是鬧鐘控制電路,其中僅開(kāi)關(guān)1閉合,鬧鐘打開(kāi);僅開(kāi)關(guān)2閉合,鬧鐘關(guān)閉;開(kāi)關(guān)1和開(kāi)關(guān)2同時(shí)斷開(kāi),芯片默認(rèn)高電平,鬧鐘打開(kāi);開(kāi)關(guān)1和開(kāi)關(guān)2同時(shí)閉合,則電源和地會(huì)短路,所以不能同時(shí)閉合。SW1是整點(diǎn)報(bào)時(shí)控制電路,當(dāng)開(kāi)關(guān)1閉合時(shí),整點(diǎn)報(bào)時(shí)功能使能,開(kāi)關(guān)1打開(kāi),整點(diǎn)報(bào)時(shí)功能關(guān)閉。S1是小時(shí)電路的手動(dòng)快校時(shí)按鍵,S2為分鐘電路的手動(dòng)快校時(shí)按鍵。
4.電子鐘的安裝與調(diào)試 ①安裝電路 按照原理圖、PCB圖和板子上的元件名稱安裝、焊接電路,芯片先焊插座,方便出現(xiàn)問(wèn)題時(shí)進(jìn)行修改。老師告知PCB板可能出現(xiàn)幾處錯(cuò)誤,因?yàn)樾薷脑r(shí)自動(dòng)布線把過(guò)孔取消了,因此幾根地線沒(méi)有連上。我們檢查PCB板與AD中的PCB圖連線,計(jì)劃用導(dǎo)線將沒(méi)連上的線連上,后來(lái)發(fā)現(xiàn)錯(cuò)誤已經(jīng)被修改。
②電源電路
安裝好電路后,在沒(méi)有裝芯片的情況下,測(cè)試電源電路是否正常。將直流電源調(diào)整為10V,限流在0.6A左右,按下OUTPUT,電源電路的指示LED燈亮,用萬(wàn)用表測(cè)量輸出端的電壓,在5V左右,故電源電路正常工作。
③主體電路的調(diào)試
按照原理圖首先安裝CD4060芯片,測(cè)試振蕩電路是否正常。示波器探頭首先接CD4060的4腳,接地端接電源地,測(cè)得1kHz左右的方波信號(hào)。在將探頭接至5腳,測(cè)得500Hz左右的方波信號(hào)。在晶振處可以測(cè)得32.7KHz左右的信號(hào)(很遺憾忘記拍照記錄波形)。因此振蕩電路正常工作。
安裝所有的芯片,接通電源,電源電路指示燈亮,數(shù)碼管亮,顯示小時(shí)的兩個(gè)數(shù)碼管顯示18,顯示分鐘的兩個(gè)數(shù)碼管顯示88,顯示秒的兩個(gè)數(shù)碼管從零開(kāi)始以1Hz的頻率計(jì)數(shù)。秒數(shù)碼管的變化說(shuō)明秒計(jì)數(shù)正確,分鐘和小時(shí)則說(shuō)明了我們?cè)谠O(shè)計(jì)中忽略了自啟動(dòng)問(wèn)題。通過(guò)校時(shí)、校分按鍵調(diào)節(jié)小時(shí)和分鐘數(shù)合適。
當(dāng)秒到“59”后,兩數(shù)碼管變?yōu)?,同時(shí)分鐘位加1,說(shuō)明秒到分鐘的邏輯正確。
長(zhǎng)按校分按鈕,可以看到兩個(gè)分鐘的數(shù)碼管顯示按60進(jìn)制以秒計(jì)數(shù),到達(dá)59后小時(shí)加1,說(shuō)明分鐘模塊正常工作。
長(zhǎng)按校時(shí)按鈕,小時(shí)以1Hz頻率實(shí)現(xiàn)1→12計(jì)數(shù),小時(shí)模塊正常工作。主體電路數(shù)字鐘正常工作。
在測(cè)試按鈕短按實(shí)現(xiàn)快校時(shí)時(shí),發(fā)現(xiàn)短按校時(shí)按鈕,小時(shí)顯示有可能不變、或有可能亂跳,如從12跳到6跳到2;校分按鈕短按時(shí)有不變情況,在校分計(jì)數(shù)超過(guò)40后經(jīng)常直接置零;并且校分按鈕會(huì)影響到小時(shí)的顯示;長(zhǎng)按時(shí)按鍵按下和松開(kāi)時(shí)也會(huì)影響計(jì)數(shù)變化。這可能與按鍵開(kāi)關(guān)的抖動(dòng)有關(guān)系;在測(cè)試過(guò)程中還發(fā)現(xiàn)PCB板的抖動(dòng)也會(huì)影響到數(shù)碼管顯示。開(kāi)關(guān)防抖動(dòng)與上拉電阻與并聯(lián)電容組成的RC電路有關(guān),所以通過(guò)改變電容電阻的值來(lái)增大RC電路的時(shí)間常數(shù)。我們把104的電容換成220uF的電容,使RC電路的時(shí)間常數(shù)在100ms左右,焊接時(shí)注意電容的正負(fù)極。但是改變電容后按鍵短按校時(shí)校分情況并沒(méi)有明顯改變。
最后我們決定將按鍵開(kāi)關(guān)換成撥碼開(kāi)關(guān)來(lái)得到電平,通過(guò)1Hz信號(hào)來(lái)校時(shí)。換成撥碼開(kāi)關(guān)后,打開(kāi)撥碼開(kāi)關(guān)后小時(shí)、分鐘能夠正常計(jì)數(shù)。但是撥碼開(kāi)關(guān)與底座有些接觸不良,撥動(dòng)開(kāi)關(guān)時(shí)也有可能有抖動(dòng),因此撥動(dòng)撥碼開(kāi)關(guān)時(shí)需要小心,固定電路板和撥碼開(kāi)關(guān)撥動(dòng)開(kāi)關(guān)可以正常工作。
在調(diào)節(jié)校時(shí)、校分時(shí)曾經(jīng)在板子后方接一個(gè)電容,并接過(guò)示波器,這個(gè)過(guò)程中分鐘數(shù)碼管曾突然不顯示,按校時(shí)、校分按鈕并不能使其恢復(fù)正常。后發(fā)現(xiàn)電路板上分鐘電路用到的74LS390非常燙,可能已被燒壞。拆下74LS390后用萬(wàn)用表測(cè)試插座上各個(gè)管腳的電壓,發(fā)現(xiàn)電壓并沒(méi)有異常情況,接地腳與電源地直接的電壓為0V左右。檢查電路板電路沒(méi)有發(fā)現(xiàn)問(wèn)題。猜測(cè)可能背后接電容和示波器測(cè)波形時(shí)可能有短路等情況發(fā)生導(dǎo)致74LS390燒壞。更換74LS390后,電路正常工作,390有稍微發(fā)熱但不會(huì)發(fā)燙,390接地腳電壓與電源地相同,可以正常使用。
④調(diào)節(jié)鬧鐘功能。
鬧鐘電路通過(guò)撥碼開(kāi)關(guān)設(shè)置鬧鐘時(shí)間。
首先確定電路板上從左到右四個(gè)開(kāi)關(guān)順序按照小時(shí)的十位、個(gè)位,分鐘的十位、個(gè)位排列,之后按照當(dāng)前時(shí)間設(shè)置撥碼開(kāi)關(guān)的數(shù)值。此處輸入分別為數(shù)碼管上顯示數(shù)字的二進(jìn)制編碼,打開(kāi)鬧鐘開(kāi)關(guān)后發(fā)現(xiàn)喇叭并沒(méi)有響。檢查原理圖和電路板,發(fā)現(xiàn)每個(gè)撥碼開(kāi)關(guān)的高位到低位是從右向左的,重新調(diào)整撥碼開(kāi)關(guān)的撥碼后,喇叭持續(xù)發(fā)出1kHz的聲音。關(guān)閉鬧鐘電路的控制開(kāi)關(guān)后聲音停止,在同一分鐘內(nèi),再次打開(kāi)控制開(kāi)關(guān),仍然發(fā)出聲音,當(dāng)分鐘改變時(shí),聲音停止。說(shuō)明鬧鐘電路正常工作。
調(diào)試過(guò)程中,應(yīng)該注意控制開(kāi)關(guān)的作用。由于設(shè)計(jì)電路的原因,控制開(kāi)關(guān)有兩個(gè)撥碼開(kāi)關(guān)接入狀態(tài),左數(shù)第一個(gè)與電源相接,第二個(gè)與地相接,當(dāng)?shù)诙€(gè)開(kāi)關(guān)未接通(0)時(shí)不論第一個(gè)撥碼開(kāi)關(guān)接通與否輸入都為高電平(1),鬧鐘電路工作;當(dāng)狀態(tài)為01時(shí),鬧鐘電路控制開(kāi)關(guān)處于打開(kāi)狀態(tài),相當(dāng)于鬧鐘電路不工作。但是如果同時(shí)使兩個(gè)開(kāi)關(guān)狀態(tài)處于“ON”狀態(tài),電源直接與地相接,整個(gè)電路都被短路,停止工作。因此調(diào)試時(shí)應(yīng)小心不能同時(shí)撥開(kāi)兩個(gè)開(kāi)關(guān)。
⑤調(diào)節(jié)仿廣播臺(tái)報(bào)時(shí)功能
首先通過(guò)校分按鈕使分鐘顯示為59分,當(dāng)秒數(shù)達(dá)到50后,每逢奇數(shù)秒數(shù)會(huì)響一低音聲音,持續(xù)一秒鐘,到達(dá)59分響一高音。實(shí)現(xiàn)來(lái)四聲低音一聲高音的仿廣播電臺(tái)報(bào)時(shí)功能。該電路能夠正常工作。
⑥調(diào)節(jié)仿廣播臺(tái)報(bào)時(shí)功能
打開(kāi)該電路模塊的控制開(kāi)關(guān)后,發(fā)現(xiàn)喇叭一直發(fā)出一秒一響的聲音。電路存在問(wèn)題。找到該模塊的電路,與原理圖對(duì)照的過(guò)程中發(fā)現(xiàn)有一網(wǎng)絡(luò)名寫(xiě)錯(cuò),在最后版本的原理圖中沒(méi)有改正過(guò)來(lái)。我們將電路板上相連的LD線用小刀刮斷,通過(guò)導(dǎo)線將正確的兩個(gè)相連的管腳連接后,接通電源,在非整點(diǎn)時(shí)喇叭不再發(fā)聲。
因?yàn)樵撾娐肥窃谛r(shí)數(shù)變化時(shí)工作,所以我們只需要通過(guò)校時(shí)開(kāi)關(guān)改變小時(shí)數(shù),而不需要將數(shù)字鐘調(diào)至整點(diǎn)來(lái)測(cè)試電路。
測(cè)試過(guò)程中,首先我們將時(shí)間調(diào)至整點(diǎn),此時(shí)仿廣播電臺(tái)報(bào)時(shí)與整點(diǎn)報(bào)時(shí)接連工作,我們?cè)跀?shù)整點(diǎn)報(bào)小時(shí)數(shù)時(shí)發(fā)現(xiàn)少一聲認(rèn)為可能兩功能報(bào)時(shí)在整點(diǎn)處重疊。
之后再改變校時(shí)按鈕后,聽(tīng)報(bào)小時(shí)數(shù)是正常的。但多次測(cè)試后,發(fā)現(xiàn)報(bào)小時(shí)數(shù)的聲音普遍比當(dāng)前的小時(shí)數(shù)少一聲。并且在12→1過(guò)程中,小時(shí)數(shù)報(bào)了12聲。這說(shuō)明該電路中存在競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,置數(shù)信號(hào)LD1比置數(shù)要先到達(dá)減法計(jì)數(shù)器導(dǎo)致電路報(bào)了之前的小時(shí)數(shù),我們通過(guò)接入電容來(lái)增加LD1所在電路的延遲時(shí)間,使置數(shù)先傳到減法器后再有置數(shù)信號(hào)的變化。
在LD1的輸出端與計(jì)數(shù)器74LS191的置數(shù)管腳之間并聯(lián)一個(gè)104電容,注意焊接時(shí)使電容管腳與其他管腳不相接,以免發(fā)生短路情況。并聯(lián)電容后再次測(cè)試,發(fā)現(xiàn)所有時(shí)間的整點(diǎn)報(bào)小時(shí)數(shù)功能所報(bào)聲音數(shù)都正常。
仿廣播電臺(tái)報(bào)時(shí)模塊能夠正常工作。
六、討論、心得 李曉杰:
在本次實(shí)驗(yàn)過(guò)程我主要承擔(dān)的工作有鬧鐘電路和電源電路的設(shè)計(jì),利用Proteus對(duì)電路進(jìn)行仿真并修改電路,協(xié)助進(jìn)行電路板的安裝,與組員一起進(jìn)行電路的調(diào)試。
在確定實(shí)驗(yàn)項(xiàng)目后,首先對(duì)給出的電路原理進(jìn)行理解掌握。在學(xué)習(xí)過(guò)程中,發(fā)現(xiàn)數(shù)字鐘的顯示是一一分開(kāi)的,因此每一個(gè)個(gè)位、十位都可以看成一個(gè)單獨(dú)的計(jì)數(shù)器,而不能整體地看成秒鐘和分鐘是60進(jìn)制而小時(shí)是從1計(jì)數(shù)到12的11進(jìn)制計(jì)數(shù)器,因?yàn)檫@樣不利于數(shù)碼管每一位的顯示,超過(guò)9的數(shù)無(wú)法通過(guò)7段譯碼器使數(shù)碼管有顯示數(shù)值。另外,整點(diǎn)報(bào)小時(shí)數(shù)電路中通過(guò)D觸發(fā)器來(lái)實(shí)現(xiàn)減法計(jì)數(shù)器和置數(shù)狀態(tài)的轉(zhuǎn)換也值得學(xué)習(xí)。原理部分也加深了我對(duì)邊沿觸發(fā)的理解。
在設(shè)計(jì)鬧鐘電路時(shí),運(yùn)用了撥碼開(kāi)關(guān)撥二進(jìn)制數(shù)來(lái)實(shí)現(xiàn)鬧鐘時(shí)間的設(shè)定,又用數(shù)值比較器來(lái)確定數(shù)字鐘到達(dá)了設(shè)定時(shí)間。在設(shè)計(jì)過(guò)程,要注意TTL門(mén)電路中輸入懸空時(shí)輸入的是高電平,所以設(shè)計(jì)電路時(shí)要注意添加接地,同時(shí)也要加電阻。我們?cè)谠O(shè)計(jì)鬧鐘電路的控制開(kāi)關(guān)時(shí)經(jīng)過(guò)多次修改,與數(shù)值比較器相連設(shè)置時(shí)間的撥碼開(kāi)關(guān)電路在此處仿真會(huì)出現(xiàn)問(wèn)題,最終我們確定用兩個(gè)撥碼開(kāi)關(guān)一個(gè)接電源一個(gè)接地實(shí)現(xiàn)控制作用。電源電路能使8~12V左右的電壓轉(zhuǎn)換為穩(wěn)定的5V左右的電壓,提供了穩(wěn)壓電源,因此電源輸入時(shí)可能有的變化使提供的電壓造成太大的影響,能保證電路的正常工作。
在電路仿真過(guò)程中,我們學(xué)習(xí)了Proteus軟件的使用。Proteus在繪制出電路原理圖后可以很方便地進(jìn)行仿真,同時(shí)還可以提供激勵(lì)電源和虛擬的示波器,方便我們觀察電路中的時(shí)序變化圖和仿真的波形圖。在用Proteus仿真振蕩、分頻電路中,發(fā)現(xiàn)晶振不能起振,在網(wǎng)上查詢發(fā)現(xiàn)這個(gè)問(wèn)題很普遍,Proteus仿真振蕩電路是一個(gè)短板,我們可以直接設(shè)置CD4060的振蕩頻率為32768Hz來(lái)實(shí)現(xiàn)振蕩電路的觀察,但是此時(shí)仿真會(huì)提示CPU負(fù)載達(dá)到99~100%使仿真時(shí)間與實(shí)際時(shí)間相差非常大,時(shí)間變化得非常慢,并且在示波器上無(wú)法顯示波形。我們通過(guò)對(duì)顯示出的紅藍(lán)塊指示高低電平經(jīng)過(guò)一段時(shí)間觀察可以看出能得到1Hz的信號(hào)。在后續(xù)仿真中,我們不加入振蕩電路,而通過(guò)給予激勵(lì)電源來(lái)提供輸入信號(hào)。在主體電路調(diào)試中發(fā)現(xiàn)了小時(shí)電路變化至7時(shí)就發(fā)生了進(jìn)位,通過(guò)示波器觀察波形發(fā)現(xiàn)因?yàn)閺?(0111)到8(1000)存在著1變0,0變1的情況使LD瞬間有低電平,而將置數(shù)電路改成在同時(shí)滿足1001情況下置數(shù)可以解決問(wèn)題。后來(lái)發(fā)現(xiàn)將7400改為74LS00后就不會(huì)存在這個(gè)問(wèn)題。在仿真過(guò)程學(xué)習(xí)了Proteus軟件的使用方法,也對(duì)數(shù)字電路的內(nèi)容加深了理解。軟件的仿真與實(shí)際還是存在差別的,并且每個(gè)軟件的長(zhǎng)處和優(yōu)點(diǎn)都不一樣,我們要根據(jù)電路功能選擇合適的軟件進(jìn)行仿真。而我們?cè)谟?jì)數(shù)器的設(shè)計(jì)時(shí),置數(shù)電路中只考慮置數(shù)數(shù)字的1信號(hào),只將1信號(hào)對(duì)應(yīng)的網(wǎng)絡(luò)接至與非門(mén)而不考慮0信號(hào)對(duì)應(yīng)的網(wǎng)絡(luò),是因?yàn)橛?jì)數(shù)是由高到低有順序的,而仿真告訴我們這樣做可能會(huì)在實(shí)際電路中遇到問(wèn)題;7400和74LS00也說(shuō)明這個(gè)問(wèn)題的存在也與不同類型的芯片有關(guān)系。
調(diào)試過(guò)程加深了我對(duì)各個(gè)芯片作用的理解,也積累了調(diào)試和修改電路的經(jīng)驗(yàn)。我們?cè)谡{(diào)試中也遇到了很多問(wèn)題,首先電路在設(shè)計(jì)繪制時(shí)有一網(wǎng)絡(luò)名寫(xiě)錯(cuò),在修改時(shí)我們將連線斷開(kāi)后用導(dǎo)線重新連線解決了問(wèn)題。在實(shí)際電路調(diào)試中,我們也遇到了競(jìng)爭(zhēng)冒險(xiǎn)的問(wèn)題,通過(guò)增加電容延時(shí)的方法來(lái)解決問(wèn)題。在調(diào)試過(guò)程中,理解了增加并聯(lián)電容通過(guò)電容的充放電來(lái)延遲電平達(dá)到的時(shí)間來(lái)達(dá)到延遲目的。我們也對(duì)開(kāi)關(guān)防抖動(dòng)電路加深了理解,開(kāi)關(guān)防抖動(dòng)是通過(guò)一個(gè)RC電路來(lái)減輕開(kāi)關(guān)抖動(dòng)產(chǎn)生的時(shí)間很短的脈沖尖刺等造成電路的變化,可以通過(guò)R、C來(lái)改變時(shí)間常數(shù)達(dá)到防抖動(dòng)。
這次實(shí)驗(yàn)幫助我們對(duì)數(shù)字電路的知識(shí)進(jìn)行復(fù)習(xí)和加深理解,數(shù)字電路的理論多數(shù)是邏輯問(wèn)題,當(dāng)邏輯正確時(shí),實(shí)際電路中會(huì)遇到的競(jìng)爭(zhēng)冒險(xiǎn)、開(kāi)關(guān)抖動(dòng)、尖刺等現(xiàn)象,在實(shí)驗(yàn)過(guò)程中更清晰地展現(xiàn)在我們面前,也讓我們掌握對(duì)這些問(wèn)題的解決方法。另外,我覺(jué)得我們?cè)谠O(shè)計(jì)原理圖和繪制PCB板時(shí)對(duì)后續(xù)問(wèn)題的預(yù)見(jiàn)和為調(diào)試過(guò)程做準(zhǔn)備的意識(shí)有待增強(qiáng),我們可以提前增加多余的引腳方便我們接示波器等設(shè)備對(duì)波形進(jìn)行測(cè)量。這是我們需要提高的能力。張晨靖:
通過(guò)這次實(shí)驗(yàn),我學(xué)習(xí)了中規(guī)模集成電路如何設(shè)計(jì)制作數(shù)字電路系統(tǒng),了解了數(shù)字鐘的基本功能和擴(kuò)展功能的設(shè)計(jì)實(shí)現(xiàn)方法,學(xué)會(huì)使用protuesISIS軟件進(jìn)行電路的仿真以及仿真出錯(cuò)后怎樣快速尋找問(wèn)題原因并進(jìn)行修調(diào),同時(shí)進(jìn)一步熟練了AD軟件的使用和電路板的安裝調(diào)試。
在此次實(shí)驗(yàn)中,我們小組三個(gè)組員都有各自的分工,我主要負(fù)責(zé)答辯ppt的準(zhǔn)備、電路的仿真分析和部分電路的修改以及最后的電路調(diào)試等。
在進(jìn)行電路仿真的過(guò)程中,由于是第一次使用protues ISIS軟件,我一開(kāi)始還不太熟悉軟件的操作方法和功能。開(kāi)始的時(shí)候我認(rèn)為在AD中已經(jīng)繪制完成的原理圖應(yīng)當(dāng)存在某種方法可以直接兼容至ISIS使用而無(wú)需重新繪制,后來(lái)查詢了各種資料,發(fā)現(xiàn)ISIS的電路圖可以在AD中打開(kāi),而AD中的原理圖無(wú)法使用ISIS打開(kāi),所以最后我們決定重新繪制一遍原理圖。
在protues中畫(huà)好原理圖后,我們開(kāi)始進(jìn)行電路仿真。但仿真一開(kāi)始,就立刻出現(xiàn)了問(wèn)題,電路的分、秒顯示和進(jìn)位都正確,但是小時(shí)的計(jì)數(shù)功能在進(jìn)制卻有錯(cuò)誤,出現(xiàn)了滿7復(fù)0的情況,即狀態(tài)為0→1→2→3→4→5→6→7→10→11→12→0。我們分析錯(cuò)誤原因,觀察仿真顯示的高低電平,發(fā)現(xiàn)D觸發(fā)器的輸入沒(méi)有任何變化,但輸出卻會(huì)自行變化,我們知道,因?yàn)镈觸發(fā)器的下一位輸出狀態(tài)是取決于上一位輸入的,所以對(duì)于這一現(xiàn)象的發(fā)生完全不能理解,另外,74191計(jì)數(shù)器的狀態(tài)轉(zhuǎn)換也存在問(wèn)題,當(dāng)輸出狀態(tài)達(dá)到0111時(shí),下一狀態(tài)就會(huì)變成0000,即高位一直無(wú)法出現(xiàn)1狀態(tài)。
在請(qǐng)教過(guò)老師之后,老師建議我們?cè)诜抡骐娐分刑砑邮静ㄆ饔^察波形,于是我們?cè)贖11(74191計(jì)數(shù)器的Q1)、H12(74191計(jì)數(shù)器的Q2)、H13(74191計(jì)數(shù)器的Q3)和LD四處防止了示波器探針,并再次執(zhí)行仿真,這一次我們通過(guò)觀察波形發(fā)現(xiàn)了問(wèn)題所在。
當(dāng)0111轉(zhuǎn)換為1000狀態(tài)時(shí),Q3從0變成1,Q0、Q1、Q2則應(yīng)“同時(shí)”從1變成0,電路中出現(xiàn)了競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,而原本的進(jìn)位信號(hào)是Q3=1,Q0=1,在狀態(tài)改變的過(guò)程中出現(xiàn)了7直接進(jìn)位的情況,而我們之前觀察到的的觸發(fā)器輸入沒(méi)有變化,輸出卻發(fā)生了變化的現(xiàn)象也找到了原因,是因?yàn)槲覀冮_(kāi)始觀察電平高低變化的方法無(wú)法顯示出電路波形的跳變,即當(dāng)信號(hào)快速變化又快速跳回時(shí),肉眼是看不到電平有所變化的,而我們采用示波器就可以很明顯地看到這一現(xiàn)象了。分析出電路問(wèn)題原因后,我們也很快地找到了解決問(wèn)題的方法,將原本的進(jìn)位信號(hào)Q3=1,Q0=1改為Q3=1,Q2=0,Q1=0,Q0=1,這樣只有四位到達(dá)穩(wěn)定狀態(tài)后,才會(huì)產(chǎn)生進(jìn)位信號(hào),再次仿真就發(fā)現(xiàn)功能已經(jīng)可以正確實(shí)現(xiàn)了。
之后的仿真都比較順利,在獲得了正確的仿真結(jié)果后,我們心里也變得有底,覺(jué)得電路板焊接完成后應(yīng)該也不會(huì)出現(xiàn)大的問(wèn)題,但真正安裝完成電路板進(jìn)行調(diào)試時(shí)還是出現(xiàn)了一些問(wèn)題。
調(diào)試的第一天上午,我們的電路板的功能基本還正確,但下午回來(lái)后再進(jìn)行調(diào)試一段時(shí)間后,卻發(fā)現(xiàn)數(shù)字鐘的分突然不顯示了,并且芯片U22發(fā)燙非常嚴(yán)重,后來(lái)我們找老師更換了一塊芯片,發(fā)現(xiàn)數(shù)字鐘工作一段時(shí)間之后芯片還是會(huì)微微發(fā)熱,懷疑是電路哪里存在短路問(wèn)題,但是測(cè)量芯片接地和連接VCC的管腳,發(fā)現(xiàn)電壓是正常的,直觀來(lái)看電路板的器件焊接也沒(méi)有明顯問(wèn)題,所以一直也沒(méi)有找到芯片發(fā)熱的具體原因,好在之后的調(diào)試我們會(huì)時(shí)常留意U22的溫度,沒(méi)有再出現(xiàn)嚴(yán)重發(fā)燙的問(wèn)題。
另外數(shù)字鐘還有一個(gè)問(wèn)題,就是整點(diǎn)報(bào)時(shí)功能不準(zhǔn)確,到達(dá)1點(diǎn)時(shí)會(huì)報(bào)時(shí)12聲,2點(diǎn)會(huì)報(bào)時(shí)1聲,3點(diǎn)會(huì)報(bào)時(shí)2聲等等,以此類推。我們分析認(rèn)為,出現(xiàn)這種整點(diǎn)不準(zhǔn)確的現(xiàn)象,原因應(yīng)該是邏輯控制電路的與非門(mén)延時(shí)時(shí)間不夠,也產(chǎn)生了競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,查詢資料和講義后我們覺(jué)得可以直接接入一個(gè)小電容,延長(zhǎng)延時(shí)獲得正確的報(bào)時(shí)數(shù),在接入電容之后,這一問(wèn)題得到了解決。
在板子的裝調(diào)過(guò)程中,我們發(fā)現(xiàn)了之前電路的設(shè)計(jì)上存在一些細(xì)節(jié)問(wèn)題,很多實(shí)際電路中可能存在的細(xì)節(jié)在先前的設(shè)計(jì)中沒(méi)有考慮到。比如部分電容的封裝選擇不合適,導(dǎo)致焊接時(shí)接入不便,也影響了電路的美觀,還有校時(shí)電路的濾波電容距離主體較遠(yuǎn),對(duì)于抖動(dòng)的消除作用很不明顯,另外,定時(shí)電路的撥碼開(kāi)關(guān)排布也很不方便操作,我們定時(shí)電路撥碼開(kāi)關(guān)的排布十位個(gè)位順序和表示某位數(shù)字的二進(jìn)制高低位是相反的,導(dǎo)致調(diào)節(jié)定時(shí)時(shí)刻不方便等,這讓我更加深刻地意識(shí)到,電路板的設(shè)計(jì)是一個(gè)不斷調(diào)整不斷完善的過(guò)程,需要考慮到各種實(shí)際情況,才能設(shè)計(jì)出美觀實(shí)用的電路板。另外,我們?cè)谡{(diào)試過(guò)程中不斷的發(fā)現(xiàn)問(wèn)題、尋找原因、探索解決方法,進(jìn)一步完善電路板的功能,這一過(guò)程需要足夠的耐心和嚴(yán)謹(jǐn),有時(shí)解決一個(gè)問(wèn)題需要嘗試多種方法,尋找最佳方案,才能最終獲得一個(gè)功能比較健全的電路板,獲得一個(gè)自己滿意的結(jié)果。
陳肖葦:
這次實(shí)驗(yàn)主要擔(dān)任的工作是原理圖主體部分以及兩個(gè)擴(kuò)展部分的繪制,PCB的全部設(shè)計(jì)以及修改過(guò)程,PCB的安裝與焊接以及電路板的調(diào)試幾個(gè)過(guò)程,下面我講分塊講一下我在幾個(gè)方面的心得體會(huì):
PCB版圖的設(shè)計(jì)與修改 為了節(jié)約時(shí)間考慮,所以在原理圖繪制完成之后,PCB版圖就和原理圖的仿真同步進(jìn)行了,但是由于一些細(xì)節(jié)上的原因,導(dǎo)致提前進(jìn)行版圖設(shè)計(jì)并沒(méi)有很好的提高時(shí)間利用率。
PCB版圖的繪制主要包括了元器件的導(dǎo)入與檢查,排版,手動(dòng)布線與自動(dòng)布線,手動(dòng)布線更改,以及原理圖更改邏輯設(shè)計(jì)之后的大改和經(jīng)過(guò)老師檢查之后的大改幾部分組成。
首先第一步就是進(jìn)行元器件的導(dǎo)入,但是導(dǎo)入之后,經(jīng)過(guò)元器件的對(duì)比檢查之后,發(fā)現(xiàn)一些元器件的封裝不對(duì),或者是一些元器件甚至沒(méi)有選擇封裝,于是經(jīng)過(guò)了更改之后,繼續(xù)進(jìn)行下面的工作。
接下來(lái),進(jìn)行的是元器件的排版工作。首先最容易想到的就是將數(shù)碼管顯示器即數(shù)字鐘的顯示部分放到板子的最上方,這樣可以一眼就看到整個(gè)電路的工作性質(zhì);其次就是想到了要將手動(dòng)校時(shí)和鬧鐘開(kāi)關(guān)等按鍵以及開(kāi)關(guān)放在板子的最下面,方便進(jìn)行操作;至于其它的部分,主要就是為了美觀進(jìn)行了一個(gè)相對(duì)整齊的排布,同時(shí)也留出了一定的空間,為以后的布線留下余地。當(dāng)然,中間這一步并沒(méi)有按照功能排布,僅僅是按照美觀排布,為版子的功能實(shí)現(xiàn)埋下了隱患(雖然這個(gè)隱患經(jīng)過(guò)老師指導(dǎo)后進(jìn)行了大改,已經(jīng)基本排除,但是修改的過(guò)程也是相當(dāng)?shù)膹?fù)雜,以后盡可能要做到一步到位);其次,經(jīng)過(guò)這一次的實(shí)踐,發(fā)現(xiàn)當(dāng)初元器件之間留下的空間對(duì)于這么大的一個(gè)工程來(lái)說(shuō)還是相當(dāng)有限的,以后對(duì)于空間要有更合理的把握。
圖1:main_saved2(排好版)接下來(lái),就是進(jìn)行布線了。因?yàn)樯弦淮蔚碾娮庸こ逃?xùn)練,我全部都是手動(dòng)布的線,所以這一次是第一次嘗試自動(dòng)布線,結(jié)果發(fā)現(xiàn)自動(dòng)布線速度這么快,看起來(lái)結(jié)果也很可靠,所以我還有一點(diǎn)驚喜,因?yàn)樯弦淮尾季€所耗費(fèi)的時(shí)間實(shí)在是太久了,下面就是布線之后的版圖。
圖2:main_saved3(第一次自動(dòng)布線)然而這樣的自動(dòng)排版的最大的問(wèn)題就是電源和地線過(guò)細(xì),而且又不能直接批量修改,因?yàn)樵趦?nèi)部的地方,直接修改會(huì)導(dǎo)致電路互聯(lián),引起短路。所以,我參考了一下別人設(shè)計(jì)的版圖,于是設(shè)計(jì)成了將電源和地在外圈周圍布線,然后通過(guò)橫向的布線將電源和地導(dǎo)入到所需位置,經(jīng)修改后的電路板如下:
圖3:電源和地布完
上面這塊板子算是我們第一版的最終版了,這是基于我們?cè)O(shè)計(jì)是正確的前提。幾乎就在我布完線的同時(shí),曉杰她們的仿真結(jié)果出來(lái)了,小時(shí)的翻轉(zhuǎn)是不正確的,所以我們?cè)谟懻摿酥螅瑢?duì)小時(shí)控制電中的D觸發(fā)器的輸入邏輯進(jìn)行了修改,然后加入了兩個(gè)芯片,分別是74LS04的非門(mén)和74LS20的與非門(mén)。因?yàn)殡娐钒鍍?nèi)部沒(méi)有空隙,所以考慮將兩片芯片放在了右下角單獨(dú)開(kāi)出的一片小區(qū)域里。如下圖:
圖4:邏輯錯(cuò)誤修改 修改完邏輯錯(cuò)誤之后就產(chǎn)生了我們電路的第二版的最終版,然后就拿去給老師檢查我們的板子有沒(méi)有什么問(wèn)題。經(jīng)過(guò)檢查之后,老師給我們指出了兩個(gè)比較重要的設(shè)計(jì)失誤,一個(gè)就是電源的四個(gè)濾波電容離電源太遠(yuǎn),效果不好,二是晶振和14次分頻器距離太遠(yuǎn)。于是回去之后我就將這兩部分電路單獨(dú)拿了出來(lái),放在了右上方,改正了電路設(shè)計(jì)沒(méi)有按功能排在一起的失誤。修改后的部分如下圖:
圖5:修改后的電源電路
圖6:修改后的晶振電路 經(jīng)過(guò)以上三大步的修改,在對(duì)一些小的地方自動(dòng)布線沒(méi)有解決的錯(cuò)誤進(jìn)行修改之后,產(chǎn)生了我們上交的電路的最終版,如下
圖7:最終上交版
在這份最終上交版中,經(jīng)過(guò)老師的檢查,還是發(fā)現(xiàn)了四處錯(cuò)誤,分別是兩根連線沒(méi)有連上,以及兩個(gè)過(guò)孔沒(méi)有打通。這既是我當(dāng)時(shí)檢查不夠仔細(xì)導(dǎo)致的問(wèn)題,同時(shí)也是我不會(huì)使用DRC的原因,在電路板發(fā)下來(lái)之后,經(jīng)過(guò)向老師請(qǐng)教,知道了如何用軟件檢查布線的結(jié)果,即DRC(design rule check 設(shè)計(jì)規(guī)則檢查),極大的減少了以后出現(xiàn)這種細(xì)節(jié)性錯(cuò)誤的可能性,也算是一種進(jìn)步吧。
這塊PCB板總共花了我一天的時(shí)間進(jìn)行排版和布線,然后花了整整三天的時(shí)間,更改銅線的粗細(xì),修改電源和晶振電路,然后還修改了四十多處沒(méi)連上或者過(guò)孔沒(méi)打通的錯(cuò)誤,不得不說(shuō)PCB的設(shè)計(jì)是一個(gè)集技術(shù)與耐心于一體的工作。四天的時(shí)間里讓我對(duì)PCB的設(shè)計(jì)產(chǎn)生了更深刻的認(rèn)識(shí),包括電源和地的布線方式,模塊化設(shè)計(jì)的方法以及DRC確認(rèn)設(shè)計(jì)等等,同時(shí)也切身的體會(huì)到了自己經(jīng)驗(yàn)的不足,也有了以后努力的方向。
調(diào)試過(guò)程中的經(jīng)驗(yàn)談
調(diào)試的具體過(guò)程已經(jīng)附在上文的安裝與調(diào)試環(huán)節(jié)了,所以在此就不再贅述了,這里簡(jiǎn)單講一下在調(diào)試過(guò)程中所發(fā)現(xiàn)的一些設(shè)計(jì)上的注意事項(xiàng)以及小組成員溝通之間的注意事項(xiàng)。
在這次的調(diào)試中發(fā)現(xiàn)的主要的設(shè)計(jì)錯(cuò)誤和不合理的地方有網(wǎng)絡(luò)名在組員的原理圖更改之后沒(méi)有更新,鬧鐘的數(shù)值比較器比較的開(kāi)關(guān)和計(jì)數(shù)器的二進(jìn)制順序相反,沒(méi)有設(shè)計(jì)自啟動(dòng),以及整點(diǎn)報(bào)時(shí)功能存在競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,以及按鈕開(kāi)關(guān)存在較大不確定性等問(wèn)題。
其中,網(wǎng)絡(luò)名的問(wèn)題屬于組內(nèi)成員溝通問(wèn)題,因?yàn)樽谝黄?,我們此次的交流基本上就是將原理圖直接發(fā)給對(duì)方,然后口頭告訴對(duì)方所更改的地方,然后對(duì)方再將所修改的地方直接復(fù)制過(guò)去。這種交流方式的優(yōu)點(diǎn)當(dāng)然就是交流效率非常高,但是缺點(diǎn)就是如果一次性有太多修改的時(shí)候,尤其是只是更改網(wǎng)絡(luò)名,而沒(méi)有更改其他設(shè)計(jì)的時(shí)候,容易被忽視。建議以后如果需要一個(gè)小組一起努力完成一個(gè)項(xiàng)目的話,每次都應(yīng)該將自己修改過(guò)的地方寫(xiě)成文檔,讓其他成員按照文檔修改,而且這樣以后在調(diào)試的時(shí)候也有可以參考的文獻(xiàn)。
而對(duì)于數(shù)值比較器的問(wèn)題,設(shè)計(jì)的時(shí)候是按3210的數(shù)序進(jìn)行高低比較的,但是撥碼開(kāi)關(guān)上的順序是1234(錯(cuò)位的以為因?yàn)椴挥绊懻5拇竽X譯碼,所以不考慮,即對(duì)人腦來(lái)說(shuō)不論是3210,還是4321只要是連續(xù)的四位數(shù),結(jié)果都是一樣的),因此出現(xiàn)的問(wèn)題就是邏輯上的高低和物理上的高低相反,因此對(duì)于單個(gè)撥碼開(kāi)關(guān)使用的時(shí)候,最高位在右邊,要從右向左讀數(shù),增加了使用難度,而讓用戶違反常規(guī)思維使用,讓用戶適應(yīng)產(chǎn)品的做法,是一款產(chǎn)品設(shè)計(jì)的非常大的缺陷,這也是以后在設(shè)計(jì)電子產(chǎn)品的時(shí)候要考慮的重要問(wèn)題——在功能以及價(jià)格相同的時(shí)候,用戶體驗(yàn)往往決定了產(chǎn)品的出路。
圖8:撥碼開(kāi)關(guān)的設(shè)計(jì)問(wèn)題
至于沒(méi)有設(shè)計(jì)自啟動(dòng),也是一個(gè)很嚴(yán)重的問(wèn)題,雖說(shuō)剛通電的時(shí)候,數(shù)字中可以處在任何有用的狀態(tài),但有時(shí)候進(jìn)去就是10:62,這樣還要通過(guò)校時(shí)30多秒才能進(jìn)入正常的循環(huán),這也是一個(gè)弊端。鑒于修改自啟動(dòng)問(wèn)題需要對(duì)整個(gè)電路的邏輯進(jìn)行修改,工作量很大,而且對(duì)電路整體功能影響不大,所以這一問(wèn)題我們小組暫未修改,且經(jīng)過(guò)所有其他調(diào)整之后,一般開(kāi)機(jī)后會(huì)處于10:00(不穩(wěn)定),已經(jīng)不需要很長(zhǎng)的校時(shí)調(diào)整。
至于整點(diǎn)報(bào)時(shí)不準(zhǔn)確的問(wèn)題,開(kāi)始的時(shí)候我們以為是計(jì)數(shù)器少數(shù)了一個(gè),或者是和電臺(tái)報(bào)時(shí)重疊。但我仔細(xì)考慮了一下,認(rèn)為事實(shí)并不是這樣,因?yàn)樵趺聪胍膊挥X(jué)得每次計(jì)數(shù)器都會(huì)少數(shù),原因肯定在輸入數(shù)據(jù)部分。結(jié)果接下來(lái)就發(fā)現(xiàn)了1點(diǎn)的時(shí)候報(bào)時(shí)是響12下,于是,我立馬確定了錯(cuò)誤是跟我想的一樣,存在于輸入部分,即輸入部分存在競(jìng)爭(zhēng)冒險(xiǎn)——時(shí)鐘脈沖到達(dá)時(shí),對(duì)應(yīng)的譯碼器因?yàn)楸姸嚅T(mén)電路的延時(shí)還沒(méi)有將新的狀態(tài)傳遞過(guò)來(lái),減法計(jì)數(shù)器的數(shù)據(jù)輸入端還是上一個(gè)狀態(tài),然后當(dāng)時(shí)鐘到達(dá)時(shí),置入了上一個(gè)狀態(tài),所以才存在報(bào)時(shí)的錯(cuò)位現(xiàn)象。修改的關(guān)鍵就是延遲時(shí)鐘信號(hào)的到達(dá),修改方案有加兩級(jí)反相器或者加上一個(gè)電容進(jìn)行延時(shí),因在調(diào)試的時(shí)候加入反相器過(guò)于麻煩,選擇了第二個(gè)方案,即加上一個(gè)電容進(jìn)行延時(shí)。經(jīng)過(guò)修改之后,整點(diǎn)報(bào)時(shí)功能正常,符合設(shè)計(jì)要求。
圖9:整點(diǎn)報(bào)時(shí)的數(shù)據(jù)輸入端最多經(jīng)過(guò)了三段延時(shí)
最后,不得不說(shuō)這么大的一個(gè)項(xiàng)目真的是對(duì)自己的一個(gè)鍛煉,不僅僅開(kāi)始的時(shí)候要進(jìn)行邏輯設(shè)計(jì)和改錯(cuò),要耗費(fèi)那么長(zhǎng)的時(shí)間進(jìn)行一個(gè)PCB的設(shè)計(jì)和修改,要把一塊漏洞百出的電路調(diào)試到正常狀態(tài),無(wú)論哪一步都很燒腦子,但是無(wú)論哪一步收獲都很大。
我還要感謝我的兩個(gè)可愛(ài)的組員,沒(méi)有她們協(xié)助和付出,憑我一個(gè)人,很難在這么短的時(shí)間內(nèi)完成這么一個(gè)產(chǎn)品設(shè)計(jì)開(kāi)發(fā)的全過(guò)程。還要感謝王老師的指導(dǎo),指出了我們電路設(shè)計(jì)的不合理的地方,并告訴了我們修改方式,并且因?yàn)橹拔也粫?huì)DRC,在板子加工之前還幫我們修正了四處設(shè)計(jì)錯(cuò)誤,使我們調(diào)試過(guò)程中的工作量極大的降低。
附錄:原始調(diào)試記錄
調(diào)試日期:2016/7/17 早上來(lái)到,安裝好芯片和撥碼開(kāi)關(guān)之后,我們就安上了電源,開(kāi)始了調(diào)試過(guò)程。? UH2引腳錯(cuò)誤(沒(méi)錯(cuò),是兩個(gè)等效的網(wǎng)絡(luò))
? 開(kāi)關(guān)與計(jì)數(shù)器大小順序,對(duì)應(yīng)撥碼開(kāi)關(guān)右側(cè)為高位(對(duì)應(yīng)問(wèn)題)? H1H2對(duì)應(yīng)順序等
? 開(kāi)關(guān)沒(méi)有防抖動(dòng),長(zhǎng)按可正常調(diào)時(shí)(大部分),短按不確定 ? 6,9不好看
? 電臺(tái)報(bào)時(shí)和整點(diǎn)報(bào)時(shí)重疊 ? 沒(méi)有設(shè)計(jì)自啟動(dòng)
? 網(wǎng)絡(luò)名不對(duì)(LD與LD1,外加飛線)下午調(diào)試:
1. 長(zhǎng)按的不確定性
2. 分鐘和小時(shí)按鍵互相影響 3. 版子震動(dòng)會(huì)改變狀態(tài)
4. 分鐘不顯示——390發(fā)燙——按鍵失靈——整點(diǎn)報(bào)時(shí)一直響——換掉芯片,恢復(fù)正常。5. 整點(diǎn)報(bào)時(shí)少一聲(或許是重疊)
調(diào)試日期:2016/7/18 接著昨天的進(jìn)行調(diào)試,認(rèn)為需要修改的主要存在以下三個(gè)方面 ? U22即74LS390存在發(fā)熱現(xiàn)象
? 整點(diǎn)報(bào)時(shí)存在錯(cuò)位現(xiàn)象(加電容延時(shí))
? 按鈕開(kāi)關(guān)存在抖動(dòng)現(xiàn)象,長(zhǎng)按正常,短按不確定(懷疑是版子震動(dòng)問(wèn)題,換成撥碼開(kāi)關(guān)并固定住版子,功能正常)
設(shè)計(jì)的不合理:
撥碼開(kāi)關(guān)方向,按鈕開(kāi)關(guān),鬧鐘開(kāi)關(guān)
因未出現(xiàn)亂碼問(wèn)題,所以開(kāi)關(guān)上沒(méi)有出現(xiàn)對(duì)應(yīng)功能的提示,這也是一個(gè)很大的遺憾。
AD布線
1.交互式布線:小鍵盤(pán)上的星號(hào);或者shift+ctrl+滾輪 2.先自動(dòng)布線,后手動(dòng)布線 3.電源和地繞圈布線
1.PCB板留白問(wèn)題——方便修改
2.電源和地的雙層布線問(wèn)題——分不同層,同時(shí)繞圈,區(qū)分縱橫
3.模塊化設(shè)計(jì)的重要性——同一功能的元件盡量放在一起,尤其是電源,晶振等地方的電容,不然就沒(méi)用惹。
4.布線查錯(cuò):design——DRC——右下角message——下方窗口
小組分工:
李曉杰:答辯展示,鬧鐘電路原理圖繪制,電路行為仿真,原理圖修改,電路調(diào)試 張晨靖:答辯PPT制作,電路行為仿真,原理圖修改,電路調(diào)試 陳肖葦:答辯展示,原理圖主體部分及整點(diǎn)報(bào)時(shí)和仿電臺(tái)報(bào)時(shí)部分繪制,PCB排版布線,PCB版修改,PCB版焊接,電路調(diào)試