單片機(jī)八段數(shù)碼管顯示實(shí)驗(yàn)原理及分析報(bào)告_第1頁
單片機(jī)八段數(shù)碼管顯示實(shí)驗(yàn)原理及分析報(bào)告_第2頁
單片機(jī)八段數(shù)碼管顯示實(shí)驗(yàn)原理及分析報(bào)告_第3頁
單片機(jī)八段數(shù)碼管顯示實(shí)驗(yàn)原理及分析報(bào)告_第4頁
單片機(jī)八段數(shù)碼管顯示實(shí)驗(yàn)原理及分析報(bào)告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

JINGCHUUNIVERSITYOFTECHNOLOGY八段數(shù)碼管顯示實(shí)驗(yàn)原理及分析報(bào)告學(xué)院計(jì)算機(jī)工程學(xué)院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)年級班別09計(jì)算機(jī)科學(xué)與技術(shù)1班學(xué)號2009404010123學(xué)生姓名鄭偉偉指導(dǎo)教師李永2011年1月18日目錄一、實(shí)驗(yàn)項(xiàng)目的目標(biāo)????????????????????????3二、八段數(shù)碼管顯示實(shí)驗(yàn)原理及分析?????????????????31、實(shí)驗(yàn)線路???????????????????????????32、實(shí)驗(yàn)器材???????????????????????????33、實(shí)驗(yàn)工作原理?????????????????????????44、實(shí)驗(yàn)步驟???????????????????????????55、實(shí)驗(yàn)現(xiàn)象的分析說明??????????????????????56、程序框架圖??????????????????????????67、實(shí)驗(yàn)所用芯片的使用介紹????????????????????7(1)、8155IO/RAM擴(kuò)展芯片說明?????????????????7(2)、74ls164芯片說明?????????????????????88、實(shí)驗(yàn)代碼分析?????????????????????????8三、調(diào)試?????????????????????????????16四、心得體會???????????????????????????17一、實(shí)驗(yàn)項(xiàng)目的目標(biāo):1、了解數(shù)碼管動態(tài)顯示的原理。2、了解74LS164擴(kuò)展端口的方法。3、利用實(shí)驗(yàn)儀提供的顯示電路,動態(tài)顯示一行數(shù)據(jù)。二、實(shí)驗(yàn)項(xiàng)目的原理1實(shí)驗(yàn)線路:這里只是顯示草圖,詳細(xì)原理參見第一章的1.1.15“8155鍵顯模塊”。1、超想-3000TC綜合實(shí)驗(yàn)儀 1臺 2、KEIL仿真器1臺3、計(jì)算機(jī) 1臺3、實(shí)驗(yàn)工作原理:(1)、本實(shí)驗(yàn)儀提供了8段碼數(shù)碼管LED顯示電路,只要按地址輸出相應(yīng)數(shù)據(jù),就可以實(shí)現(xiàn)對顯示器的控制。顯示共有6位,采用動態(tài)方式顯示。8段數(shù)碼管是由8155的PBO、PB1經(jīng)74LS164"串轉(zhuǎn)并”后輸出得到。6位位碼由8155的PA0口輸出,經(jīng)uA2003反向驅(qū)動后,選擇相應(yīng)顯示位。74LS164是串行輸入并行輸出轉(zhuǎn)換電路,串行輸入的數(shù)據(jù)位由8155的PB0控制,時(shí)鐘位由8155的PB1控制輸出。寫程序時(shí),只要向數(shù)據(jù)位地址輸出數(shù)據(jù),然后向時(shí)鐘位地址輸出一高一低兩個電平就可以將數(shù)據(jù)位移到4LS164中,向顯示位選通地址輸出高電平就可以點(diǎn)亮相應(yīng)的顯示位。

本實(shí)驗(yàn)儀中數(shù)據(jù)位輸出地址為0el02H,時(shí)鐘位輸出地址為0el02H,位選通輸出地址為OelOlH。本實(shí)驗(yàn)涉及到了8155IO/RAM擴(kuò)展芯片的工作原理以及74LS164器件的工作原理。2)、七段數(shù)碼管的字型代碼表如下表:顯示子gf顯示子gfedcba段碼001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hB11111007chC011100139hD10111105ehE111100179hF111000171h4、實(shí)驗(yàn)步驟:af bge cd。dp1、將KEIL仿真器上40芯排線一端和實(shí)驗(yàn)箱上51CPU板上的40芯排針連接起來,將仿真器連接的USB或串口線與PC機(jī)對應(yīng)的USB或串口連接起來,打開實(shí)驗(yàn)箱電源。2、進(jìn)入KEIL軟件界面,點(diǎn)擊項(xiàng)目/打開項(xiàng)目(ft俎件.環(huán)境.書H力目話’目!S(ft俎件.環(huán)境.書H力目話’目!SV於畔備打開項(xiàng)目(0)^AuViiiMd99(I)..杏…7■貳「 文件P 19S(V)ljlga>)iWatO)Wff(.)外Skft備(r)XACT)STKCltS) WBhOO在C:\KEIL\UV2\3000TC51配套實(shí)驗(yàn)例程中選擇實(shí)驗(yàn)一,內(nèi)有ASM和C51兩種程序,進(jìn)入ASM文件夾打開LED項(xiàng)目文件進(jìn)入如圖所示界面進(jìn)入如圖所示界面點(diǎn)擊“調(diào)試/運(yùn)行”可看到8點(diǎn)擊“調(diào)試/運(yùn)行”可看到8段數(shù)碼管交替顯示0—F5、實(shí)驗(yàn)現(xiàn)象的分析說明(1)實(shí)驗(yàn)說明本實(shí)驗(yàn)儀提供了8段碼數(shù)碼管LED顯示電路,按地址輸出相應(yīng)數(shù)據(jù),實(shí)現(xiàn)對顯示器的控制。顯示共有6位,采用動態(tài)方式顯示。8段數(shù)碼管是由8155的PBO、PB1經(jīng)74LS164"串轉(zhuǎn)并”后輸出得到。6位位碼由8155的PA0口輸出,經(jīng)uA2003反向驅(qū)動后,選擇相應(yīng)顯示位。74LS164是串行輸入并行輸出轉(zhuǎn)換電路,串行輸入的數(shù)據(jù)位由8155的PB0控制,時(shí)鐘位由8155的PB1控制輸出。寫程序時(shí),只要向數(shù)據(jù)位地址輸出數(shù)據(jù),然后向時(shí)鐘位地址輸出一高一低兩個電平就可以將數(shù)據(jù)位移到4LS164中,向顯示位選通地址輸出高電平就可以點(diǎn)亮相應(yīng)的顯示位。本實(shí)驗(yàn)儀中數(shù)據(jù)位輸出地址為0e102H,時(shí)鐘位輸出地址為0e102H,位選通輸出地址為Oe1O1H。本實(shí)驗(yàn)涉及到了8155IO/RAM擴(kuò)展芯片的工作原理以及74LS164器件的工作原理。(2)實(shí)驗(yàn)思路分析將數(shù)據(jù)放入顯示緩沖區(qū)60-65H單元,通過位選信號,段選信號控制,數(shù)碼管顯示相應(yīng)的內(nèi)容,其中段選信號由查表得到。為了動態(tài)顯示富有變化,每一輪顯示完畢后,需要改變數(shù)據(jù)單元的內(nèi)容。為了數(shù)碼關(guān)顯示不抖動,還需要對每一輪數(shù)據(jù)顯示一定的次數(shù),具體見代碼。文件8)編輯(E)視圉(V)頂目0*)調(diào)試6)閃存⑹外D文件8)編輯(E)視圉(V)頂目0*)調(diào)試6)閃存⑹外D設(shè)備(r)工具CT)版本控制G)窗口鞘幫助Of)(F弋}“於佢慮辱學(xué)督匡1irm戶Ctrl+F5|RlED-“T“ion3-[C:\Kei3AUV2\3000TB51配套實(shí)驗(yàn)例程\1實(shí)墓一八段數(shù)碼営旻示實(shí)鑿\AS?\8LED.“10$Q@P電包IG匸刑趣/1睡辺U1運(yùn)疔(G)耳}步進(jìn)⑴喬步越◎(卩跳出當(dāng)前函數(shù)10)F5F11F10;實(shí)驗(yàn)一八段數(shù)碼管6、程序框圖:7、實(shí)驗(yàn)所用芯片的使用介紹及其在實(shí)驗(yàn)中的作用本實(shí)驗(yàn)涉及到了8155I0/RAM擴(kuò)展芯片的工作原理以及74LS164器件的工作原理。1、8155IO/RAM擴(kuò)展芯片(1)8155芯片簡介及作用Intel的8155芯片是40引腳的雙列直插封裝的可編程接口芯片。含有一個14位的減一定時(shí)/計(jì)數(shù)器,可用于延時(shí)、計(jì)數(shù)和分頻。含有A、B兩個8位的并行I/O口,一個6位的C并行I/O口,總共可以擴(kuò)展出22條接線。片內(nèi)有256B的靜態(tài)RAM,可以補(bǔ)充CPU內(nèi)存的不足。為了能夠設(shè)置芯片的工作方式和了解芯片的狀態(tài),內(nèi)部還有命令寄存器和狀態(tài)寄存器。與CPU相連的引腳有CE、10/M、AD0~AD7、ALE、RD、WR和RESET。CE是片選信號,當(dāng)CE=0時(shí),芯片才于CPU交換信息。CE接到地址譯碼器上,有整個系統(tǒng)分配給高位地址,以保證任何時(shí)候只用一個芯片與CPU交換信息時(shí),不發(fā)生地址沖突。I0/M是接口或內(nèi)部RAM寄存器的選擇線。當(dāng)I0/M=1時(shí),CPU是對RAM進(jìn)行操作的。它一般接在CPU的地址線A8上。AD0~AD7

為地址數(shù)據(jù)總線。ALE是地址鎖存信號輸入線。RD、WR分別是讀寫控制信號。RESET是復(fù)位線。當(dāng)RESET=1時(shí)8155被復(fù)位。(2)74LS164器件的簡介及作用74LS164是一個串行輸入并行輸出的移位寄存器,可用于擴(kuò)展并行輸出口。74LS165是8位并行輸入串行輸出移位寄存器,可以擴(kuò)展一個或多個8位并行I/O口VIIMCE曾妄2£&7_b5J-k.-+-IQVIIMCE曾妄2£&7_b5J-k.-+-IQLIX.k-4?3mMUIF.LIPLIPLlpllpa.Ipl門円刊幻l^IFJIE251.7対Iti23,IS22f 14ZE如IS;cfa4爍YWAIITO:DISFLkYh iE:CZ:1D2D3L-DSDSD7 —?1011.21?LJ 口?15?L4p三、實(shí)驗(yàn)相關(guān)程序代碼的分析說明:OUTBITequ0e101h;位控制口使OUTBIT代表地址0e101hCLK164equ0e102h;段控制口(接164時(shí)鐘位)使CLK164代表地址0e102hDAT164equ0e102h;段控制口(接164數(shù)據(jù)位)使CLK164代表地址0e102hINequ0e103h;鍵盤讀入口使IN代表地址0e103hLEDBufequ60h;顯示緩沖使LEDBuf代表地址60hNum equ 70h ;顯示的數(shù)據(jù)使DelayT代表地址70hDelayT equ 75h ;使DelayT代表地址75horg0000hljmpStartLEDMAP:;八段管顯示碼db 3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb 7fh,6fh,77h,7ch,39h,5eh,79h,71h字節(jié)數(shù)據(jù)表:把指令中的字節(jié)數(shù)據(jù)表內(nèi)容依次依次裝入標(biāo)號開始的程序存儲區(qū)Delay:;延時(shí)子程序movr7,#0r7,=0時(shí),0-1=ff此次循環(huán)循環(huán)259次DelayLoop:djnzr7,DelayLoop寄存器內(nèi)容減1,不等于0,且跳轉(zhuǎn)djnzr6,DelayLoopr6=1retDisplayLED:顯示緩沖r6=60hmovr1,#6;共6個八段管movr2,#00100000b;從左邊開始顯示movr0,#LEDBufLoop:movdptr,#OUTBITdptr指向0e101hmova,#00hmovx@dptr,a;關(guān)所有八段管mova,@r060h里面的內(nèi)容賦給amovB,#8;送164DLP:rlcamovr3,amovacc.0,cANLA,#0FDH#0FDH=01102h(段控制口控制)movdptr,#DAT164movx@dptr,a累加器內(nèi)容存入外部RAM(16位地址)movdptr,#CLK164

orla,#02hmovx@dptr,aanla,#0fDhmovx@dptr,a通過與操作影響倒數(shù)第二位,產(chǎn)生脈沖mova,r3djnzB,DLPmovdptr,#OUTBITmova,r2a=00100000movx@dptr,a;顯示一位八段管00100000b=0el01h(控制位控制口)movr6,#1callDelay調(diào)用延時(shí)程序,使數(shù)據(jù)顯示一段時(shí)間mova,r2 ;顯示下一位rra右移指令amovr2,aincr0djnzr1,Loopr1=6movdptr,#OUTBITmova,#0movx@dptr,a;關(guān)所有八段管retStart:movdptr,#0e100h常數(shù)地址移至地址寄存器mova,#03h常數(shù)值移至累加器movx@dptr,a累加器A的內(nèi)容寫入外部RAMmovsp,#40hmovNum,#0Num=0MLoop:incNum自加內(nèi)容加一即Num=1mova,Nummovb,amovr0,#LEDBuf顯示緩沖r0=60h地址里的內(nèi)容FillBuf:mov a,banl a,#0fh與操作,屏蔽高四位movdptr,#LEDMap八段顯示碼地址移至地址寄存器movca,@a+dptr ;數(shù)字轉(zhuǎn)換成顯示碼程序存儲器內(nèi)容移至累加器mov@r0,a ;顯示在碼填入顯示緩沖把LEDMAP表示的內(nèi)容存到60h~66hincr0寄存器自加incbcjner0,#LEDBuf+6,FillBufmovDelayT,#30DispAgain:callDisplayLED;顯示調(diào)用子程序djnzDelayT,DispAgainDelayT里的內(nèi)容減1再與0比較,不相等則跳轉(zhuǎn)ljmpMloop長跳轉(zhuǎn)END用C語言編寫程序/*“驗(yàn)證式"?實(shí)驗(yàn)十一八段數(shù)碼管顯示*/#include<absacc.h>#defineLEDLen6#definemode0x03;#defineCAddrXBYTE[0xe100]/*控制字地址*/#defineOUTBITXBYTE[0xe101]/*位控制口*/#defineCLK164XBYTE[0xe102]/*段控制口(接164時(shí)鐘位)*/#defineDAT164XBYTE[0xe102]/*段控制口(接164數(shù)據(jù)位)*/#defineINXBYTE[0xe103]/*鍵盤讀入口*/unsignedcharLEDBuf[LEDLen];/*顯示緩沖*/codeunsignedcharLEDMAP[]={/*八段管顯示碼*/0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidDelay(unsignedcharCNT){unsignedchari;while(CNT--!=0)for(i=100;i!=0;i--);voidDisplayLED(){unsignedchari,j;unsignedcharPos;unsignedcharLED;Pos=0x20;/*從左邊開始顯示*/for(i=0;i<LEDLen;i++){OUTBIT=0;/*關(guān)所有八段管*/LED=LEDBuf[i];for(j=0;j<8;j++){/*送164*/if(LED&0x80)DAT164=1;elseDAT164=0;CLK164=CLK164|0x02;CLK164=CLK164&0xfd;LED<<=1;}OUTBIT=Pos;/*顯示一位八段

溫馨提示

  • 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

提交評論