




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機課程設計報告電氣與信息工程學院指導 老師: 張 橙班 級: 自動化072姓名: 廖巖學號: 07401100221日期: 2013年1月6日數碼管的動態顯示設計與研究一:概述動態顯示主要就是利用人眼的視覺感來設計的,一般來說如果顯示的頻率過慢,則會有斷斷續續的顯示;如果顯示的頻率加快,則人眼就分辨不出這種視覺殘余!隨著現代科學技術的不斷地進步,人們已經走入了信息的高速時代。科學的力量日益強大,技術的更新的速度也更加加快了。計算機走進了千家萬戶,其中,單片機是一種應用十分廣泛的單心片微型計算機,在我國的普及應用已有若干年,上至航天飛機,下至電動玩具,都能見到它的身影。單片機比專用處理器更適
2、合應用于嵌入式系統,因此它得到了最多的應用。事實上單片機是世界上數量最多的計算機?,F代人類生活中所用的幾乎每件電子和機械產品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數不少的單片機在工作。汽車上一般配備40多部單片機,復雜的工業控制系統上甚至可能有數百臺單片機在同時工作!單片機的數量不僅遠超過pc機和其他計算的綜合,甚至比人類的數量還要多。 而本次單片機數碼管動態顯示設計中采用at89c52。 at89c52為8位通用微處理器,采用工業標準的c51內核,在內部功能及管腳排布上與通用的8xc52 相同,其主要
3、用于會聚調整時的功能控制。功能包括對會聚主ic 內部寄存器、數據ram及外部接口等功能部件的初始化,會聚調整控制,會聚測試圖控制,紅外遙控信號ir的接收解碼及與主板cpu通信等。主要管腳有:xtal1(19 腳)和xtal2(18 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負端。p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設計中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應功能管腳相連接,13 腳定義為ir輸入
4、端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板cpu的相應功能端,用于當前制式的檢測及會聚調整狀態進入的控制功能。 pdip封裝的at89c52引腳圖。二:硬件設計 設計要求p0端口接動態數碼管的字形碼筆段,p2端口接動態數碼管的數位選擇端,p1.7接一個開關,同時p2端端口接入右數碼管顯示器右端,p3端端口接入數碼管顯示器左端。當開關接高電平時,顯示“521039113142”字樣;當開關接低電平時,顯示“hello,love”字樣。 元器的選取 1:at89c52:單片機;
5、2:res:電阻;3:crystal:晶振;4:cap、cap-elec:電容、電解容; 5:respack-8:1k*8排阻;6:7seg-mpx6-cc:7段式6位共陰極數碼管;7:button:按鈕。 數碼管動態顯示原理圖 led數碼管顯示器內部由七個條形發光二極管和一個小圓點發光二極管組成,每個發光二極管稱為一字段。因而它的控制原理和發光二極管的控制原理是相同的。根據各管的接線形式,可分成共陰極型和共陽極型。發光二極管的陽極連在一起,為一個公共端,這種顯示器稱為共陽極顯示器。發光二極管的陰極連在一起,為一個公共端,這種顯示器稱為共陰極顯示器。給led 數碼管的七個發光二極管加不同的電平
6、,二極管顯示不同亮暗的組合就可以形成不同的字形,這種組合稱之為字形碼。 程序設計內容 (1) 動態掃描方法:動態掃描采用各數碼管循環輪流顯示的方法,本例中,先讓左邊第一位數碼管顯示數字“5”,延時一定時間后,第二位顯示“2”,以此類推,到第五位顯示“2”后,又從“5”開始循環顯示。由于循環顯示頻率較高時,利用人眼的暫留特性,我們看到這12個數碼管仿佛在同時顯示,而看不出閃爍顯示現象。這種顯示需要一個接口完成字形碼的輸出(字形選擇),另一接口完成各數碼管的輪流點亮(數位選擇)。需要注意一點,由于電路的特性,在點亮每一位數碼管之前,一定要對整個數碼管清屏(場消隱),即讓所有位選信號都處于不被選中狀
7、態。 (2)對于顯示的字形碼數據我們采用查表方法來完成,同樣位選碼也可以用查表的方法。請注意,由于一些一般資料中給出的字形碼都沒有包含“h”和“l”,的字形碼,這時就需要我們可以自行推導出來。通過課本上數碼管的介紹,我們可以得出“hello love”:0x76,0x79,0x38,0x38,0x3f,0x00(hell0的字形碼);0x00,0x00,0x38,0x3f,0x3e,0x79(love的字形碼)。三:軟件設計1:程序<c語言源程序>(1) 首先選定的藍本-數碼管的動態顯示的相關程序,如c語言源程序:#include <reg52.h>unsigned c
8、har code table1=0x06,0x5b,0x4f,0x66,0x6d;/1-5的字形碼unsigned char code table2=0x76,0x79,0x38,0x38,0x3f;/hello的字形碼unsigned char code table3=0xfe,0xfd,0xfb,0xf7,0xef;/位選碼unsigned char i,a;sbit button=p17;/位定義,不能直接用p17void main(void)while(1)for(i=0;i<5;i+)p2=0xff;/清屏信號,必須使用if(button=1)p0=table1i;/對1-5的
9、字形碼查表else p0=table2i;/對hello的字形碼查表p2=table3i;/對位選信號查表for(a=248;a>0;a-);/字形顯示延時,可調節通過認真的分析需求,要想在數碼管上顯示“521039113142”以及“hello love”的字樣,就必須在main程序中增加2個量分別為:如下:unsigned char code table1=0x6d,0x5b,0x06,0x3f,0x4f,0x6f;/“521039的字形碼.”unsigned char code table4=0x06,0x06,0x4f,0x06,0x66,0x5b;/“113142的字形碼.”u
10、nsigned char code table2=0x76,0x79,0x38,0x38,0x3f,0x00;/“hell0的字形碼.”unsigned char code table5=0x00,0x00,0x38,0x3f,0x3e,0x79;/“love的字形碼?!?同時要改變一下循環變量for(i=0;i<6,i+)以便使得程序在單片機的執行中能夠同時作用于數碼管的顯示,更為重要的是為了使新增的兩個變量更好的參加于循環。如:for(i=0;i<6,i+)。 與此同時更為重要的是在for循環內部增加一個p3的字型碼查表 ,以便能夠在新增加的一個數碼管中顯示。如:if( but
11、ton = 1 )p0=table1i;/“521039對的字形碼查表?!眕3 = table4i;/“113142對的字型碼查表。”p2=table3i;/“位選碼?!弊詈蟛攀菍ψ址娘@示“輸出;else p0=table2i; /“對hello love中的的字形碼查表?!?p3= table5i;/“對hello love中的的字形碼查表?!?p2=table3i;/“對位選信號查表?!?最后可以結合上述分析需求得到完整的數碼管動態顯示程序:#include <reg52.h>unsigned char code table1=0x6d,0x5b,0x06,0x3f,0x4f
12、,0x6f;/“521039的字形碼.”unsigned char code table4=0x06,0x06,0x4f,0x06,0x66,0x5b;/“113142的字形碼.”unsigned char code table2=0x76,0x79,0x38,0x38,0x3f,0x00;/“hell0的字形碼.”unsigned char code table5=0x00,0x00,0x38,0x3f,0x3e,0x79;/“love的字形碼。”unsigned char code table3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/“位選碼?!眜nsigned c
13、har i,a;sbit button=p17;/“位定義,不能直接用p17?!眝oid main(void)while(1)for(i=0;i<6;i+)p2=0xff;/“清屏信號,必須使用”。if( button = 1 )p0=table1i;/“521039對的字形碼查表?!眕3 = table4i;/“113142對的字型碼查表?!眕2=table3i;/“位選碼?!眅lse p0=table2i; /“對hello love中的的字形碼查表?!?p3= table5i;/“對hello love中的的字形碼查表?!?p2=table3i;/“對位選信號查表。”for(a=2
14、48;a>0;a-);/“字形顯示延時,可調節?!睌荡a管動態顯示整體流程圖 開始 yk1按鍵識別成功否?置顯示“hell0love”字型碼首地址12個數碼管顯示完否?延時2ms并指向下一個偏移量查表并送出顯示置顯示“521039113142”字型碼首地址首地址置字型碼偏移量和位選代碼 n ynn調試及仿真的具體操作1:對keil的應用操作 第一步: 雙擊keil的桌面快捷方式,啟動keil集成開發開發軟件。軟件啟動后的界面。 第二步: 新建文本編輯窗。點擊工具欄上的新建文件快捷按鍵,即可在項目窗口的右側打開一個新的文本編輯窗。第三步:輸入源程序。在新的文本編輯窗中輸入源程序,可以輸入c語
15、言程序,也可以輸入匯編語言程序。第四步:保存源程序。保存文件時必須加上文件的擴展名,如果你使用匯編語言編程,那么保存時文件的擴展名為“.asm”,如果是c語言程序,文件的擴展名使用“*.c ”(注:注:第3步和第4步之間的順序可以互換,即可以先輸入源程序后保存,也可以先保存后輸入源程序。)第五步:新建立keil工程。點擊 "工程" "新建工程" 命令,將出現保存對話框。第六步:選擇cpu型號。如圖8所示,為工程選擇cpu型號,本新建工程選擇了atmel公司的at89c52單片機。第七步:加入源程序到工程中。在選擇好cpu型號后,點擊"確定&qu
16、ot;按鈕返回主界面,此時可見到工程管理窗中出現“target 1”,點擊“target 1”前面的“”號展開下一層的“source group 1”文件夾,此時的新工程是空的,“source group 1”文件夾中什么文件都沒有,必須把剛才輸入的源程序加入到工程當中。如圖9所示,右擊工程管理窗中的“source group 1”,出現下拉菜單,點擊“增加文件到組'source group 1'”命令,將出現添加文件對話框。第八步:工程目標'target 1'屬性設置。如下圖14所示,在工程項目管理窗中的"target 1"文件夾上右擊,出
17、現下拉菜單,點擊“目標'target 1'屬性”命令,就進入目標屬性設置界面 第九步:源程序的編譯與目標文件的獲得。由此生成了.hex 的文件才能夠在isis的軟件的制圖中運行的。2:對proteus仿真軟件的應用。啟動proteus仿真軟件,在原有的制圖進行修改,如圖:構建完成之后,在at89c52元件上雙擊鼠標左鍵打開edit component 對話框。設置program file為“動態顯示.hex”,clock frequency為12mhz。單擊ok按鈕關閉對話框。單擊仿真運行開始按鈕,在沒有用鼠標按下“button”鍵時,顯示如圖:而按下“button”鍵時,則會
18、出現:“hello l0ve”字樣 通過對原有的數碼管動態顯示研究,以及對原有的硬件和軟件的改進和重新的設計、執行,才使得新的設計方案得以成功的實施和實現。四:設計總結或設計體會 課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握單片機的開發技術是十分重要的。 單片機作為我們的主要專業課之一,雖然在大三開學初我對這門課并沒有什么興趣,覺得那些程序枯燥乏味,但在這次課程
19、設計后我發現自己在一點一滴的努力中對單片機的興趣也在逐漸增加。沒想到這項看起來不需要多少技術的工作卻是非常需要耐心和精力在兩個星期后的今天我已明白課程設計對我來說的意義,它不僅僅是讓我們把所學的理論知識與實踐相結合起來,提高自己的實際動手能力和獨立思考的能力,更重要的是同學間的團結,雖然我們這次花去的時間比別人多,但我相信我們得到的也會更多! 在做本次課程設計的過程中,我感觸最深的當屬查閱大量的設計資料了。為了讓自己的設計更加完善,查閱這方面的設計資料是十分必要的,同時也是必不可少的。我們是在做單片機課程設計,但我們不是藝術家,他們可以拋開實際盡情在幻想的世界里翱翔,而我們一切都要有據可依,有理可尋,不切實際的構想永遠只能是構想,永遠無法升級為設計。 其次,在這次課程設計中,我們運用到了以前所學的專業課知識,雖然過去從未獨立應用過它們,但在學習的過程中帶著問題去學我發現效率很高,這是我做這次課程設計的又一收獲。后,要做好一個課程設計,就必須做到:在設計程序之前,對所用單片機的內部結構有一個系統的了解,知道該單片機內有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經之路;要養成注釋程序的好習慣,一個程序的完美與否不僅僅是實現功能,而應該讓人一看就能明白你的思路,這樣也為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西機電職業技術學院《德國精神與文化》2023-2024學年第二學期期末試卷
- 宿州學院《生物資源保護與利用》2023-2024學年第二學期期末試卷
- 江蘇省無錫市第一女子中學2025屆高三下學期聯合考試物理試題含解析
- 石家莊信息工程職業學院《地方教學名師課堂》2023-2024學年第二學期期末試卷
- 遼寧農業職業技術學院《數學方法論與解題研究》2023-2024學年第一學期期末試卷
- 莆田學院《土木工程施工技術課程設計》2023-2024學年第一學期期末試卷
- 天津外國語大學《病理形態學診斷技術》2023-2024學年第二學期期末試卷
- 山東省鄒平市一中學2025屆高三4月月考試生物試題含解析
- 公司股權轉讓居間協議書二零二五年
- 二零二五版個人宅基地轉讓的協議書
- 2024年全球及中國通信用氮化鋁陶瓷基板行業頭部企業市場占有率及排名調研報告
- 2024年護士資格證考試內外科基礎護理試題及答案
- 慢性病管理的重要試題及答案
- 2025年中鐵特貨物流股份有限公司招聘(75人)筆試參考題庫附帶答案詳解
- 2025年行政執法人員執法資格考試必考題庫及答案(共232題)
- 山東省自然科學基金申報書-青年基金、面上項目
- 第7課《珍視親情+學會感恩》第1框《濃濃親情+相伴一生》【中職專用】《心理健康與職業生涯》(高教版2023基礎模塊)
- 視覺形象設計VIS清單
- 林海雪原閱讀題及答案
- 動火作業前安全檢查表
- 公務車輛定點裝飾通知與公務車配備標準和使用管理通告匯編
評論
0/150
提交評論