當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]單片機(jī)的顯示輸出常用來(lái)顯示系統(tǒng)參數(shù)、運(yùn)行結(jié)果及人機(jī)對(duì)話窗口。常用的顯示器主要有LED(數(shù)碼管)和LCD(液晶)。因LED應(yīng)用簡(jiǎn)單、價(jià)格低廉得到廣泛應(yīng)用,下面主要對(duì)其應(yīng)用進(jìn)行介紹。數(shù)碼管有共陰和共陽(yáng)之分,常見(jiàn)的結(jié)

單片機(jī)的顯示輸出常用來(lái)顯示系統(tǒng)參數(shù)、運(yùn)行結(jié)果及人機(jī)對(duì)話窗口。常用的顯示器主要有LED(數(shù)碼管)和LCD(液晶)。因LED應(yīng)用簡(jiǎn)單、價(jià)格低廉得到廣泛應(yīng)用,下面主要對(duì)其應(yīng)用進(jìn)行介紹。

數(shù)碼管有共陰和共陽(yáng)之分,常見(jiàn)的結(jié)構(gòu)形式有單個(gè)和四位一體,一般由8字段構(gòu)成,顯示方式有靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式。

靜態(tài)顯示:

在靜態(tài)顯示方式下,共陰極或共陽(yáng)極點(diǎn)連接在一起接地或接高電平。每位的段選項(xiàng)線與一個(gè)8位并行口相連。只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。8位并行口可以是單片機(jī)的I/O口或者采用串行輸入/并行輸出的移位寄存器(常用為74HC164、74HC595)

下面是試驗(yàn)板LED動(dòng)態(tài)顯示的電路圖:

如果要顯示某字符,首先要把這個(gè)字符轉(zhuǎn)換為相應(yīng)的字形碼,然后通過(guò)單片機(jī)的串行口,將編碼數(shù)據(jù)發(fā)送到74HC595,74HC595再將接受到的數(shù)據(jù)以并行的方式加到數(shù)碼管上,并通過(guò)RCK將輸出數(shù)據(jù)鎖存。

下面是其應(yīng)用實(shí)例:

;**********************************************************

;* display.ASM

;**********************************************************

;* 利用SPI口實(shí)現(xiàn)4位數(shù)碼管顯示,在demo40板上通過(guò)調(diào)試

;* 調(diào)試時(shí)硬件設(shè)置:SW2的1,2斷開(kāi)

;**********************************************************

;* 顯示數(shù)據(jù)存放在disp1~disp4(20~23),disp1為右邊第一位

;**********************************************************

list p=16f877

; Include file, change directory if needed

include "p16f877.inc"

; Start at the reset vector

DISP1 EQU 20H

DISP2 EQU DISP1+1

DISP3 EQU DISP2+1

DISP4 EQU DISP3+1

count EQU DISP4+1

T1 EQU count+1

ORG 0x000

nop

goto start

;****************************************************************************

;以下為顯示模塊

CONVERT

ADDWF PCL,1 ;不帶小數(shù)點(diǎn)的共陰極碼表

RETLW 0X3F ;0

RETLW 0X06 ;1

RETLW 0X5B ;2

RETLW 0X4F ;3

RETLW 0X66 ;4

RETLW 0X6D ;5

RETLW 0X7D ;6

RETLW 0X07 ;7

RETLW 0X7F ;8

RETLW 0X6F ;9

RETLW 0X00 ;DARK

RETLW 0X71 ;F

RETLW 0X37 ;N

;******************************************************************************

init

banksel TRISC

movlw B'00010000' ;RC4作為SDI

movwf TRISC

movlw 0xc0

movwf SSPSTAT

banksel SSPCON

clrf PORTC

movlw B'00110010' ;

movwf SSPCON

return

disp movlw 05h

movwf count

movlw 20h

movwf FSR

bcf PORTC,6

dsnext decfsz count,1

goto dbtran

goto dsend

dbtran movf INDF,0

CALL CONVERT ;賦1位數(shù)據(jù)顯示碼

call out_in

incf FSR,1

goto dsnext

dsend bsf PORTC,6

return

out_in movwf SSPBUF

loop1

banksel SSPSTAT

btfss SSPSTAT,BF

goto loop1

bcf STATUS,RP0

movf SSPBUF,w

return

start call init

movlw 01h

movwf DISP1

movlw 02h

movwf DISP2

movlw 03h

movwf DISP3

movlw 04h

movwf DISP4

agdisp call disp

goto agdisp

end

靜態(tài)顯示電路在位數(shù)較多時(shí),字符更新速度慢,硬件成本高,在實(shí)際設(shè)計(jì)中,動(dòng)態(tài)顯示應(yīng)用較多。下面介紹的是數(shù)碼管的動(dòng)態(tài)顯示

動(dòng)態(tài)顯示:

動(dòng)態(tài)顯示是通過(guò)分時(shí)輪流選通數(shù)碼管的公共端,使得各個(gè)數(shù)碼管輪流導(dǎo)通,即各數(shù)碼管是由脈沖電流導(dǎo)電的(導(dǎo)通時(shí)間一般為1ms)。當(dāng)所有數(shù)碼管依次顯示一遍后,軟件控制循環(huán),使每位顯示器分時(shí)點(diǎn)亮。這種方法不但能提高數(shù)碼管的發(fā)光效率,并且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,因而大大簡(jiǎn)化了硬件線路。

下面是試驗(yàn)板的數(shù)碼管動(dòng)態(tài)顯示電路圖:

從圖中可以看出RB口用作字形輸出,RA口用作位掃描輸出。由于PIC的I/O口最大輸出電流為25ma,因此在字形輸出回路要串電阻(一般為保證亮度,電流在10~15ma),而在掃描輸出口電流為字形線電流的8倍,遠(yuǎn)超容許范圍,因此加三極管驅(qū)動(dòng)。另外可用8路三態(tài)反向緩沖器74HC240用作字形驅(qū)動(dòng),用6路反向門(mén)電路7406驅(qū)動(dòng)位選。

動(dòng)態(tài)顯示最重要的是解決好亮度和字符閃爍問(wèn)題。由于數(shù)碼管具有余輝特性及人眼具有視覺(jué)暫留效應(yīng),所以適當(dāng)選取循環(huán)掃描頻率時(shí),看上去所有數(shù)碼管是同時(shí)點(diǎn)亮的,察覺(jué)不出有閃爍現(xiàn)象。不過(guò)這種方式數(shù)碼管不宜太多(不超過(guò)8個(gè)),否則每個(gè)數(shù)碼管分配到的實(shí)際導(dǎo)通時(shí)間會(huì)太少,使得亮度不足。另外要求掃描頻率不能小于100Hz,否則就會(huì)出現(xiàn)閃爍現(xiàn)象。

下面是試驗(yàn)板數(shù)碼管動(dòng)態(tài)顯示的實(shí)例:

;**********************************************************

;* display.ASM

;**********************************************************

;* 利用PORTB口實(shí)現(xiàn)4位數(shù)碼管動(dòng)態(tài)顯示,在demo18板上通過(guò)調(diào)試

;**********************************************************

;* 顯示數(shù)據(jù)存放在disp1~disp4(20~23),disp1為右邊第一位

;**********************************************************

list p=16f628

; Include file, change directory if needed

include "p16f628.inc"

; Start at the reset vector

DISP1 EQU 20H

DISP2 EQU DISP1+1

DISP3 EQU DISP2+1

DISP4 EQU DISP3+1 ;以上為四位顯示數(shù)據(jù)存放位

count EQU DISP4+1 ;動(dòng)態(tài)顯示位

T1 EQU count+1 ;延時(shí)數(shù)據(jù)存放位

ctrl EQU T1+1 ;動(dòng)態(tài)顯示控制位

ORG 0x000

nop

goto start

;****************************************************************************

;以下為顯示模塊

CONVERT

ADDWF PCL,1 ;不帶小數(shù)點(diǎn)的共陰極碼表

RETLW 0X3F ;0

RETLW 0X06 ;1

RETLW 0X5B ;2

RETLW 0X4F ;3

RETLW 0X66 ;4

RETLW 0X6D ;5

RETLW 0X7D ;6

RETLW 0X07 ;7

RETLW 0X7F ;8

RETLW 0X6F ;9

RETLW 0X00 ;DARK

RETLW 0X71 ;F

RETLW 0X37 ;N

;******************************************************************************

init

banksel TRISB

movlw B'00000000' ;A、B口為輸出,初始數(shù)據(jù)為0

movwf TRISB

movwf TRISA

banksel PORTA

movwf PORTB

movwf PORTA

movlw 20h

movwf FSR ;顯示數(shù)據(jù)存放首地址

movlw 01h

movwf ctrl ;動(dòng)態(tài)顯示控制初值

return

disp movlw 05h

movwf count ;動(dòng)態(tài)顯示為4位

disp1 decfsz count,1 ;動(dòng)態(tài)顯示一次完否?

goto dbtran ;否,繼續(xù)顯示

goto dsend ;是,結(jié)束顯示

dbtran movf ctrl,0

movwf PORTA ;控制位賦A口

movf INDF,0

call CONVERT ;取顯示數(shù)據(jù)

movwf PORTB ;顯示數(shù)據(jù)賦B口

bcf STATUS,0 ;清進(jìn)位標(biāo)志

rlf ctrl,1 ;動(dòng)態(tài)控制位左移

incf FSR,1 ;顯示數(shù)據(jù)地址加1

call delay ;延時(shí)

CLRF PORTB

goto disp1 ;到下一位顯示

dsend movlw 20h ;動(dòng)態(tài)顯示一周期完,恢復(fù)初始數(shù)據(jù)

movwf FSR

movlw 01h

movwf ctrl

return

delay movlw 0xff

movwf T1

delay1 decfsz T1,1

goto delay1

return

start call init

movlw 01h

movwf DISP1

movlw 02h

movwf DISP2

movlw 03h

movwf DISP3

movlw 04h

movwf DISP4

agdisp call disp

goto agdisp

end

動(dòng)態(tài)掃描顯示雖然硬件簡(jiǎn)單,但因必須反復(fù)循環(huán)顯示,降低了單片機(jī)的工作效率,在一些實(shí)時(shí)性要求高的場(chǎng)合應(yīng)用受到限制。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉