用汇编语言编程使51单片机实现6位共阳数码管一位循环显示0-9 如何通过编程,实现51单片机控制一个数码管显示0~9这几个数...

作者&投稿:溥钩 (若有异议请与网页底部的电邮联系)
正确程序如下:

    ORG   0000H
    LJMP  START
    ORG   0030H
START:
    MOV   DPTR, #TAB
    MOV   R4, #0FEH
    MOV   R5, #0
SS:
    MOV   P2, R4
    MOV   A, R5
    MOVC  A, @A + DPTR
    MOV   P0, A
    CALL  DELAY
    MOV   A, R4
    RL    A
    MOV   R4, A
    CJNE  R4, #0FEH, SS
    INC   R5
    CJNE  R5, #10, SS
    LJMP  START

DELAY:
    MOV   R1, #2
L1: MOV   R2, #200
L2: MOV   R3, #200
L3: DJNZ  R3, L3
    DJNZ  R2, L2
    DJNZ  R1, L1
    RET

TAB:
    DB    0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END


单片机 用51单片机显示一个数码管轮流显示9到0再从0到9每隔一秒出现一次(用汇编语言)谢谢各~


ORG 0000H
MOV DPTR,#TAB
MOV P0,#0FFH
LOP:
LOOP0:MOV 20H,#9
MOV R0,#10
LOOP1:MOV A,20H; 9-0
MOVC A,@A+DPTR
MOV P0,A
DEC 20H
CALL DELL;YANSHI
DJNZ R0,LOOP1
MOV 20H,#0;0-9
MOV R0,#10
LOOP2:MOV A,20H; 0-9
MOVC A,@A+DPTR
MOV P0,A
INC 20H
CALL DELL;YANSHI
DJNZ R0,LOOP2
AJMP LOP
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DELL:MOV R7,#250;yanshi,SHIZHONG:1WEIMIAO,YUEWEI1s
DEL1:MOV R6,#200
DEL2:MOV R5,#10
DEL3:DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
END

while后加逻辑语句,如果值为true也就是1时就会执行下面的语句,执行完再判断是不是true,如果是的话继续运行,然后就循环了(如果为false也就是0就会停止)。如果不加的话也就是运行一次,运行完后结束,灯就不亮了,按理说应该亮一次,但是运行太快你根本没来得及看到灯亮就已经结束了……如果加循环语句的话一直运行所以你能看见

汇编语言 51单片机 倒计时器程序
答:ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#HIGH(65536-10000)MOV TL0,#LOW(65536-10000)SETB ET0 SETB EA MOV R0,#9 MOV R1,#9 MOV R2,#0 MOV R3,#9 CLR 00H CLR 01H LOOP:JB P1.0,LP01 JNB P1.0,SETB TR0 CLR 01H SJMP ...

51单片机60s汇编语言程序怎么写
答:1:ORG0000HLJMPMAINORG000BHLJMPT0ISRORG0030HMAIN:MOVTMOD,#01HMOVTH0,#HIGH(65536-10000);定时10毫秒MOVTL0,#LOW(65536-10000)SETBTR0SETBET0SETBEALOOP:INCASJMPLOOPT0ISR:CLRTR0MOVTH0,#HIGH(65536-10000)MOVTL0,#LOW(65536-10000)SETBTR0INCR2RETIEND2:KEYBITP1.0ORG0000HLJMPMAINORG000...

51单片机中用两位数码管现实显示控制,用汇编语言编程序段
答:DJNZ R3,D2 INC R0 MOV A,R2 ANL P1,A D3: MOV R3,#250 DJNZ R3,MOV A,R2 RL A MOV R2,A JB ACC.6,D1 RET TAB: DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H DB 40H END ...

有哪位好心人帮帮我,用51单片机汇编语言编写下面的程序。要有注解的...
答:呵呵,我大概给你说说吧,例如MOV指令,执行这条指令需要一个机器周期。DJNZ指令,执行这条指令需要2个机器周期。(一机器周期=1微秒)。你要是用定时器工作的话需要先定义一下TMOD TH TL的数值 这个就用到晶振了了。要先看多少晶振,假如6MHZ,就用12除6,得出来的是2毫秒。在利用计算公式算出你...

急!51单片机定时计数器实验编程(汇编语言)
答:将计数值按二进制数在P1口驱动发光二极管显示出来,到15秒后,计数值清零再从0开始计。--这些发光二极管,是低电平发光,还是高电平发光?下面的程序,适合于低电平发光:ORG 0000H LJMP START ORG 000BH DEC A MOV P1, A RETI ORG 0030H START:MOV TMOD, #16H MOV ...

51单片机用汇编语言编程的一些问题
答:(1)程序执行后,R6=01H,R7=52H (2此子程序的功能是将两个10进制BCD码进行加法计算,结果存放在R6和R7。可以理解为 63+89=152 程序我已仿真过,希望我的回答对你有帮助。可以采纳,谢谢。

51单片机中如何用汇编语言编写流水灯
答:流水灯就是51单片机控制led灯依次点亮的控制方式。具体程序如下:ORG 0000H;复位启动AJMP START;ORG 001BH;T1中断AJMP T1INT;;定义变量===YSJSEQU 30H;延时计数器LEDEQU 31H;LED控制缓冲器 ;主程序===START:MOV LED,#0FEH;初始化数据MOV YSJS,#0;MOV TMOD,#10H;定时器1工作于方式1,16位定时...

89C51单片机,假定单片机晶振频率6MHz,试编写延时2ms的程序
答:单片机晶振频率6MHz的时钟周期是0.166uS,89C51的指令周期是12个时钟周期,约等于2uS。以下是例程:汇编DELAY: MOV Rn,#200 循环200次 *10uS = 2mSLOOP: NOP 一个指令周期 NOP NOP DJNZ Rn,LOOP 二个指令周期,一次循环总共5个指令周期耗时10uS RET C语言 #define NOP _nop_(),_nop_(),_nop_() for(int...

51单片机编程问题(汇编语言)
答:; ORG 0000H JMP MAIN ORG 000BH JMP TC0S ORG 001BH JMP TC1SMAIN: MOV TMOD, #61H MOV TH1, #0F6H MOV TL1, #0F6H SETB TR1 SETB ET1 SETB ET0 SETB EA CLR P1.7 SJMP $;TC1S: ;...

用汇编语言编写一个51单片机程序,实现电子秒表功能
答:;=== ;功能:本程序实现P0口的对数码管动态显示秒表的分、秒、1/100秒;; 计时程序由中断服务程序实现,采用定时计数器T0工作方式1;; P2口实现对数码管的片选功能 ;=== ;===初始化===