吴忠躺衫网络科技有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>數碼管>

74hc164驅動控制8個數碼管程序

2018年01月30日 08:56 網絡整理 作者:佚名 用戶評論(0

74HC164設備概述

8 位串入、并出移位寄存器

74HC16474HC164、74HCT164 是高速硅門 CMOS 器件,與低功耗肖特基型 TTL (LSTTL) 器件的引腳兼容。74HC164、74HCT164 是 8 位邊沿觸發式移位寄存器,串行輸入數據,然后并行輸出。數據通過兩個輸入端(DSA 或 DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數據輸入。兩個輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。

時鐘 (CP) 每次由低變高時,數據右移一位,輸入到 Q0, Q0 是兩個數據輸入端(DSA 和 DSB)的邏輯與,它將上升時鐘沿之前保持一個建立時間的長度。

主復位 (MR) 輸入端上的一個低電平將使其它所有輸入端都無效,同時非同步地清除寄存器,強制所有的輸出為低電平。

74hc164驅動控制8個數碼管程序

數碼管

數碼管,也稱作輝光管,是一種可以顯示數字和其他信息電子設備。玻璃管中包括一個金屬絲網制成的陽極和多個陰極。大部分數碼管陰極的形狀為數字。管中充以低壓氣體,通常大部分為氖加上一些汞和/或氬。給某一個陰極充電,數碼管就會發出顏色光,視乎管內的氣體而定,一般都是橙色或綠色。

數碼管也稱LED數碼管,不同行業人士對數碼管的稱呼不一樣,其實都是同樣的產品

按發光二極管單元連接方式可分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(COM)的數碼管,共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮,當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM)的數碼管,共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。

八只74HC164控制八只數碼管程序

74hc164驅動控制8個數碼管程序

ORG0000H

JMPMAIN

ORG0013H

AJMPBreak_2

MAIN: ;主程序

MOVSP,#60H;設定堆棧指針

MOVTCON,04H

MOVIE,84H

MOVSCON,#00H;設定串口為0方式,同步移位寄存器,波特率Fosc/12,0:單機對單機,接收控制禁止

START:;

JNBP3.2,DISPLAY_09

CALLDISPLAY_0;調用顯示子程序

CALLDELAY;調用延時子程序

DISPLAY_0:;顯示子程序

MOVR7,#2

MOVR6,#2

MOVR5,#2

L0:

MOVA,#0;先發送十位數的LED數碼管段選碼

MOVDPTR,#TABLE;十位數的LED數碼管段選碼表地址送數據寄存器指針DPTR

MOVCA,@A+DPTR;選擇十位數計數器COUNT2,第二個LED數碼管段選碼送A

MOVSBUF,A;發送選擇十位數計數器COUNT2,第二個LED數碼管段選碼

L0_1:

JBCTI,L0_2;發送控制位TI=1,發送完畢跳轉到DATA1,并將TI清0

JMPL0_1;發送控制位TI=0,未發送完畢跳轉到LOOPD0,繼續檢測TI位

L0_2:

DJNZR7,L0

MOVR7,#2

MOVA,#0;先發送十位數的LED數碼管段選碼

MOVDPTR,#TABLE_1;十位數的LED數碼管段選碼表地址送數據寄存器指針DPTR

MOVCA,@A+DPTR;選擇十位數計數器COUNT2,第二個LED數碼管段選碼送A

MOVSBUF,A;發送選擇十位數計數器COUNT2,第二個LED數碼管段選碼

L0_3:

JBCTI,L0_4;發送控制位TI=1,發送完畢跳轉到DATA1,并將TI清0

JMPL0_3;發送控制位TI=0,未發送完畢跳轉到LOOPD0,繼續檢測TI位

L0_4:DJNZR6,L0

L0_5:

MOVA,#0;先發送十位數的LED數碼管段選碼

MOVDPTR,#TABLE;十位數的LED數碼管段選碼表地址送數據寄存器指針DPTR

MOVCA,@A+DPTR;選擇十位數計數器COUNT2,第二個LED數碼管段選碼送A

MOVSBUF,A;發送選擇十位數計數器COUNT2,第二個LED數碼管段選碼

L0_6:

JBCTI,L0_7;發送控制位TI=1,發送完畢跳轉到DATA1,并將TI清0

JMPL0_6;發送控制位TI=0,未發送完畢跳轉到LOOPD0,繼續檢測TI位

L0_7:

DJNZR5,L0_5

RET

DISPLAY_09:

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVCOUNT2,#0;十位數計數器COUNT2置2

MOVCOUNT3,#0;百位數計數器COUNT3置8

MOVCOUNT4,#0;百位數計數器COUNT3置8

MOVCOUNT5,#0;百位數計數器COUNT3置8

MOVCOUNT6,#0;百位數計數器COUNT3置8

MOVCOUNT7,#0;百位數計數器COUNT3置8

MOVCOUNT8,#0;百位數計數器COUNT3置8

START_09:

CALLDISPLAY;調用顯示子程序

CALLDELAY;調用延時子程序

W1:

INCCOUNT1;個位數計數器COUNT1加1

MOVA,COUNT1

CJNEA,#10,START_09;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始顯示處START

W10:

INCCOUNT2;十位數計數器COUNT2加1

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVA,COUNT2;

CJNEA,#6,START_09;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始處

W100:

INCCOUNT3;百位數計數器COUNT3加1

MOVCOUNT2,#0;十位數計數器COUNT2置0

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVA,COUNT3;

CJNEA,#1,START_09;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始處

W1000:

INCCOUNT4;千位數計數器COUNT4加1

MOVCOUNT3,#0;百位數計數器COUNT3置0

MOVCOUNT2,#0;十位數計數器COUNT2置0

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVA,COUNT4;

CJNEA,#10,START_09;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始處

W10000:

INCCOUNT5;萬位數計數器COUNT5加1

MOVCOUNT4,#0;千位數計數器COUNT4置0

MOVCOUNT3,#0;百位數計數器COUNT3置0

MOVCOUNT2,#0;十位數計數器COUNT2置0

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVA,COUNT5;

CJNEA,#6,START_09;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始處

W100000:

INCCOUNT6;十萬位數計數器COUNT6加1

MOVCOUNT5,#0;千位數計數器COUNT5置0

MOVCOUNT4,#0;千位數計數器COUNT4置0

MOVCOUNT3,#0;百位數計數器COUNT3置0

MOVCOUNT2,#0;十位數計數器COUNT2置0

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVA,COUNT6;

CJNEA,#1,START_09;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始處

W1000000:

INCCOUNT7;百萬位數計數器COUNT7加1

MOVCOUNT6,#0;千位數計數器COUNT6置0

MOVCOUNT4,#0;千位數計數器COUNT4置0

MOVCOUNT3,#0;百位數計數器COUNT3置0

MOVCOUNT2,#0;十位數計數器COUNT2置0

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVA,COUNT7;

CJNEA,#10,START_09;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始處

W10000000:

INCCOUNT8;萬萬位數計數器COUNT7加1

MOVCOUNT7,#0;萬位數計數器COUNT7加1

MOVCOUNT6,#0;千位數計數器COUNT6置0

MOVCOUNT4,#0;千位數計數器COUNT4置0

MOVCOUNT3,#0;百位數計數器COUNT3置0

MOVCOUNT2,#0;十位數計數器COUNT2置0

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVA,COUNT8;

CJNEA,#10,L1;檢測個位數是否變化10次,如果不夠10次,跳轉到程序開始處AJMPW0

L1:AJMPSTART

W0:

MOVCOUNT1,#0;個位數計數器COUNT1置0

MOVCOUNT2,#0;十位數計數器COUNT2置0

MOVCOUNT3,#0;百位數計數器COUNT3置0

非常好我支持^.^

(9) 75%

不好我反對

(3) 25%

( 發表人:李倩 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      大发888下载官方| 大发888 王博| 大众百家乐官网的玩法技巧和规则| 大发888直播网| 百家乐长庄投注| 百家乐官网博弈之赢者理论坛| 壹贰博娱乐城| 免费百家乐追号工具| 大发888最新网站| 真人百家乐导航| 如何胜百家乐官网的玩法技巧和规则 | 雅加达百家乐官网的玩法技巧和规则 | 百家乐博百家乐的玩法技巧和规则| 湘西| 大发888注册送| 太阳百家乐娱乐| 百家乐自动投注| 博九百家乐娱乐城| 百家乐官网微笑打| 百家乐官网扑克发牌器| 安吉县| 皇冠投注| 沙龙百家乐赌场娱乐网规则| 百家乐网上赌博| 百家乐官网游戏什么时间容易出对| 9人百家乐官网桌布| 百家乐官网视频交流| 娱乐城开户送金| 大发888爱好| 大发888我发财| 大发888游戏交易平台| 百家乐视频画面| 免费百家乐缩水软件| 威尼斯人娱乐下载平台| 正品百家乐网站| 优博百家乐的玩法技巧和规则 | 汇丰百家乐官网的玩法技巧和规则 | 网上百家乐庄家有赌场优势吗| 百家乐手机投注平台| 百家乐隔一数打法| 百家乐园游戏庄闲|