最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

单片机数码管静态显示实验程序(汇编)

来源:动视网 责编:小OO 时间:2025-10-04 11:10:18
文档

单片机数码管静态显示实验程序(汇编)

单片机数码管静态显示实验程序org00hnumequp0;p0口连接数码管clrp2.0;movdptr,#tabclramovr2,#0loop:movca,@a+dptrmovnum,aacalldelay_200msincr2mova,r2cjner2,#15,loopmovr2,#0clraajmplooptab:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EHdelay_200ms:mov
推荐度:
导读单片机数码管静态显示实验程序org00hnumequp0;p0口连接数码管clrp2.0;movdptr,#tabclramovr2,#0loop:movca,@a+dptrmovnum,aacalldelay_200msincr2mova,r2cjner2,#15,loopmovr2,#0clraajmplooptab:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EHdelay_200ms:mov
单片机数码管静态显示实验程序

org 00h

num equ p0     ;p0口连接数码管

clr p2.0     ; 

mov dptr ,#tab

clr a

mov r2,#0

loop:

movc a,@a+dptr

mov num ,a

acall delay_200ms

inc r2

mov a,r2

cjne r2,#15, loop

mov r2,#0

clr a

ajmp loop

tab :

DB      0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

 delay_200ms:

 mov r3,#20           

 delay:

 acall delay_10ms

 djnz r3,delay

ret    

        

;;;;;;;;;;;;;;;;   非中断精确1MS定时程序    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

delay_1ms:            

MOV R7 ,#249 

signed:                           ;循环部分4机器周期

nop               

nop

djnz R7 ,signed

ret                            ;返回指令2机器周期

 ;2+249*4+2=1000us 可以精确定时1MS,假设外部晶振是12M

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  非中断精确10MS定时程序    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

mov r6,#9                    ;2个机器周期用2us

 

delay_10ms_sined:            ;9次循环共用9(1ms+4us)=9036us

acall delay_1ms

djnz r6,delay_10ms_sined

MOV r6 ,#240                  ;2个机器中期用2us

signed_10ms    :                   ;循环部分4机器周期 共240次

nop               

nop

djnz r6 ,signed_10ms

ret                              ;返回指令要2us

;2us+9036us+240*4us+2us = 10ms 即可精确定时10ms

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    非中断精确定时1s     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

delay_1s:

mov r5,#99                    ;两个机器周期2us

                            

delay_1s_signed:              ;循环指令周期为4us,加上延时10ms

                            ;(10ms+4us)*99 = 990.396ms

acall delay_10ms

djnz r5,delay_1s_signed

mov r5 ,#9                    ;两个机器周期2us

signed_1s:                       ;循环指令周期为4us,加上延时1ms

                            ;(1ms+4us)*9 = 9ms+36us

acall delay_1ms

djnz r5 ,signed_1s            

mov r5 ,# 140                ;机器周期2us

signed_1s_:                     ;一次循环4us共有140次。140us*4 = 560us

nop

nop

djnz r5,signed_1s_

ret              ;2us             

;2us+990ms+396us+2us+9ms+36us+2us+560us+2us = 999ms+1000us = 1s

              

end                                

文档

单片机数码管静态显示实验程序(汇编)

单片机数码管静态显示实验程序org00hnumequp0;p0口连接数码管clrp2.0;movdptr,#tabclramovr2,#0loop:movca,@a+dptrmovnum,aacalldelay_200msincr2mova,r2cjner2,#15,loopmovr2,#0clraajmplooptab:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EHdelay_200ms:mov
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top