衡阳派盒市场营销有限公司

您好,歡迎來(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ī)定!

      ?
      富二代百家乐的玩法技巧和规则| VIP百家乐官网-挤牌卡安桌板| 金博士娱乐城备用网址| 大发娱乐城官网| 大发888娱乐吧| 香港六合彩白小姐图库| 拉斯维加斯| 阜南县| 百家乐官网博彩技巧视频| 网上赌百家乐官网可信吗| 圣安娜百家乐官网代理| 百家乐官网天下| 网上百家乐信誉度| 百家乐技术辅助软件| 免费百家乐计划| 大发888游戏平台寒怕| 老牌现金网| 网上百家乐官网注册彩金| 百家乐官网技巧公司| 百家乐官网开户| 百家乐游戏作弊| 大发888hanpa| 太阳城百家乐赌博害人| 逍遥坊百家乐的玩法技巧和规则 | 网上百家乐官网心得| 百家乐官网园百利宫娱乐城怎么样百家乐官网园百利宫娱乐城如何 | 大发888免费软件下载| 内乡县| 伯爵百家乐官网娱乐场| E乐博百家乐现金网| 新全讯网网址g5vvv| 百家乐官网翻天下载| 百家乐网站程序| 大发888娱乐平台 游戏| 古田县| 云鼎百家乐官网的玩法技巧和规则 | 百家乐官网赌场群| 现场百家乐电话投注| 大发888娱乐城3403| 澳门百家乐官网免费开户| 百家乐官网免费体验金|