第一篇:簡易電子鐘 課設總結
班級:電氣
北京交通大學
電子技術課程設計
課設題目:簡易電子鐘 參與者:
xxx
xxx
xxx班
指導老師:
時間:
2013.7
摘要
在實際生活中,我們會經常用到電子鐘,而隨著電子技術的飛躍發展,各類智能化產品相應而出。就數字電路而言,它本身具有電路簡單、可靠性高以及成本較低等優點。所以本次課程設計主要是以數字電路為核心的只能電子鐘的設計。
數字鐘是采用數字電路實現對時分秒顯示的計時裝置,廣泛用于個人、家庭及辦公室等多種公共場合,成為人們日常生活中不可少的必需品。其中,數字集成電路的發展和石英晶體振蕩器的廣泛應用也使得數字鐘的精度遠遠超過了老式鐘表。所以,鐘表的數字化給人們的生活帶來了極大的方便,也大大擴充了鐘表的功能。因此,研究數字中并擴大其應用具有十分重要的現實意義。本設計電路主要由信號產生部分、計時部分、動態顯示部分以及整點報時部分組成,其中數碼顯示管顯示24小時的時刻,包括時分秒,且具有清零、保持和整點報時的功能。
數字鐘計時的標準信號是1HZ秒脈沖,所以應設置標準時間源或利用555多諧振蕩器或者晶體整蕩器等產生信號。數字鐘計時周期為24小時制,所以應設置24進制計數器,并帶有60進制和24進制的計數器,時分秒分別由兩個七段數碼顯示管顯示其十位和個位。此外,該數字鐘將會從59分50秒開始后,每隔兩秒鐘發出一次“嘟”的信號(如果用二極管,則會看到二極管會發光),連續五次后即可到達整點。關鍵詞:
振蕩器 分頻器 譯碼器 計數器 報時電路
一、設計目的
數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。數字鐘從原理上講是一種典型的數字電路,其中包括了組合邏輯電路和時序電路。
因此,我們此次設計與制作數字鐘就是為了了解數字鐘的原理,從而學會制作數字鐘.而且通過數字鐘的制作進一步的了解各種在制作中用到的中小規模集成電路的作用及實用方法.且由于數字鐘包括組合邏輯電路和時敘電路.通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法。
二、設計內容及要求
(1)設計指標
① 由555多諧振蕩器電路產生1HZ標準秒信號; ② 分、秒為00~59六十進制計數器;
③ 時為00~23二十四進制計數器;
④ 整點具有報時功能,計時過程具有報時功能,當時間到達整點前10秒開始,蜂鳴器響1秒停1秒地響5次;(2)設計要求
① 畫出電路原理圖(或仿真電路圖); ② 元器件及參數選擇; ③ 電路仿真與調試。
(3)制作要求
自行裝配和調試,并能發現問題和解決問題。
(4)編寫設計報告
寫出設計與制作的全過程,附上有關資料和圖紙,有心得體會。
三、原理框圖
數字鐘實際上是一個對標準頻率(1HZ)進行計數的計數電路。我們本次實驗采用555多諧振蕩器來產生信號。555集成芯片構成的振蕩電路產生的信號經過分頻器作為秒脈沖,秒脈沖送入計數器,計數結果通過“時”、“分”、“秒”譯碼器顯示時間。
四、主要部分的實現方案
秒脈沖電路 本設計實驗主要由555構成的多諧振蕩器來產生1000HZ的信號,隨后通過74LS90的三次分頻來產生1HZ的信號。電路圖如下所示:
555構成的多諧振蕩器
秒脈沖發生器 2 時間計數器電路
時的計數電路為24進制的計數電路,所以利用2個74LS90來連接實現24進制的電路。而對秒和分的計數電路,由74LS92實現秒和分的十位的六進制,由74ls90實現十進制,74LS90和74LS92共同實現秒和分的24進制。其中74LS90 是4位二進制同步加計數器,它的設置為多片集成計數器的級聯提供方便。它具有異步清零,同步并行預置數,保持和計數的功能。
(1)秒計數器
74LS90是異步二——五——十進制加法計數器,既可以實現二進制加法計數器,又可以五進制和十進制加法計數器。Ro(1)、R0(2)對計數器清零,S9(1)、S9(2)將計數器置9。如果將Cp2和QA相連,計數脈沖由Cp1輸入,QD、QC、QB、QA分別作為輸出端,構成異步8421碼十進制加法計數器;如果將Cp1與QD相連,計數脈沖由Cp2輸入,則實現的是異步5421BCD碼十進制加法計數器。本圖中采用第一種十進制加法計數器原理實現個位的進位原理。而對秒的十位,因為其應該顯示0~5的數字,所以應采用模等于六即六進制的加法計數器。74LS92是異步二---六----十二進制加法器,當輸出“0110”的暫態時,QB、QC通過74LS08兩輸入與門接到秒計數器十位的R0(1)上,從而使整個計數器清零,并向前一位進位。實現了一個循環。(2)分計數器
分的個位和十位計數單元的狀態轉換和秒的是一樣的,只是它把自己的進位信號傳輸給時的個位計數單元。連接圖同秒計數器的連接圖(3)時計數器
時計數器是24進制,所以本實驗采用兩片74LS90來實現。實驗電路圖如圖:
如圖為兩片74LS90所連接成的24進制計數器。兩片7490都設置成五進制,構成25進制計數器,然后遇24清零。用兩片74LS90芯片,一片控制個位,為十進制;另一片控制十位,為二進制。利用74LS90本身的兩控制端完成十進制,在達到1001(即十進制的九)時,給第二個芯片一個脈沖,這樣反復,直到第二片達到0010(即十進制的二)且第一片達到0100(即十進制的四)時第一片和第二片同時清零,這樣完成一次24的計數,且回到初態,繼續重復計數。數字鐘的譯碼及顯示單元電路
譯碼顯示采用共陰極LED八段數碼管和譯碼器74SL48組成。
其中七段共陰極數碼顯示管的3、8段均接地,a、b、c、d、e、f、g七段數碼顯示管分別對應74LS48的相應管腳,后將74LS48的3、4、5管腳均接高電平,使數碼顯示管既不滅靈也不試燈從而處于正常的顯示狀態。
4.整點報時電路
電路應在整點前10秒鐘內開始整點報時,即當時間在59分50秒到59分59秒期間時,報時電路報時控制信號。
當時間在59分50秒到59分59秒期間時,分十位、分個位和秒十位均保持不變,分別為5、9和5,因此可將分計數器十位的QC和QA、個位的QD和QA及秒計數器十位的QC和QA相與,從而產生報時控制信號。
顯然分十位、分個位和秒十位在整點報時電路中均保持不變,其中分十位始終為5,即0101,分個位始終為9,即1001,秒十位為5,即1001,所以有分十位中QC、QA 和分個位QD、QA以及秒十位QC和QA 始終為1,所以可以通過與門來實現邏輯。但因為實際生活中四輸入與非門較多,所以實驗采用74LS08四輸入與非門以及74LS00兩輸入與非門來實現邏輯。電路圖如上所示。
五、實驗過程中遇到的問題及解決方法
在實驗過程中,我們遇到了很多問題。雖然看起來實驗沒有很困難,但在這其中,各種瑣碎的問題讓我們學會了很多,也鍛煉了很多。
下面依次列舉一下我們所遇到的問題。
首先要說的是面包板的內部連接導通區域問題,在剛開始使用的過程中,因為聽同學說面包板以中心對稱分為兩半分別導通,實則面包板的分界面不清,需要自己測試。導致芯片的無法正常供電,不知道問題所在。
解決方法:用萬用表對各個連接點進行測試,利用萬用表的導通可蜂鳴原理判斷是否導通,最終確定出原來不是所有面包板均對稱導通,且有面包板分三部分導通。由于面包板的老化以及內部鏈接問題,許多芯片按照相應方式接入時并不能正常工作。如果只是盲目的查各個連接線,既費時又費力。
解決方法:我們采取了各個擊破的方法,挨個排查。為了檢查,我們特地將時分秒顯示部分拆成六個獨立的單元,分別進行檢查,看其是否能夠實現相應的十進制轉換和六進制轉換。
首先,我們檢查并排除是否是電路連接有問題。于是我們將原來面包板上利用74LS48譯碼和數碼顯示管部分和主電路分開,將主電路連接到實驗箱上,發現仍不能正常工作。于是,我們認真檢查了主電路的連接。經檢查連接管教無誤后,用萬用表挨著檢測相應共地共電源端等相同端是否能使萬用表蜂鳴,結果發現部分導線雖相應連接了,但并不導通。最終確認為有一部分是芯片壞了,還有一部分是面包板出現了問題,有一些管腳已不導通。所以換了管腳接入處。
確認電路連接無誤后,再連入電路,發現數碼顯示管大都可以正常的單獨顯示示數了,但還有一個仍然有問題,后換了數碼管問題解決,表明是數碼管壞了的緣故。
還有有時候會在做實驗的測試過程中經常會遇到導線有時候松動了的問題。經過我們一次又一次的細心檢查,問題一一得到了解決。雖然說現在講起來不是那么困難,但實際上在這次課程設計過程中,我們遇到了很多問題,以前做實驗大都是在老師的指導下去完成解決問題。經過這次獨立的實驗,我們發現了萬用表的很大的作用和用處,尤其學會了用萬用表檢查電路尋找電路問題。更多的,我們學會了一種解決問題的方式,學會了各個擊破有頭緒的去思考問題,排除錯誤。這種尋找問題解決問題的能力的養成,相信會給我們今后的學習帶來很大的幫助。
六、心得體會
通過這次對數字鐘的設計與制作,讓我們了解了設計電路的程序,也讓我們了解了數字鐘的原理和設計理念。要設計一個電路總要對著一個參考電路圖才可以連接,但是最后的成品卻不一定與想象的完全一樣,因為在事跡接線中有著各種各樣的條件制約,所以要合理布局這樣連出來的成品才比較美觀。設計過程中,在一次又一次的失敗面前,我們沒有退縮,而是勇敢的去面對,積極的去解決,充分運用所學知識和他人的幫助,最終取得了成功。通過親自動手連線,試驗,遇到問題,解決問題,我們鞏固了書本的知識,同時也學到了新的學問,明白了實踐的可貴性。動手能力的提高,細心與耐心的培養,品嘗自己勞動成果的喜悅,是我們在這次課程設計中最大的收獲。
七、元器件
1.四連面包板1塊
2.鑷子1把
3.剪刀1把
4.共陽八段數碼管7個
5.導線若干
6.74LS90 集成塊6塊
7.CD4060集成塊1塊
8.74LS247集成塊7塊
9.74LS20 集成塊1塊
10.74LS00 集成塊1塊 11.74LS08集成塊2塊
12.74LS32 集成塊 1塊 13.74LS04 集成塊 1塊 14 74LS74 集成塊 4塊 15.32.768k時鐘晶體1個
16.22pF和20pF可調電容各一個 17.三極管8050一個
18.300Ω7個
22MΩ一個
1KΩ一個
八、參考資料及文獻
參考資料:
《電子技術基礎(數字部分)(第四版)》 《電路及電子技術實驗》
《電工電子技術實踐教材》
10KΩ一個
第二篇:EDA簡易數字頻率計~課設報告
EDA課程設計~簡易數字頻率計
《EDA技術》課程設計報告
題目:簡易數字頻率計
專業:
本組成員:
簡述
EDA課程設計~簡易數字頻率計
隨著數字電子技術的發展,頻率測量成為一項越來越普遍的工作,因此測頻計常受到人們的青睞。目前許多高精度的數字頻率計都采用單片機加上外部的高速計數器來實現,然而單片機的時鐘頻率不高導致測頻速度比較慢,并且在這種設計中,由于PCB版的集成度不高,導致PCB板走線長,因此難以提高計數器的工作頻率。為了克服這種缺點,大大提高測量精度和速度,我們可以設計一種可編程邏輯器件來實現數字頻率計。
EDA技術是以大規模可編程邏輯器件為設計載體,以硬件語言為系統邏輯描述的主要方式,以計算機、大規模可編程邏輯器件的開發軟件及實驗開發系統為設計工具,通過有關的開發軟件,自動完成用軟件設計的電子系統到硬件系統的設計,最終形成集成電子系統或專用集成芯片的一門新技術。其設計的靈活性使得EDA技術得以快速發展和廣泛應用。以QUARTUSII軟件為設計平臺,采用VHDL語言實現數字頻率計的整體設計。
EDA技術已經廣泛應用于模擬與數字電路系統等許多領域。電子設計自動化是一種實現電子系統或電子產品自動化設計的技術,它與電子技術,微電子技術的發展密切相關,它吸收了計算機科學領域的大多數最新研究成果,以高性能的計算機作為工作平臺,促進了工程發展。EDA的一個重要特征就是使用硬件描述語言(HDL)來完成的設計文件,VHDL語言是經IEEE確認的標準硬件語言,在電子設計領域受到了廣泛的接受。
1.設計概述
EDA課程設計~簡易數字頻率計
1.1設計原理
在電子技術中,頻率是最基本的參數之一,并且與許多電參量的測量方案、測量結果都有十分密切的關系,因此,頻率的測量就顯得更為重要。測量頻率的方法有多種,其中電子計數器測量頻率具有精度高、使用方便、測量迅速,以及便于實現測量過程自動化等優點,是頻率測量的重要手段之一。
數字式頻率計的測量原理有兩類:一是直接測頻法,即在一定閘門時間內測量被測信號的脈沖個數;二是間接測頻法即測周期法,如周期測頻法。直接測頻法適用于高頻信號的頻率測量,通常采用計數器、數據鎖存器及控制電路實現,并通過改變計數器閥門的時間長短在達到不同的測量精度;間接測頻法適用于低頻信號的頻率測量。
本設計中使用的就是直接測頻法,即用計數器在計算1s內輸入信號周期的個數,其測頻范圍為1Hz~9999Hz。
1.2原理框圖
1.3 系統原理圖
系統原理圖仿真
EDA課程設計~簡易數字頻率計
分析說明:clk為1HZ,待測信號sig為10HZ 1.5 引腳圖
2.設計思路
頻率測量的基本原理是計算每秒鐘內待測信號的脈沖個數。這就要求測頻控制信號發生器testpl的計數使能信號tsten能產生一個1秒脈寬的周期信號,并對頻率計的每一計數器cnt10的使能端en進行同步控制。當tsten為高電平“1”時,允許計數;為低電平“0”時停止計數,并保持其計數結果。在停止計數期間,首先需要一個鎖存信號load的上跳沿將計數器在前1 秒種的計數值鎖存進16位鎖存器reg16b中。鎖存信號之后,必須有一個清零信號clr_cnt對計數器進行清零,為下1 秒的計數操作做準備。,然后由外部數碼管控制器ledcom控制的7段譯碼器ymq譯出,并穩定顯示。
3.模塊劃分
3.1 測頻控制信號發生器testpl模塊:
輸入端clk收到1Hz信號后,其輸出端testen控制各個cnt10的使能,clr_cnt控制各個cnt10的清零,load控制鎖存器內數據的輸出。
仿真圖如下:
EDA課程設計~簡易數字頻率計
3.2 十進制計數器cnt10模塊:
有一時鐘使能輸入端en,用于鎖定計數值。當高電平“1”時計數允許計數,低電平“0”時禁止計數。多位十進制計數器時,最低位的計數器的clk端輸入被測信號,各計數器的進位輸出端c10將信號輸到下一位十進制計數器cnt10的輸入端clk,最高位十進制計數器cnt10的進位輸出端c10不處理。
仿真圖如下:
3.3 16位鎖存器reg16b模塊:將已有16 位bcd碼存在于此模塊的輸入口din[15..0],在信號load的上升沿后即被鎖存到寄存器reg16b的內部,并由reg16b的輸出端dout[15..0]輸出,設置鎖存器的好處是,數碼管上顯示的數據穩定,不會由于周期性的清零信號而不斷閃爍。
仿真圖如下:
EDA課程設計~簡易數字頻率計
3.4 數碼管控制器ledcom模塊:兩個輸入端一個為datain[15..0],另一個為數碼管顯示選擇的掃描頻率輸入端clk,輸出端為數碼管選擇信號com[3..0]和對應顯示的數碼管的BCD碼信號端dataout[3..0],數碼管顯示選擇隨掃描頻率clk循環變化,實現穩定顯示。
仿真圖如下:
3.5
譯碼器ymq模塊:輸入端d_in[3..0]將接收BCD碼信號,譯碼后輸出端d_out[7..0]輸出8為7段數碼管信號,其中輸出的第8位均為高電平“1”可以使四個數碼管的小數點不顯示。經譯碼器的處理輸出后數碼管顯示相應的數值。
EDA課程設計~簡易數字頻率計
4.VHDL頂層文件:
library ieee;use ieee.std_logic_1164.all;entity lx is port(clk: in std_logic;led: out std_logic_vector(7 downto 0);ledc: out std_logic_vector(2 downto 0));end lx;architecture art of lx is--十進制計數器
component cnt10--待調用的有時鐘使能的十進制計數器端口定義
port(clk,clr,en: in std_logic;q: out std_logic_vector(3 downto 0);c10: out std_logic);end component;--16位鎖存器
component reg16b--待調用的32位鎖存器端口定義 port(load: in std_logic;din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end component;--測頻控制器
component testpl--待調用的測頻控制信號發生器端口定義 port(clk:in std_logic;
EDA課程設計~簡易數字頻率計
tsten:out std_logic;clr_cnt:out std_logic;load:out std_logic);end component;--數碼管選擇器
component ledcom--待調用的數碼管選擇器端口定義 port(clk:in std_logic;datain: in std_logic_vector(15 downto 0);dataout: out std_logic_vector(3 downto 0);sel: out std_logic_vector(2 downto 0));end component;--譯碼器
component ymq--待調用的譯碼器端口定義 port(d_in: in std_logic_vector(3 downto 0);d_out: out std_logic_vector(7 downto 0));end component;signal clk1,clk2,clk3: std_logic;--clk1為1Hz信號,clk2為被測信號,clk3為數碼管掃描信號
signal tsten,clr,load: std_logic;signal c1,c2,c3,c4: std_logic;signal qout,rout: std_logic_vector(15 downto 0);signal datao: std_logic_vector(3 downto 0);begin u0:testpl port map(clk1,tsten,clr,load);u1:cnt10 port map(clk2,clr,tsten,qout(3 downto 0),c1);u2:cnt10 port map(c1,clr,tsten,qout(7 downto 4),c2);u3:cnt10 port map(c2,clr,tsten,qout(11 downto 8),c3);u4:cnt10 port map(c3,clr,tsten,qout(15 downto 12),c4);u5:reg16b port map(load,qout(15 downto 0),rout);u6:ledcom port map(clk3,rout,datao,ledc);u8:ymq port map(datao,led);end art;
5.心得體會
這次課程設計中,我不僅復習鞏固了課堂所學的理論知識,提高
EDA課程設計~簡易數字頻率計
了對所學知識的綜合應用能力,并從根本上了解了VHDL語言的一些基本用法,應用了原來不會或者不熟練的句型,如if句,case句等,也學會了一些基本功能的實現方法,如分頻,狀態控制等等,從另外一個角度重新審視了上學期完全從硬件角度出發的電路設計,明白了軟硬件之間的交互。通過這個課題,對系統框圖、邏輯流程圖、狀態轉移圖的設計有了一定的了解。也懂得了系統的前期設計對于后續的編程和調試的重要性。
本課題采用了自下而上的設計方法,根據系統對硬件的要求,畫出系統控制流程圖;然后根據控制流程圖,分化模塊,利用模塊實現功能;最后進行仿真和調試。
每個成功的背后都要面對無數次的失敗,這次課設也不例外。雖然遇到不少問題與困難,但通過老師以及同學的幫助,都一一得到順利地解決。我想這必定會為將來的實踐積累寶貴的經驗和教訓。總之,這次課設我們都受益匪淺。整個過程氛圍濃厚,本人也態度十分認真,積極向老師和同學求教并在此過程中收獲良多,能夠進一步了解和使用一門與硬件直接打交道的基本語言對我們將來的學習和工作都會十分有益。
6.五個模塊的程序源代碼
6.1 測頻控制信號發生器
EDA課程設計~簡易數字頻率計
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testpl is port(clk:in std_logic;--1Hz信號
tsten:out std_logic;--計數器使能信號 clr_cnt:out std_logic;--計數器清零信號 load:out std_logic);--鎖存器輸出控制信號 end testpl;architecture art of testpl is signal div2clk:std_logic;begin process(clk)begin if clk'event and clk='1'then div2clk<=not div2clk;--div2clk為2Hz end if;end process;process(clk ,div2clk)begin if(clk='0'and div2clk='0')then clr_cnt<='1';--當div2clk與clk同時為零時計數器清零 else clr_cnt<='0';--當div2clk處于的高電平時計數器計數 end if;end process;load<=not div2clk;--鎖存器輸出與計數器使能信號反相 tsten<=div2clk;end art;
有時鐘使能的十進制計數器
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 is port(clk,clr,en: in std_logic;--clk:計數器時鐘,clr:清零信號,en:計數使能信號
q: out std_logic_vector(3 downto 0);--q:4位計數結果輸出
EDA課程設計~簡易數字頻率計
c10: out std_logic);--計數進位
end cnt10;architecture art of cnt10 is signal cqi: std_logic_vector(3 downto 0);begin process(clk,clr)begin if clr='1' then cqi<=“0000”;--當輸入的clr_cnt為低電平0時清零
elsif clk'event and clk='1' then if en='1' then--當輸入的tesen為高電平1時允許計數
if(cqi<9)then cqi<=cqi+1;else cqi<=“0000”;--等于9則計數器清零
end if;--當輸入的tesen為低電平0時禁止計數,鎖定計數值 end if;end if;end process;--產生進位 process(cqi)begin if cqi=“1001” then c10<='1';--當加的9時產生進位輸出 else c10<='0';end if;end process;q<=cqi;end art;
16位鎖存器
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reg16b is port(load: in std_logic;--輸出鎖存控制信號 din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end reg16b;
EDA課程設計~簡易數字頻率計
architecture art of reg16b is begin process(load,din)begin if load'event and load='1'then--load為高電平時teten為低電平,計數器禁止
dout<=din;--鎖存輸入的數據 end if;end process;end art;
6.4 數碼管控制器
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledcom is port(clk:in std_logic;--數碼管掃描頻率
datain: in std_logic_vector(15 downto 0);--鎖存器輸入的16位信號 dataout: out std_logic_vector(3 downto 0);--輸出至譯碼器的4位信號
sel: buffer std_logic_vector(2 downto 0));--輸出數碼管選擇信號 end ledcom;architecture art of ledcom is begin--sel同掃描頻率clk循環變化 process(clk)begin if rising_edge(clk)then if sel>=7 then
sel <=“000”;
else sel<=sel+1;end if;end if;
end process;--數碼管選擇 process(sel,datain)
begin case sel is when “000”=> dataout<=datain(3 downto 0);
EDA課程設計~簡易數字頻率計
when “001”=> dataout<=datain(7 downto 4);when “010”=> dataout<=datain(11 downto 8);when “011”=> dataout<=datain(15 downto 12);when others =>NULL;end case;end process;end art;
七段數碼管的譯碼器
library IEEE;use IEEE.std_logic_1164.all;entity ymq is port(d_in: in std_logic_vector(3 downto 0);--數碼管控制器輸入四位信號
d_out: out std_logic_vector(6 downto 0));--輸出8位信號
end ymq;--第8位d_out[7]為逗號 architecture art of ymq is begin process(d_in)begin case d_in is--第8位為1高電平逗號不顯示 when “0000” => d_out<=“1111110”;--0 when “0001” => d_out<=“0110000”;--1 when “0010” => d_out<=“1101101”;--2 when “0011” => d_out<=“1111001”;--3 when “0100” => d_out<=“0110010”;--4 when “0101” => d_out<=“1011011”;--5 when “0110” => d_out<=“1011111”;--6 when “0111” => d_out<=“1110000”;--7 when “1000” => d_out<=“1111111”;--8 when “1001” => d_out<=“1111011”;--9 when others =>NULL;end case;end process;end art;7.參考文獻
1、王小軍 主編.《VHDL簡明教程》.清華大學出版社,1997
EDA課程設計~簡易數字頻率計
2、潘松、王國棟 主編.《VHDL應用教程》電子科技大學出版社,2000
3、甘歷 主編.《VHDL應用于開發實踐》科學出版社,2003
4、劉愛榮 主編.《EDA技術與CPLD/FPGA開發應用簡明教程》.清華大學出版社,2007
第三篇:液壓課設總結
液壓課程設計
總結
通過這段時間的設計,認識到自己的很多不足,自己知識的很多盲點和漏洞知識和實踐的差距。比如這次的集成塊的設計,在做課程設計之前,我根本不知道什么是集成塊。通過的這次課程設計才知道液壓閥的組裝方法和控制系統的方法,以及液壓的系統的工作方式。這是液壓課本書上沒有的,所以我發現了自己的很多知識上的盲點和理解錯誤。我的理論和實際聯系的能力還有待提高。
液壓系統是以電機提供動力基礎,使用液壓泵將機械能轉化為壓力,推動液壓油。通過控制各種閥門改變液壓油的流向,從而推動液壓缸做出不同行程、不同方向的動作。完成各種設備不同的動作需要。液壓系統已經在各個工業部門及農林牧漁等許多部門得到愈來愈廣泛的應用,而且愈先進的設備,其應用液壓系統的部分就愈多。所以像我們這樣的大學生學習和親手設計一個簡單的液壓系統是非常有意義的。
本次設計涉及了液壓傳動大部分知識,還有就是solidworks作圖.CAD作圖和word文檔的處理。也使我們很好的將課本上的知識與實際結合起來,收獲頗多,特別是手機資料和信息的能力。這也是我們大學期間一次難得的機會,總之是受益匪淺。
第四篇:Web課設總結
圖書添加
創建Web項目,通過JDBC實現圖書信息添加功能。(1)在數據庫中創建圖書信息表tb-books(2)創建名稱為Book的類,用于封裝圖書對象信息。關鍵代碼如下: package com.lyq.bean;public class Book { // 編號
private int id;// 圖書名稱
private String name;// 價格
private double price;// 數量
private int bookCount;// 作者
private String author;public int getId(){
return id;} public void setId(int id){
this.id = id;} public String getName(){
return name;} public void setName(String name){
this.name = name;} public double getPrice(){
return price;} public void setPrice(double price){
this.price = price;} public int getBookCount(){
return bookCount;} public void setBookCount(int bookCount){
this.bookCount = bookCount;} public String getAuthor(){
return author;} public void setAuthor(String author){
this.author = author;} }(3)創建index.jsp頁面,用于放置添加圖書信息所需的表單,該表單提交到AddBook.jsp頁面進行處理。關鍵代碼如下: <%@ page language=“java” contentType=“text/html;charset=UTF-8” pageEncoding=“UTF-8”%>
第五篇:編譯原理課設總結(定稿)
董楠楠1006010101
經過一個星期的編譯原理課程設計,在老師的指導以及小組同學的互相幫助下順利完成該課程設計。通過該課程設計,收獲很多。
此次課設,我們小組用的是java語言,在課設過程中,用到了以前開發過程中所沒有的探索過的很多新方法,最直接的影響就是讓我對java語言的認識與理解更近一層。并且掌握了什么是編譯程序,編譯程序工作的基本過程及其各階段的基本任務,對課本上的知識有了更深的理解。
因為本實驗用了java語言編寫,個人覺得相比C語言模塊更加清晰明了。在該詞法分析程序中,我們用了java中的split方法對輸入串進行分割,簡單易懂。其次,在字符匹配過程中,引進了正則表達式,讓輸入串與之匹配,極大地縮減程序的繁瑣性。同時,java的面對對象的性質在程序中得到充分的體現,在代碼的編寫過程中,將各種判定封裝為函數,主函數通過調用這些封裝函數完成功能,摒棄了C語言結構化的繁瑣,使整個處理函數清晰可讀。在測試多個用例時,發現程序的很多小錯誤,但最后都能夠一一解決,尤其在這個過程中,我也充分體會到了團隊合作的力量。此次課設更加深了對java語言的認識,并熟悉了java語言中正則表達式的用法。
通過該課程設計,全面系統的理解了編譯原理程序構造的一般原理和基本實現方法。能夠把學過的計算機編譯原理的知識強化,并通過自己設計的程序表現出來,加深了對理論知識的理解,同時也激發了學習的積極性。課程設計中的第二個程序對簡單表達式文法構造算符優先分析器比較復雜,在調試時出現了很多問題,經過大量的修改和一遍又一遍地調試,最后把錯誤全都改正沒有做到根據文法得到相應的算符優先表,而是在程序中直接給出,這是程序的一個小缺陷。