數(shù)碼管的動(dòng)態(tài)顯示設(shè)計(jì)與研究_第1頁
數(shù)碼管的動(dòng)態(tài)顯示設(shè)計(jì)與研究_第2頁
數(shù)碼管的動(dòng)態(tài)顯示設(shè)計(jì)與研究_第3頁
數(shù)碼管的動(dòng)態(tài)顯示設(shè)計(jì)與研究_第4頁
數(shù)碼管的動(dòng)態(tài)顯示設(shè)計(jì)與研究_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)課程設(shè)計(jì)報(bào)告指導(dǎo)老師:張_橙 班 級:自動(dòng)化衛(wèi)72姓 名: 廖巖 學(xué) 號:07401100221日 期:2013年1月6日數(shù)碼管的動(dòng)態(tài)顯示設(shè)計(jì)與研究一:概述動(dòng)態(tài)顯示主要就是利用人眼的視覺感來設(shè)計(jì)的, 一般來說如果顯示的頻率 過慢,則會有斷斷續(xù)續(xù)的顯示; 如果顯示的頻率加快, 則人眼就分辨不出這種視 覺殘余!隨著現(xiàn)代科學(xué)技術(shù)的不斷地進(jìn)步, 人們已經(jīng)走入了信息的高速時(shí)代。 科 學(xué)的力量日益強(qiáng)大,技術(shù)的更新的速度也更加加快了。計(jì)算機(jī)走進(jìn)了千家萬戶, 其中,單片機(jī)是一種應(yīng)用十分廣泛的單心片微型計(jì)算機(jī), 在我國的普及應(yīng)用已有 若干年,上至航天飛機(jī),下至電動(dòng)玩具,都能見到它的身影。單片機(jī)比專用處理

2、器更適合應(yīng)用于嵌入式系統(tǒng), 因此它得到了最多的應(yīng)用。 事實(shí)上單片機(jī)是世界上 數(shù)量最多的計(jì)算機(jī)。 現(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會集成 有單片機(jī)。手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電 腦配件中都配有 1-2 部單片機(jī)。而個(gè)人電腦中也會有為數(shù)不少的單片機(jī)在工作。 汽車上一般配備 40 多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片 機(jī)在同時(shí)工作! 單片機(jī)的數(shù)量不僅遠(yuǎn)超過 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)

3、部功能及 管腳排布上與通用的 8xc52 相同,其主要用于會聚調(diào)整時(shí)的功能控制。功能包 括對會聚主 IC 內(nèi)部寄存器、數(shù)據(jù) RAM 及外部接口等功能部件的初始化,會聚 調(dià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

4、功能控制端口,分別與N1的相應(yīng)功能管腳相連接, 13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1 的SDAS( 18腳)和SCLS( 19腳)端口,12腳、27腳及28腳定義為握手 信號功能端口,連接主板CPU的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整T2/Pi. 0 彳1 “一W TeeT2EX/P1.1 匚239 P0. 0 /ADOPI. 2 匚 F0. 1/AD1Fl. $ 匚4斜 F0. 2fAH2Pl 4匚536 P0. 3/AD3Pi 5 c535 P0. 4/AD4pi. 6 t734 F0. 5/AD5pi. 7 t9擁 F0. &/AD6

5、KST C332 P0. TfkT)7RXD/P3. 0 匚1031 EA/UFFTXD/F3. 1 匚1130 ALEFEOtfHT0?P3. 2 匚1229 FESHISTL/P3. $ 匚 12. 7/A15T0/F3 4 匚142? F2.6/M4T1/F3. S 匚15265/A13帚/P3. 6匚1625 P2. 4/1127 匚1T24 P2. 3/A11XTAL2 匚16前 F2. 2/A10XTAL1 匚1922 P2.PEIP&町匚20 21 t2. 0/A8狀態(tài)進(jìn)入的控制功能PDIP封裝的AT89C52引腳圖硬件設(shè)計(jì)設(shè)計(jì)要求P0端口接動(dòng)態(tài)數(shù)碼管的字形碼筆段,P2端

6、口接動(dòng)態(tài)數(shù)碼管的數(shù)位選擇端,P1.7 接一個(gè)開關(guān),同時(shí)P2端端口接入右數(shù)碼管顯示器右端,P3端端口接入數(shù)碼管 顯示器左端。當(dāng)開關(guān)接高電平時(shí),顯示“ 521039113142 ”字樣;當(dāng)開關(guān)接低電平 時(shí),顯示HELLO,LOVE ”字樣。元器的選取1 : AT89C52:單片機(jī);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)顯示原理圖GNDA BCC2U130p19XTAL1P0.0/ADUP0.1/AD1X

7、112MC118XTAL29RST1okVCCt1 51./AT89C52P1.1/I2EXP1 2=C310uF29303130pFR1GNDVCC 1kx8P0.2/AD2P0.3/AD3P0.6/AD6P0 7/AD7P2.4/A12P2.5/A13P2.6/A14P2.7/A1510P3.0/RXD11P3.4/T01516P2.2/A10P2.3/A11P0.4/AD4P0.5/AD5P3.5/T1P3.6/WRP3.1/TXDP3.2/INTP3.7/RD該例數(shù)碼管的段選和位選均用單片機(jī)直接驅(qū) 實(shí)際應(yīng)用中建議段選用三極管或?qū)S眯酒?qū)LED數(shù)碼管顯示器內(nèi)部由七個(gè)條形發(fā)光二極管和一個(gè)小

8、圓點(diǎn)發(fā)光二極管組成,每個(gè)發(fā)光二極管稱為一字段。因而它的控制原理和發(fā)光二極管的控制原理是 相同的。根據(jù)各管的接線形式,可分成共陰極型和共陽極型。發(fā)光二極管的陽極 連在一起,為一個(gè)公共端,這種顯示器稱為共陽極顯示器。發(fā)光二極管的陰極連 在一起,為一個(gè)公共端,這種顯示器稱為共陰極顯示器。給LED數(shù)碼管的七個(gè)發(fā)光二極管加不同的電平,二極管顯示不同亮暗的組合就可以形成不同的字形, 這種組合稱之為字形碼。程序設(shè)計(jì)內(nèi)容(1)動(dòng)態(tài)掃描方法:動(dòng)態(tài)掃描采用各數(shù)碼管循環(huán)輪流顯示的方法,本例中,先讓左邊第一位數(shù)碼管顯示數(shù)字“ 5”延時(shí)一定時(shí)間后,第二位顯示“ 2”以此類推,到第五位顯示“2”后,又從5”開始循環(huán)顯示。

9、由于循環(huán)顯示頻率較高時(shí),利用人 眼的暫留特性,我們看到這12個(gè)數(shù)碼管仿佛在同時(shí)顯示,而看不出閃爍顯示現(xiàn) 象。這種顯示需要一個(gè)接口完成字形碼的輸出(字形選擇) ,另一接口完成各數(shù) 碼管的輪流點(diǎn)亮(數(shù)位選擇) 。需要注意一點(diǎn),由于電路的特性,在點(diǎn)亮每一位 數(shù)碼管之前,一定要對整個(gè)數(shù)碼管清屏(場消隱) ,即讓所有位選信號都處于不 被選中狀態(tài)。(2)對于顯示的字形碼數(shù)據(jù)我們采用查表方法來完成, 同樣位選碼也可以用查表的方法。請注意,由于一些一般資料中給出的字形碼都沒有包含“H”和L“的字形碼,這時(shí)就需要我們可以自行推導(dǎo)出來。 通過課本上數(shù)碼管的介紹, 我們可 以得出 HELLO LOVE ” 0x76

10、,0x79,0x38,0x38,0x3f,0x00( HELL0 的字形碼);0x00,0x00,0x38,0x3f,0x3e,0x79(LOVE 的字形碼)。三:軟件設(shè)計(jì)1 :程序 <c 語言源程序 >(1)首先選定的藍(lán)本 -數(shù)碼管的動(dòng)態(tài)顯示的相關(guān)程序,如C 語言源程序:#include <REG52.H>unsigned char code table1=0x06,0x5b,0x4f,0x66,0x6d;/1-5 的字形碼unsigned char code table2=0x76,0x79,0x38,0x38,0x3f;/HELLO 的字形碼unsigned ch

11、ar code table3=0xfe,0xfd,0xfb,0xf7,0xef;/ 位選碼unsigned char i,a;sbit button=PM7;位定義,不能直接用P1A7void main(void)while(1)for(i=0;i<5;i+)P2=0xff;/ 清屏信號,必須使用if(button=1)P0=table1i;/ 對 1-5 的字形碼查表elseP0=table2i;/ 對 HELLO 的字形碼查表P2=table3i;/ 對位選信號查表for(a=248;a>0;a-);/ 字形顯示延時(shí),可調(diào)節(jié)通過認(rèn)真的分析需求,要想在數(shù)碼管上顯示“ 521039

12、113142 ”以及HELLOLOVE ”的字樣,就必須在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 的字形碼.”unsigned char code table2=0x76,0x79,0x38,0x38,0x3f,0x00;/“Hell0 的字形碼.”unsigned char code table5=0x00,0x00,0x38

13、,0x3f,0x3e,0x79;/“LOVE 的字 形碼同時(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è)LED數(shù)碼管中顯示。如: if( button = 1 )P0=table1i;/ “521039 對的字形碼查表。”P3 = table4i;/ “113142 對的字型碼查表?!盤2=table3i;/ “位選碼?!弊詈蟛?/p>

14、是對字符的顯示“HELLOLOVE"輸出;elseP0=table2i; 1111 “對HELLO LOVE 中的的字形碼查表?!?P3= table5i;/ “對HELLO LOVE 中的的字形碼查表?!?P2=table3i;/ “對位選信號查表?!弊詈罂梢越Y(jié)合上述分析需求得到完整的數(shù)碼管動(dòng)態(tài)顯示程序:#include <REG52.H>Unsigned char code table1=0x6d,0x5b,0x06,0x3f,0x4f,0x6f;/“521039 的字 形碼.”unsigned char code table4=0x06,0x06,0x4f,0x06

15、,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 的字形碼?!眜nsigned char code table3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/ “位選碼。” unsigned char i,a;sbit button=PM7;/“位定義,不能直接用 P1A7?!眝oid main(void)w

16、hile(1)for(i=0;i<6;i+)P2=0xff;/ “清屏信號,必須使用”。if( button = 1 )P0=table1i;/ “521039 對的字形碼查表。”P3 = table4i;/ “113142 對的字型碼查表?!盤2=table3i;/ “位選碼?!眅lseP0=table2i; / “對HELLO LOVE 中的的字形碼查表?!盤3= table5i;/ “對HELLO LOVE 中的的字形碼查表?!盤2=table3i;/ “對位選信號查表?!眆or(a=248;a>0;a-);/“字形顯示延時(shí),可調(diào)節(jié)。”數(shù)碼管動(dòng)態(tài)顯示整體流程圖開始YK1按鍵識

17、別成功否?NY|*尊置顯示“ 521039113142”字型碼首地址置顯示“ HELLOLOVE ”字型碼首地址首地址n置字型碼偏移量和位選代碼查表并送出顯示延時(shí)2ms并指向下一個(gè)偏移量調(diào)試及仿真的具體操作1:對Keil的應(yīng)用操作第一步:雙擊Keil的桌面快捷方式,啟動(dòng) Keil集成開發(fā)開發(fā)軟件。軟件啟動(dòng)后的界面。第二步: 新建文本編輯窗。點(diǎn)擊工具欄上的新建文件快捷按鍵,即可在項(xiàng)目窗口的右側(cè) 打開一個(gè)新的文本編輯窗。C語言程序,也可以第三步:輸入源程序。在新的文本編輯窗中輸入源程序,可以輸入輸入?yún)R編語言程序。第四步:保存源程序。保存文件時(shí)必須加上文件的擴(kuò)展名,如果你使用匯編語言編程,那么保存時(shí)

18、文件的擴(kuò)展名為“ .asm :如果是C語言程序,文件的擴(kuò)展名使用“ *.C ”(注: 注:第 3步和第4步之間的順序可以互換,即可以先輸入源程序后保存,也可以先保存后輸入源程序。)第五步:新建立 Keil工程。點(diǎn)擊"工程”-"新建工程”命令,將出現(xiàn)保存對話框。第六步:選擇CPU型號。如圖8所示,為工程選擇 CPU型號,本新建工程選擇了 ATMEL 公司的AT89C52單片機(jī)。第七步:加入源程序到工程中。在選擇好CPU型號后,點(diǎn)擊"確定"按鈕返回主界面,此時(shí)可見到工程管理窗中出現(xiàn)“ Target 1 ,點(diǎn)擊Target 1 "前面的“ + ”號展

19、開下一層的SOurce Group 1 "文件夾,此時(shí)的新工程是空的,Source Group 1 ”文件夾中什么文件都沒有,必須 把剛才輸入的源程序加入到工程當(dāng)中。 如圖9所示,右擊工程管理窗中的“ Source Group 1 ” 出現(xiàn)下拉菜單,點(diǎn)擊“增加文件到組'Source Group 1' ”命令,將出現(xiàn)添加文件對話框。第八步:工程目標(biāo)'Target 1'屬性設(shè)置。如下圖14所示,在工程項(xiàng)目管理窗中的"Target 1" 文件夾上右擊,出現(xiàn)下拉菜單,點(diǎn)擊“目標(biāo)'Target 1'屬性”命令,就進(jìn)入目標(biāo)屬性設(shè)

20、置界面第九步:源程序的編譯與目標(biāo)文件的獲得。BihiLA twim Craijp LEi凹Xg Q wnM-h靜 B 2>u 潭 2 Ng Mj. M-ffiTH*. z. 3. RFH1 a.fT<T 5. u 訃mu Lnpuid ClUJ: CddM mu lifwfldi chaia: cad WUchrKE“業(yè)«na nimc4i dwii e4cwm hmc¥l <-h«E e4c 尊上*"# *fwr b 4iidB-h E tS-SHdCi"Fj41j 壬蟲.不母嚴(yán)while 1 Iii | bwtTcs &q

21、uot;'TAb*3> I Ou 他 曲皿曲* 11乂仇 OiAii I f /Si 皿臼的 h 幵:網(wǎng)TAba-4> i Cm&i ,葉此,Gx-4f , 0=04Oxiij dx5b i : / L LN L-i±ah H.R;碼 T«b3n2-1 gr 知葉件 Qw,比 0x3B. DxSi . Dx 口口 i rX/H« 1 LSI 的 H 用:州 Tvfc-sv 3-«i 5do* owGUins?i a »?«»a»31 j/.-L-y/zfli Tffi:Kbl m土u I

22、 (kfidli On£b. afT Onef . Ondl I jp .i*.dupuS>ujd E-acs e 1 T-»r>jc e 1'I JjilcdJiVii t t"COOiCiMv M-»SX*-Q CMC*】。*VTAft'E.! Tail IWT EM fXOft F *_ _ . 1XXOX j«j r Q H«XiX4 |iBj .由此生成了 .hex的文件才能夠在ISIS的軟件的制圖中運(yùn)行的2:對Proteus仿真軟件的應(yīng)用啟動(dòng)Proteus仿真軟件,在原有的制圖進(jìn)行修改,如圖:C

23、230pFU119C118XTAL29RST10uFnSENALEP1.0/T229381C3X112M30PFR1n1 1/T2EXP0.O/ADOF0.3/AD3F0.6/AD6F0.7/AD7P2.0/A8P2.1/A9P2.4/A12P2.7/A15P3.0/RXDP3.4/T0P0.1/AD1P0.2/AD2P0.4/AD4P0.5/AD5P2.2/A10P2.3/A11P2.5/A13P2.6/A14P3.5/T1P3.6/WRP3.7/RDP3.1/TXDP3.2/INT0P3.3/INT1該例數(shù)碼管的段選和位選均用單片機(jī)直接驅(qū) 實(shí)際應(yīng)用中建議段選用三極管或?qū)S眯酒?qū)構(gòu)建完成之后

24、,在AT89C52元件上雙擊鼠標(biāo)左鍵打開Edit component對話框。設(shè)置 Program File 為“動(dòng)態(tài)顯示hex ”,Clock Frequency 為 12MHZ。單擊 OK 按鈕關(guān)閉對話框。單擊仿真運(yùn)行開始按鈕,在沒有用鼠標(biāo)按下“ BUTTON ”鍵時(shí),顯示如圖:5己 10 39CK3EFC, D=jTUTIjjS S -而按下BUTTON ”鍵時(shí),則會出現(xiàn):HELLO LOVE ”字樣IHELL 口LDUEUaTVCC 1kx8I通過對原有的數(shù)碼管動(dòng)態(tài)顯示研究,以及對原有的硬件和軟件的改進(jìn)和重新 的設(shè)計(jì)、執(zhí)行,才使得新的設(shè)計(jì)方案得以成功的實(shí)施和實(shí)現(xiàn)。四:設(shè)計(jì)總結(jié)或設(shè)計(jì)體會課

25、程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛 煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程隨著科學(xué) 技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā) 技術(shù)是十分重要的。單片機(jī)作為我們的主要專業(yè)課之一,雖然在大三開學(xué)初我對這門課并沒有什 么興趣,覺得那些程序枯燥乏味,但在這次課程設(shè)計(jì)后我發(fā)現(xiàn)自己在一點(diǎn)一滴的 努力中對單片機(jī)的興趣也在逐漸增加。沒想到這項(xiàng)看起來不需要多少技術(shù)的工作卻是非常需要耐心和精力在兩個(gè)星期后的今天我已明白課程設(shè)計(jì)對我來說的意義, 它不僅僅是讓我們

26、把所學(xué)的理 論知識與實(shí)踐相結(jié)合起來,提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力,更重要的是同學(xué)間的團(tuán)結(jié),雖然我們這次花去的時(shí)間比別人多, 但我相信我們得到的也 會更多!在做本次課程設(shè)計(jì)的過程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。 為 了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的, 同時(shí)也是必不 可少的。我們是在做單片機(jī)課程設(shè)計(jì),但我們不是藝術(shù)家,他們可以拋開實(shí)際盡 情在幻想的世界里翱翔,而我們一切都要有據(jù)可依,有理可尋,不切實(shí)際的構(gòu)想 永遠(yuǎn)只能是構(gòu)想,永遠(yuǎn)無法升級為設(shè)計(jì)。其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專業(yè)課知識, 雖然過去 從未獨(dú)立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高, 這是我 做這次課程設(shè)計(jì)的又

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論