




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 編號 畢畢業業論論文文題 目LED 顯示電子鐘學生姓名學 號系 部專 業班 級指導教師顧問教師二一七月目 錄 關鍵詞:關鍵詞: 數字電子鐘;數字電子鐘; AT89C2051AT89C2051 ;LED;LED; 電子鐘;電子鐘;目目 錄錄 第第一章一章 前言前言 1 1 1.2 基本參數 11.3 注意事項 1第二章第二章 模塊特性簡介模塊特性簡介 2 22.1 AT89C2051 單片機 22.2 LED 簡介 32.2.1 LED 概述 32.2.2 LED 優勢 32.2.3 LED 顯示屏 3摘要III2.3 系統總體方案介紹 3第第三三章章 系統系統硬硬件設計件設計 5 5 3.1
2、 Proteus 電路圖設計 5第第四章四章 系統軟件設計系統軟件設計 6 64.1 軟件的結構 64.2 概述 64.2.1 主程序 64.2.2 中斷服務程序 64.2.3 調時程序 7第五章第五章 程序設計程序設計 115.1 部分程序一覽 11第六章第六章 結論結論 1313參考文獻參考文獻 1414致致 謝謝 1515附錄一附錄一 軟件編寫程序軟件編寫程序 1616附錄二附錄二 主要元器件清單主要元器件清單 1717前言1第一章第一章 前言前言1.1 系統功能系統功能此課程設計要求用單片機 AT89C2051 定時功能,中斷系統,按鍵及 LED 數碼管顯示,設計一個能顯示時、分、秒的
3、數字時鐘。數字時鐘通過數碼管顯示,使用按鍵開關來實現調時功能。1.2 基本參數基本參數1.工作電壓:4.5V(3節干電池); 2.日期顯示范圍:2001-2100年; 3.時間采用24小時制。1.3 注意事項注意事項2. 在安裝電池時注意正負極,否則容易燒壞芯片;3在印制電路板上的焊接元器件前要認真對照原理圖,仔細查看印制電路板,找到對應的元器件功能區;4在電源測試期間請勿將單片機芯片插入座中,以免電源部分有問題造成芯片燒壞。模塊特性簡介第二章第二章 模塊特性簡介模塊特性簡介2.1 AT89C2051AT89C2051 單片機單片機圖 2-1 AT89C2051 引腳配置AT89C2051 芯
4、片的 20 個引腳功能為:VCC 電源電壓。GND 接地。RST 復位輸入。當 RST 變為高電平并保持 2 個機器周期時,所有 I/O 引腳復位至“1” 。XTAL1 反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2 來自反向振蕩放大器的輸出。P1 口 8 位雙向 I/O 口。引腳 P1.2P1.7 提供內部上拉,當作為輸入并被外部下拉為低電平時,它們將輸出電流,這是因內部上拉的緣故。P1.0 和 P1.1需要外部上拉,可用作片內精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1) ,P1 口輸出緩沖器能接收 20mA 電流,并能直接驅動 LED 顯示器;P1 口引腳寫入“1”
5、 后,可用作輸入。在閃速編程與編程校驗期間,P1 口也可接收編碼數據。P3 口 引腳 P3.0P3.5 與 P3.7 為 7 個帶內部上拉的雙向 I/0 引腳。P3.6在內部已與片內比較器輸出相連,不能作為通用 I/O 引腳訪問。P3 口的輸出緩沖器能接收 20mA 的灌電流;P3 口寫入“1”后,內部上拉,可用輸入。P3 口也可用作特殊功能口,其功能見表 1。P3 口同時也可為閃速存儲器編程和編程校驗接收控制信號。2.2 LED 簡介簡介在某些半導體材料的 PN 結中,注入的少數載流子與多數載流子復合時會把多余的能量以光的形式釋放出來,從而把電能直接轉換為光能。PN 結加反向電壓,少數載流子
6、難以注入,故不發光。這種利用注入式電致發光原理制作的二極管叫發光二極管,通稱 LED。模塊特性簡介32.2.1 LED 優勢優勢 資料顯示,LED 光源比白熾燈節電 87%、比熒光燈節電 50%,而壽命比白熾燈長 2030 倍、比熒光燈長 10倍。LED 光源因具有節能、環保、長壽命、安全、響應快、體積小、色彩豐富、可控等系列獨特優點,被認為是節電降能耗的最佳實現途徑。2.2.2 LED 顯示屏顯示屏LED 顯示屏(LED panel):LED 就是 light emitting diode ,發光二極管的英文縮寫,簡稱 LED。它是一種通過控制半導體發光二極管的顯示方式,用來顯示文字、圖形、
7、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。2.3 系統總體方案介紹系統總體方案介紹電腦鐘的原理框圖如圖 1 所示。它由以下幾個部件組成:單片機 89C2051、電源、時分顯示部件。時分顯示采用動態掃描,以降低對單片機端口數的要求,同時也降低系統的功耗。時分顯示模塊以及顯示驅動都通過 89C2051 的 I/O 口控制。電源部分:電源部分有二部分組成。一部分是由 220V 的市電通過變壓、整流穩壓來得到+5V 電壓,維持系統的正常工作。 圖 2 電子鐘系統原理框圖模塊特性簡介P10P10P17P10PP16PP15PP14PP13PP12PP11PP10P16P15P14P13P12
8、P11P16P15P14P13P12P11P16P15P14P13P12P11PP10PP11PP12PP13PP14PP15PP16P10P11P12P13P14P15P16PP10PP11PP12PP13PP14PP15PP16PP17HSHIHGEMSHIMGEHSHIHGEMGEP17P16P12P11P10P15P14P13MSHIPP17PP17P17XTAL24RST1P1.012P1.113P1.214P1.315P1.416P1.517P1.618P1.719P3.2/INT06P3.3/INT17P3.4/T08P3.5/T19P3.0/RXD2P3.1/TXD3P3.71
9、1XTAL15U1AT89C2051ABCDEFGHCOMS1S1ABCDEFGHCOM7S27S2ABCDEFGHCOM7S47S4+5VR11kR21KR31KR41KR51KR61KR71KX1CRYSTALC122pC222pR8200R9200R10200R11200R12200R13200R14200R1611kC322u+5VBUZ1BUZZERQ12N5401R17200ABCDEFGHCOM7S37S3R781KR15200圖 3 電子鐘基本部分參考電路原理圖硬件電路設計5第三章第三章 硬件電路設計硬件電路設計3.2 Proteus 電路圖設計電路圖設計運行 Proteus
10、的 ISIS 后出現程序主窗口界面,鼠標左鍵單擊窗口左側的元器件工具欄的 component.按鈕, 接著再點擊窗口左側的元器件選擇區的 Pick Divices.按鈕,彈出如圖 1 所示的 Pick Devices 窗口,再在 Categ 欄里點擊MicroprocessorICs 項后,在 Results 欄里會出現各種類型的 CPU 器件,找到 AT89C51 后雙擊,AT89C51 就被添加到當前窗口左側的元器件列表區了。用同樣的方法依次把 DS130、MAX7219、數碼管、晶振以及多個電阻、電容也添加到器件列表區里。然后再依次點擊列表區里的器件,單擊左鍵把他們放到繪圖區,右鍵選中元
11、件,并編輯其屬性,合理布局后,進行連線。連線時當鼠標的指針靠近一個對象的引腳時,跟著鼠標的指針 r ICs 就會出現一個“”提示符號,點擊鼠標左鍵即可畫線了,需要拐彎時點擊一下即可,在終點再點擊確認一下就畫出了一段導線,所有導線畫完后,點擊工具欄的 Inter-sheeTerminal.按鈕,添加上電源和接地符號,原理圖的繪制就完成了。圖 4 Proteus 中設計的電子時鐘系統原理圖模塊特性簡介第四章第四章 系統軟件設計系統軟件設計4.1 軟件的結構軟件的結構4.2 概述概述本系統的軟件系統主要可分為主程序和定時器中斷程序兩大模塊。在程序過程中,加入了抗干擾措施。下面對部分模塊作介紹。4.2
12、.1 主程序主程序主程序的功能是完成系統的初始化,程序流程如圖 4 所示。4.2.2 中斷服務程序中斷服務程序中斷程序(如圖 6 所示)完成時間計數,時間調整,誤差消除等功能。中斷采用 AT89C2051 內部 T0 中斷實現,定時時間為 125ms,當時間到達125ms8,即 1 分鐘時,分計數緩沖器 MINBUFFER 增加 1,到達 1 小時,則時計數緩沖器 HOURBUFFER 增加 1,并將分、時的個位、十位放入顯示緩沖器。當分計數緩沖器和時計數緩沖器分別到達 60min、24h 時,則對它們清零,以便從新計數。在中斷設計中,還通過軟件實現了累計誤差消除功能,使整個系統時間的精確度得
13、到保證。圖 5 系統主程序流程圖系統軟件設計7圖 6 定時中斷程序4.2.34.2.3調時程序調時程序給三個按鍵,當 P2.0 口的按鍵 K0 按下,則進入調時狀態,按 K1,K2 加 1 減 1 操作,再按 K0,調分,再按 K0,調秒,再按 K0,則退出調時功能,進行正常計數運行。4.2.5 LED 顯示模組顯示數字顯示模組顯示數字由于系統要顯示的內容較簡單,顯示量不多,所以選用數碼管既方便又經濟。LED 有共陰極和共陽極兩種。如圖 7 所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發光二極管的陽極連接在一起,接入+5V 的電壓。一位顯示器由 8 個發光二極管組成,其中 7
14、 個發光二極管構成字型“8”的各個筆劃(段)ag,另一個小數點為 dp發光二極管。當在某段發光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護各段 LED 不被損壞,需外加限流電阻。模塊特性簡介圖 7 LED 數碼管結構原理圖眾所周知,LED 顯示數碼管通常由硬件 7 段譯碼集成電路,完成從數字到顯示碼的譯碼驅動。本系統采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優勢還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機軟件完成從數字到顯示碼的轉換。從 LED 數碼管結構原理可知,為了顯示字符,要為 LED 顯示數碼管提供顯示段碼,組成一個“8”字形字符的 7 段
15、,再加上 1 個小數點位,共計 8 段,因此提供給 LED 數碼管的顯示段碼為 1 個字節。各段碼位與顯示段的對應關系如表 1。表 1 各段碼位的對應關系段碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba需說明的是當用數據口連接 LED 數碼管 adp 引腳時,不同的連接方法,各段碼位與顯示段有不同的對應關系。通常數據口的 D0 位與 a 段連接,D1 位與b 段連接,D7 位與 dp 段連接,如表 1 所示,表 2 為用于 LED 數碼管顯示的十六進制數和空白字符與 P 的顯示段碼。表 2 LED 顯示段碼字型共陽極段碼共陰極段碼字型共陽極段碼共陰極段碼0C0H3FH990H6F
16、H1F9H06HA88H77H2A4H5BHB83H7CH3BOH4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H注:(1)本表所列各字符的顯示段碼均為小數點不亮的情況。系統軟件設計9 (2) “空白”字符即沒有任何顯示。根據 AT89C2051 單片機灌電流能力強,拉電流能力弱的特點,我們選用共陽數碼管。將 AT89C2051 的 P1.0P1.7 分別與共陽數碼管的 ag 及 dp 相連,高電平的位對應的 LED 數碼管的段暗,低電平的位對應的 LED 數碼管的段亮,這樣,當
17、P0 口輸出不同的段碼,就可以控制數碼管顯示不同的字符。例如:當P0 口輸出的段碼為 1100 0000,數碼管顯示的字符為 0。數碼管顯示器有二種工作方式,即靜態顯示方式和動態掃描顯示方式。為節省端口及降低功耗,本系統采用動態掃描顯示方式。動態掃描顯示方式需解決多位 LED 數碼管的“段控”和“位控”問題,本電路的“段控” (即要顯示的段碼的控制)通過 P0 口實現;而每一位的公共端,即 LED 數碼管的“位控” ,則由 P3 口控制。這種連接方式由于多位字段線連在一起,因此,要想顯示不同的內容,必然要采取輪流顯示的方式,即在某一瞬間,只讓其中的某一位的字位線處于選通狀態,其它各位的字位線處
18、于斷開狀態,同時字段線上輸出這一位相應要顯示字符的字段碼。在這一瞬時,只有這一位在顯示,其他幾位則暗。在本系統中,字位線的選通與否是通過 PNP 三極管的導通與截止來控制,即三極管處于“開關”狀態。系統的時分顯示部件由 4 只 7 段共陽 LED 數碼管構成,前兩只用于時的顯示,后兩只用于分的顯示。值得一提的是,在設計中需要實現時與分之間的兩個閃爍點,為此,將第三只 LED 數碼管倒置擺放,這樣就形成了兩個很自然的閃爍點。與此同時,為了能使兩點顯示能夠形象的表示時鐘“秒”的變化,設計時,將兩個點由 P1.7 單獨控制,每隔一秒使 P1.7 發送一個正脈沖,從而實現了兩個點的閃爍顯示,閃爍周期為
19、一秒。模塊特性簡介第五章第五章 程序設計程序設計5.1 部分程序預覽部分程序預覽 以下為部分源程序:#include AT89X51.H#include delay.h#include max7219.c#include music.c#define uchar unsigned char#define uint unsigned int idatasbit ADD=P11;sbit SUB=P10;sbit ACC0 = ACC0;sbit ACC7 = ACC7;void showDay(void);/顯示時間void showData(void);/顯示日期void showDishi(
20、void);/顯示定時void int_0(void);/中斷 0void int_1(void);/中斷 1void flash_max7219(unsigned char n);/閃一個位 max7219/*/* 實時時鐘模塊 時鐘芯片型號:DS1302 */*/*/sbit T_CLK = P23; /*實時時鐘時鐘線引腳 */sbit T_IO = P24; /*實時時鐘數據線引腳 */sbit T_RST = P25; /*實時時鐘復位線引腳 */*/void v_RTInputByte(uchar ucDa); /往 DS1302 寫入 1Byte 數據uchar uc_RTOut
21、putByte(void);/ 從 DS1302 讀取 1Byte 數據void v_W1302(uchar ucAddr, uchar ucDa);/往 DS1302 寫入數據uchar uc_R1302(uchar ucAddr);/讀取 DS1302 某地址的數據/void v_BurstW1302T(uchar *pSecDa);/往 DS1302 寫入時鐘數據(多字節方式)/void v_BurstR1302T(uchar *pSecDa);/讀取 DS1302 時鐘數據/void v_BurstW1302R(uchar *pReDa);/往 DS1302 寄存器數寫入數據(多字節方
22、式)/void v_BurstR1302R(uchar *pReDa);/讀取 DS1302 寄存器數據11void v_Set1302(uchar *pSecDa) ;/設置初始時間,輸入: pSecDa: 初始時間地址。初始時間格式為: 秒 分 時 日 月 星期 年 void v_Get1302(uchar ucCurtime) ;/讀取 DS1302 當前時間uchar showTime8=0,0,10,0,0,10,0,0;/顯示的時間*全局變量uchar setTime2=0,0;/定時的設定uchar time7=0,0 x59,0 x19,0 x24,0 x7,0 x01,0 x
23、08;/秒 分 時 日 月 星期 年uchar Tmod=7;/此時的調節模式void main()delay_ms(200);/sound();initMAX7219();/初始化 max7219cls();/清屏 max7219/v_Get1302(& time);/v_Set1302(& time);EX0=1;EX1=1;IT1=1;/下降沿觸發IT0=1;EA=1;/開中斷v_Get1302(& time);showDay();/int_1();/int_0();while(1)v_Get1302(& time);showDay();if (setTi
24、me0=time2)&(setTime1=time1)sound();/*顯示時間void showDay(void)/將數據轉化為顯示格式showTime7=time0 & 0 x0f;/個位模塊特性簡介showTime6=time04;/十位showTime4=time1 & 0 x0f;showTime3=time14;showTime1=time2 & 0 x0f;showTime0=time24;showTime2=showTime5=10;disp_88(& showTime);/*顯示日期void showData(void)showTim
25、e7=time3 & 0 x0f;showTime6=time34;showTime4=time4 & 0 x0f;showTime3=time44;showTime1=time6 & 0 x0f;showTime0=time64;showTime2=showTime5=10;disp_88(& showTime);/*顯示定時void showDishi(void)showTime1=setTime0 & 0 x0f;showTime0=setTime04;showTime4=setTime1 & 0 x0f;showTime3=setTime
26、14;showTime6=12;showTime7=13;showTime2=showTime5=10;disp_88(& showTime); 13模塊特性簡介結論結論此實驗利用 protues 仿真軟件實現,基本實現了要求的功能。為了校準時鐘增加了按鍵,便于調節。在本次實驗中對單片機內部結構有一定了解,熟悉了各個引腳的功能,同時熟知了 LED 數碼管的使用及各種電路的功能。通過此次課程設計,無論是從軟件方面還是硬件方面,都進一步學習和鞏固了程序的總體設計。在軟件方面,進一步熟悉了各條指令的功能及用法,定時、中斷的用法,更深一步學習了用匯編語言編寫實現數字時鐘功能。在硬件方面,了解并
27、學習使用 keil 軟件和 proteus 軟件,在 keil 中編程,調試,運行,在 Proteus 中進行硬件設計、仿真。在整一個設計過程中,從設計到實現,從編程到調試,每一步都是自己親力親為,雖然從中遇到各種問題,有時叫人很煩,但在發現問題后去解決,并成功了,此時會有一種快樂和成就感。只有自己親自去操作,才能將學習的知識變成自己的。程序不要光看不寫,一定要自己寫一次。最開始的時候,啥都不懂,可以抄人家的程序過來,看看每一句是干什么用的,達到什么目的,運行后有什么后果,看明白了之后,就要自己寫一次,你會發現,原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。單片機提高重在實踐,想要學好單片機,軟件編程必不可少。但是熟悉硬件對于學好單片機的也是非常重要的。如何學習好硬件,動手實踐是必不可少的。我們可以通過自己動手做一個自己的電子制作,通過完成它,以提高我的對一些芯片的了解和熟練運用它。這樣我們就可以多一些了解芯片的結構。我對程序設計課程的學習的目標是在若干年以后能夠獨立設計一個復雜的系統,包括
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 髖關節置換術后護理要點
- 協會和社區共建協議書
- 長期員工勞務協議書
- 冰淇淋門店托管協議書
- 保安試用期合同協議書
- 鄰里解決糾紛協議書
- 雇員簽定免責協議書
- 資質服務托管協議書
- 銷售代理軟件協議書
- 兩個幼兒園合并協議書
- 2025屆福建省漳州市高三第三次教學質量檢測生物試卷(解析版)
- 2025年茶葉加工工職業技能競賽參考試題庫500題(含答案)
- 2025甘肅陜煤集團韓城煤礦招聘250人筆試參考題庫附帶答案詳解
- 《設計課件:構建高效數據集教程》
- 2025江蘇中考:歷史高頻考點
- 普通測量學試題及答案
- SL631水利水電工程單元工程施工質量驗收標準第1部分:土石方工程
- 廣東省2024年中考數學試卷【附真題答案】
- 監控立桿基礎國家標準
- 《北京市房屋建筑和市政基礎設施工程竣工驗收管理辦法》(2015年4月1日起實施)
- 臨建施工方案(經典)
評論
0/150
提交評論