第一篇:電工電子課設-數字鐘元器件清單
數字鐘課程設計元器件清單單價(元/個)1、2、3、共陽極數碼管:6個174LS247集成芯片:6塊1 74LS90集成芯片:6塊14、CD4060集成芯片:1塊5、74LS00集成芯片:1塊6、74LS74集成芯片:2塊7、74LS20集成芯片:2塊8、74LS08集成芯片:2塊9、74LS04集成芯片:1塊10、74LS32集成芯片:1塊11、22pf電容:2個12、32768時鐘晶體:1個13、1K電阻:1個
14、三極管:1個15、100Ω電阻:6個
17、蜂鳴器:1個
18、小飯盒:1個
19、面包板:1塊1 1 1 11 111
第二篇:數字鐘課設任務書
課程設計任務書
一、設計課題
數字鐘
二、設計時間
2011年 6 月 20日至2011年 6 月 24日
三、設計內容及要求
1、設計要求
1)時間以24小時為一個周期; 2)能顯示時、分、秒,24小時制;
3)有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間; 4)計時過程具有報時功能,當時間到達整點前5秒進行蜂鳴報時; 5)為了保證計時的穩定及準確須由晶體振蕩器提供表針時間基準信號。6)在完成上述設計內容的基礎上,可以自行設計一些附加功能。注意:硬件資源的節約,否則器件內資源會枯竭。
2、工作任務與要求
1)搜集有關資料,進行方案設計,畫出總體設計框圖,說明搶答器由哪些相對獨立的功能模塊組成,標出各個模塊之間互相聯系,并以文字對原理作輔助說明。
2)進行電路參數分析、論證,以及電路可靠性分析。3)設計各個功能模塊的電路圖,加上原理說明。
4)在驗證各個功能模塊基礎上,對整個電路的元器件和布線,進行合理布局,畫出總體電路圖。
3、設計報告正文內容要求
1)設計目的。2)設計指標。3)設計方案及論證。
4)畫出設計的原理框圖,并要求說明該框圖的工作過程及每個模塊的功能。5)畫出各功能模塊的電路圖,加上原理說明(例如搶答門及控制電路,鎖存器及譯碼顯示原理等)。
6)畫出總布局接線圖(集成塊按實際布局位置畫,關鍵的連接應單獨畫出,集成塊的引腳須按實際位置畫,并注明名稱。)
7)元器件清單。
胡靜波
第三篇:數字電子技術課設(數字鐘)
太原理工大學現代科技學院學院《數字電子技術》課程設計報告
數字電子技術課程設計報告
題
目:
多功能數字鐘課程設計
學
年:2007
學
期:第二學期
專
業:自動化
班
級:0703
學
號:07100559 姓
名:劉磊
指導教師及職稱:
魏巍
時
間:
2009年7月9日
太原理工大學現代科技學院
第 0
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
數字電子技術課程設計報告
一、設計目的
數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數字鐘從原理上講是一種典型的數字電路,其中包括了組合邏輯電路和時序電路。
因此,我們此次設計與制做數字鐘就是為了了解數字鐘的原理,從而學會制作數字鐘.而且通過數字鐘的制作進一步的了解各種在制作中用到的中小規模集成電路的作用及實用方法.且由于數字鐘包括組合邏輯電路和時敘電路.通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法.二、設計要求
(1)設計指標
① 時間以12小時為一個周期; ② 顯示時、分、秒;
③ 具有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間; ④ 計時過程具有報時功能,當時間到達整點前10秒進行蜂鳴報時; ⑤ 為了保證計時的穩定及準確須由晶體振蕩器提供表針時間基準信號。(2)設計要求
① 畫出電路原理圖(或仿真電路圖); ② 元器件及參數選擇; ③ 電路仿真與調試;
④ PCB文件生成與打印輸出。
(3)制作要求
自行裝配和調試,并能發現問題和解決問題。
(4)編寫設計報告
寫出設計與制作的全過程,附上有關資料和圖紙,有心得體會。
三、原理框圖
1.數字鐘的構成
數字鐘實際上是一個對標準頻率(1HZ)進行計數的計數電路。由于計數的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1HZ時間信號必須做到準確穩定。通常使用石英晶體振蕩器電路構成數字鐘。
第 1
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
譯 碼 顯 示 電 路時計數器分計數器秒計數器振蕩器校時電路報時電路多級分頻器(a)數字鐘組成框圖
2.晶體振蕩器電路
晶體振蕩器電路給數字鐘提供一個頻率穩定準確的32768Hz的方波信號,可保證數字鐘的走時準確及穩定。不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶體振蕩器電路。一般輸出為方波的數字式晶體振蕩器電路通常有兩類,一類是用TTL門電路構成;另一類是通過CMOS非門構成的電路,本次設計采用了后一種。如圖(b)所示,由CMOS非門U1與晶體、電容和電阻構成晶體振蕩器電路,U2實現整形功能,將振蕩器輸出的近似于正弦波的波形轉換為較理想的方波。輸出反饋電阻R1為非門提供偏置,使電路工作于放大區域,即非門的功能近似于一個高增益的反相放大器。電容C1、C2與晶體構成一個諧振型網絡,完成對振蕩頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網絡,實現了振蕩器的功能。由于晶體具有較高的頻率穩定性及準確性,從而保證了輸出頻率的穩定和準確。
(b)CMOS 晶體振蕩器(仿真電路)
3.時間記數電路
第 2
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
一般采用10進制計數器如74HC290、74HC390等來實現時間計數單元的計數功能。本次設計中選擇74HC390。由其內部邏輯框圖可知,其為雙2-5-10異步計數器,并每一計數器均有一個異步清零端(高電平有效)。
秒個位計數單元為10進制計數器,無需進制轉換,只需將QA與CPB(下降沿有效)相連即可。CPA(下降沒效)與1HZ秒輸入信號相連,Q3可作為向上的進位信號與十位計數單元的CPA相連。
秒十位計數單元為6進制計數器,需要進制轉換。將10進制計數器轉換為6進制計數器的電路連接方法如圖 2.4所示,其中Q2可作為向上的進位信號與分個位的計數單元的CPA相連。
十進制-六進制轉換電路
分個位和分十位計數單元電路結構分別與秒個位和秒十位計數單元完全相同,只不過分個位計數單元的Q3作為向上的進位信號應與分十位計數單元的CPA相連,分十位計數單元的Q2作為向上的進位信號應與時個位計數單元的CPA相連。
時個位計數單元電路結構仍與秒或個位計數單元相同,但是要求,整個時計數單元應為12進制計數器,不是10的整數倍,因此需將個位和十位計數單元合并為一個整體才能進行12進制轉換。利用1片74HC390實現12進制計數功能的電路如圖(d)所示。
(d)十二進制電路
另外,圖(d)所示電路中,尚余-2進制計數單元,正好可作為分頻器2HZ輸出信號轉化為1HZ信號之用。
4.譯碼驅動及顯示單元電路
選擇CD4511作為顯示譯碼電路;選擇LED數碼管作為顯示單元電路。由CD4511把輸進來的二進制信號翻譯成十進制數字,再由數碼管顯示出來。這里的LED數碼管是采用共陰的方法連接的。
計數器實現了對時間的累計并以8421BCD碼的形式輸送到CD4511芯片,再由4511芯片把BCD碼轉變為十進制數碼送到數碼管中顯示出來。
第 3
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
5.校時電路
數字鐘應具有分校正和時校正功能,因此,應截斷分個位和時個位的直接計數通路,并采用正常計時信號與校正信號可以隨時切換的電路接入其中。即為用COMS與或非門實現的時或分校時電路,In1端與低位的進位信號相連;In2端與校正信號相連,校正信號可直接取自分頻器產生的1HZ或2HZ(不可太高或太低)信號;輸出端則與分或時個位計時輸入端相連。當開關打向下時,因為校正信號和0相與的輸出為0,而開關的另一端接高電平,正常輸入信號可以順利通過與或門,故校時電路處于正常計時狀態;當開關打向上時,情況正好與上述相反,這時校時電路處于校時狀態。
實際使用時,因為電路開關存在抖動問題,所以一般會接一個RS觸發器構成開關消抖動電路,所以整個較時電路就如圖(f)。
(f)帶有消抖電路的校正電路
6.整點報時電路
電路應在整點前10秒鐘內開始整點報時,即當時間在59分50秒到59分59秒期間時,報時電路報時控制信號。
當時間在59分50秒到59分59秒期間時,分十位、分個位和秒十位均保持不變,分別為5、9和5,因此可將分計數器十位的QC和QA、個位的QD和QA及秒計數器十位的QC和QA相與,從而產生報時控制信號。
報時電路可選74HC30來構成。74HC30為8輸入與非門。
第 4
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
說明:當時間在59分50秒到59分59秒期間時 分十位、分個 位和秒十位均保持不變,分別為5,9和5;因此,可以將分計數器十位的Qc和QA,個位的QD和QA及秒計數器十位的QC和QA相與,從而產生報時控制信號。IO1分計數器十位的Qc和QAIO2U11VCCIO35VVCCX182345V分計數器個位的QD和QAIO456114V_0.5WIO512秒計數器十位的QC和QAIO674HC30D數字鐘設計-整點報時電路部分
四、元器件
1.四連面包板1塊(編號A45)
2.鑷子1把 3.剪刀1把
4.共陰八段數碼管6個 5.網絡線2米/人 6.CD4511集成塊6塊 7.CD4060集成塊1塊 8.74HC390集成塊3塊 9.74HC51集成塊1塊 10.74HC00集成塊4塊 11.74HC30集成塊1塊 12.10MΩ電阻5個 13.500Ω電阻14個 14.30p電容2個
15.32.768k時鐘晶體1個 16.蜂鳴器10個(每班)1)芯片連接圖
1)74HC00D
2)CD4511
第 5
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
3)74HC390D
4)74HC51D
2.面包板的介紹
面包板一塊總共由五部分組成,一豎四橫,面包板本身就是一種免焊電板。面包板的樣式是:
第 6
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
面包板的注意事項:
1. 面包板旁一般附有香蕉插座,用來輸入電壓、信號及接地。2. 上圖中連著的黑線表示插孔是相通的。
3. 拉線時,盡量將線緊貼面包板,把線成直角,避免交叉,也不要跨越元件。4. 面包板使用久后,有時插孔間連接銅線會發生脫落現象,此時要將此排插孔做記號。并不再使用。
五、各功能塊電路圖
數字鐘從原理上講是一種典型的數字電路,可以由許多中小規模集成電路組成,所以可以分成許多獨立的電路。
(一)六進制電路
由74HC390、7400、數碼管與4511組成,電路如圖一。
U1A3123U2A12Com74HC00D74HC00DU5SEVEN_SEG_COM_KABCDEFGU3AV1 32Hz 5V141INA1INB21CLR31QA1QB1QC1QD5677126U413DADBDCDD5OAOBOCODOE1211109151474HC390D43~ELOF~BIOG~LTVCC5V4511BD將十進制計數器轉換為六進制的連接方法
(二)十進制電路
由74HC390、7400、數碼管與4511組成,電路如圖二。
第 7
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
U4A3126U4B4574HC00D74HC00DComU3SEVEN_SEG_COM_KU1AV1 60Hz 5V141INA1INB21CLR31QA1QB1QC1QD5677126U213DADBDCDD5OAOBOCODOE12111091514ABCDEFGVCC5V74HC390D43~ELOF~BIOG~LT4511BD十進制接法測試仿真電路
(三)六十進制電路
由兩個數碼管、兩4511、一個74HC390與一個7400芯片組成,電路如圖三。
(四)雙六十進制電路
由2個六十進制連接而成,把分個位的輸入信號與秒十位的Qc相連,使其產生進位,電路圖如圖四。
第 8
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
ComComSEVEN_SEG_COM_KU1B6453U1A12U4SEVEN_SEG_COM_KU7U11BABCDEFG64513DADBDCDD5OAOBOCODOE~ELOF~BI~LTOG1211109151421CLR141INA1INB3U10A12ABCDEFG74HC00D74HC00DU3B15122INA2INB142CLR132QA2QB2QC2QD11109U2712674HC00D74HC00DU8A31QA1QB1QC1QD5677126U913DADBDCDD5OAOBOCODOE12111091514VCC5V74HC390D43U1C891011U1D12134511BD74HC390DComVCCU643~ELOF~BI~LTOG5VSEVEN_SEG_COM_K74HC00D74HC00DABCDEFG84511BDComU15C91011U16DSEVEN_SEG_COM_K1213U14U3A131INA1INB21CLR1QA1QB1QC1QD5677126U513DADBDCDD5OAOBOCODOE1211109151474HC00D74HC00DU12B15122INA2INB142CLR132QA2QB2QC2QD111097126U13DADBDCDD5OAOBOCODOEABCDEFG***14V1 100kHz 5V474HC390D43~ELOF~BI~LTOGVCC74HC390D5V43~ELOF~BI~LTOG4511BD4511BD
(五)時間計數電路
由1個十二進制電路、2個六十進制電路組成,因上面已有一個雙六十電路,只要把它與十二進制電路相連即可,詳細電路見圖五。
ComComComComComComU1SEVEN_SEG_COM_KU2SEVEN_SEG_COM_KU4SEVEN_SEG_COM_KU3SEVEN_SEG_COM_KU5SEVEN_SEG_COM_KU6SEVEN_SEG_COM_KABCDEFGABCDEFGABCDEFGVCCVCCABCDEFGABCDEFGABCDEFG5V***45VVCCVCC***49***45V***3121110***01514145V9VCCOG995V99OAOBODOAOBODOAOBODOEOEOCOCOCOFOFOEOGOAOBODOAOBODOAOBODOEOEOCOCOCOFOFOEOGOG~LT~LT~EL~EL~BI~BI~ELDADCDDDADCDDDADC~LT~LT~LTDBDB~EL~EL~EL~BI~BIDADCDDDADCDDDADCDBDB3DBDD~BI5V73DBDD4511BD54511BD******12643U23CU25A74HC00D***8U21A74HC00D13111038U20C74HC00D3U19A74HC00D131110974HC00D9356356772QB1QD2QD2QD1QB1QC2QB2QC2QB2QC1QB1QA2QA2QA1QA1QC1QD2QA2QC2QD61QB2INA1CLR2CLR2CLR1INA1INB2INA2INB2INA2INB1INA1INA1INB74HC00D161CLR74HC390D6151INB74HC00D111CLRU26B74HC390D74HC390N1174HC390N74HC390DU20B1574HC00D1262INB74HC00D74HC00D***242V1 1000Hz 5V時,分,秒計時電路圖
(六)校正電路
由74CH51D、74HC00D與電阻組成,校正電路有分校正和時校正兩部分,電路如圖六。
第 9
頁
142CLRU13AU16B1QA1QC1QDU24DU22BU14AU17BU20DU15AU18B74HC390N43~BI~LT4511BDOGU7U8OFU10VCC4511BDOGU9U114511BDOFU124511BD1010921921254***254太原理工大學現代科技學院學院《數字電子技術》課程設計報告
IO1VCC正常輸入信號5V校正信號R1IO2U2C9108小時校正電路J110Mohm74HC00D注意:分校時時,不會進位到小時。U11111213910U2DKey = A12R210MohmIO313U2A8123時計數器IO574HC00D1123674HC00D正常輸入信號校正信號R3U3A10Mohm12U2B456分計數器IO6IO44574HC00D74HC51D3J274HC00DKey = B分鐘校正電路分校正時鎖定小時信號輸入R410MohmU3B456圖中采用基本RS觸發器構成開關消抖動電路,其中與非門選用74HC00;對J1和J2,因為校正信號與0相與為0,而開關的另一端接高電平,正常輸入信號可以順利通過與或門,故校時電路處于正常計時狀態,當開關打向上時,情況正好與上述相反,這時電路處于校時狀態。74HC00D數字鐘設計-校時電路部分
(七)晶體振蕩電路
由晶體與2個30pF電容、1個4060、一個10兆的電阻組成,芯片3腳輸出2Hz的方波信號,電路如圖七。
(八)整點報時電路
由74HC30D和蜂鳴器組成,當時間在59:50到59:59時,蜂鳴報時,電路如圖八。
第 10
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
說明:當時間在59分50秒到59分59秒期間時 分十位、分個 位和秒十位均保持不變,分別為5,9和5;因此,可以將分計數器十位的Qc和QA,個位的QD和QA及秒計數器十位的QC和QA相與,從而產生報時控制信號。IO1分計數器十位的Qc和QAIO2U11VCCIO35VVCCX182345V分計數器個位的QD和QAIO456114V_0.5WIO512秒計數器十位的QC和QAIO674HC30D數字鐘設計-整點報時電路部分
六、總接線元件布局簡圖
整個數字鐘由時間計數電路、晶體振蕩電路、校正電路、整點報時電路組成。
其中以校正電路代替時間計數電路中的時、分、秒之間的進位,當校時電路處于正常輸入信號時,時間計數電路正常計時,但當分校正時,其不會產生向時進位,而分與時的校位是分開的,而校正電路也是一個獨立的電路。
電路的信號輸入由晶振電路產生,并輸入各電路。簡圖如圖九。
七、芯片連接總圖
因仿真與實際元件上的差異,所以在原有的簡圖的基礎上,又按實際布局畫了這張按實際芯片布局的接線圖,如圖十。
八、總結
1. 實驗過程中遇到的問題及解決方法
① 面包板測試
測試面包板各觸點是否接通。
② 七段顯示器與七段譯碼器的測量
第 11
頁 太原理工大學現代科技學院學院《數字電子技術》課程設計報告
把顯示器與CD4511相連,第一次接時,數碼管完全沒有顯示數字,檢查后發現是數碼管未接地而造成的,接地后發現還是無法正確顯示數字,用萬用表檢測后,發現是因芯片引腳有些接觸不良而造成的,所以確認芯片是否接觸良好是非常重要的一件事。
③ 時間計數電路的連接與測試
六進制、十進制都沒有什么大的問題,只是芯片引腳的老問題,只要重新插過芯片就可以解決了。但在六十進制時,按圖接線后發現,顯示器上的數字總是100進制的,而不是六十進制,檢測后發現無論是線路的連通還是芯片的接觸都沒有問題。最后,在重對連線時發現是線路接錯引腳造成的,改過之后,顯示就正常了。
④ 校正電路
因上面程因引腳接錯而造成錯誤,所以校正電路是完全按照仿真圖所連的,在測試時,開始進行時校時時,沒有出現問題,但當進行到分校時時,發現計數電路的秒電路開始亂跳出錯。因此,電路一定是有地方出錯了,在反復對照后,發現是因為在接入校正電路時忘了把秒十位和分個位之間的連線拿掉而造成的,因此,在接線時一定要注意把不要的多余的線拿掉。
2. 設計體會
通過這次對數字鐘的設計與制作,讓我了解了設計電路的程序,也讓我了解了關于數字鐘的原理與設計理念,要設計一個電路總要先用仿真仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,再實際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功。所以,在設計時應考慮兩者的差異,從中找出最適合的設計方法。通過這次學習,讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應該自己動手實際操作才會有深刻理解。
3. 對設計的建議
我希望老師在我們動手制作之前應先告訴我們一些關于所做電路的資料、原理,以及如何檢測電路的方法,還有關于檢測芯片的方法。這樣會有助于我們進一步的進入狀況,完成設計
參考文獻:
《數字電路硬件設計實踐》 賈秀美 主編 高等教育出版社 《電子線路設計、實驗、測試》 謝自美主編 華中理工出版社。《數字電子技術基礎》 閻 石 主編 高等教育出版社
第 12
頁
第四篇:VHDL實現數字鐘課設報告[推薦]
東北大學信息學院
課程設計報告
課程設計題目:用VHDL語言實現數字鐘的設計
班 級:電子1001班 學 號:20102594 姓 名:劉云飛
指導老師:李世平、李寧
設計時間:2012年12月
東北大學信息學院
摘要
隨著EDA技術的發展,EDA在通信、電子等領域占有十分重要的地位。本設計介紹了基于VHDL語言的數字鐘的設計。數字鐘的功能是對年、月、日、時、分、秒、星期,以及鬧鐘時、分的預置;在正常計數時的時、分與鬧鐘設定的時、分相同時,實現報時,同時以stop和pass鍵對鬧鐘進行停止及延遲響鈴的控制;在整點的時候led燈閃爍一下。其中,用set脈沖的不同實現對預置,正常計時,鬧鐘的控制。Set為1~12分別控制顯示年月日、預置年月日、時分秒、星期、顯示時分秒、預置鬧鐘時分、顯示鬧鐘預置的時分。預置時用up的高、低電平實現對各預置量的加、減控制。將1KHZ的時鐘進行分頻為1HZ,實現每次脈沖為1秒。經仿真和驗證顯示,此數字鐘切實可行,可以實現顯示時間和鬧鐘的功能。
關鍵詞:VHDL語言,數字鐘,預置
東北大學信息學院
目錄
摘 要............................................................2
1、設計目的.........................................................4
2、設計內容和要求...................................................4
3、設計原理.........................................................4
3.1 數字鐘功能介紹..........................................................................................................4 3.2 數字鐘設計原理..........................................................................................................5
4、VHDL程序設計.....................................................6
4.1 整體設計思路................................................................................................................6 4.2 各模塊設計方法............................................................................................................7 4.2.1 頂層模塊...............................................................................................................7 4.2.2 其他模塊...............................................................................................................8 4.2.3 程序包模塊.........................................................................................................13
5、仿真與分析......................................................13
5.1 仿真結果....................................................................................................................13 5.2 仿真分析....................................................................................................................16
6、課程設計總結....................................................16
7、參考文獻........................................................17
東北大學信息學院
1、設計目的
掌握利用可編程邏輯器件和EDA設計工具進行電子系統設計的方法。
2、設計內容和要求
用VHDL語言實現數字鐘的設計,要求設計實現一個具有帶預置數的數字鐘,具有顯示年月日時分秒的功能。用6個數碼管顯示時分秒,set按鈕產生第一個脈沖時,顯示切換年月日,第2個脈沖到來時可預置年份,第3個脈沖到來時可預置月份,依次第4、5、6、7個脈沖到來時分別可預置日期、時、分、秒,第 8個脈沖到來后預置結束,正常工作,顯示的是時分秒。Up為高電平時,upclk有脈沖到達時,預置位加1。否則減1。
3、設計原理 3.1 數字鐘功能介紹
數字鐘具有計時、預置、報時的功能。以不同的set脈沖控制各個功能。
(1)在計時功能中,數字鐘實現對年月日時分秒即星期的計時,并可以通過LED數碼管分別顯示年月日、或時分秒、或星期、或鬧鐘的時分。
(2)在預置功能中,可以通過UP鍵對各需要預置的量進行控制。UP=1時,進行“加”控制,UP=0時,進行“減”控制。
(3)在報時功能中,分為整點報時和設置時間報時。其中整點報時以ce作為使能輸入端,在整點時燈進行一秒閃爍;設置時間報時以enable作為使能輸入端,enable=1時設置時間報時功能啟動,在鬧鐘預置時間與時鐘當前時間相同時報時,若此時按下stop,鬧鐘立即停止并不再響鈴,若按下pass,則鬧鐘立即停止,但三分鐘后再響,如此循環5次后不再響鈴,若什么都不按,鬧鐘響鈴持續1分鐘。
東北大學信息學院
3.2 數字鐘設計原理
本設計功能有8個子模塊:分頻模塊、時分秒模塊、日模塊、年月模塊、鬧鐘預置模塊、星期模塊、響鈴模塊。通過元件例化由頂層文件timekeeper綜合。
整體設計框圖及外觀圖如(圖 3-1)及(圖3-2)
圖3-1 數字鐘設計整體框圖
東北大學信息學院
圖3-2 數字鐘外觀圖
4、VHDL程序設計
4.1 整體設計思路
采用自上而下的方法進行整體設計。整個設計共分為8個模塊,通過頂
層文件timekeeper元件例化將8個模塊各個端口對應相連。在設計各個模塊時所用到的其它運算方法等放于work庫中,通過程序包及程序包體的方式對所使用函數進行定義。
主要使用的語句有:元件例化語句,過程語句,信號賦值語句,if語句,case語句(在狀態機中)。
圖(4-1)表示了個模塊的連接及連接是所用到的觸發器等。
東北大學信息學院
圖4-1
整體結構圖
4.2 各模塊設計方法
4.2.1 頂層模塊
頂層模塊timekeeper是.對對所有模塊的綜合。
它包含的功能是:通過元件例化連接各模塊;實現對鬧鐘控制位sp2的控制;實現鬧鐘的整點報時閃爍。
輸入端:up
全局加減選擇,控制預置時的加減
setpin 設定選擇
東北大學信息學院
upclk 加減觸發
f1000 時鐘輸入
輸出端:a0~d1 八位數碼管控制引腳的輸出
z
整點報時輸出 4.2.2 其他模塊
1、時分秒模塊
時分秒模塊h_m_s是對時、分、秒正常計時(set=0 or 1 or 12)和預置時分秒(set=5 or 6 or 7)的實現。
分和秒由兩個六十進制實現,時由24進制實現。當時間達到23時59分59秒時,時分秒全部歸零,進位位ov由零變為1,通過管腳連接到date模塊的時鐘計數信號clk0,開啟date模塊。
2、日的模塊
日的模塊date實現日子進行正常計時(set=0 or 1 or 12)和預置(set=4)。
由于每月的天數與月份、年份有關,故需判斷年月。(1)(2)(3)當1、3、5、7、8、10、12月時,每月31天,使用31進制。當4、6、9、11月時,每月30天,使用30進制。當2月時,分閏年和平年。閏年29天,平年28天。
閏年和平年的判斷方法是:由于通過年月模塊傳輸的年份為兩位BCD碼。若高位信號為“xxx0”且低位信號為“xx00”或高位信號為“xxx1”且低位信號為“xx10”,則可判定為閏年,否則為平年。
以上各月,當日期至月底時返回1,進位位ov變為1通過管腳連接年月模塊的時鐘計數信號clk0,開啟年月模塊。
3、年月模塊
年月模塊year_mon實現年月正常計時(set=0 or 1 or 12)和年、月的預置(set=2 or 3)。
月為12進制,當達到12時變回為1,同時使年份進1。由兩位BCD碼表示年份,故可以表示100年之年的所有年,為100進制。
東北大學信息學院
圖4-2 year_mon和date模塊的電路連接圖
4、星期模塊
星期模塊week的功能是實現對星期的計時(set=0 or 1 or 12)和預置(set=8)。為七進制。
圖4-3 week模塊的RTL
5、鬧鐘模塊
東北大學信息學院
鬧鐘模塊alarm是對鬧鐘時和分的預置(set=10 or 11)。時為24進制,分為60進制。
圖4-3 alarm模塊的RTL
另外,在頂層模塊timekeeper,當鬧鐘預置時間與計時時間相同時(僅時、分),鬧鐘響鈴,當不對其進行任何操作時,響鈴維持1分鐘。響鈴方式見4.2.7響鈴模塊。
6、響鈴模塊
響鈴模塊alarm是對鬧鐘響鈴的控制。其中主要包含:
Enable:當enable=1時,鬧鐘可以工作。
Sp2 :當頂層模塊鬧鐘時間與計時相等時,sp2=1,響鈴開啟。Stop :鬧鐘停止并不再響鈴。
Pass :鬧鐘停止但三分鐘后再響,循環5次。Sp :響鈴輸出。Sp=1時響鈴,sp=0時不響。本模塊主要使用的方法是狀態機。相應狀態轉換圖如下:
東北大學信息學院
圖 4-4 響鈴模塊狀態轉換圖
在狀態t_pass時,使用計數的方法實現對3分鐘,5次循環的計數。
圖 4-5 計數的流程圖
東北大學信息學院
圖4-6 speak模塊的RTL
7、分頻模塊
分頻模塊fenpin使輸入為1KHZ時鐘信號時,接入電路經分頻后仍能按1HZ即1s計數。
圖4-7 fenpin模塊的RTL
8、顯示模塊
顯示模塊led即七段數碼管的顯示電路。
東北大學信息學院
圖4-8 led模塊的RTL 4.2.3 程序包模塊
程序模塊是對各模塊所用到的函數的定義,通過程序包package定義時、日、月、年等的增減函數(procedure),并用程序包體package body具體說明函數的內容。通過use.work.pac.all語句調用程序包,使程序書寫更加方便簡潔。
5、仿真與分析
5.1 仿真結果
1、h_m_s模塊
東北大學信息學院
表示當up=1時,時鐘時(set=5)、分(set=6)、秒(set=7)從0開始加。
圖 5-1
2、date模塊
以下為對應月份截圖。另外,當日期由最末變為1時,ov進1以控制year_mon模塊。
(1)大月:每月31天。
圖5-2-1(2)小月:每月30天。
圖5-2-2(3)平年2月:每月28天。
東北大學信息學院
圖5-2-3(3)閏年2月:每月29天。
圖5-2-4
3、year_mon模塊
圖5-3
4、week模塊
前半部分up=1,為加,1~7,后半部分up=0,為減,6~1
圖5-4
5、alarm模塊
下圖反映對鬧鐘時(set=10)、分(set=11)的預置,up=1為加。
圖 5-5
6、speak模塊
(1)按下pass
由下圖可見,當時間相同sp為高電平;按下pass后sp變為低電平,三分鐘
東北大學信息學院
后sp又為高電平。
圖5-6-1(2)按下stop
由下圖可見,當時間相同時sp為高電平,按下stop后sp變為低電平。
圖 5-6-2
5.2 仿真分析
各模塊仿真均可實現,且波形顯示可以實現預想的功能。
6、課程設計總結
通過這次的課程設計,我又一次系統的復習了VHDL語言,通過實踐對VHDL語言和EDA技術有了更具現實性應用性的了解,并熟練了相關軟件的使用方法。
此次課程設計的內容是數字鐘,我學會了如何利用元件例化將各個模塊結合起來,而不是一味的想起一個功能設計一個功能,而是有一個總體的自上而下的設計,建立基本的設計框圖(如圖 3-1),再進行具體的設計。
在程序調試的過程中,出現了很多的問題。我發現往往是一行出現了錯誤導致了接下來一系列錯誤的出現。
還有在仿真中出現錯誤的紅線,并出現了‘U’字符,全都是未設置初值所致。而在設置初值時仍然出現了問題。最開始我想定義一個clr信號,當clr為高電平時各功能清零,但是在實際仿真時,由于常常要看在月末或類似23時59分59秒這樣的時刻是否有進位信號進為高電平,從零開始顯然讓仿真變的十
東北大學信息學院
分麻煩,如果可以直接賦初值到接近進位的時刻就會讓仿真變得簡便。即使用信號賦初值的方法對信號進行賦初值,既解決錯誤又利于仿真。
在最后對頂層仿真時出現了很多的問題,最后發現都是未對應的問題。當然,我的設計還有很多不足的地方。比如有一處的競爭冒險產生的毛刺沒有解決。最開始是將speak模塊控制信號sp2的相關程序寫在了alarm模塊,仿真時發現在一處出現了毛刺,在對鬧鐘進行預置時分時的第一個時間都未足一個時鐘周期(如圖 5-5)。后來我想是否因為alarm模塊有兩個process進程,就將sp2的相關程序挪到了頂層模塊,但是最后還是沒有實現。咨詢了一下同學們,他們都說這沒有問題,不需要解決,所以就沒有解決這個問題。
此次課程設計我學到了很多,但是我覺得應該放在剛剛考完EDA之后,那時候對只是記得比較清楚,不像在這次設計時很多知識都想不起來了。其他的對我幫助都很大。
7、參考文獻 李景華,杜玉遠等著.可編程邏輯器件與EDA技術.沈陽:東北大學出版社,2000 2 齊懷印等.高級邏輯器件與設計.北京:電子工業出版社,1996 3 可編程邏輯器件與數字系統設計[M].北京航天航空大學出版社,1999 4 劉真,畢才術.數字邏輯與計算機設計[M ]北京:高等教育出版社,2002 5 王小軍.VHDL簡明教程[M].北京:清華大學出版社,1997
第五篇:電子課設 心得體會
電子課設心得體會
本次課設的任務是完成一個電子鐘,要求有計時,周顯示與整點報時功能。整個電路系統大體由秒脈沖發生器,計數譯碼顯示功能模塊,整點報時蜂鳴器電路模塊組成。
在設計過程中,主要的感受有幾點:
第一,理論基礎要扎實。電子鐘的課設最基礎的部分就是電子課上的計時器內容,在清楚計時器,觸發器,邏輯電路等集成元器件和相關電路工作原理的前提下,才能對任務有一個清晰明確的了解和設想出解決方案。
第二,線路布局要有全局觀念。在明確電子鐘整體工作原理和組成部分以及它們的相互聯系后,才能規劃出合理,操作性強的布線布局。這一點我深有體會,當初布局時一味強調緊湊,想為后來的電路留出空間,結果造成了整體電路布線的疏密不均,大量導線集中在一塊區域內,為日后的排查調試工作帶來了巨大的工作量。
第三,要用模塊化的思想來處理具體任務。所謂復雜,不過是簡單的堆砌。整個系統的電路紛繁復雜,所以要用模塊化的思想來拆分具體任務,之后再逐一解決。我將電路系統拆分為秒脈沖發生器,計數譯碼顯示功能模塊和整點報時蜂鳴器電路模塊,化整為零,大大提高了設計效率。
在制作過程中,明顯感覺到,知易行難。真正的工程遠沒有理想的設計模型那么簡單。尤其是插線,極端需要細致耐心,剪線頭時稍有疏忽,就容易造成接觸不良,而對錯面包板上的洞眼,更是令人欲哭無淚的差錯。
在調試過程中,對排錯的不易深有體會。經過不斷摸索,總結出了一套流程。
一旦出現問題,第一,由現象分析問題的來源。第二,通過初步電位測試,縮小和確定故障的范圍。第三,對照圖紙,注意檢查芯片各引腳的結線。第四,檢查引腳的線頭,芯片的引腳等是否存在接觸問題。第五,改動后再次上電觀察故障的表現情況有無變化。第六,當以上一切都不起作用時,向老師匯報電位測量結果,請教老師的經驗,或者參照同學類似問題的結局方法。
通過這次課設的工程鍛煉,我感到,行百里者半八十,面對浩大復雜的具體工程,一定要有信心,恒心,耐心和決心。打好基礎,從小到大,由淺入深,從局部到整體,以弄清工作原理為第一要務,在這一基礎上,小心謹慎,細致耐心地動手搭建。遇見問題要多觀察,多思考,用邏輯分析和經驗來分析解決問題。最后覺得,小小一個電子鐘就有如此復雜的工作量,確實應該使用Proteus等電路電子設計仿真軟件進行設計和仿真調試,這能極大地解放設計人員,減輕勞動量,提高工作效率和成品質量。
05101064
江一帆