




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1章課程設計任務書2第2章設計目的2第3章設計原理與分析2第4章所選元件清單6第5章課程設計心得7第6章 參考文獻7附錄8第5頁共15頁第一章、課程設計任務書本設計以MCS-51系列單片機為核心,采用常用電子器件設計。要求能顯示出秒、分、 時、天,可調整各個時間,采用 LED八段數碼管顯示。第二章、課程設計目的1、掌握51系列單片機編程原理(1)掌握單片機C51語言程序編程的思想及方法,加深對單片機的更深層次的理解, 熟悉單片機的內部硬件資源。(2) 定時器中斷服務子程序和外中斷服務子程序各個程序段所實現的功能和編寫。(3)通過此次課程設計,學會怎么利用所學單片機知識獨立設計系統,達到學于致
2、 用的目的,加深了解C51設計編程思想及開發系統的一般過程,并不斷創新。2、掌握矩陣式鍵盤電路的接法及工作原理(1)掌握矩陣式鍵盤的接法及工作原理。(2)掌握鍵盤消抖的工作原理。3、掌握矩陣式鍵盤電路的接法及工作原理(1)掌握矩陣式鍵盤鍵盤掃描程序的編寫。(2)掌握鍵盤消抖程序的編寫。4、掌握共陽八段碼顯示器連接,做成可調節的電子表,簡單的了解單片機對 顯示器的控制過程;能在此基礎上做成可調節的萬年歷。第三章、設計原理與分析1、實驗硬件電路的原理與設計A.鍵盤掃描識別1、識別鍵的閉合,通常采用行掃描法和行反轉法。行掃描法是使鍵盤上某一行線為低電平,而其余行接高電平,然后讀取列值,如所讀列值中某
3、位為低電平,表明有鍵按下,否則掃描下一行,直到掃完所有行行反轉法識別鍵閉合時,要將行線接一并行口,先讓它工作于輸出方式,將列線也 接到一個并行口,先讓它工作于輸入方式,程序使 CPU通過輸出端口往各行線上全部送 低電平,然后讀入列線值,如此時有某鍵被按下,則必定會使某一列線值為0。然后,程序對兩個并行端口進行方式設置,使行線工作于輸入方式,列線工作于輸出方式,并將 剛才讀得的列線值從列線所接的并行端口輸出,再讀取行線上的輸入值,那么,在閉合 鍵所在的行線上的值必定為0。這樣,當一個鍵被按下時,必定可以讀得一對唯一的行線 值和列線值。2程序設計時,要學會靈活地對 STC89C52勺各端口進行方式
4、設置。可將各鍵對應 的鍵值(行線值、列線值)放在一個表中,將要顯示的0F字符放在另一個表中,通過查表來確定按下的是哪一個鍵并正確顯示出來。3、利用實驗箱上的STC89C5可編程并行接口芯片和矩陣鍵盤,編寫程序,做到在鍵 盤上每按一個數字鍵(0F),用發光二極管將該代碼顯示出來。B.顯示器的顯示原理:數碼管需要驅動電路來驅動數碼管的各個段碼才能顯示我們需要的數字。根據數碼管的驅動方式不同,可以分為靜態驅動和動態驅動兩種方式。 靜態顯示驅動:靜態驅動也稱直流驅動。是指每個數碼管的第一個段碼都是由同一 個單片機的I/O端口進行驅動,或者使用如 BCD碼二一十進制譯碼器譯碼進行驅動。 動態顯示驅動:動
5、態驅動是數碼管是單片機中應用最為廣泛的一種驅動方式。動態驅動是將所有數碼管的八個顯示筆劃“a,b,c,d,e,f,g,dp”的同名另外連為每個數碼管的公共極COM增加位選通控制電路,各選通由各自獨立的I/O線控制,當單片機輸出這形碼時,所有數碼管都接收到相同的字形碼,哪個數碼管會顯示字形,取決于單 片機對位選通COM端電路的控制,所以只要將需要顯示的數碼管的選通控制打開,該位 就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示的過程中,每位數碼管的 點亮時間為12mso動態顯示的效果和靜態顯示是一樣的,但能節省大
6、量的I/O端口,而且功耗更低。由于靜態顯示需要數據鎖存器等硬件,接口復雜一些,考慮時鐘顯示只有八位,且系統沒有其它復雜的處理任務,所以決定采用動態掃描實現LED的顯示。單片機采用易購的STC89C52系列,這種單片機具有足夠的空余硬件資源,可以實現 其他的擴展功能。時鐘計時器電路系統的總體設計框圖如圖1。STC89C52矩陣鍵盤=>P1P0b=>八段數碼管單片機控制器AP2列驅動2、實驗步驟:時鐘計時器的硬件電路如圖2所示。該電路采用51單片機最小系統,采用共陽八段數碼管LED顯示器,P0 口輸出段碼數據,P2.0P2.5 口作列掃描輸出;P1 口接矩陣鍵盤,實現時間的調整。系統的
7、功能由鍵盤上 1、2、3鍵完成。U1 nPI n i5. PIJ> pi 1 >PisjFfiaiKB巴畫總迪開.噸FU4i:心列;.心FUEftZeRSTHU心巴山時做加竹PSEUF2JAA11卩14朗2EAF2 5.uLt3R2訕MPI.0T2pi "|甘P3 I.TXT-PU用泗PISH WIPl.4PUSRS.STIPI 6PI.7巴瘋P3T.RI'VT :AT0KE*1D丄<pTT5SJ1565n-u二二二Lg mhhhmmh m_nlll起 一一 . 一 -如圖23、系統程序的設計(1)主程序本設計中計時采用定時器TO中斷完成。主程序循環調用顯示
8、子程序和查鍵子程序, 當端口有開關按下時,轉入相應功能程序。其主程序流程如圖3。(2)顯示子程序時間顯示子程序每次顯示8個連續內存單元的十進制 BCD碼數據,首地址在調用顯 示程序時先指定。顯示時,先取出內存地址中的數據,然后查得對應的顯示用段碼從 P0 口輸出,P2 口將對應數碼管選中供電,就能顯示該地址單元的數據值。(3)定時器TO中斷服務程序定時器TO用于時間計時。定時溢出中斷周期設為50ms中斷進入后先進行定時中斷 初值校正,當中斷累計20次(即50msX 20=1s)時,對秒計數單元進行加1操作。在計 數單元中,采用十進制BCD碼計數,滿10進位。第5頁共15頁初始化顯示T0中斷計時
9、程序流程圖如圖4所示。T0中斷L保護現場定時初值校正圖2圖3(4) 調時功能程序調時功能程序的設計方法是:按下1鍵,可以選擇要修改的位,按下按2鍵和3鍵鍵, 對選中的位進行加減操作,修改完成之后,再按下 XW鍵對其它位進行修改。具體如下:第一次按下1鍵時,可以修改秒。第二次按下1鍵時,可以修改分。第三次按下1鍵時,可以修改時。第四次按下1鍵時,退出子程序。第四章、所選元件清單1、元件清單原件數量八段共陽數碼管2S8550三極管81K電阻8150Q電阻851最小系統1線若干2、程序實際接線數碼管的不同筆段的組合構成了不同字符的字形。為了獲得不同的字形,各筆段所加的電平也不同,因此各個字形所形成的
10、編碼是不一樣的。例如,對于共陽極數碼管,如果要顯示字符2,則筆段a b、g、e、d發光,對應的引腳為低電平;其余各筆段不發光,對應的引腳為該電平。所以字符 2的字形編碼gfedcba=10100100B=A4H陰極數碼管的字形編碼與用陽極數碼管的字形編碼是邏輯“非”的關系。根據上述編碼方法可以得出數碼管顯示的字符與對應的字形編碼的關系,如下表所示顯示字符*共陰極編碼4共陽極編碼*顯示字符Q共陰極編碼+共陽極編碼+7FHP8曲1+36FH+35B1PA4H姑177H38H沖4冊BOH*37CHQ83H*34400H*399HQC39HQC6H*36DH口92的DpAlHS*37DH*332H*3
11、E+旳曲85H*37PO7H*3F8HQF8EHP此次實驗用的共陽數碼管,所以按照陽極數碼管的字形編碼進行設計附錄:程序#in clude<reg52.h>#defi ne uint un sig ned int#defi ne uchar un sig ned charuchar miao,fe n, shi,m,f,s ,num,nu ml, nu m2;uchar code table1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void delay( uint z)uint x,y;for(x=z;x>0;x_
12、)for(y=110;y>0;y-);void xia nsi( uchar aa,uchar bb,uchar cc)P2=0xdb;P0=0xbf;delay(1);P0=0xff; / num2+;if(num仁=1&nu m2=0| num仁=1 &n um2=1)P2=0xff;P0=table1aa%10;delay(1);P0=0xff;P2=0xff;P0=table1aa/10;delay(1);P0=0xff;elseP2=0x7f;P0=table1aa%10;delay(1);第11頁共15頁PO=Oxff;P2=0xbf;P0=table1aa/
13、10;delay(1);PO=Oxff;if(n um 仁=2&n um2=0| num 仁=2&nu m2=1)P2=0xff;P0=table1bb/10;delay(1);P0=0xff;P2=0xff;P0=table1bb%10;delay(1);P0=0xff;elseP2=0xf7;P0=table1bb/10;delay(1);P0=0xff;P2=0xef;P0=table1bb%10;delay(1);P0=0xff;if(n um 仁=3&n um2=0| num 仁=3&nu m2=1)第9頁共15頁P2=0xff;P0=table1cc
14、/10;delay(1);P0=0xff;P2=0xff;P0=table1cc%10;delay(1);P0=0xff;else P2=0xfe;P0=table1cc/10;delay(1);P0=0xff;P2=0xfd;P0=table1cc%10;delay(1);P0=0xff;if(n um2=256)n um2=1;void jishi()if(nu m=20)num=0;miao+;if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;if(miao=0&fen=0);xia nsi(miao,fe n
15、, shi);void in it(void)TM0D=0x01;TH0=0x3c;TL0=0xb0;TH仁 0x3c;TL仁 0xb0;EA=1;ET0=1;TR0=1;ET1=1;TR 仁1;void key()P仁 Oxfe;if(P1=Oxee) delay(IO);if(P1=Oxee)while(P1=0xee)xia nsi(miao,fe n, shi);nu m1+;TR0=0;if(nu m1=4)nu m1=O;TR0=1;xia nsi(miao,fe n,shi);if(nu m1!=O)if(P仁=0xde)/ 時間加delay(1O);if(P1=Oxde)whi
16、le(P1=0xde)xia nsi(miao,fe n, shi);switch( nu m1) 第17頁共15頁case 1 : miao+; if(miao=60)miao=0; break;case 2 : fen+;if(fen=60)fe n=0; break;case 3 : shi+;if(shi=24)shi=0; break;if(P仁=0xbe);時間減delay(10);if(P1=0xbe) while(P1=0xbe)xia nsi(miao,fe n, shi);switch( nu m1)case 1 : miao-; if(miao=-1) miao=59;brea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管理崗位績效管理辦法
- 學校地基歸誰管理辦法
- 競賽教練考核管理辦法
- 腸息肉中醫教學課件
- 福建第三次質檢數學試卷
- 汾陽初中二模數學試卷
- 畢業設計(論文)-家用照明智能控制系統的設計
- 2025至2030大米行業市場深度研究與戰略咨詢分析報告
- 德國職業教育的數字化轉型:戰略規劃、項目布局與效果評估
- 麗水農林技師學院招聘教師筆試真題2024
- 煙臺市開發區行業報告
- 臨床男科學與男科疾病診療
- 乳腺癌輔助化療
- 10kV試驗報告模板-大全
- 醫院保潔服務投標方案(完整技術標)
- 范卿平人教版初三化學講義全集
- 產科運用PDCA循環降低入室新生兒低血糖發生率品管圈成果匯報
- 菜鳥WMS(大寶)操作手冊 (修復的)
- 70歲以上老人考駕照,三力測試題庫答案
- 文件簽收回執單
- 《尋找快樂》教案
評論
0/150
提交評論