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

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>匯編編程>

多位數(shù)碼管計(jì)數(shù)器程序?qū)崿F(xiàn)

大小:0.1 MB 人氣: 2017-09-06 需要積分:0
多位數(shù)碼管計(jì)數(shù)器程序?qū)崿F(xiàn)多位數(shù)碼管計(jì)數(shù)器程序?qū)崿F(xiàn)

1、2位數(shù)碼管計(jì)數(shù)器

A_BIT EQU 20H????????????????? ;個(gè)位數(shù)存放處
B_BIT EQU 21H????????????????? ;十位數(shù)存放處
TEMP EQU 22H?????????????????? ;計(jì)數(shù)器寄存處
STAR: MOV TEMP,#0????????????? ;初始化計(jì)數(shù)器
STLOP: ACALL DISPLAY?????????? ;
?????? INC TEMP
?????? MOV A,TEMP
?????? CJNE A,#100,NEXT??????? ;等于100重來(lái)
?????? MOV TEMP,#0
??? NEXT: LJMP STLOP
;顯示子程序
DISPLAY: MOV A,TEMP
???????? MOV B,#10
? DIV AB?
? MOV B_BIT,A
? MOV A_BIT,B
? MOV DPTR,#NUMTAB
? MOV R0,#4
DPL1:?? MOV R1,#5
DPLOP:? MOV A,A_BIT
??????? MOVC A,@A+DPTR
?MOV P0,A
?CLR P2.7
?ACALL D1MS
?SETB P2.7
?MOV A,B_BIT
?MOVC A,@A+DPTR
?MOV P0,A
?CLR P2.6
?ACALL D1MS
?SETB P2.6
?DJNZ R1,DPLOP
?DJNZ R0,DPL1
?RET
D1MS:
?? MOV R7,#50
?? D1: MOV R6,#20
?? D2: DJNZ R6,$
?????? DJNZ R7,D1
?????? RET
NUMTAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H?? ;013456789字形碼

END
?

2、4位數(shù)碼管計(jì)數(shù)器經(jīng)典例程

;本程序?qū)崿F(xiàn)七段碼動(dòng)態(tài)顯示功能
;///////////////////////////////////////////
???org?0000h
???ajmp?main
???org?0030h
main:
???mov dptr,#tab????;將表頭位置送入DPTR????? ?????
???mov 30h,#00h??????????????? ;將30H個(gè)位顯示緩沖單元清零??????????
???mov 31h,#00h??????????????? ;將31H十位顯示緩沖單元清零??????????
???mov 32h,#00h??????????????? ;將32H百位顯示緩沖單元清零??????????
???mov 33h,#00h??????????????? ;將33H千位顯示緩沖單元清零??????????
loop:
???mov r4,#5?????;r4作為軟件計(jì)數(shù)器
tt1:
???lcall display????;調(diào)用顯示程序?
???djnz?r4,tt1????;r4減一后不為零,返回tt1
???lcall update????;調(diào)用刷新顯示子程序
???ajmp loop?????;跳回loop,繼續(xù)循環(huán)顯示.
display:?mov?p2,#0ffh?????;將P2口置高電平?????????????????????????
???mov r7,#100?????;軟件計(jì)數(shù)器賦值???????????????????????? ?
dd1:????????????????????????????????????????????????????????????????????????????
???mov a,30h?????????????????? ;將顯示緩沖區(qū)30H中的值送入ACC???????????
???movc a,@a+dptr????????????? ;查表取要顯示的數(shù)并把查表的結(jié)果送入ACC??
???mov p0,a??????????????????? ;將要顯示的數(shù)送入P0口???????????????????
???clr p2.3??????????????????? ;開個(gè)位顯示單元?????????????????????????
???lcall delay100us??????????? ;延時(shí)100US??????????????????????????????
???setb p2.3?????????????????? ;關(guān)個(gè)位顯示單???????????????????????????
??????????????????????????????????????? ?????????????????????????????????????
???mov a,31h?????????????????? ;將顯示緩沖區(qū)別31H中的值送入A???????????
???movc a,@a+dptr????????????? ;查表取要顯示的數(shù)并把查表的結(jié)果送入ACC??
???mov p0,a??????????????????? ;將要顯示的數(shù)送入P0口???????????????????
???clr p2.2??????????????????? ;開十位顯示單元?????????????????????????
???lcall delay100us??????????? ;延時(shí)100US??????????????????????????????
???setb p2.2?????????????????? ;關(guān)十位顯示單元?????????????????????????
??????????????????????????????????????? ?????????????????????????????????????
???mov a,32h?????????????????? ;將顯示緩沖區(qū)32H中的值送入ACC???????????
???movc a,@a+dptr????????????? ;查表取要顯示的數(shù)并把查表的結(jié)果送入ACC??
???mov p0,a??????????????????? ;將要顯示的數(shù)送入P0口???????????????????
???clr p2.1??????????????????? ;開百位顯示單元?????????????????????????
???lcall delay100us??????????? ;延時(shí)100US??????????????????????????????
???setb p2.1?????????????????? ;關(guān)百位顯示單元?????????????????????????
??????????????????????????????????????? ?????????????????????????????????????
???mov a,33h?????????????????? ;將顯示緩沖區(qū)33H中的值送入ACC???????????
???movc a,@a+dptr????????????? ;查表取要顯示的數(shù)并把查表的結(jié)果送入ACC??
???mov p0,a??????????????????? ;將要顯示的數(shù)送入P0口???????????????????
???clr p2.0??????????????????? ;開千位顯示單元?????????????????????????
???lcall delay100us??????????? ;延時(shí)100US??????????????????????????????
???setb p2.0?????????????????? ;關(guān)千位顯示單元?????????????????????????
???djnz r7,dd1???????????????? ;R7不等于0返回至DD1處???????????????????
???ret???????????????????????? ;R7等于0子程序返回?????????????????????
update:?????????;刷新顯示子程序
???inc 30h??????;個(gè)位顯示緩沖單元加一??
???mov a,30h
???cjne a,#10,exit????;還沒(méi)加到十,退出
???mov 30h,#00h????;加到十了,個(gè)位清零
???inc 31h??????;十位顯示緩沖單元加一??
???mov a,31h???????????????????????????????????????????????
???cjne a,#10,exit???????????? ;還沒(méi)加到十,退出????????????
???mov 31h,#00h??????????????? ;加到十了,十位清零??????????
???inc 32h??????;百位顯示緩沖單元加一??
???mov a,32h???????????????????????????????????????????????
???cjne a,#10,exit???????????? ;還沒(méi)加到十,退出????????????
???mov 32h,#00h??????????????? ;加到十了,百位清零??????????
???inc 33h??????;千位顯示緩沖單元加一??
???mov a,33h???????????????????????????????????????????????????????????????????????????
???cjne a,#10,exit???????????? ;還沒(méi)加到十,退出????????????
???mov 33h,#00h??????????????? ;加到十了,千位清零??????????
exit:
???ret???????;刷新顯示子程序返回
delay100us:
???mov r5,#50
???djnz?r5,$
???ret
delay10ms:
???mov r6,#100
tt2:
???mov r5,#50
???djnz r5,$
???djnz r6,tt2
???ret
???
tab:?db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh
end

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      蒙特卡罗网| 百家乐娱乐城信息| 百家乐欧洲赔率| 威尔斯人线上娱乐| 玩百家乐官网输了| 百家乐sxcbd| 铜陵市| 做生意摆放什么会招财| 全讯网网站| 澳门百家乐官网游戏皇冠网| 百家乐的玩法视频| 澳门顶级赌场百家乐的玩法技巧和规则| 百家乐官网筹码桌布| 机器百家乐作弊| 百家乐官网从哪而来| 百家乐销售视频| 星空棋牌下载| 百家乐官网真人百家乐官网赌博| 百家乐博娱乐赌百家乐的玩法技巧和规则| 晋城| 百家乐顶路| 万全县| 百家乐兑换棋牌| 真钱梭哈| 百家乐有赢钱公式吗| 娱乐城注册送金| 大田县| 网上百家乐有没有假| 网上百家乐官网新利| 百家乐筹码素材| 365棋牌游戏| 博彩网百家乐官网的玩法技巧和规则| 网上百家乐官网假| 全讯网2| 澳门百家乐官网海星王娱乐城| 9人百家乐桌布| 岚皋县| 百家乐有无规律可循| 白凤凰博彩通| 百家乐半圆桌| 澳门百家乐官网自杀|