第一篇:單片機數(shù)字鐘設計心得體會
單片機數(shù)字鐘設計心得體會
經(jīng)過一周的課程設計,我收獲頗多,有深刻的心得體會。實訓讓我們受益匪淺。首先是關于單片機方面的。我們學到了許多關于單片機系統(tǒng)開發(fā)的知識,從最開始選題到最后的結題,更使我們得到了充分的鍛煉。其次,它讓我體會到了什么才是teamwork spirit。一如:團隊管理的經(jīng)驗、團隊意識的提升和協(xié)調能力等等,這些都會讓我們終身受益。
通過此次課程設計,使我更加扎實的掌握了有關電子線路單片機方面的知識,在設計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查我終于找出了問題所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐才能出真知,實踐才是檢驗真理的唯一標準,唯有通過親自動手制作,才能令我們掌握的知識不再是一些紙上談兵的東西。
在這次的課程設計中,我們遇到了很多困難,過程很艱難,但是我們都克服了,這是對我們自己的肯定。我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領悟,不斷獲取。我們也曾灰心,也曾茫然,也曾不知所措,從一開始的自信滿滿,到最后的緊張繁雜,所有的這些都令我們回味無窮,這已經(jīng)成為了我們人生的一個寶藏。我想今后的學習和工作也是這樣的,汗水見證著成功,我想十年過后,但我們都已經(jīng)走入了社會,在某個陽光明媚的夏日,午后醒來,突然想起大學經(jīng)歷的時候,最先映入腦海里的就是這門課程吧,就是這些為了一個共同的目標,相互合作,共同奮斗的日子。
不可否認,單片機是一門比較難的專業(yè)學科。但是經(jīng)過這一學期的學習,我們覺得單片機這門課很好,讓我們在設計中掌握課程,具有很強的實用性。在社會上,單片機也應用極其廣泛。通過這次課程設計,我掌握了常用元件的識別和測試;熟悉了常用儀器、儀表;了解了電路的連線方法;以及如何提高電路的性能等等。我相信在接下來的日子里,我會更深刻地去研究它,發(fā)掘它。在這次的實訓里,我覺得過得很充實。實訓,不僅培養(yǎng)了我們獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。汗水,是我們努力的過程,更是成功的使者。它是希望的凝聚。
回首此次實訓,我們真的學到了很多很多。鞏固了以前所學過的知識,將理論與實際結合起來,不斷提高自己的實際動手能力和獨立思考的能力,并學會去使用知識。當然不僅僅是這些課本 上 的 知 識,更
要 的 是 一 些 課本上沒 有但 是也很 重 要 的 知 識。像是團隊合作精神等。當我們都已經(jīng)走入了社會,在某個陽光明媚的夏日,午后醒來,突然想起大學經(jīng)歷的時候,回憶起這些泛著汗水的時光的時候,定然會被我們的團隊感動。成功后會很喜悅,但過程一樣令我們回味無窮。此次設計也讓我明白了思路即出路,學問學問,有學必問。只要認真鉆研,動腦思考,動手實踐,就沒有弄不懂的知識。親歷親為,親手實踐才是硬道理。希望這樣的實訓能夠繼續(xù)下去,并不斷地前進,幫助更多的學生更好地學習單片機,并能夠在使用中發(fā)現(xiàn)它的無窮魅力!
2014年1月13日
第二篇:單片機數(shù)字鐘設計總結
單片機數(shù)字鐘設計總結
經(jīng)過一周的課程設計,我收獲頗多,有深刻的心得體會。實訓讓我們受益匪淺。首先是關于單片機方面的。我們學到了許多關于單片機系統(tǒng)開發(fā)的知識,從最開始選題到最后的結題,更使我們得到了充分的鍛煉。其次,它讓我體會到了什么才是teamwork spirit。一如:團隊管理的經(jīng)驗、團隊意識的提升和協(xié)調能力等等,這些都會讓我們終身受益。
通過此次課程設計,使我更加扎實的掌握了有關電子線路單片機方面的知識,在設計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查我終于找出了問題所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐才能出真知,實踐才是檢驗真理的唯一標準,唯有通過親自動手制作,才能令我們掌握的知識不再是一些紙上談兵的東西。
在這次的課程設計中,我們遇到了很多困難,過程很艱難,但是我們都克服了,這是對我們自己的肯定。我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領悟,不斷獲取。我們也曾灰心,也曾茫然,也曾不知所措,從一開始的自信滿滿,到最后的緊張繁雜,所有的這些都令我們回味無窮,這已經(jīng)成為了我們人生的一個寶藏。我想今后的學習和工作也是這樣的,汗水見證著成功,我想十年過后,但我們都已經(jīng)走入了社會,在某個陽光明媚的夏日,午后醒來,突然想起大學經(jīng)歷的時候,最先映入腦海里的就是這門課程吧,就是這些為了一個共同的目標,相互合作,共同奮斗的日子
吧。
不可否認,單片機是一門比較難的專業(yè)學科。但是經(jīng)過這一學期的學習,我們覺得單片機這門課很好,讓我們在設計中掌握課程,具有很強的實用性。在社會上,單片機也應用極其廣泛。通過這次課程設計,我掌握了常用元件的識別和測試;熟悉了常用儀器、儀表;了解了電路的連線方法;以及如何提高電路的性能等等。我相信在接下來的日子里,我會更深刻地去研究它,發(fā)掘它。
在這次的實訓里,我覺得過得很充實。實訓,不僅培養(yǎng)了我們獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。汗水,是我們努力的過程,更是成功的使者。它是希望的凝聚。
回首此次實訓,我們真的學到了很多很多。鞏固了以前所學過的知識,將理論與實際結合起來,不斷提高自己的實際動手能力和獨立思考的能力,并學會去使用知識。當然不僅僅是這些課本上的知識,更重要的是一些課本上沒有但是也很重要的知識,像是團隊合作精神等。當我們都已經(jīng)走入了社會,在某個陽光明媚的夏日,午后醒來,突然想起大學經(jīng)歷的時候,回憶起這些泛著
汗水的時光的時候,定然會被我們的團隊感動。
成功后會很喜悅,但過程一樣令我們回味無窮。此次設計也讓我明白了思路即出路,學問學問,有學必問。只要認真鉆研,動腦思考,動手實踐,就沒有弄不懂的知識。親歷親為,親手實踐才是硬道理。希望這樣的實訓能夠繼續(xù)下去,并不斷地前進,幫助更多的學生更好地學習單片機,并能夠在使用中發(fā)現(xiàn)它的無窮魅力!
內容簡介:
單片機課程設計總結報告:電子萬年歷的設計與制作
一、設計目的及意義
(1)在學習了《數(shù)字電子技術》和《單片機原理及接口技術》課程后,為了加深對理論知識的理解,學習理論知識在實際中的運用,培養(yǎng)動手能力和解決實際問題的經(jīng)驗讓學生接觸專用時鐘芯片DS1302,并會用DS1302芯片開發(fā)時鐘模塊,應用到其他系統(tǒng)中去。熟悉WAVE軟件調試程序和仿真.(2)通過實驗提高對單片機的認識;
(3)通過實驗提高焊接、布局、電路檢查能力;
(4)通過實驗提高軟件調試能力;
(5)進一步熟悉和掌握單片機的結構及工作原理。
(6)通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數(shù)的計算方法。
(7)通過實際程序設計和調試,逐步掌握模塊化程序設計方
法和調試技術。
(8)通過完成一個包括電路設計和程序開發(fā)的完整過程,使學生了解開發(fā)一單片機應用系統(tǒng)的全過程,為今后從事相應打下基礎。
二、設計內容要求
電子萬年歷能顯示陽歷年、月、日、星期、[小]時、分、秒和陰歷月、日,在顯示陰歷時間時能標明是否為閏年。
內容預覽:
課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,單片機已經(jīng)成為當今計算機應用中空前活躍的領域,在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要的?;仡櫰鸫舜螁纹瑱C課程設計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在接近四星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇
到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機匯編語言掌握得不好……
回顧起此次單片機課程設計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在這一星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機匯編語言掌握得不好……通過這次課程設計之后,一定把以前所學過的知識重新溫故。這次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在劉訓非老師的辛勤指導下,終于游逆而解。同時,在劉訓非老師那里我也學得到很多實用的知識,在此我表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝。希望大家能更上一層樓。
第三篇:簡單的51單片機數(shù)字鐘設計
成都大學電子信息工程學院
07級單片機課程設計
題目:簡單51單片機數(shù)字時鐘設計
院 系: 電子信息工程 專 業(yè):電信專業(yè) 班 級:08級電信本科三班 姓 名: 劉 濤 學 號:200810312340 老 師:楊加國
2010-6
成都大學電子信息工程學院
摘要
? 班級學號 ···········1 ? 設計內容 ···········3 ? 進度安排 ···········3 ? MCS-51單片機系統(tǒng)簡介·····3 ? 課程設計背景 ·········4 ? 課程設計目的 ·········4 ? MCS-51單片機內部定時器/計數(shù)器中
斷系統(tǒng)簡介 ···········4 ? 課程設計原理 ·········5 ? 課程設計代碼 ·········6 ? 設計相關說明·········10
345 成都大學電子信息工程學院
MOV 20H,#0;秒個位寄存器清零 MOV 21H,#0;秒十位寄存器清零 MOV 22H,#0;分個位寄存器清零 MOV 23H,#0;分十位寄存器清零 MOV 24H,#0;時個位寄存器清零
MOV 25H,#0;時十位寄存器清零 LJMP DISPLAY TIMER_0: CLR EA INC R6 INC R5
MOV TH0,#03CH MOV TL0,#0B0H;重新賦初值,定時50ms SETB EA RETI ADD_TIME: CJNE R6,#20,EXIT;定時器中斷20次,1秒到 MOV R6,#0 INC 20H
MOV A,20H
CJNE A,#10,EXIT;如果秒個位等于10,清零 MOV 20H,#00H INC 21H
MOV A,21H
CJNE A,#6,EXIT;如果秒十位等于6,清零 MOV 21H,#00H
INC 22H
MIN: MOV A,22H
CJNE A,#10,EXIT;如果分個位等于10,清零 MOV 22H,#00H
INC 23H
MOV A,23H
CJNE A,#6,EXIT;如果分十位等于6,清零 MOV 23H,#00H INC 24H
HOUR: MOV A,25H CJNE A,#2,LOOP;如果時十位等于2,檢查時個位 MOV A,24H CJNE A,#4,EXIT;如果時個位等于4,清零 MOV 24H,#00H;清零時個位 MOV 25H,#00H;清零時十位
成都大學電子信息工程學院
CLR P2.2 LCALL DELAY SETB P2.2;顯示“-” MOV A,24H MOVC A,@A+DPTR MOV P0,A CLR P2.1 LCALL DELAY SETB P2.1;顯示時個位
MOV DPTR,#TABLE1;該位使用TABLE1以消除前置0 MOV A,25H MOVC A,@A+DPTR MOV P0,A CLR P2.0 LCALL DELAY SETB P2.0;顯示時十位
CJNE R5,#4,EXIT0;當R5到4時,掃描按鍵 MOV R5,#0 KEY_SCAN: JNB K1,ADD_HOUR JNB K2,ADD_MIN LJMP ADD_TIME;無鍵按下,跳至走時 ADD_HOUR: INC 24H;小時加1 LJMP HOUR;更新 ADD_MIN: INC 22H;分鐘加1 LJMP MIN;更新 EXIT0: LJMP ADD_TIME DELAY: MOV R7,#150;掃描延時
DJNZ R7,$ RET
TABLE:;數(shù)碼管字形顯示編碼表
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;字形顯示編碼
TABLE1: DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;小時位的十位數(shù)編碼,該位如果為0則不顯示
END;程序結束
第四篇:單片機數(shù)字鐘電路圖
數(shù)字鐘設計
一、設計目的
1.熟悉集成電路的引腳安排。
2.掌握各芯片的邏輯功能及使用方法。
3.了解面包板結構及其接線方法。
4.了解數(shù)字鐘的組成及工作原理。
5.熟悉數(shù)字鐘的設計與制作。
二、設計要求
1.設計指標
時間以24小時為一個周期;
顯示時、分、秒;
有校時功能,可以分別對時及分進行單獨校時,使其校正到標準時間;
計時過程具有報時功能,當時間到達整點前5秒進行蜂鳴報時;
為了保證計時的穩(wěn)定及準確須由晶體振蕩器提供表針時間基準信號。2.設計要求
畫出電路原理圖(或仿真電路圖);
元器件及參數(shù)選擇;
電路仿真與調試;
PCB文件生成與打印輸出。
3.制作要求 自行裝配和調試,并能發(fā)現(xiàn)問題和解決問題。
4.編寫設計報告 寫出設計與制作的全過程,附上有關資料和圖紙,有心得體會。
三、設計原理及其框圖
1.數(shù)字鐘的構成
數(shù)字鐘實際上是一個對標準頻率(1HZ)進行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標準時間(如北京時間)一致,故需要在電路上加一個校時電路,同時標準的1HZ時間信號必須做到準確穩(wěn)定。通常使用石英晶體振蕩器電路構成數(shù)字鐘。圖 3-1所示為數(shù)字鐘的一般構成框圖。
圖3-1 數(shù)字鐘的組成框圖 2
⑴晶體振蕩器電路
晶體振蕩器電路給數(shù)字鐘提供一個頻率穩(wěn)定準確的32768Hz的方波信號,可保證數(shù)字鐘的走時準確及穩(wěn)定。不管是指針式的電子鐘還是數(shù)字顯示的電子鐘都使用了晶體振蕩器電路。
⑵分頻器電路
分頻器電路將32768Hz的高頻方波信號經(jīng)32768()次分頻后得到1Hz的方波信號供秒計數(shù)器進行計數(shù)。分頻器實際上也就是計數(shù)器。
⑶時間計數(shù)器電路
時間計數(shù)電路由秒個位和秒十位計數(shù)器、分個位和分十位計數(shù)器及時個位和時十位計數(shù)器電路構成,其中秒個位和秒十位計數(shù)器、分個位和分十位計數(shù)器為60進制計數(shù)器,而根據(jù)設計要求,時個位和時十位計數(shù)器為12進制計數(shù)器。
⑷譯碼驅動電路
譯碼驅動電路將計數(shù)器輸出的8421BCD碼轉換為數(shù)碼管需要的邏輯狀態(tài),并且為保證數(shù)碼管正常工作提供足夠的工作電流。
⑸數(shù)碼管
數(shù)碼管通常有發(fā)光二極管(LED)數(shù)碼管和液晶(LCD)數(shù)碼管,本設計提供的為LED數(shù)碼管。
2.數(shù)字鐘的工作原理
1)晶體振蕩器電路
晶體振蕩器是構成數(shù)字式時鐘的核心,它保證了時鐘的走時準確及穩(wěn)定。
圖3-2所示電路通過CMOS非門構成的輸出為方波的數(shù)字式晶體振蕩電路,這個電路中,CMOS非門U1與晶體、電容和電阻構成晶體振蕩器電路,U2實現(xiàn)整形功能,將振蕩器輸出的近似于正弦波的波形轉換為較理想的方波。輸出反饋電 阻R1為非門提供偏置,使電路工作于放大區(qū)域,即非門的功能近似于一個高增益的反相放大器。電容C1、C2與晶體構成一個諧振型網(wǎng)絡,完成對振蕩頻率的控制功能,同時提供了一個180度相移,從而和非門構成一個正反饋網(wǎng)絡,實現(xiàn)了振蕩器的功能。由于晶體具有較高的頻率穩(wěn)定性及準確性,從而保證了輸出頻率的穩(wěn)定和準確。
晶體XTAL的頻率選為32768HZ。該元件專為數(shù)字鐘電路而設計,其頻率較低,有利于減少分頻器級數(shù)。
從有關手冊中,可查得C1、C2均為30pF。當要求頻率準確度和穩(wěn)定度更高時,還可接入校正電容并采取溫度補償措施。
由于CMOS電路的輸入阻抗極高,因此反饋電阻R1可選為10MΩ。較高的反饋電阻有利于提高振蕩頻率的穩(wěn)定性。
非門電路可選74HC00。
圖3-2 COMS晶體振蕩器
2)分頻器電路
通常,數(shù)字鐘的晶體振蕩器輸出頻率較高,為了得到1Hz的秒信號輸入,需要對振蕩器的輸出信號進行分頻。
通常實現(xiàn)分頻器的電路是計數(shù)器電路,一般采用多級2進制計數(shù)器來實現(xiàn)。例如,將32768Hz的振蕩信號分頻為1HZ的分頻倍數(shù)為32768(215),即實現(xiàn)該分頻功能的計數(shù)器相當于15極2進制計數(shù)器。常用的2進制計數(shù)器有 5 74HC393等。
本實驗中采用CD4060來構成分頻電路。CD4060在數(shù)字集成電路中可實現(xiàn)的分頻次數(shù)最高,而且CD4060還包含振蕩電路所需的非門,使用更為方便。
CD4060計數(shù)為14級2進制計數(shù)器,可以將32768HZ的信號分頻為2HZ,其內部框圖如圖3-3所示,從圖中可以看出,CD4060的時鐘輸入端兩個串接的非門,因此可以直接實現(xiàn)振蕩和分頻的功能。
圖3-3 CD4046內部框圖
3)時間計數(shù)單元
時間計數(shù)單元有時計數(shù)、分計數(shù)和秒計數(shù)等幾個部分。
時計數(shù)單元一般為12進制計數(shù)器計數(shù)器,其輸出為兩位8421BCD碼形式;分計數(shù)和秒計數(shù)單元為60進制計數(shù)器,其輸出也為8421BCD碼。
一般采用10進制計數(shù)器74HC390來實現(xiàn)時間計數(shù)單元的計數(shù)功能。為減少器件使用數(shù)量,可選74HC390,其內部邏輯框圖如圖 2.3所示。該器件為雙2—5-10異步計數(shù)器,并且每一計數(shù)器均提供一個異步清零端(高電平有效)。
圖3-4 74HC390(1/2)內部邏輯框圖
秒個位計數(shù)單元為10進制計數(shù)器,無需進制轉換,只需將QA與CPB(下降沿有效)相連即可。CPA(下降沒效)與1HZ秒輸入信號相連,Q3可作為向上的進位信號與十位計數(shù)單元的CPA相連。
秒十位計數(shù)單元為6進制計數(shù)器,需要進制轉換。將10進制計數(shù)器轉換為6進制計數(shù)器的電路連接方法如圖3-5所示,其中Q2可作為向上的進位信號與分個位的計數(shù)單元的CPA相連。
圖3-5 10進制——6進制計數(shù)器轉換電路
分個位和分十位計數(shù)單元電路結構分別與秒個位和秒十位計數(shù)單元完全相同,只不過分個位計數(shù)單元的Q3作為向上的進位信號應與分十位計數(shù)單元的CPA相連,分十位計數(shù)單元的Q2作為向上的進位信號應與時個位計數(shù)單元的CPA 相連。
時個位計數(shù)單元電路結構仍與秒或個位計數(shù)單元相同,但是要求,整個時計數(shù)單元應為12進制計數(shù)器,不是10的整數(shù)倍,因此需將個位和十位計數(shù)單元合并為一個整體才能進行12進制轉換。利用1片74HC390實現(xiàn)12進制計數(shù)功能的電路如圖3-6所示。
另外,圖3-6所示電路中,尚余-2進制計數(shù)單元,正好可作為分頻器2HZ輸出信號轉化為1HZ信號之用。
圖3-6 12進制計數(shù)器電路
4)譯碼驅動及顯示單元
計數(shù)器實現(xiàn)了對時間的累計以8421BCD碼形式輸出,選用顯示譯碼電路將計數(shù)器的輸出數(shù)碼轉換為數(shù)碼顯示器件所需要的輸出邏輯和一定的電流,選用CD4511作為顯示譯碼電路,選用LED數(shù)碼管作為顯示單元電路。
5)校時電源電路 當重新接通電源或走時出現(xiàn)誤差時都需要對時間進行校正。通常,校正時間的方法是:首先截斷正常的計數(shù)通路,然后再進行人工出觸發(fā)計數(shù)或將頻率較高的方波信號加到需要校正的計數(shù)單元的輸入端,校正好后,再轉入正常計時狀態(tài)即可。
根據(jù)要求,數(shù)字鐘應具有分校正和時校正功能,因此,應截斷分個位和時個位的直接計數(shù)通路,并采用正常計時信號與校正信號可以隨時切換的電路接入其中。圖3-7所示即為帶有基本RS觸發(fā)器的校時電路,圖3-7 帶有消抖動電路的校正電路
6)整點報時電路
一般時鐘都應具備整點報時電路功能,即在時間出現(xiàn)整點前數(shù)秒內,數(shù)字鐘會自動報時,以示提醒。其作用方式是發(fā)出連續(xù)的或有節(jié)奏的音頻聲波,較復雜的也可以是實時語音提示。
根據(jù)要求,電路應在整點前10秒鐘內開始整點報時,即當時間在59分50秒到59分59秒期間時,報時電路報時控制信號。報時電路選74HC30,選蜂鳴器為電聲器件。
四、元器件
1.實驗中所需的器材
5V電源。
面包板1塊。
示波器。
萬用表。
鑷子1把。
剪刀1把。
網(wǎng)絡線2米/人。
共陰八段數(shù)碼管6個。
CD4511集成塊6塊。
CD4060集成塊1塊。
74HC390集成塊3塊。
74HC51集成塊1塊。
74HC00集成塊5塊。
74HC30集成塊1塊。
10MΩ電阻5個。
500Ω電阻14個。
30p電容2個。
32.768k時鐘晶體1個。
蜂鳴器。
2.芯片內部結構圖及引腳圖
圖4-1 7400 四2輸入與非門 圖4-2 CD4511BCD七段譯碼/驅動器
圖4-3 CD4060BD 圖4-4 74HC390D
圖4-5 74HC51D 圖4-6 74HC30
3.面包板內部結構圖
面包板右邊一列上五組豎的相通,下五組豎的相通,面包板的左邊上下分四組,每組中X、Y列(0-15相通,16-40相通,41-55相通,ABCDE相通,F(xiàn)GHIJ相通,E和F之間不相通。
五、個功能塊電路圖
1. 一個CD4511和一個LED數(shù)碼管連接成一個CD4511驅動電路,數(shù)碼管可從0---9顯示,以次來檢查數(shù)碼管的好壞,見附圖5-1。
圖5-1 4511驅動電路
2. 利用一個LED數(shù)碼管,一塊CD4511,一塊74HC390,一塊74HC00連接成一個十進制計數(shù)器,電路在晶振的作用下數(shù)碼管從0—9顯示,見附圖5-2。
圖5-2 74390十進制計數(shù)器
3. 利用一個LED數(shù)碼管,一塊CD4511,一塊74HC390,一塊74HC00和一個晶振連接成一個六進制計數(shù)器,數(shù)碼管從0—6顯示,見附圖5-3。
圖5-3 74390六進制計數(shù)器
4. 利用一個六進制電路和一個十進制連接成一個六十進制電路,電路可從0—59顯示,見附圖5-4。
圖5-4 六十進制電路
5. 利用兩個六十進制的電路合成一個雙六十進制電路,兩個六十進制之間有進位,見附圖5-5。
圖5-5 雙六十進制電路
6. 利用CD4060、電阻及晶振連接成一個分頻——晶振電路,見附圖5-6。
圖5-6 分頻—晶振電路
7. 利用74HC51D和74HC00及電阻連接成一個校時電路,見附圖5-7。
圖5-7 校時電路
8. 利用74HC30和蜂鳴器連接成整點報時電路。見附圖5-8。
圖5-8 整點報時電路
9. 利用兩個六十進制和一個十二進制連接成一個時、分、秒都會進位的電路總圖,見附圖5-9。
第五篇:單片機課程設計-簡易數(shù)字鐘的設計
單片機課程設計報告
課程設計題目:簡易數(shù)字時鐘
學生姓名:** 學號:********** 學院:****** 專業(yè)班級:**********
指導老師:**
2014年5月13日
摘要:
本設計采用了STC公司生產(chǎn)的STC89C52RC型單片機(80C51內核)設計了一個單片機最小系統(tǒng),加上maxim232和usb轉RS232線組成的下載電路,以及共陰極4位一體數(shù)碼管和按鍵等外圍電路構成了一個簡易的數(shù)字鐘,具有顯示年、月、日、時、分、秒的功能,且年、月、日、時、分、秒每一個參數(shù)都可以自行設置,以實現(xiàn)時間的校正,總體來說實現(xiàn)了一個數(shù)字時鐘的應有功能。
關鍵詞:80C51系列單片機、單片機最小系統(tǒng)、時鐘定時、下載電路、4位一體數(shù)碼管顯示
一、設計任務 簡易數(shù)字時鐘:自制一個單片機最小系統(tǒng),包括串口下載、復位電路,采用內部定時器計時,或者采用外部時鐘芯片DS1302,設計一個具有秒、分、日、月、年的數(shù)字時鐘,采用四位一體數(shù)碼管顯示相關信息,秒、分顯示一頁,日、月顯示一頁,年顯示一頁。
二、方案選擇
2.1、采用uln2003驅動數(shù)碼管
由于單片機的I/O口的拉電流只有大約1mA左右,不足以提供4-5mA的電流以驅動數(shù)碼管上的led,故需要為數(shù)碼管提供一個驅動電路,如果采用三極管的話由于數(shù)碼管有7段(實際是8段,但本設計只需要使用7段),需要7個三極管來驅動,給焊接部分增加了工作量,故可考慮采用ULN2003以給數(shù)碼管提供驅動電流。
Uln2003的內部原理圖
ULN2003 是高耐壓、大電流復合晶體管陣列,由七個硅NPN 復合晶體管組成。
該電路的特點如下:[3]
ULN2003 的每一對達林頓都串聯(lián)一個2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路
直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。
ULN2003 工作電壓高,工作電流大,灌電流可達500mA,并且能夠在關態(tài)時承受50V 的電壓,輸出還
可以在高負載電流并行運行。
ULN2003 采用DIP—16 或SOP—16 塑料封裝。
內部還集成了一個消線圈反電動勢的二極管,可用來驅動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅動電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達林頓管組成驅動電路。ULN是集成達林頓管IC,內部還集成了一個消線圈反電動勢的二極管,它的輸出端允許通過電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口的外接負載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅動繼電器或固體繼電器,也可直接驅動低壓燈泡。通常單片機驅動ULN2003時,上拉2K的電阻較為合適,同時,COM引腳應該懸空或接電源。
ULN2003是一個非門電路,包含7個單元,單獨每個單元驅動電流最大可達350mA,9腳可以懸空。
比如1腳輸入,16腳輸出,你的負載接在VCC與16腳之間,不用9腳。
ULN2003是大電流驅動陣列,多用于單片機、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域寗永^電器等負載。
輸入5VTTL電平,輸出可達500mA/5V。
ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN達林頓管組成。該電路的特點如下: ULN2003的每一對達林頓都串聯(lián)一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。
ULN2003 是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅動的系統(tǒng)。
2.2、直接用單片機加上拉電阻的P0口驅動數(shù)碼管
對于51單片機的4個IO口來說有一個IO口與其他三個有點不同,那就是P0口,由于P0口(在作為輸出IO口時)是OC門在最小系統(tǒng)中需要加一個上拉電阻,由此,可以用P0口作為數(shù)碼管的驅動(可以通過合理配置上拉電阻的大小以提供足夠的驅動電流)
51單片機的P0口內部電路圖
由于相對來說接一個排阻便宜可靠,且方便,且也足以提供驅動數(shù)碼管的電流,故采用方案2:直接用單片機加上拉電阻的I/O口驅動數(shù)碼管
三、電路原理圖
簡易數(shù)字鐘原理圖
3.1最小系統(tǒng)
本設計最小系統(tǒng)與一般的51最小系統(tǒng)設計保持一致性,晶振電路為12M的晶體振蕩器搭配兩個30pF的電容組成,復位電路由5v接一個開關與電容并聯(lián)再與電阻串聯(lián)后接地構成,下載電路采用的是串口下載,為電腦上連一根usb轉串口線,然后串口練到電路上,再通過max232芯片進行電平轉換將RS232串口的電平轉換為單片機的5v以進行電平匹配。3.2共陰極4位一體數(shù)碼管
四位一體數(shù)碼管
數(shù)碼管的顯示由段選和位選控制,段選為圖片中的每一位“8”型上的a、b、c、d、e、f、g、h共8段構成。位選有4個引腳,分別對應于數(shù)碼管的4個位。
四、程序代碼 如下:
#include
//延時10ms {
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);} void main(){ IE=0x8F;//開總中斷,開定時T0,開定時T1,開外部中斷0,開外部中斷1 IP=0x00;//設置中斷優(yōu)先級均為低優(yōu)先級,默認優(yōu)先級為:調整時間》定時》設置顯示頁 IT0=1;IT1=1;TMOD=0x11;//定時器0工作于工作方式1,定時工作方式,由運行控制位TR1啟動定時器;定時器1工作于工作方式1,定時工作方式,由運行控制位TR1啟動定時器 P2=0Xfd;
TH0 = 0x3C;
TL0 = 0xB0;
{ switch(play){ case 1 :
{
if(anjian1==0)
{
{ delay();delay();if(anjian1==0)anjian11=anjian1;if(anjian1 &!anjian11)hour++;
} TH1=0xD8;TL1=0xF0;TR0=1;TR1=1;
//定時器T0用于20分之一秒的定時,定時器T1用于數(shù)碼管的動態(tài)顯示,外部中斷0為調整時間,外部中斷1為設置顯示頁
for(;;)else if(anjian2==0)
if(anjian2==0)
anjian22=anjian2;
if(anjian2 &!anjian22)
hour--;
else if(anjian3==0)
{
delay();
if(anjian3==0)
anjian33=anjian3;
if(anjian3 &!anjian33)
min++;
else if(anjian4==0)
{
delay();
if(anjian4==0)
anjian44=anjian4;
if(anjian4 &!anjian44)
min--;
}
break;case 2 : {
if(anjian1==0)
{
delay();
if(anjian1==0)
anjian11=anjian1;
if(anjian1 &!anjian11)
mon++;
else if(anjian2==0)
{
delay();
if(anjian2==0)
anjian22=anjian2;
if(anjian2 &!anjian22)
mon--;
else if(anjian3==0)
{
delay();if(anjian3==0)}
}
}
}
}
anjian33=anjian3;
if(anjian3 &!anjian33)
day++;
else if(anjian4==0)
{
delay();
if(anjian4==0)
anjian44=anjian4;
if(anjian4 &!anjian44)
day--;
}
break;case 3 : {
if(anjian1==0)
{
delay();
if(anjian1==0)
anjian11=anjian1;
if(anjian1 &!anjian11)
year++;
else if(anjian2==0)
{
delay();
if(anjian2==0)
anjian22=anjian2;
if(anjian2 &!anjian22)
year--;
else if(anjian3==0)
{
delay();
if(anjian3==0)
anjian33=anjian3;
if(anjian3 &!anjian33)
year++;
else if(anjian4==0)
{
delay();
if(anjian4==0)anjian44=anjian4;}
}
}
}
}
if(anjian4 &!anjian44)
year--;
}
break;case 0 : {
if(anjian1==0)
{
delay();
if(anjian1==0)
anjian11=anjian1;
if(anjian1 &!anjian11)
sec++;
else if(anjian2==0)
{
delay();
if(anjian2==0)
anjian22=anjian2;
if(anjian2 &!anjian22)
sec--;
else if(anjian3==0)
{
delay();
if(anjian3==0)
anjian33=anjian3;
if(anjian3 &!anjian33)
sec++;
else if(anjian4==0)
{
delay();
if(anjian4==0)
anjian44=anjian4;
if(anjian4 &!anjian44)
sec--;
} break;}
switch(play){
}
}
}
}
} case 1 : { led[0]=hour/10;
};}}
void service_int1()interrupt 2 using 1 { if(play==3)play=0;else play++;} void service_t0()interrupt 1 using 1
//實現(xiàn)1s的延時以及sec到min,min到hour,hour到day,day到month,month到y(tǒng)ear,year到next_year的轉換 {
TH0 = 0x3C;if(j==20){
j=0;sec++;if(sec>=60)
TL0 = 0xB0;
led[1]=hour%10;led[2]=min/10;led[3]=min%10;
} break;
led[1]=mon%10;led[2]=day/10;led[3]=day%10;
} case 2 : { led[0]=mon/10;break;
led[0]=year/1000;led[1]=((year%1000)/100);led[2]=((year%100)/10);led[3]=(year%10);
} case 3 : {
break;
led[1]=16;led[2]=sec/10;led[3]=sec%10;
} case 0 : { led[0]=16;break;
}
else { { sec=0;min++;if(min>=60){ min=0;hour++;if(hour>=24){hour=0;day++;if(day>=31){ day=1;mon++;if(mon>=13){ mon=1;year++;} } } } } } j++;} void service_t1()interrupt 3 using 1 //定時器1實現(xiàn)了數(shù)碼管的動態(tài)顯示 {
TH1=0xFC;TL1=0x18;if(P2==0xfd){P2=0xfb;P0=table[led[2]];} else if(P2==0xfb){ P2=0xf7;P0=table[led[3]];} else if(P2==0xf7){P2=0xfe;P0=table[led[0]];
} else if(P2==0xfe){P2=0xfd;P0=table[led[1]];} }
五、制作實物圖
六、心得收獲
經(jīng)過本次課程設計,我將課本上的知識轉化為了實際的實物,更加深入的理解了單片機這,加強了自己的編程能力,與軟硬件調試能力,總體來說,還是收獲很大的。