實驗三LED數(shù)碼管與點陣管實驗_第1頁
實驗三LED數(shù)碼管與點陣管實驗_第2頁
實驗三LED數(shù)碼管與點陣管實驗_第3頁
實驗三LED數(shù)碼管與點陣管實驗_第4頁
實驗三LED數(shù)碼管與點陣管實驗_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子科技大學中山學院學生實驗報告學院:機電工程專業(yè):課程名稱:單片機原理與接口技術實驗班級:姓名學號:組別:實驗名稱:實驗三LED數(shù)碼管與點陣管實驗實驗時間:成績:、實驗目的和任務1、掌握LED數(shù)碼管的動態(tài)顯示原理、接口電路及程序限制方法.2、掌握LED點陣管的工作原理、接口電路及程序限制方法二、實驗原理簡介ZSC-1實驗箱設有8位LED數(shù)碼管和一個8*8點陣管,具體電路如圖7-1所示.為有效利用單片機口線,采用動態(tài)結(jié)構(gòu),由單片機P0口直接驅(qū)動數(shù)碼管的筆段以及點陣管的列線,P2口低3位經(jīng)74HC138#碼后產(chǎn)生8路輸出低電平有效,再經(jīng)兩片74HC24阪相后,分別用作數(shù)碼管和點陣管的位/行驅(qū)動信

2、號高電平有效.74HC138Vcc|2074HC240VccP2.3P2.2P2.1P2.0_Y00_Y2_-Y42落3,2C31221OMVEeeaaagP4.4P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.015141312111096811131517CS11|19Vcc20246811131517VCC1A01Y01A11Y11A21Y21A31Y32A02Y02A12Y12A22Y22A32Y31OE2OEGND74HC2403433VCC1A01Y01A11Y11A21Y21A31Y32A02Y02A12Y12A22Y22A32Y31OE2OEGNDhID-c>

3、;>t>>h>.',.:,."8C,-;,.,:,.5C-一“一4c.3Crr-1-1,1-I-1-I-2CQ-hQR戶白.:TC12345678RRRRRRRR470Qx835363738398x8點陣管13416151com1com2com3com41110»t11口.Q口D.dpgfedcbacom1com2com3com4da-JJ-L-*110001MCl.o.u.o.dpgfedcba共陽極數(shù)碼管29866893501247135012471圖3-1LED數(shù)碼管與點陣管電路圖中P2.3、P4.4兩個限制信號的作用為:當P2,3=1

4、時,數(shù)碼管和點陣管均關閉顯示,當P2.3=0,且P4.4=1或0時,數(shù)碼管或點陣管開通顯示.P4.4P4.6為STC12C5A60S新增I/O口,將P4SW字節(jié)地址BBH存放器中D*D6位設為1后可用.使用數(shù)碼管時,可以不設P4SWP4.4引腳默認為弱上拉狀態(tài),可保證數(shù)碼管對應的74HC24C使能有效.使用點陣管時,那么必須至少將P4SW勺D4位設為1并令P4.4輸出0,以使點陣管對應的74HC24O能有效.三、實驗內(nèi)容H1、參考電路圖3.1,在proteu啾件里搭建相關的仿真模型圖3.1只是例如,例如里的模塊與proteuS真塊庫里得對應模塊外觀和接口可能會不一樣,以proteuS真塊庫里的

5、模型為主.接線方式也可以不一樣2、編寫程序,限制8位LED數(shù)碼管以1s的間隔交替顯示"12345678"和"87654321"./*詳細程序參考見指導書.頭文件聲明*/*#include<reg51.h>數(shù)據(jù)類型定義*/typedefunsignedcharuint8;typedefcharint8;typedefunsignedintuint16;/*O口線分配*/#defineSEGCODEPORTP0/*#defineBITCODEPORTP2常量數(shù)組段他表聲明*/uint8codeSegCodeTable"0xC0,0xF9

6、,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90/*;函數(shù)原型聲明*/voidLed7segLoad1();voidLed7segLoad2();voidLed7segRefresh();voidDelay(intms);/*uint8Led7SegDispBuff8;sbitcs1=P3A6;/*voidmain()(uint8i;cs1=0;全局變量聲明主函數(shù)*/*/while(1)(Led7segLoad1();/加載(更新)顯示內(nèi)容for(i=0;i<1;i+)/刷新屢次(Delay(12);Led7segRefresh();)Led7segLoa

7、d2();/for(i=0;i<1;i+)/(Delay(12);Led7segRefresh();)/*加載更新顯示內(nèi)容刷新屢次顯示內(nèi)容加載函數(shù)1mmlvoidLed7segLoad1()(Led7SegDispBuff0=1;Led7SegDispBuff1=2;Led7SegDispBuff2=3;Led7SegDispBuff3=4;Led7SegDispBuff4=5;Led7SegDispBuff5=6;Led7SegDispBuff6=7;Led7SegDispBuff7=8;/*顯示內(nèi)容加載函數(shù)*/voidLed7segLoad2()(Led7SegDispBuff0=8

8、;Led7SegDispBuff1=7;Led7SegDispBuff2=6;Led7SegDispBuff3=5;Led7SegDispBuff4=4;Led7SegDispBuff5=3;Led7SegDispBuff6=2;Led7SegDispBuff7=1;/*voidLed7segRefresh()(uint8i;for(i=0;i<8;i+)/數(shù)碼管顯示刷新函數(shù)*/共刷新8位(SEGCODEPORT=SegCodeTableLed7SegDispBuffi;/輸出第i位的段碼BIT_CODE_PORT=0xF0+i;/第i位通電顯示Delay(100);/顯示1msBIT_

9、CODE_PORT=0xF8;/所有位包括第i位熄滅/*軟件延時函數(shù)*/voidDelay(intms)uint16i;doi=790;while(-i);/延時1ms(STC12C5A60S2,11.0592MHz,C51碼優(yōu)化級另1J設為5)while(-ms);/*程序結(jié)束*/3、編寫程序,限制LED點陣管從9到0倒計時顯示減到0后熄滅.詳細程序參考見指導書./*頭文件聲明*/#include<reg51.h>sbitcs2=P3A7;/*數(shù)據(jù)類型定義*/typedefunsignedcharuint8;typedefcharint8;typedefunsignedintui

10、nt16;/*I/O口線分配*/#defineCOLPORTP0#defineROWPORTP2/*常量數(shù)組字模表聲明*/uint8codeDotTable8=/以下為0到9的8*8字模0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00,0x00,0x08,0x18,0x08,0x08,0x08,0x1C,0x00,0x00,0x18,0x24,0x04,0x08,0x10,0x3C,0x00,0x00,0x3C,0x08,0x10,0x08,0x04,0x24,0x18,0x00,0x08,0x18,0x28,0x28,0x3E,0x08,0x08,0x00,0x

11、3C,0x20,0x38,0x04,0x24,0x18,0x00,0x00,0x18,0x20,0x38,0x24,0x24,0x18,0x00,0x00,0x3C,0x04,0x08,0x10,0x10,0x10,0x00,0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18,0x00,0x18,0x24,0x24,0x1C,0x04,0x24,0x18;/*函數(shù)原型聲明*/voidLedDotRefresh();voidDelay(intms);/*全局變量聲明*/uint8LedDotDispBuff;/*主供數(shù)*voidmain()uint8i;cs2=0;/

12、選通點陣管從9減到0for(LedDotDispBuff=9;LedDotDispBuff!=0xff;LedDotDispBuff-)/for(i=0;i<1000/8;i+)/刷新125次,每次8ms,共用時1sLedDotRefresh();while(1);/空循環(huán)不再執(zhí)行刷新操作,顯示熄滅/*for(i=0;i<8;i+)/共刷新8行COL_PORT=DotTableLedDotDispBuffi;/輸出第i行的字模ROW_PORT=0xF0+i;/第i行通電顯示Delay(1);/顯示1msROW_PORT=0xF8;/所有行包括第i行熄滅點陣管顯示刷新函數(shù)*/void

13、LedDotRefresh()uint8i;/*while(-i);/軟件延時函數(shù)*/voidDelay(intms)uint16i;doi=114;延時1ms(STC12C5A60S2,11.0592MHz,C51碼優(yōu)化級另1J設為5)while(-ms);/*程序結(jié)束*/四、發(fā)揮與提升1、對參考程序1進行改良,實現(xiàn)簡易電子鐘功能./*頭文件聲明*/#include<reg51.h>數(shù)據(jù)類型定義*/*typedefunsignedcharuint8;typedefcharint8;typedefunsignedintuint16;/*I/O口線分配*/#defineSEGCODE

14、PORTP0#defineBITCODEPORTP2/*常量數(shù)組段他表聲明*/uint8codeSegCodeTable=(/*0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90);函數(shù)原型聲明*/voidvoidvoidLed7segLoad1();Led7segRefresh();Delay(intms);/*全局變量聲明*/uint8Led7SegDispBuff8;intms=0,s=0,m=0,h=0;sbitcs1=P3A6;主函數(shù)*/*voidmain()(cs1=0;while(1)(Delay(1);ms+;if(ms=100)

15、(ms=0;s+;if(s=60)(s=0;m+;if(m=60)m=0;h+;if(h=24)h=0;Led7segLoad1();Led7segRefresh();/*voidLed7segLoad1()Led7SegDispBuff0=h/10;Led7SegDispBuff1=h%10;Led7SegDispBuff2=m/10;Led7SegDispBuff3=m%10;Led7SegDispBuff4=s/10;Led7SegDispBuff5=s%10;Led7SegDispBuff6=ms/10;顯示內(nèi)容加載函數(shù)1*/數(shù)他管顯示刷新函數(shù)*/Led7SegDispBuff7=ms

16、%10;/*voidLed7segRefresh()uint8i;共刷新8位for(i=0;i<8;i+)/SEG_CODE_PORT=SegCodeTableLed7SegDispBuffi;/BIT_CODE_PORT=0xF0+i;Delay(1);BIT_CODE_PORT=0xF8;/輸出第i位的段碼第i位通電顯示顯示1ms所有位包括第i位熄/*軟件延時函數(shù)*/voidDelay(intms)uint16i;doi=140;延時1ms(STC12C5A60S2,11.0592MHz,C項碼優(yōu)化級另I設為5)while(-i);/while(-ms);2、對參考程序2進行改良,顯

17、示一個跳動的心形圖案/*程序結(jié)束*/*頭文件聲明*/#include<reg51.h>sbitcs2=P3A7;數(shù)據(jù)類型定義*/*typedefunsignedcharuint8;typedefcharint8;typedefunsignedintuint16;/*I/O#defineCOLPORTP0口線分配*/#defineROW_PORTP2/*常量數(shù)組字模表聲明*/uint8codeDotTable18=0x00,0x6c,0x92,0x82,0x44,0x28,0x30,0x20);/*函數(shù)原型聲明*/voidLedDotRefresh();voidDelay(intms

18、);/*全局變量聲明*/uint8LedDotDispBuff;/*主函數(shù)*/voidmain()uint8i;cs2=0;while(1)/選通點陣管點陣管顯示刷新函數(shù)*/for(i=0;i<1000/8;i+)/LedDotRefresh();Delay(1000);)/*刷新125次,每次8ms,共用時1svoidLedDotRefresh()/共刷新8行uint8i;for(i=0;i<8;i+)COL_PORT=DotTableLedDotDispBuffi;/輸出第i行的字模ROW_PORT=0xF0+i;Delay(1);/ROW_PORT=0xF8;/*/第i行通電顯示顯示1ms/所有行包括第i行熄

溫馨提示

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

評論

0/150

提交評論