實驗3-動態(tài)顯示窗口的設(shè)計與應(yīng)用_第1頁
實驗3-動態(tài)顯示窗口的設(shè)計與應(yīng)用_第2頁
實驗3-動態(tài)顯示窗口的設(shè)計與應(yīng)用_第3頁
實驗3-動態(tài)顯示窗口的設(shè)計與應(yīng)用_第4頁
實驗3-動態(tài)顯示窗口的設(shè)計與應(yīng)用_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗三 動態(tài)顯示窗口的設(shè)計與應(yīng)用在單片機及智能儀器應(yīng)用中,顯示是人機交互的一個重要的部分。在顯示應(yīng)用中,最簡單的顯示單元可由若干個指示信號燈加面板說明組成,常見的顯示窗口由若干個七段數(shù)碼管組成,而復雜的顯示窗口則是由液晶顯示屏甚至是CRT顯示器組成。作為顯示窗口設(shè)計入門級訓練,本實驗選用以七段(或者八段)數(shù)碼組成的顯示單元作為實訓內(nèi)容。從七段數(shù)碼的工作形式來分,七段數(shù)碼顯示單元分為靜態(tài)和動態(tài)兩種。因此,本節(jié)我們也將以兩小節(jié)來分別敘述七段數(shù)碼靜態(tài)和動態(tài)的工作原理、組成顯示窗口的硬件電路設(shè)計以及顯示窗口驅(qū)動的程序設(shè)計。第一部分 教學要求一、 目的要求1了解七段數(shù)碼管靜態(tài)顯示的工作原理。2掌握七段數(shù)

2、碼管靜態(tài)顯示窗口硬件電路的設(shè)計方法。3掌握七段數(shù)碼管靜態(tài)顯示窗口驅(qū)動程序的編寫方法。4. LED燈為流水點亮,同時8個LED數(shù)碼管輪流顯示一個數(shù)字(比如自己的學號)。二、 預(yù)備知識1. 七段數(shù)碼管的構(gòu)造及工作原理 七段數(shù)碼管由八個發(fā)光二極管組成(其中七個發(fā)光二極管組成七段“8”字形,另一個表示小數(shù)點),當發(fā)光二極管導通時,相應(yīng)的一個筆劃或小數(shù)點就發(fā)光。因此,控制相應(yīng)的發(fā)光二極管導通,就能顯示出對應(yīng)的數(shù)字。為了方便的驅(qū)動七段數(shù)碼管,通常將七段數(shù)碼管中的八個發(fā)光二極管的陰極或陽極連接到一起,形成共陰極或共陽極七段數(shù)碼。七段數(shù)碼管的構(gòu)造如圖XXX所示。圖1 七段數(shù)碼管的構(gòu)造 1 七段數(shù)碼管的字形碼

3、習慣上人們常以邏輯“1”對應(yīng)高電平,以邏輯“0”對應(yīng)低電平。因此,對于共陰極七段數(shù)碼管而言對應(yīng)筆劃段的引腳,若接邏輯“1”,則該筆劃段被點亮。而對于共陽極七段數(shù)碼管而言對應(yīng)筆劃段的引腳,若接邏輯“0”,則該筆劃段被點亮。對照七段數(shù)碼管的構(gòu)造,七段數(shù)碼管的字形碼如下:共陰極七段數(shù)碼管數(shù)字符0123456789字形碼0111111000011010110111001111110011011011011111101111100011111111111011共陽極七段數(shù)碼管數(shù)字符0123456789字形碼1000000111100101001000110000001100100100100000010

4、0000111000000000001002 可編程并行I/O接口芯片8255A的使用。七段數(shù)碼管靜態(tài)顯示窗口的硬件電路框圖圖2 靜態(tài)顯示窗口的硬件電路框圖1 圖3 靜態(tài)顯示窗口的硬件電路框圖2設(shè)計原則:1選擇七段數(shù)碼管,若七段數(shù)碼管每段的驅(qū)動電流與鎖存器端口每位的驅(qū)動電流相當,則驅(qū)動器可省略。否則,在七段數(shù)碼管和鎖存器端口之間要加入驅(qū)動器,驅(qū)動器一般采用TTL門電路,如74LS07等。應(yīng)盡量選用管每段的驅(qū)動電流小而顯示亮度大的七段數(shù)碼管。2在單片機系統(tǒng)中,七段數(shù)碼管的字形碼來自數(shù)據(jù)總線,由于單片機在運行之中,數(shù)據(jù)總線上的信號是動態(tài)的,故與七段數(shù)碼管連接的輸出端口必須帶有鎖存功能。圖4 實驗板

5、七段數(shù)碼管靜態(tài)顯示窗口的硬件電路原理圖3框圖2中的地址信號用于選擇不同的鎖存器端口,地址信號可以來自單片機系統(tǒng)中地址譯碼器的輸出,也可以直接來自單片機的地址總線中的某些位。原則是能夠通過地址選擇不同的鎖存器端口。4框圖2中的鎖存信號用于將數(shù)據(jù)總線上七段數(shù)碼管的字形碼鎖存至輸出端口上,鎖存信號通常是單片機的寫(WR)信號。這樣就可以用MOVX DPTR,A指令方便地將七段數(shù)碼管的字形碼鎖存至指定的輸出端口上(注:DPTR中為指定的輸出端口的地址,A中為要輸出的七段數(shù)碼管的字形碼)。三、 實驗平臺介紹1 普中科技51單片機原理與接口實驗平臺圖5 開發(fā)板整機2 運行Keil U4軟件,編寫你的單片機

6、應(yīng)用程序,并進行編譯產(chǎn)生單片機機器碼程序(擴展名是:.EXE)3 用mini USB線連接單片機實驗板到計算機USB口圖6 連接實驗板與計算機打開實驗板電源:按下電源開關(guān),電源指示燈亮按下電源開關(guān),電源指示燈亮按下電源開關(guān),電源指示燈亮圖7 打開實驗板電源4 下載機器碼程序到單片機實驗板:(1)、打開“自動下載軟件”:圖8 普中自動下載軟件界面然后,在這個軟件上,我們需要選擇配置。如圖5所示:圖12 配置界面設(shè)置圖9 選擇配置1. 選擇對應(yīng)的芯片類型。因為我們使用的是51單片機,所有這里我們選擇STC90C5XX系列。2. 打開所需要下載的hex文件,這里我們選擇實驗內(nèi)容的第一個例程,LED例

7、程。該hex文件的路徑在 光盤資料下:光盤資料步驟3 51單片機例程1、LED燈左右跑馬燈C版。如圖10所示:圖10選擇hex文件3. 打開所需要下載的hex文件之后,我們點擊下載。如圖7所示:圖11 下載成功界面四、 Keil uVision4單片機應(yīng)用開發(fā)軟件的使用Keil uVision4支持眾多不同公司的MCS51架構(gòu)的芯片,甚至ARM,它集編輯,編譯,仿真等于一體,它的界面和常用的微軟VC+的界面相似,界面友好,易學易用,在調(diào)試程序,軟件仿真方面也有很強大的功能。Keil uVision4使用匯編語言或C語言編寫單片機應(yīng)用程序。使用它的編譯器,把寫好的單片機應(yīng)用程序編譯為機器碼,才能

8、把HEX可執(zhí)行文件寫入單片機內(nèi)。該軟件的使用方法請點擊:Keil uVision4使用教程(請仔細閱讀?。┪濉?附件: 1、 跑馬燈匯編語言:/* * 武漢理工大學電子信息工程系-* 實 驗 名 : 跑馬燈實驗* 實驗說明 : LED燈做右移跑馬燈,同時第一位LED數(shù)碼管分段熄滅* 連接方式 : 見接線圖* 注 意 : */ORG 0000H ;程序0000起始地址AJMP MAIN ;跳轉(zhuǎn)到MAINORG 030H ;MAIN 程序起始地址MAIN:MOV P0,#0FEHACALL DEL ;調(diào)用子程序MOV P0,#0FDH;將立即數(shù)傳給P2ACALL DELMOV P0,#0FBHAC

9、ALL DELMOV P0,#0F7HACALL DELMOV P0,#0EFHACALL DELMOV P0,#0DFHACALL DELMOV P0,#0BFHACALL DELMOV P0,#07FHACALL DELMOV P0,#0FFHAJMP MAIN ;延時子程序DEL:MOV R5,#04HDEL1:MOV R6,#0FFHDEL2:MOV R7,#0FFHDEL3:DJNZ R7, DEL3DJNZ R6, DEL2DJNZ R5, DEL1RETEND 跑馬燈C語言程序:/* * 武漢理工大學電子信息工程系-* 實 驗 名 : LED二進制加法顯示實驗* 實驗說明 : L

10、ED燈做右移跑馬燈* 連接方式 : 見接線圖* 注 意 : */-包含你要使用的頭文件#include <reg51.h>#include <intrins.h>/-聲明全局函數(shù)-/void Delay10ms(unsigned int c); /延時10ms/* 函 數(shù) 名 : main* 函數(shù)功能 : 主函數(shù)* 輸 入 : 無* 輸 出 : 無*/void main(void)unsigned char LED;LED = 0xFE;while(1)P0 = LED;Delay10ms(50);LED = _crol_(LED,1); /循環(huán)右移1位,點亮下一個LE

11、D 此函數(shù)于庫函數(shù)/* 函 數(shù) 名 : Delay10ms* 函數(shù)功能 : 延時函數(shù),延時10ms* 輸 入 : 無* 輸 出 : 無*/void Delay10ms(unsigned int c) /誤差 0us unsigned char a, b;/-c已經(jīng)在傳遞過來的時候已經(jīng)賦值了,所以在for語句第一句就不用賦值了-/ for (;c>0;c-)for (b=38;b>0;b-)for (a=130;a>0;a-); 本程序是LED燈作流水點亮,第一位LED數(shù)碼管的每一段輪流熄滅(顯示位置見圖5)。大家可以先將本程序下載到實驗板上觀察效果,然后再做修改。2、 動態(tài)顯

12、示C語言程序/* * 武漢理工大學電子信息工程系-* 實 驗 名 : 動態(tài)數(shù)碼管顯示試驗* 實驗說明 : 8位數(shù)碼管顯示07* 連接方式 : 見連接圖* 注 意 : */#include<reg51.h>/-定義使用的IO口-/#define GPIO_DIG P0/段選#define GPIO_PLACE P1/位選/-定義全局變量-/unsigned char code DIG_PLACE8 = 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位選控制 查表的方法控制unsigned char code DIG_CODE17 = 0x3f,0x

13、06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼unsigned char DisplayData8;/用來存放要顯示的8位數(shù)的值/-聲明全局函數(shù)-/void DigDisplay(); /動態(tài)顯示函數(shù)/* 函 數(shù) 名 : main* 函數(shù)功能 : 主函數(shù)* 輸 入 : 無* 輸 出 : 無*/void main(void)unsigned char i;for(i=0; i<8; i+)DisplayDatai = DIG_CODEi;while(1)DigDisplay();/* 函 數(shù) 名 : DigDisplay* 函數(shù)功能 : 使用數(shù)碼管顯示* 輸 入 : 無* 輸 出 : 無*/void DigDisplay()unsigned char i;unsigned int j;for(i=0; i<8; i+)GPIO_PLACE = DIG_PLACEi; /發(fā)送位選GPIO_DIG = DisplayDatai; /發(fā)送段碼j = 10; /掃描間隔時間設(shè)定while(j-);GPIO_DIG =

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論