版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)課程設(shè)計(jì)報(bào)告電氣與信息工程學(xué)院指導(dǎo) 老師: 張 橙班 級(jí): 自動(dòng)化072姓名: 廖巖學(xué)號(hào): 07401100221日期: 2013年1月6日數(shù)碼管的動(dòng)態(tài)顯示設(shè)計(jì)與研究一:概述動(dòng)態(tài)顯示主要就是利用人眼的視覺(jué)感來(lái)設(shè)計(jì)的,一般來(lái)說(shuō)如果顯示的頻率過(guò)慢,則會(huì)有斷斷續(xù)續(xù)的顯示;如果顯示的頻率加快,則人眼就分辨不出這種視覺(jué)殘余!隨著現(xiàn)代科學(xué)技術(shù)的不斷地進(jìn)步,人們已經(jīng)走入了信息的高速時(shí)代。科學(xué)的力量日益強(qiáng)大,技術(shù)的更新的速度也更加加快了。計(jì)算機(jī)走進(jìn)了千家萬(wàn)戶,其中,單片機(jī)是一種應(yīng)用十分廣泛的單心片微型計(jì)算機(jī),在我國(guó)的普及應(yīng)用已有若干年,上至航天飛機(jī),下至電動(dòng)玩具,都能見(jiàn)到它的身影。單片機(jī)比專用處理器更適
2、合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實(shí)上單片機(jī)是世界上數(shù)量最多的計(jì)算機(jī)。現(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。而個(gè)人電腦中也會(huì)有為數(shù)不少的單片機(jī)在工作。汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺(tái)單片機(jī)在同時(shí)工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過(guò)pc機(jī)和其他計(jì)算的綜合,甚至比人類的數(shù)量還要多。 而本次單片機(jī)數(shù)碼管動(dòng)態(tài)顯示設(shè)計(jì)中采用at89c52。 at89c52為8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的c51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要
3、用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主ic 內(nèi)部寄存器、數(shù)據(jù)ram及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)ir的接收解碼及與主板cpu通信等。主要管腳有:xtal1(19 腳)和xtal2(18 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負(fù)端。p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設(shè)計(jì)中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應(yīng)功能管腳相連接,13 腳定義為ir輸入
4、端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號(hào)功能端口,連接主板cpu的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能。 pdip封裝的at89c52引腳圖。二:硬件設(shè)計(jì) 設(shè)計(jì)要求p0端口接動(dòng)態(tài)數(shù)碼管的字形碼筆段,p2端口接動(dòng)態(tài)數(shù)碼管的數(shù)位選擇端,p1.7接一個(gè)開(kāi)關(guān),同時(shí)p2端端口接入右數(shù)碼管顯示器右端,p3端端口接入數(shù)碼管顯示器左端。當(dāng)開(kāi)關(guān)接高電平時(shí),顯示“521039113142”字樣;當(dāng)開(kāi)關(guān)接低電平時(shí),顯示“hello,love”字樣。 元器的選取 1:at89c52:單片機(jī);
5、2:res:電阻;3:crystal:晶振;4:cap、cap-elec:電容、電解容; 5:respack-8:1k*8排阻;6:7seg-mpx6-cc:7段式6位共陰極數(shù)碼管;7:button:按鈕。 數(shù)碼管動(dòng)態(tài)顯示原理圖 led數(shù)碼管顯示器內(nèi)部由七個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,每個(gè)發(fā)光二極管稱為一字段。因而它的控制原理和發(fā)光二極管的控制原理是相同的。根據(jù)各管的接線形式,可分成共陰極型和共陽(yáng)極型。發(fā)光二極管的陽(yáng)極連在一起,為一個(gè)公共端,這種顯示器稱為共陽(yáng)極顯示器。發(fā)光二極管的陰極連在一起,為一個(gè)公共端,這種顯示器稱為共陰極顯示器。給led 數(shù)碼管的七個(gè)發(fā)光二極管加不同的電平
6、,二極管顯示不同亮暗的組合就可以形成不同的字形,這種組合稱之為字形碼。 程序設(shè)計(jì)內(nèi)容 (1) 動(dòng)態(tài)掃描方法:動(dòng)態(tài)掃描采用各數(shù)碼管循環(huán)輪流顯示的方法,本例中,先讓左邊第一位數(shù)碼管顯示數(shù)字“5”,延時(shí)一定時(shí)間后,第二位顯示“2”,以此類推,到第五位顯示“2”后,又從“5”開(kāi)始循環(huán)顯示。由于循環(huán)顯示頻率較高時(shí),利用人眼的暫留特性,我們看到這12個(gè)數(shù)碼管仿佛在同時(shí)顯示,而看不出閃爍顯示現(xiàn)象。這種顯示需要一個(gè)接口完成字形碼的輸出(字形選擇),另一接口完成各數(shù)碼管的輪流點(diǎn)亮(數(shù)位選擇)。需要注意一點(diǎn),由于電路的特性,在點(diǎn)亮每一位數(shù)碼管之前,一定要對(duì)整個(gè)數(shù)碼管清屏(場(chǎng)消隱),即讓所有位選信號(hào)都處于不被選中狀
7、態(tài)。 (2)對(duì)于顯示的字形碼數(shù)據(jù)我們采用查表方法來(lái)完成,同樣位選碼也可以用查表的方法。請(qǐng)注意,由于一些一般資料中給出的字形碼都沒(méi)有包含“h”和“l(fā)”,的字形碼,這時(shí)就需要我們可以自行推導(dǎo)出來(lái)。通過(guò)課本上數(shù)碼管的介紹,我們可以得出“hello love”:0x76,0x79,0x38,0x38,0x3f,0x00(hell0的字形碼);0x00,0x00,0x38,0x3f,0x3e,0x79(love的字形碼)。三:軟件設(shè)計(jì)1:程序<c語(yǔ)言源程序>(1) 首先選定的藍(lán)本-數(shù)碼管的動(dòng)態(tài)顯示的相關(guān)程序,如c語(yǔ)言源程序:#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;/清屏信號(hào),必須使用if(button=1)p0=table1i;/對(duì)1-5的
9、字形碼查表else p0=table2i;/對(duì)hello的字形碼查表p2=table3i;/對(duì)位選信號(hào)查表for(a=248;a>0;a-);/字形顯示延時(shí),可調(diào)節(jié)通過(guò)認(rèn)真的分析需求,要想在數(shù)碼管上顯示“521039113142”以及“hello love”的字樣,就必須在main程序中增加2個(gè)量分別為:如下: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;/“l(fā)ove的字形碼。” 同時(shí)要改變一下循環(huán)變量for(i=0;i<6,i+)以便使得程序在單片機(jī)的執(zhí)行中能夠同時(shí)作用于數(shù)碼管的顯示,更為重要的是為了使新增的兩個(gè)變量更好的參加于循環(huán)。如:for(i=0;i<6,i+)。 與此同時(shí)更為重要的是在for循環(huán)內(nèi)部增加一個(gè)p3的字型碼查表 ,以便能夠在新增加的一個(gè)數(shù)碼管中顯示。如:if( but
11、ton = 1 )p0=table1i;/“521039對(duì)的字形碼查表?!眕3 = table4i;/“113142對(duì)的字型碼查表?!眕2=table3i;/“位選碼?!弊詈蟛攀菍?duì)字符的顯示“輸出;else p0=table2i; /“對(duì)hello love中的的字形碼查表?!?p3= table5i;/“對(duì)hello love中的的字形碼查表?!?p2=table3i;/“對(duì)位選信號(hào)查表?!?最后可以結(jié)合上述分析需求得到完整的數(shù)碼管動(dòng)態(tài)顯示程序:#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;/“l(fā)ove的字形碼?!眜nsigned 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;/“清屏信號(hào),必須使用”。if( button = 1 )p0=table1i;/“521039對(duì)的字形碼查表。”p3 = table4i;/“113142對(duì)的字型碼查表?!眕2=table3i;/“位選碼?!眅lse p0=table2i; /“對(duì)hello love中的的字形碼查表?!?p3= table5i;/“對(duì)hello love中的的字形碼查表?!?p2=table3i;/“對(duì)位選信號(hào)查表?!眆or(a=2
14、48;a>0;a-);/“字形顯示延時(shí),可調(diào)節(jié)?!睌?shù)碼管動(dòng)態(tài)顯示整體流程圖 開(kāi)始 yk1按鍵識(shí)別成功否?置顯示“hell0love”字型碼首地址12個(gè)數(shù)碼管顯示完否?延時(shí)2ms并指向下一個(gè)偏移量查表并送出顯示置顯示“521039113142”字型碼首地址首地址置字型碼偏移量和位選代碼 n ynn調(diào)試及仿真的具體操作1:對(duì)keil的應(yīng)用操作 第一步: 雙擊keil的桌面快捷方式,啟動(dòng)keil集成開(kāi)發(fā)開(kāi)發(fā)軟件。軟件啟動(dòng)后的界面。 第二步: 新建文本編輯窗。點(diǎn)擊工具欄上的新建文件快捷按鍵,即可在項(xiàng)目窗口的右側(cè)打開(kāi)一個(gè)新的文本編輯窗。第三步:輸入源程序。在新的文本編輯窗中輸入源程序,可以輸入c語(yǔ)
15、言程序,也可以輸入?yún)R編語(yǔ)言程序。第四步:保存源程序。保存文件時(shí)必須加上文件的擴(kuò)展名,如果你使用匯編語(yǔ)言編程,那么保存時(shí)文件的擴(kuò)展名為“.asm”,如果是c語(yǔ)言程序,文件的擴(kuò)展名使用“*.c ”(注:注:第3步和第4步之間的順序可以互換,即可以先輸入源程序后保存,也可以先保存后輸入源程序。)第五步:新建立keil工程。點(diǎn)擊 "工程" "新建工程" 命令,將出現(xiàn)保存對(duì)話框。第六步:選擇cpu型號(hào)。如圖8所示,為工程選擇cpu型號(hào),本新建工程選擇了atmel公司的at89c52單片機(jī)。第七步:加入源程序到工程中。在選擇好cpu型號(hào)后,點(diǎn)擊"確定&qu
16、ot;按鈕返回主界面,此時(shí)可見(jiàn)到工程管理窗中出現(xiàn)“target 1”,點(diǎn)擊“target 1”前面的“”號(hào)展開(kāi)下一層的“source group 1”文件夾,此時(shí)的新工程是空的,“source group 1”文件夾中什么文件都沒(méi)有,必須把剛才輸入的源程序加入到工程當(dāng)中。如圖9所示,右擊工程管理窗中的“source group 1”,出現(xiàn)下拉菜單,點(diǎn)擊“增加文件到組'source group 1'”命令,將出現(xiàn)添加文件對(duì)話框。第八步:工程目標(biāo)'target 1'屬性設(shè)置。如下圖14所示,在工程項(xiàng)目管理窗中的"target 1"文件夾上右擊,出
17、現(xiàn)下拉菜單,點(diǎn)擊“目標(biāo)'target 1'屬性”命令,就進(jìn)入目標(biāo)屬性設(shè)置界面 第九步:源程序的編譯與目標(biāo)文件的獲得。由此生成了.hex 的文件才能夠在isis的軟件的制圖中運(yùn)行的。2:對(duì)proteus仿真軟件的應(yīng)用。啟動(dòng)proteus仿真軟件,在原有的制圖進(jìn)行修改,如圖:構(gòu)建完成之后,在at89c52元件上雙擊鼠標(biāo)左鍵打開(kāi)edit component 對(duì)話框。設(shè)置program file為“動(dòng)態(tài)顯示.hex”,clock frequency為12mhz。單擊ok按鈕關(guān)閉對(duì)話框。單擊仿真運(yùn)行開(kāi)始按鈕,在沒(méi)有用鼠標(biāo)按下“button”鍵時(shí),顯示如圖:而按下“button”鍵時(shí),則會(huì)
18、出現(xiàn):“hello l0ve”字樣 通過(guò)對(duì)原有的數(shù)碼管動(dòng)態(tài)顯示研究,以及對(duì)原有的硬件和軟件的改進(jìn)和重新的設(shè)計(jì)、執(zhí)行,才使得新的設(shè)計(jì)方案得以成功的實(shí)施和實(shí)現(xiàn)。四:設(shè)計(jì)總結(jié)或設(shè)計(jì)體會(huì) 課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。 單片機(jī)作為我們的主要專業(yè)課之一,雖然在大三開(kāi)學(xué)初我對(duì)這門課并沒(méi)有什么興趣,覺(jué)得那些程序枯燥乏味,但在這次課程
19、設(shè)計(jì)后我發(fā)現(xiàn)自己在一點(diǎn)一滴的努力中對(duì)單片機(jī)的興趣也在逐漸增加。沒(méi)想到這項(xiàng)看起來(lái)不需要多少技術(shù)的工作卻是非常需要耐心和精力在兩個(gè)星期后的今天我已明白課程設(shè)計(jì)對(duì)我來(lái)說(shuō)的意義,它不僅僅是讓我們把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,更重要的是同學(xué)間的團(tuán)結(jié),雖然我們這次花去的時(shí)間比別人多,但我相信我們得到的也會(huì)更多! 在做本次課程設(shè)計(jì)的過(guò)程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。我們是在做單片機(jī)課程設(shè)計(jì),但我們不是藝術(shù)家,他們可以拋開(kāi)實(shí)際盡情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無(wú)法升級(jí)為設(shè)計(jì)。 其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專業(yè)課知識(shí),雖然過(guò)去從未獨(dú)立應(yīng)用過(guò)它們,但在學(xué)習(xí)的過(guò)程中帶著問(wèn)題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的又一收獲。后,要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《家樂(lè)福模式分析》課件
- 管理顧問(wèn)工作總結(jié)
- 房地產(chǎn)行業(yè)客服經(jīng)驗(yàn)分享
- 服裝行業(yè)的保安工作總結(jié)
- 中央財(cái)經(jīng)大學(xué)財(cái)務(wù)管理課件-風(fēng)險(xiǎn)與報(bào)酬
- 銀行求職自我介紹(15篇)
- 2023-2024年項(xiàng)目部治理人員安全培訓(xùn)考試題(原創(chuàng)題)
- 《電子政務(wù)》課件
- 2024年公司項(xiàng)目部負(fù)責(zé)人安全教育培訓(xùn)試題含答案(模擬題)
- 銷售個(gè)人年度工作總結(jié)(7篇)
- GB/T 32491-2016玻璃纖維增強(qiáng)熱固性樹(shù)脂管及管件長(zhǎng)期靜水壓試驗(yàn)方法
- 書(shū)名號(hào)測(cè)試的文檔
- 交大醫(yī)學(xué)院研究生現(xiàn)代免疫學(xué)基礎(chǔ)和進(jìn)展《免疫學(xué)原理》考試重點(diǎn)
- 全文解讀改革開(kāi)放簡(jiǎn)史專題解讀
- 熱電廠工程燃煤系統(tǒng)施工方案
- 福建省南平市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 金融科技課件(完整版)
- 中國(guó)建筑史經(jīng)典題型
- 計(jì)算機(jī)信息系統(tǒng)分級(jí)保護(hù)方案
- 頂管施工技術(shù)全面詳解
- 公路工程質(zhì)量檢驗(yàn)評(píng)定標(biāo)準(zhǔn)(交安部分)
評(píng)論
0/150
提交評(píng)論