




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、51單片機并行口驅(qū)動LED數(shù)碼管顯示電路及程序介紹利用51單片機的一個并行口實現(xiàn)多個LED數(shù)碼管顯示的方法,給出了利用此方法設(shè)計的多路LED顯示系統(tǒng)的硬件電路結(jié)構(gòu)原理圖和軟件程序流程,同時給出了采用51匯編語言編寫程序。 1 硬件電路多位LED顯示時,常將所有位的段選線并聯(lián)在一起,由一個8位IO口控制,而共陰極點或共陽極點分別由另一個8位IO口控制;也可采用并行擴展口構(gòu)成顯示電路,通常,需要擴展器件管腳的較多,價格較高。本文將介紹一種利用單片機的一個并行IO口實現(xiàn)多個LED顯示的簡單方法,圖1所示是該電路的硬件原理圖。其中,74LS138是3線8線譯碼器,74LS164是8位并行輸出門控串行輸
2、入移位寄存器,LED采用L05F型共陰極數(shù)碼管。顯示時,其顯示數(shù)據(jù)以串行方式從89C52的P12口輸出送往移位寄存器74LS164的A、B端,然后將變成的并行數(shù)據(jù)從輸出端Q0Q7輸出,以控制開關(guān)管WT1WT8的集電極,然后再將輸出的LED段選碼同時送往數(shù)碼管LED1LED8。位選碼由89C52的P14P16口輸出并經(jīng)譯碼器74LS138送往開關(guān)管Y1Y8的基極,以對數(shù)碼管LED1LED8進行位選控制,這樣,8個數(shù)碼管便以100ms的時間間隔輪流顯示。由于人眼的殘留效應(yīng),這8個數(shù)碼管看上去幾乎是同時顯示。2 軟件編程該系統(tǒng)的軟件編程采用MCS51系列單片機匯編語言完成,并把顯示程序作為一個子程序
3、,從而使主程序?qū)ζ溥M行方便的調(diào)用。圖2所示是其流程圖。具體的程序代碼如下:pic單片機驅(qū)動led數(shù)碼管顯示程序;*該程序用于驅(qū)動led數(shù)碼管顯示,在8個LED數(shù)碼管上依次顯示數(shù)字1、2、3、4、5、6、7、8*;* 單片機學(xué)習(xí)網(wǎng)經(jīng)典程序已測試,led數(shù)碼管共陰和共陽不同請修改碼值轉(zhuǎn)換表部分LIST P=18F458INCLUDE P18F458.INC;所用的寄存器XIANR EQU 0X20ORG 0X00GOTO MAINORG 0X30;*以下為碼值轉(zhuǎn)換表*CONVERT ADDWF PCL,1RETLW 0XC0 ;0,顯示段碼與具體的硬件連接有關(guān)RETLW 0XF9 ;1RETLW
4、0XA4 ;2RETLW 0XB0 ;3RETLW 0X99 ;4RETLW 0X92 ;5RETLW 0X82 ;6RETLW 0XD8 ;7RETLW 0X80 ;8RETLW 0X90 ;9RETLW 0X88 ;ARETLW 0X83 ;BRETLW 0XC6 ;CRETLW 0XA1 ;DRETLW 0X86 ;ERETLW 0X8E ;FRETLW 0X7F ;.RETLW 0XBF ;-RETLW 0X89 ;HRETLW 0XFF ;DARKRETURN;*初始化子程序*INITIALBCF TRISA,5 ;置RA5為輸出方式,以輸出鎖存信號BCF TRISC,5BCF TR
5、ISC,3 ;設(shè)置SCK與SDO為輸出方式BCF INTCON,GIE ;關(guān)閉所有中斷MOVLW 0XC0MOVWF SSPSTAT ;設(shè)置SSPSTAT寄存器MOVLW 0X30MOVWF SSPCON1 ;設(shè)置SPI的控制方式,允許SSP方式,并且時鐘下降;沿發(fā)送數(shù)據(jù),與74HC595當(dāng)其SCLK從低到高電平;跳變時,串行輸入數(shù)據(jù)(DI)移入寄存器的特點相對應(yīng)MOVLW 0X11 ;顯示值寄存器賦初值,每個值占兩個字節(jié),MOVWF XIANR ;從8開始顯示RETURN ;返回;*led數(shù)碼管顯示子程序*;SPI發(fā)送顯示子模塊DISPLAYTRANSMIT CLRF PORTA ;LACK
6、送低電平,為鎖存做準(zhǔn)備MOVWF SSPBUF ;啟動發(fā)送WAITBTFSS PIR1,SSPIFGOTO WAIT ;等待發(fā)送結(jié)束BCF PIR1,SSPIF ;清除中斷標(biāo)志NOPBSF PORTA,5 ;最后給一個鎖存信號,代表一顯示任務(wù)完成RETURN;*pic單片機驅(qū)動led顯示程序的主程序開始*MAIN NOPCALL INITIAL ;調(diào)用系統(tǒng)初始化子程序LOOP MOVF XIANR,WCALL CONVERT ;查出XIANR的顯示段碼值CALL DISPLAYDECF XIANRDECF XIANR ;顯示值減2,因為按字存放,按字節(jié)讀取MOVF XIANR,WSUBLW 0
7、X01BTFSS STATUS,ZGOTO LOOP ;若送完顯示的數(shù),則退出顯示HERE GOTO HEREENDC語言源程序如下:/*程序名稱:8位數(shù)碼管移位顯示0-F簡要說明:使用共陽型數(shù)碼管 P0口輸出數(shù)碼管段碼,P2口輸出數(shù)碼管位碼編 寫:JiangX.net時 間:2008-8-21*/#include#define uchar unsigned char#define uint unsigned int #define duan P0 /定義段碼輸出#define wei P2 /定義位碼輸出uchar a=0,b=0; /全局變量。a:定時器循環(huán)次數(shù);b:移位量uchar co
8、de TAB=0xff,0xff,0xff,0xff,0xff,0xff,0xff,/空白 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,/數(shù)字0-9 0x88,0x83,0xC6,0xa1,0x86,0x8e,/字母A-F 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff/空白 ;/*延時子程序*/void delay(n) while(n-)uint j;for (j=0;j125;j+); /*程序初始化*/void init() TMOD=0x1; /定時方式1 TH0=0xb8; TL0=0x63; /設(shè)置計時時間為50mswei=0; /設(shè)置位掃描初值 /*定時器中斷0*/void timer0(void) interrupt 1 TH0=0xb8; TL0=0x63;a+; /移位變量累加if (a=20) a=0; b+; if (b=24) b=0; /*顯示子程序*/void display() uchar i
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025起重機服務(wù)合同范本
- 2025高速公路排水工程合同
- 2025年智能家居合同類型
- 2025合同違約導(dǎo)致的損失賠償
- 2025標(biāo)準(zhǔn)合同模板集錦
- 2025CAD設(shè)計與物性測試合同河南電力公司
- 2025年退休再就業(yè)勞務(wù)合同模板示例
- 2025華美電器代銷采購合同書
- 2025辦公設(shè)備購銷合同模板大全
- 2025租賃合同范本(含詳細條款)
- 地基基礎(chǔ)基樁靜荷載試驗考試題庫
- 珠寶行業(yè)中的區(qū)塊鏈技術(shù)
- 大數(shù)據(jù)時代下傳統(tǒng)會計受到的沖擊與應(yīng)對措施
- 斷親協(xié)議書模板
- TD/T 1061-2021 自然資源價格評估通則(正式版)
- 級進模具畢業(yè)設(shè)計說明書
- 兒童呼吸機基本使用
- 手術(shù)替代治療方案
- 建筑工程項目管理績效評價指標(biāo)體系
- T-CNPPA 3025-2023 藥包材質(zhì)量協(xié)議管理指南
- 家庭教育講座活動流程
評論
0/150
提交評論