第一篇:電子鐘課程設計心得
電子鐘課程設計心得
這次電子技術課程設計,我很用心的去完成,當總原理圖繪好的那一刻,心里有說不出的滿足感。從這次課程設計中,我真正學到了很多有用的知識。
拿到課題后,我首先將《數字電子技術》中有關本次設計的內容復習了一遍,比如七段譯碼顯示器、計數器、振蕩器等等。然后根據設計要求,我去圖書館查閱了相關的資料,對整體框架做了一個初步的了解。做完準備工作后就正式開始設計與繪圖。先要將沒每一功能模塊設計出來,再整體排版、連接。
這次設計讓我熟練掌握了課本上的一些理論知識,時計數器我選用的是74ls290,我覺得用它來做時計數器比較合適,教材上關于74ls290的內容比較詳細,因而設計起來也很順手。我使用振蕩器是由555定時器與rc組成,因為學過555定時器的應用,所以理解起來會容易一些。這次課程設計加強了我收集資料和充分利用資料的能力,原本想用74ls290或是74161做分秒計數器,結果發現畫出來太復雜,連線太多。通過在圖書館查到的資料,在了解了中規模計數器74ls90的功能后,我認為選用它做分、秒計數器設計出來比較簡單。還有校時電路的設計,我查到了關于這方面內容的詳細資料,通過對資料的理解和分析,弄動其工作原理后,我設計出所須的電路。在這次課程設計中,另我最有成就感的是整點報時電路的設計。剛開始還真不知道怎么下手,找了一些資料但看不大懂,而且不知道怎樣將報時電路與總原理圖連接。我和我們組的同學一起討論分析,仔細研究資料,終于把整點報時電路高清楚了?;剡^頭來一想,其實設計這些電路也并不是很困難,而且還十分有意思。唯一遺憾的是沒有將總原理圖用protel話出來,因為時間關系只畫了幾個局部圖。
課程設計是一個學習新知識、鞏固加深所學課本理論知識的過程,它培養了我們綜合運用知識的能力,獨立思考和解決問題的能力。它不僅加深了我對電子技術課程的理解,還讓我感受到了設計電路的樂趣。在這次設計中,我一點也不怕麻煩,反復設計、繪圖與修改,就是希望能把這次課程設計做好。因此對我來說,這次課程設計是非常有意義的。電子鐘課程設計心得(2):
數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數字鐘從原理上講是一種典型的數字電路,其中包括了組合邏輯電路和時序電路。因此,我們此次設計與制做數字鐘就是為了了解數字鐘的原理,從而學會制作數字鐘.而且通過數字鐘的制作進一步的了解各種在制作中用到的中小規模集成電路的作用及實用方法.且由于數字鐘包括組合邏輯電路和時敘電路.通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法.二、設計要求(1)設計指標 ①時間以12小時為一個周期; ②顯示時、分、秒; ③具有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間; ④計時過程具有報時功能,當時間到達整點前10秒進行蜂鳴報時; ⑤為了保證計時的穩定及準確須由晶體振蕩器提供表針時間基準信號。(2)設計要求 ①畫出電路原理圖(或仿真電路圖); ②元器件及參數選擇; ③電路仿真與調試; ④pcb文件生成與打印輸出。(3)制作要求自行裝配和調試,并能發現問題和解決問題。(4)編寫設計報告寫出設計與制作的全過程,附上有關資料和圖紙,有心得體會。
三、原理框圖 1.數字鐘的構成 數字鐘實際上是一個對標準頻率(1hz)進行計數的計數電路。由于計數的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1hz時間信號必須做到準確穩定。通常使用石英晶體振蕩器電路構成數字鐘。(a)數字鐘組成框圖 2.晶體振蕩器電路 晶體振蕩器電路給數字鐘提供一個頻率穩定準確的32768hz的方波信號,可保證數字鐘的走時準確及穩定。不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶體振蕩器電路。一般輸出為方波的數字式晶體振蕩器電路通常有兩類,一類是用ttl門電路構成;另一類是通過cmos非門構成的電路,本次設計采用了后一種。如圖(b)所示,由cmos非門u1與晶體、電容和電阻構成晶體振蕩器電路,u2實現整形功能,將振蕩器輸出的近似于正弦波的波形轉換為較理想的方波。輸出反饋電阻r1為非門提供偏置,使電路工作于放大區域,即非門的功能近似于一個高增益的反相放大器。電容c1、c2與晶體構成一個諧振型網絡,完成對振蕩頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網絡,實現了振蕩器的功能。由于晶體具有較高的頻率穩定性及準確性,從而保證了輸出頻率的穩定和準確。
一、設計目的 數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數字鐘從原理上講是一種典型的數字電路,其中包括了組合邏輯電路和時序電路。因此,我們此次設計與制做數字鐘就是為了了解數字鐘的原理,從而學會制作數字鐘.而且通過數字鐘的制作進一步的了解各種在制作中用到的中小規模集成電路的作用及實用方法.且由于數字鐘包括組合邏輯電路和時敘電路.通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法.二、設計要求(1)設計指標 ①時間以12小時為一個周期; ②顯示時、分、秒; ③具有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間; ④計時過程具有報時功能,當時間到達整點前10秒進行蜂鳴報時; ⑤為了保證計時的穩定及準確須由晶體振蕩器提供表針時間基準信號。(2)設計要求 ①畫出電路原理圖(或仿真電路圖); ②元器件及參數選擇; ③電路仿真與調試; ④pcb文件生成與打印輸出。(3)制作要求自行裝配和調試,并能發現問題和解決問題。(4)編寫設計報告寫出設計與制作的全過程,附上有關資料和圖紙,有心得體會。
三、原理框圖 1.數字鐘的構成 數字鐘實際上是一個對標準頻率(1hz)進行計數的計數電路。由于計數的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1hz時間信號必須做到準確穩定。通常使用石英晶體振蕩器電路構成數字鐘。(a)數字鐘組成框圖 2.晶體振蕩器電路 晶體振蕩器電路給數字鐘提供一個頻率穩定準確的32768hz的方波信號,可保證數字鐘的走時準確及穩定。不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶體振蕩器電路。一般輸出為方波的數字式晶體振蕩器電路通常有兩類,一類是用ttl門電路構成;另一類是通過cmos非門構成的電路,本次設計采用了后一種。如圖(b)所示,由cmos非門u1與晶體、電容和電阻構成晶體振蕩器電路,u2實現整形功能,將振蕩器輸出的近似于正弦波的波形轉換為較理想的方波。輸出反饋電阻r1為非門提供偏置,使電路工作于放大區域,即非門的功能近似于一個高增益的反相放大器。電容c1、c2與晶體構成一個諧振型網絡,完成對振蕩頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網絡,實現了振蕩器的功能。由于晶體具有較高的頻率穩定性及準確性,從而保證了輸出頻率的穩定和準確。(f)帶有消抖電路的校正電路 6.整點報時電路 電路應在整點前10秒鐘內開始整點報時,即當時間在59分50秒到59分59秒期間時,報時電路報時控制信號。當時間在59分50秒到59分59秒期間時,分十位、分個位和秒十位均保持不變,分別為5、9和5,因此可將分計數器十位的qc和qa、個位的qd和qa及秒計數器十位的qc和qa相與,從而產生報時控制信號。報時電路可選74hc30來構成。74hc30為8輸入與非門。
四、元器件 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)74hc00d2)cd4511 3)74hc390d4)74hc51d 2.面包板的介紹 面包板一塊總共由五部分組成,一豎四橫,面包板本身就是一種免焊電板。面包板的樣式是: 面包板的注意事項: 1.面包板旁一般附有香蕉插座,用來輸入電壓、信號及接地。2.上圖中連著的黑線表示插孔是相通的。3.拉線時,盡量將線緊貼面包板,把線成直角,避免交叉,也不要跨越元件。4.面包板使用久后,有時插孔間連接銅線會發生脫落現象,此時要將此排插孔做記號。并不再使用。
五、各功能塊電路圖 數字鐘從原理上講是一種典型的數字電路,可以由許多中小規模集成電路組成,所以可以分成許多獨立的電路。
(一)六進制電路 由74hc390、7400、數碼管與4511組成,電路如圖一。
(二)十進制電路 由74hc390、7400、數碼管與4511組成,電路如圖二。
(三)六十進制電路 由兩個數碼管、兩4511、一個74hc390與一個7400芯片組成,電路如圖三。
(四)雙六十進制電路 由2個六十進制連接而成,把分個位的輸入信號與秒十位的qc相連,使其產生進位,電路圖如圖四。
(五)時間計數電路 由1個十二進制電路、2個六十進制電路組成,因上面已有一個雙六十電路,只要把它與十二進制電路相連即可,詳細電路見圖五。
(六)校正電路 由74ch51d、74hc00d與電阻組成,校正電路有分校正和時校正兩部分,電路如圖六。
(七)晶體振蕩電路 由晶體與2個30pf電容、1個4060、一個10兆的電阻組成,芯片3腳輸出2hz的方波信號,電路如圖七。
(八)整點報時電路 由74hc30d和蜂鳴器組成,當時間在59:50到59:59時,蜂鳴報時,電路如圖八。
六、總接線元件布局簡圖 整個數字鐘由時間計數電路、晶體振蕩電路、校正電路、整點報時電路組成。其中以校正電路代替時間計數電路中的時、分、秒之間的進位,當校時電路處于正常輸入信號時,時間計數電路正常計時,但當分校正時,其不會產生向時進位,而分與時的校位是分開的,而校正電路也是一個獨立的電路。電路的信號輸入由晶振電路產生,并輸入各電路。簡圖如圖九。
七、芯片連接總圖 因仿真與實際元件上的差異,所以在原有的簡圖的基礎上,又按實際布局畫了這張按實際芯片布局的接線圖,如圖十。
八、總結 1.實驗過程中遇到的問題及解決方法 ①面包板測試 測試面包板各觸點是否接通。②七段顯示器與七段譯碼器的測量 把顯示器與cd4511相連,第一次接時,數碼管完全沒有顯示數字,檢查后發現是數碼管未接地而造成的,接地后發現還是無法正確顯示數字,用萬用表檢測后,發現是因芯片引腳有些接觸不良而造成的,所以確認芯片是否接觸良好是非常重要的一件事。③時間計數電路的連接與測試 六進制、十進制都沒有什么大的問題,只是芯片引腳的老問題,只要重新插過芯片就可以解決了。但在六十進制時,按圖接線后發現,顯示器上的數字總是100進制的,而不是六十進制,檢測后發現無論是線路的連通還是芯片的接觸都沒有問題。最后,在重對連線時發現是線路接錯引腳造成的,改過之后,顯示就正常了。④校正電路 因上面程因引腳接錯而造成錯誤,所以校正電路是完全按照仿真圖所連的,在測試時,開始進行時校時時,沒有出現問題,但當進行到分校時時,發現計數電路的秒電路開始亂跳出錯。因此,電路一定是有地方出錯了,在反復對照后,發現是因為在接入校正電路時忘了把秒十位和分個位之間的連線拿掉而造成的,因此,在接線時一定要注意把不要的多余的線拿掉。2.設計體會 通過這次對數字鐘的設計與制作,讓我了解了設計電路的程序,也讓我了解了關于數字鐘的原理與設計理念,要設計一個電路總要先用仿真仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,再實際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功。所以,在設計時應考慮兩者的差異,從中找出最適合的設計方法。通過這次學習,讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應該自己動手實際操作才會有深刻理解。3.對設計的建議 我希望老師在我們動手制作之前應先告訴我們一些關于所做電路的資料、原理,以及如何檢測電路的方法,還有關于檢測芯片的方法。這樣會有助于我們進一步的進入狀況,完成設計.機械課程設計.
第二篇:電子鐘課程設計心得
這次電子技術課程設計,我很用心的去完成,當總原理圖繪好的那一刻,心里有說不出的滿足感。從這次課程設計中,我真正學到了很多有用的知識。
拿到課題后,我首先將《數字電子技術》中有關本次設計的內容復習了一遍,比如七段譯碼顯示器、計數器、振蕩器等等。然后根據設計要求,我去圖書館查閱了相關的資料,對整體框架做了一個初步的了解。做完準備工作后就正式開始設計與繪圖。先要將沒每一功能模塊設計出來,再整體排版、連接。
這次設計讓我熟練掌握了課本上的一些理論知識,時計數器我選用的是74ls290,我覺得用它來做時計數器比較合適,教材上關于74ls290的內容比較詳細,因而設計起來也很順手。我使用振蕩器是由555定時器與rc組成,因為學過555定時器的應用,所以理解起來會容易一些。這次課程設計加強了我收集資料和充分利用資料的能力,原本想用74ls290或是74161做分秒計數器,結果發現畫出來太復雜,連線太多。通過在圖書館查到的資料,在了解了中規模計數器74ls90的功能后,我認為選用它做分、秒計數器設計出來比較簡單。還有校時電路的設計,我查到了關于這方面內容的詳細資料,通過對資料的理解和分析,弄動其工作原理后,我設計出所須的電路。
在這次課程設計中,另我最有成就感的是整點報時電路的設計。剛開始還真不知道怎么下手,找了一些資料但看不大懂,而且不知道怎樣將報時電路與總原理圖連接。我和我們組的同學一起討論分析,仔細研究資料,終于把整點報時電路高清楚了。回過頭來一想,其實設計這些電路也并不是很困難,而且還十分有意思。唯一遺憾的是沒有將總原理圖用protel話出來,因為時間關系只畫了幾個局部圖。
課程設計是一個學習新知識、鞏固加深所學課本理論知識的過程,它培養了我們綜合運用知識的能力,獨立思考和解決問題的能力。它不僅加深了我對電子技術課程的理解,還讓我感受到了設計電路的樂趣。在這次設計中,我一點也不怕麻煩,反復設計、繪圖與修改,就是希望能把這次課程設計做好。因此對我來說,這次課程設計是非常有意義的。
電子鐘課程設計心得(2):
數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。
數字鐘從原理上講是一種典型的數字電路,其中包括了組合邏輯電路和時序電路。
因此,我們此次設計與制做數字鐘就是為了了解數字鐘的原理,從而學會制作數字鐘.而且通過數字鐘的制作進一步的了解各種在制作中用到的中小規模集成電路的作用及實用方法.且由于數字鐘包括組合邏輯電路和時敘電路.通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法.二、設計要求
(1)設計指標
①時間以12小時為一個周期;
②顯示時、分、秒;
③具有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間;
④計時過程具有報時功能,當時間到達整點前10秒進行蜂鳴報時;
⑤為了保證計時的穩定及準確須由晶體振蕩器提供表針時間基準信號。
(2)設計要求
①畫出電路原理圖(或仿真電路圖);
②元器件及參數選擇;
③電路仿真與調試;
④pcb文件生成與打印輸出。
(3)制作要求自行裝配和調試,并能發現問題和解決問題。
(4)編寫設計報告寫出設計與制作的全過程,附上有關資料和圖紙,有心得體會。
三、原理框圖
1.數字鐘的構成
數字鐘實際上是一個對標準頻率(1hz)進行計數的計數電路。由于計數的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1hz時間信號必須做到準確穩定。通常使用石英晶體振蕩器電路構成數字鐘。
(a)數字鐘組成框圖
2.晶體振蕩器電路
晶體振蕩器電路給數字鐘提供一個頻率穩定準確的32768hz的方波信號,可保證數字鐘的走時準確及穩定。不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶體振蕩器電路。一般輸出為方波的數字式晶體振蕩器電路通常有兩類,一類是用ttl門電路構成;另一類是通過cmos非門構成的電路,本次設計采用了后一種。如圖(b)所示,由cmos非門u1與晶體、電容和電阻構成晶體振蕩器電路,u2實現整形功能,將振蕩器輸出的近似于正弦波的波形轉換為較理想的方波。輸出反饋電阻r1為非門提供偏置,使電路工作于放大區域,即非門的功能近似于一個高增益的反相放大器。電容c1、c2與晶體構成一個諧振型網絡,完成對振蕩頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網絡,實現了振蕩器的功能。由于晶體具有較高的頻率穩定性及準確性,從而保證了輸出頻率的穩定和準確。
一、設計目的
數字鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。
數字鐘從原理上講是一種典型的數字電路,其中包括了組合邏輯電路和時序電路。
因此,我們此次設計與制做數字鐘就是為了了解數字鐘的原理,從而學會制作數字鐘.而且通過數字鐘的制作進一步的了解各種在制作中用到的中小規模集成電路的作用及實用方法.且由于數字鐘包括組合邏輯電路和時敘電路.通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法.二、設計要求
(1)設計指標
①時間以12小時為一個周期;
②顯示時、分、秒;
③具有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間;
④計時過程具有報時功能,當時間到達整點前10秒進行蜂鳴報時;
⑤為了保證計時的穩定及準確須由晶體振蕩器提供表針時間基準信號。
(2)設計要求
①畫出電路原理圖(或仿真電路圖);
②元器件及參數選擇;
③電路仿真與調試;
④pcb文件生成與打印輸出。
(3)制作要求自行裝配和調試,并能發現問題和解決問題。
(4)編寫設計報告寫出設計與制作的全過程,附上有關資料和圖紙,有心得體會。
三、原理框圖
1.數字鐘的構成
數字鐘實際上是一個對標準頻率(1hz)進行計數的計數電路。由于計數的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1hz時間信號必須做到準確穩定。通常使用石英晶體振蕩器電路構成數字鐘。
(a)數字鐘組成框圖
2.晶體振蕩器電路
晶體振蕩器電路給數字鐘提供一個頻率穩定準確的32768hz的方波信號,可保證數字鐘的走時準確及穩定。不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶體振蕩器電路。一般輸出為方波的數字式晶體振蕩器電路通常有兩類,一類是用ttl門電路構成;另一類是通過cmos非門構成的電路,本次設計采用了后一種。如圖(b)所示,由cmos非門u1與晶體、電容和電阻構成晶體振蕩器電路,u2實現整形功能,將振蕩器輸出的近似于正弦波的波形轉換為較理想的方波。輸出反饋電阻r1為非門提供偏置,使電路工作于放大區域,即非門的功能近似于一個高增益的反相放大器。電容c1、c2與晶體構成一個諧振型網絡,完成對振蕩頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網絡,實現了振蕩器的功能。由于晶體具有較高的頻率穩定性及準確性,從而保證了輸出頻率的穩定和準確。
(f)帶有消抖電路的校正電路
6.整點報時電路
電路應在整點前10秒鐘內開始整點報時,即當時間在59分50秒到59分59秒期間時,報時電路報時控制信號。
當時間在59分50秒到59分59秒期間時,分十位、分個位和秒十位均保持不變,分別為5、9和5,因此可將分計數器十位的qc和qa、個位的qd和qa及秒計數器十位的qc和qa相與,從而產生報時控制信號。
報時電路可選74hc30來構成。74hc30為8輸入與非門。
四、元器件
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)74hc00d2)cd4511
3)74hc390d4)74hc51d
2.面包板的介紹
面包板一塊總共由五部分組成,一豎四橫,面包板本身就是一種免焊電板。
面包板的樣式是:
面包板的注意事項:
1.面包板旁一般附有香蕉插座,用來輸入電壓、信號及接地。
2.上圖中連著的黑線表示插孔是相通的。
3.拉線時,盡量將線緊貼面包板,把線成直角,避免交叉,也不要跨越元件。
4.面包板使用久后,有時插孔間連接銅線會發生脫落現象,此時要將此排插孔做記號。并不再使用。
五、各功能塊電路圖
數字鐘從原理上講是一種典型的數字電路,可以由許多中小規模集成電路組成,所以可以分成許多獨立的電路。
(一)六進制電路
由74hc390、7400、數碼管與4511組成,電路如圖一。
(二)十進制電路
由74hc390、7400、數碼管與4511組成,電路如圖二。
(三)六十進制電路
由兩個數碼管、兩4511、一個74hc390與一個7400芯片組成,電路如圖三。
(四)雙六十進制電路
由2個六十進制連接而成,把分個位的輸入信號與秒十位的qc相連,使其產生進位,電路圖如圖四。
(五)時間計數電路
由1個十二進制電路、2個六十進制電路組成,因上面已有一個雙六十電路,只要把它與十二進制電路相連即可,詳細電路見圖五。
(六)校正電路
由74ch51d、74hc00d與電阻組成,校正電路有分校正和時校正兩部分,電路如圖六。
(七)晶體振蕩電路
由晶體與2個30pf電容、1個4060、一個10兆的電阻組成,芯片3腳輸出2hz的方波信號,電路如圖七。
(八)整點報時電路
由74hc30d和蜂鳴器組成,當時間在59:50到59:59時,蜂鳴報時,電路如圖八。
六、總接線元件布局簡圖
整個數字鐘由時間計數電路、晶體振蕩電路、校正電路、整點報時電路組成。
其中以校正電路代替時間計數電路中的時、分、秒之間的進位,當校時電路處于正常輸入信號時,時間計數電路正常計時,但當分校正時,其不會產生向時進位,而分與時的校位是分開的,而校正電路也是一個獨立的電路。
電路的信號輸入由晶振電路產生,并輸入各電路。
簡圖如圖九。
七、芯片連接總圖
因仿真與實際元件上的差異,所以在原有的簡圖的基礎上,又按實際布局畫了這張按實際芯片布局的接線圖,如圖十。
八、總結
1.實驗過程中遇到的問題及解決方法
①面包板測試
測試面包板各觸點是否接通。
第三篇:電子鐘課程設計
paequ 8002h
pbequ 8004h
pccequ 8001h
ORG0000HLJMP STARTORG 001BHLJMP INT
START:MOV R0,#71HMOV R1,#06H
CLEAR:MOV @R0,#00HINC R0
DEC R1
DJNZ R1,CLEARMOV 6DH,#00MOV 6CH,#00MOV 7DH,#00ACALL MIAOMOV 7EH,#00ACALL FENMOV 7FH,#00ACALL XIAOSHIINI8255:MOV DPTR ,#8003HMOV A,#81H
MOVX @DPTR,AINIT1:MOV TMOD ,#20HMOV TL1, #06HMOV TH1,#06HSETB TR1SETB ET1SETB EA
LOOP1: LCALL DISPLAYLCALL YMYJZLOOP1MOV R1,#70H
LCALL DDCJNE A ,#0FH,LOOP1CLRTR1
LOOP2:LCALL DIR
LCALL YMYJZLOOP2;清零;8255初始化;T1初始化;判斷有無鍵按下;判斷到底哪個鍵按下;判斷有無鍵按下
LCALL DD;判斷到底哪個鍵按下,并寫進存儲單元CJNE R1,#77H,LOOP;最后一位有沒有輸入完
SETBTR1
LCALL ZH
LJMPLOOP1
LOOP:LJMPLOOP2
INT:PUSH ACC;中斷子程序
PUSH PSW
INC 6DH
MOV A,6DH
JNZ BJ
INC 6CH
BJ:MOV A,#0A0H
CJNE A,6DH,RETURN
MOV A,#0FH
CJNE A,6CH,RETURN
MOV 6DH,#00H
MOV 6CH,#00H
MOV A,#01H
ADD A,7DH
MOV 7DH,A
ACALL MIAO
MOV A,7DH
CJNE A,#60,RETURN
MOV 7DH,#0
ACALLMIAO
INC7EH
ACALL FEN
MOV A,7EH
CJNE A,#60,RETURN
MOV7EH,#00H
ACALL FEN
INC 7FH
ACALL XIAOSHI
MOV A,7FH
CJNE A,#24,RETURN
MOV 7FH,#00H
ACALL XIAOSHI
RETURN: POP PSW
POP ACC
RETI
MIAO: MOV A,7DH
DIV AB
MOV 75H, A
MOV 76H,B
RET
FEN:MOV A,7EH
MOV B,#10
DIV AB
MOV 73H,A
MOV 74H,B
RET
XIAOSHI: MOV A,7FH
MOV B,#10
DIV AB
MOV 71H,A
MOV 72H,B
RET
ZH:;輸入值轉換并送入相應存儲單元
MOVA, 75H
MOVB,#10
MULAB
ADD A,76H
MOV7DH,A
MOVA, 73H
MOVB,#10
MULAB
ADD A,74H
MOV 7EH,A
MOVA, 71H
MOVB,#10
MULAB
ADD A,72H
MOV 7FH,A
RET
DISPLAY: MOVA,7DH;顯示子程序
MOVB,#10
DIVAB
MOV75H,A
MOV76H,B
MOVA,7EH
DIVAB
MOV73H,A
MOV74H,B
MOVA,7FH
MOVB,#10
DIVAB
MOV71H,A
MOV72H,B
DIR:MOV R0,#76H
MOV R2,#01H
CLR C
DIR1:MOV A,R2
MOV DPTR,#pa
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR, #pb
MOVX @DPTR,A
ACALL DELAY
DEC R0
MOV A,R2
RL A
MOV R2,A
CJNE R0,#70H,DIR1
RET
TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H
YMY:MOV DPTR,#pa;判斷有無鍵按下子程序
MOV A,#00H
MOVX @DPTR ,A
INC DPTR
mov DPTR,#pcc
MOVX A,@DPTR
CPL A
ANL A,#0FH
RET
DD:MOV R2,#0DFH;判斷到底哪個鍵按下并送入相應單元子程序MOV R5,#4
MOV R4,#00H
LK4:MOV DPTR,#pa
MOV A,R2
MOVX @DPTR,A
INC DPTR
mov DPTR,#pcc
MOVX A,@DPTR
JB ACC.0,LINE1
MOV A,#00H
AJMP LKP
LINE1:JB ACC.1,LINE2
MOV A,#04H
AJMP LKP
LINE2:JB ACC.2,LINE3
MOV A,#08H
AJMP LKP
LINE3:JB ACC.3,NEXT
MOV A,#0CH
LKP:ADD A,R4
ACALL KEYIN
PUSH ACC
LK3:ACALL YMY
JNZ LK3
POP ACC
RET
NEXT:INC R4
MOV A,R2
RR A
MOV R2,A
DJNZ R5,LK4
KEND:RET
KEYIN:
MOVDPTR,#KEYTAB
MOVCA,@A+DPTR
MOV@R1,A
INCR1
RET
DELAY: MOV R7,#02H
DE:MOV R6,#0FFH
DJNZ R6, $
DJNZ R7,DE
RET
KEYTAB: DB 00H,0FH,0EH,0DH
DB 01H,02H,03H,0CH
DB 04H,05H,06H,0BH
DB 07H,08H,09H,0AH
END
;本程序用到的8255是這樣接的:PA口接位選信號,也是列信號,;PB口接七段數碼管,PC口只用到其低四位,接行信號。
;通過改變8255的初始化,接法不固定。
;運行時,F鍵可設置時間值(先停后設置)
第四篇:單片機課程設計電子鐘
課程設計任務書
(指導教師填寫)
課程設計名稱電子技術課程設計學生姓名專業班級設計題目數字鐘
一、課程設計的任務和目的任務:設計一臺能顯示“時”、“分”、“秒”的數字鐘,周期為24小時;具有校時、正點報時功能。
目的:培養學生綜合運用所學知識的能力,綜合設計能力,培養動手能力及分析問題、解決問題的能力。
二、設計內容、技術條件和要求
1.數字鐘可顯示“時”、“分”、“秒”,且“時”、“分”、“秒”分別用兩個數碼管顯示,計滿23小時60分鐘60秒,則全部清零。
2.具有校時功能,時、分校時用1HZ的信號進行,而秒較時用2HZ時鐘信號進行。
3.整點能自動報時。要求報時聲響為四低一高,最后一響為整點,前四聲用500HZ信號讓喇叭發聲,最后一聲用1000HZ信號。
4.根據上述要求,畫出電路總框圖,簡述各部分工作原理。
5.進行各部分電路的設計,要求有分析過程、原理圖表示。
6.對原理圖進行仿真。
7.在實驗箱上組裝、調試。
8.撰寫設計總結報告。
三、時間進度安排
第一周:理論設計。
周一上午布置設計任務,講解設計要求,安排答疑、實驗時間;
周三、周四下午課程設計答疑,其他時間學生查資料,做初步理論設計;
周五交設計初稿,由指導教師審查;
第二周:仿真和安裝調試、撰寫設計總結報告
周一、二學生進實驗室做仿真實驗,并根據實驗情況修正設計圖;
周三至周五做插接線實驗,最后根據實驗情況總結、撰寫設計說明書。
四、主要參考文獻
1.各種版本的數字電子技術基礎教材
2.各種版本的電子技術課程設計指導書
3.集成電路手冊
指導教師簽字:年月日
第五篇:單片機課程設計-電子鐘-完整
單片機課程設計
題目
專業 通信工程 班級 11級1班 學號 姓名
電 子 鐘 設 計
單片機原理與應用課程設計
電子鐘設計
功能要求:
1、設計一個電子時鐘,要求可以顯示時、分、秒,用戶可以設置時間。
2、實現秒表功能。
功能描述
(1)
時鐘。初始界面是時鐘顯示,按鍵S1是調時選位,按鍵S2是加數。根據不同的閃爍位置進行調節。
(2)
年與日,星期。在初始狀態下,按下S2,則跳轉,顯示年月日,5S后跳回初始界面。若在年月日界面再次按下S2,則再次跳轉,顯示星期,幾秒后跳轉回初始界面。
(3)
秒表。在初始界面下,按下S3,則跳轉,進入秒表。秒表功能鍵如下:S1 退出秒表;S2 停止開始計時;S3 秒表清零。
(4)
鬧鐘。在設置中設置好時間,最高位設為“1”則打開鬧鐘。最高位設為“0”則關閉鬧鐘。在鬧鐘響是,按S3進行關鬧鐘。
工作原理 ? 硬件
采用80C51系列單片機作為CPU,P0口作為數據線,通過鎖存器進行段選和位選,是數碼管不斷地顯示數字。數碼管的顯示是掃描式。(1)
本電子鐘用的單片機型號是STC89C516RD+。P0口作為段選和位選的數據線。P10口為段選寄存器的使能端。P11口為位選寄存器的使能端。晶振采用的12MHz晶振。要求頻率穩定。
(2)
本電子鐘用的是共陰極數碼管。從左到右,第1,2位是秒位;第4,5位是分位;第7,8位是時位。第3,6位是“--”。
(3)
通過單片機的P0口,先對數碼管進行位選,即在位鎖存器使能是將P0口數據進行鎖存。再通過段鎖存器將P0口送來的段數據進行鎖存。此時數碼管的第一位顯示數字。同樣的步驟進行第二位顯示。以非??斓乃俣冗M行,由于人眼的余輝效應,會看到8位數碼管一起亮。即可以顯示時間。通過單片機的內部TO,T1的計數。即可以實現時鐘,秒表等功能。(4)電路圖如下:
? 軟件
程序代碼包括三部分:1.bujian(部件庫)2.main(主函數)3.H(頭文件庫)。一 .bujian(部件庫)(1)xianshi.c #include
//數碼管秒個位
P0=t[s%10];p11=0;P0=0xff;delay(m);p10=1;p10=0;p11=1;P0=0xbf;p11=0;
//消隱
P0=t[s/10];
//消隱 //數碼管秒十位
P0=0xff;delay(m);} void led_f(unsigned int s){ p10=1;// P0=t[s%10];p10=0;p11=1;P0=0xef;
p11=0;
P0=0xff;delay(m);p10=1;
P0=t[s/10];p10=0;p11=1;P0=0xf7;p11=0;
P0=0xff;delay(m);} void led_h(unsigned int s){
// p10=1;P0=t[s%10];p10=0;p11=1;P0=0xfd;
p11=0;// P0=0xff;delay(m);p10=1;
P0=t[s/10];p10=0;p11=1;P0=0xfe;p11=0;
數碼管分個位 //消隱
//數碼管分十位
//消隱
數碼管時個位
消隱
//數碼管時十位
//消隱
P0=0xff;delay(m);}
void line(void){ p10=1;P0=0x40;p10=0;p11=1;P0=0xfb;delay(m);p11=0;
p10=1;P0=0x40;p10=0;p11=1;P0=0xdf;p11=0;delay(m);}
//消隱
P0=0xff;
//數碼管“---”
//消隱
P0=0xff;
//數碼管“---”
(2)miaobiao.c #include
#include
{ while(!s3){led_s(mms);led_f(ms);line();led_h(mf);} TR1=0;mms=0;ms=0;mf=0;} } }
(3)Delay.c #include
void delay(unsigned int a)
{ unsigned char l;
while(a--)
{for(l=0;l<100;l++);} }
(4)gongneng.c #include
#include
if(s2==0){ delay(3);if(s2==0)while(!s2){ led_s(s);delay(1);line();led_f(f);delay(1);led_h(h);delay(1);}
// while(1){ led_s(r);delay(2);led_f(y);delay(2);line();led_h(nian);delay(2);aa++;if(s2==0)
{ while(!s2)
{
led_s(r);delay(1);line();led_f(y);delay(1);led_h(nian);delay(1);}
//星期顯示
while(1)
{led_f(xing);delay(2);
bb++;
if(bb==100){bb=0;break;}
日期顯示 }
}
if(aa==100)
line();led_f(y);delay(1);led_h(nian);delay(1);
} } if(s1==0){ delay(3);if(s1==0){
switch(x){ case 1 : if(shanshuo==1){led_s(s);} line();led_f(f);delay(2);led_h(h);delay(2);break;case 2 :led_s(s);if(shanshuo==1){led_f(f);} delay(2);line();led_h(h);delay(2);break;case 3 : led_s(s);led_f(f);delay(2);line();if(shanshuo==1){led_h(h);} delay(2);break;case 4 : if(shanshuo==1){led_s(r);} led_f(y);delay(2);line();led_h(nian);delay(2);break;case 5 : led_s(r);if(shanshuo==1){led_f(y);} delay(2);line();led_h(nian);delay(2);break;case 6 :led_s(r);led_f(y);delay(2);line();if(shanshuo==1){led_h(nian);} delay(2);break;case 7 :if(shanshuo==1){led_f(xing);delay(5);} break;case 8 :if(shanshuo==1){led_s(nf);} line();led_f(nh);delay(2);led_h(ns);delay(2);break;case 9 :led_s(nf);if(shanshuo==1){led_f(nh);} delay(2);line();led_h(ns);delay(2);break;case 10:led_s(nf);led_f(nh);delay(2);line();if(shanshuo==1){led_h(ns);} delay(2);break;default : break;}
aa++;if(s2==0){ while(!s2){if(x==1||x==2||x==3){ led_s(s);delay(1);line();led_f(f);delay(1);led_h(h);delay(1);} if(x==4||x==5||x==6){ led_s(r);delay(1);line();led_f(y);delay(1);led_h(nian);delay(1);} if(x==7){ led_f(xing);} if(x==8||x==9||x==10){led_s(nf);led_f(nh);delay(2);line();led_h(ns);delay(2);} }
switch(x)
{ case 1 : s++;if(s>59)s=0;break;
while(!s1);while(1)
{ if(x==1||x==2||x==3)TR0=0;else TR0=1;if(aa==20){shanshuo=!shanshuo;aa=0;}
{ break;} { led_s(r);delay(1);
} if(s1==0)
case 2 :
}
f++;if(f>59)f=0;break;
case 3 : h++;if(h>23)h=0;break;case 4 : r++;if(r>31)r=1;break;case 5 : y++;if(y>12)y=1;break;case 6 : case 7 :
nian++;if(nian>20)nian=10;break;xing++;if(xing>7)xing=1;break;
case 8 : nf++;if(nf>59)nf=0;break;case 9 : nh++;if(nh>23)nh=0;break;case 10: ns=!ns;break;
default: break;{while(!s1){if(x==1||x==2||x==3){ led_s(s);delay(1);line();led_f(f);delay(1);led_h(h);delay(1);} if(x==4||x==5||x==6){ led_s(r);delay(1);line();led_f(y);delay(1);led_h(nian);delay(1);} if(x==7){ led_f(xing);} if(x==8||x==9||x==10){led_s(nf);led_f(nh);delay(2);line();led_h(ns);delay(2);} }
x++;if(x>10){ x=0;TR0=1;break;} } } } } } } 二.H(頭文件庫)(1)Delay.h #ifndef _DELAY_H__
void led_s(unsigned int s);void led_h(unsigned int s);#define _DELAY_H__ void delay(unsigned int a);#endif(2)xianshi.h #ifndef _XIANSHI_H__ #define _XIANSHI_H__
void led_f(unsigned int s);void line(void);#endif(3)gongneng.h
#ifndef _DONGNENG_H__ #define _GONGNENG_H__ void gongneng(void);#endif(4)miaobiao.h
#ifndef _MIAOBIAO_H__ #define _MIAOBIAO_H__ void miaobiao(void);#endif(5)dingyi.h #ifndef _DINGYI_H__ #define _DINGYI_H__ sbit s1=P2^4;
sbit s2=P2^5;
sbit s3=P2^6;sbit p10=P1^0;sbit p11=P1^1;sbit p12=P1^2;#endif
//流水燈使能端 //按鍵1 //按鍵2 //按鍵3 sbit p37=P3^7;//蜂鳴器時能
三.Main(主函數)(1)main.c #include
ET0=1;TH0=6;TR0=1;
//關閉流水燈
ET1=1;TH1=(65535-5000)/256;TL1=(65535-5000)%256;TR1=0;while(1){ if((s3==0)&&(ns==0)){while(!s3);miaobiao();} if(s1==0||s2==0)gongneng();else { led_s(s);line();led_f(f);line();led_h(h);} if((f==nf)&&(h==nh)&&(ns==1))ll=1;else ll=0;} } void zhongduan(void)interrupt 1 {
if((ll==1)&&(ns==1))
{ p37=!p37;if((s3==0)&&(ns==1)){ while(!s3)ns=0;p37=1;} } n++;if(n==5000){n=0;s++;if(s==60){ s=0;f++;} if(f==60){ f=0;h++;}
if(h==24){ h=0;r++;xing++;} switch(r){ case 29 : if(nian/4==0){if(y==2)r=0;} y++;case 31 : if(y==4||y==6||y==9||y==11){ } if(xing>7)xing=1;if(y==13){ y=1;nian++;} } } default : break;
break;case 30 : if((nian/4)!=0){if(y==2){ r=0;y++;}} break;
r=0;y++;} break;case 32 : if(y==1||y==3||y==5||y==7||y==8||y==10||y==12){r=0;y++;} break;void zhongduan1(void)interrupt 3
{
TH1=(65535-5000)/256;
m++;TL1=(65535-5000)%256;if(m==2){mms++;m=0;if(mms>=100){ mms=0;ms++;} if(ms==60){ ms=0;mf++;} if(mf==60){ mf=0;} } }
參考文獻:
單片機中級教程(第2版)、單片機語言C51程序設計(趙文博)感想: 這次課程設計整體來說是成功的,但我也發現了自己許多錯漏和不足之處。譬如,最簡單的程序沒寫好就想著寫更復雜的程序,做事還是缺乏耐性和細心,當有時遇到問題時,總覺得無從下手,對于課本上的知識不能很好的組織起來。在編寫各功能程序時,特別是后來增添的比較復雜的程序