新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 試驗(yàn)7--------流水燈數(shù)字顯示綜合練習(xí)

試驗(yàn)7--------流水燈數(shù)字顯示綜合練習(xí)

作者: 時(shí)間:2011-02-25 來(lái)源:網(wǎng)絡(luò) 收藏
程序運(yùn)行結(jié)果為個(gè)位數(shù)碼管輪流現(xiàn)實(shí)0,12,3,4,5,6,78,然后十位數(shù)碼管輪流現(xiàn)實(shí)01,23,456,78反復(fù)循環(huán),P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, 依次點(diǎn)亮然后輪流點(diǎn)亮,小喇叭不停發(fā)出滴答聲:

數(shù)碼管顯示數(shù)字

注意0為點(diǎn)亮 1 為滅

顯示數(shù)字

p0.7

p0.6

p0.5

p0.4

p0.3

p0.2

p0.1

p0.0

16進(jìn)制代碼

0

0

0

1

0

1

0

0

0

28H

1

0

1

1

1

1

1

1

0

7EH

2

1

0

1

0

0

0

1

0

A2H

3

0

1

1

0

0

0

1

0

62H

4

0

1

1

1

0

1

0

0

74H

5

0

1

1

0

0

0

0

1

61H

6

0

0

1

0

0

0

0

1

21H

7

0

1

1

1

1

0

1

0

7AH

8

0

0

1

0

0

0

0

0

20H

9

0

1

1

0

0

0

0

0

60H

代碼表的意思和方法參照前面的教程;注意0為點(diǎn)亮 1 為滅然后我們可以把代碼送到P0口,就可以是數(shù)碼管顯示需要的數(shù)字;當(dāng)然,必須有位選,因?yàn)槲覀兊膶?shí)驗(yàn)板是動(dòng)態(tài)掃描數(shù)碼管,兩個(gè)8的位選分別是P2.6 P2.7.

LOOP: 標(biāo)號(hào)

CLR P2.6 ;選中p2.6 數(shù)碼管左邊的8字使能

SETB P2.7 p2.7不使能。右邊的數(shù)碼管消隱

MOV P0,#28H ;把28hp0口;數(shù)碼管顯示0

LCALL DELAY ;延時(shí)

MOV P0,#0FFH ;0ffh p0口,數(shù)碼管清除

CLR P1.0 ;點(diǎn)亮p1.0發(fā)光管

MOV P0,#7EH ;把7ehp0口;數(shù)碼管顯示1

LCALL DELAY

MOV P0,#0FFH

CLR P1.1 ;點(diǎn)亮p1.0發(fā)光管

CLR P1.0 ;點(diǎn)亮p1.0發(fā)光管

MOV P0,#0A2H ;數(shù)碼管顯示2

LCALL DELAY

MOV P0,#0FFH

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#62H ;數(shù)碼管顯示3

LCALL DELAY

MOV P0,#0FFH

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#74H ; ;數(shù)碼管顯示4

LCALL DELAY

MOV P0,#0FFH

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#61H ;數(shù)碼管顯示5;

LCALL DELAY

MOV P0,#0FFH

CLR P1.5

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#21H ; 數(shù)碼管顯示6

LCALL DELAY

MOV P0,#0FFH

CLR P1.6

CLR P1.5

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#7AH ; 數(shù)碼管顯示7

LCALL DELAY

MOV P0,#0FFH

CLR P1.7

CLR P1.6

CLR P1.5

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#20H ; 數(shù)碼管顯示8

LCALL DELAY

MOV P0,#0FFH

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

;程序到此結(jié)果為左邊的數(shù)碼管顯示0,1,2,3,45,6,7,8;p1.0------------p1.7指示燈依次點(diǎn)亮

SETB P2.6 左邊的8消隱

CLR P2.7 ;選中p2.7 數(shù)碼管右邊的8字使能,;

MOV P0,#28H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.0

MOV P0,#7EH

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.1

MOV P0,#0A2H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.2

MOV P0,#62H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.3

MOV P0,#74H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.4

MOV P0,#61H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.5

MOV P0,#21H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.6

MOV P0,#7AH

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.7

MOV P0,#20H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

MOV P0,#0FFH

MOV P1,#0FFH

;這一段和上一段基本相同,不同的是右邊的數(shù)碼管依次顯示012345678,左邊的不亮;;同時(shí)p1口的燈流動(dòng)顯示:

AJMP LOOP;注意:程序運(yùn)行到此跳轉(zhuǎn)到開始標(biāo)號(hào),重復(fù)執(zhí)行:

DELAY: ;延時(shí)子程序;參考前面的教程:

CLR P3.3 ;注意小喇叭在3.3口,這里可以使小喇叭發(fā)出嗒,嗒聲

MOV R7,#255

NOP

NOP

D1:MOV R6,#255

setb p3.3

D2: DJNZ R6,D2

clr p3.3

DJNZ R7,D1

SETB P3.3

RET

END



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉