用完整的汇编语言编写使数码管循环显示0,1,2,3,4,5,6,7,8,9的程序

作者&投稿:敞岚 (若有异议请与网页底部的电邮联系)
汇编语言程序 使数码管显示1,2,3,4,5,6,7,8~

SCANLED EQU 30HORG 0000HLJMP MAINORG 001BHLJMP T1ISR ;扫描显示ORG 0030HMAIN:MOV SP,#5FHMOV TMOD,#10HMOV TH1,#0ECHMOV TL1,#078HMOV SCANLED,#0SETB ET1SETB TR1SETB EASJMP $;--------------------T1ISR:CLR TR1MOV TH1,#0ECHMOV TL1,#78HSETB TR1MOV DPTR,#LEDTABMOV R2,SCANLEDMOV A,#01HCJNE R2,#0,T1DIS0SJMP T1DIS1T1DIS0:RL ADJNZ R2,T1DIS0T1DIS1:MOV P2,AMOV A,SCANLEDINC AMOVC A,@A+DPTRMOV P0,AINC SCANLEDMOV A,SCANLEDCJNE A,#8,T1ENDMOV SCANLED,#0T1END:RETI;--------------------LEDTAB:DB 0C0H ;"0" 00HDB 0F9H ;"1" 01HDB 0A4H ;"2" 02HDB 0B0H ;"3" 03HDB 99H ;"4" 04HDB 92H ;"5" 05HDB 82H ;"6" 06HDB 0F8H ;"7" 07HDB 80H ;"8" 08HDB 90H ;"9" 09HDB 88H ;"A" 0AHDB 83H ;"B" 0BHDB 0C6H ;"C" 0CHDB 0A1H ;"D" 0DHDB 86H ;"E" 0EHDB 8EH ;"F" 0FHDB 0FFH ;" " 10H;--------------------

END

ORG 0000H ; 数码管共阴
AJMP MAIN
ORG 000BH
T0MS EQU NOT 50000 ; 100 mS 晶振 6.000 MHz
PJSBZ EQU 20H
PJSBZY EQU 21H
PST0: MOV TL0, #LOW T0MS ; T0 中断
MOV TH0, #HIGH T0MS
SETB PJSBZ ; 100 mS 标志
DJNZ R6, PST02
MOV R6, #100 ; 100 mS * 100 = 10 S
SETB PJSBZY ; 10 S 标志
PST02: RETI

MAIN: MOV TMOD, #01H
MOV IE, #82H ; 开 T0 中断
MOV SP, #30H
MOV TL0, #LOW T0MS ; TO 100MS 中断 计时 0
MOV TH0, #HIGH T0MS
SETB TR0
MOV R6, #10 ; 计时初值
MOV DPTR,#TAB
MAIN1: MOV R0, #0
MAIN2: JNB PJSBZY, $ ; 10 S
CLR PJSBZY
MOV A, R0
MOVC A,@A+DPTR
MOV SBUF, A
INC R0
CJNE R0, #0AH, MAIN2
AJMP MAIN1
TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH
DB 77H, 7CH, 39H, 5EH, 79H, 71H

END

程序如下:
/**********************************
用P0口输出到数码管显示0-9
编写:jzy23
交流:paulucy@126.com
*********************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
/***********************
共阴数码管显示码
***********************/
uchar code display[10]= { 0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,
0x07,0x7f,0x6f
};

/**************************************************
延时函数
功能:晶振为12MHz时,延时count微秒
参数:count
返回值:void
****************************************************/
void delay1Xms( uint count)
{
uint i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}

/***********************
主函数
*********************/
void main(void)
{
while(1)
{
uchar i;
for(i=0;i<10;i++)
{
P0 = display[i];
delay1Xms(1000); /*延时1秒*/
}
}
}


用汇编语言编写一个程序
print MACRO para ;定义一个宏,这样输出字符串的时候,可以省些事儿 lea dx,para mov ah,9 int 21h ENDM data segment msg1 db '请用拼音输入姓名学号[格式为:XinMing,XuHao$'buffer db 50,52 dup(0)' ;为什么是52?因为你可以输入50个,而系统要用1个字节,在后面放...

编写汇编语言程序
;本程序通过编译,运行正确。datasegment mes1db'92,85,74,81,70,68,65,78,54,43',0ah,0dh db'94,100,83,88,79,83,79,69,62,60',0ah,0dh,'$';定义用于显示的字符串 mes2dw92,85,74,81,70,68,65,78,54,43 dw94,100,83,88,79,83,79,69,62,60;存放20个十进制数 element...

如何用汇编语言编写一段程序,有图
protected void onListItemClick(ListView l, View v, int position, long id) { \/\/ TODO Auto-generated method stub System.out.print("aaaaaaaaaaaaa");super.onListItemClick(l, v, position, id);}

汇编语言编写程序
mov al,[da1]call disp ;显示AL的子程序 mov al,[da2]call disp ;显示AL的子程序 mov al,[da3]call disp ;显示AL的子程序 MOV AH,4CH INT 21H myinput proc near ;自己写一个 ret myinput endp disp proc near ;自己写一个 ret disp endp code ends END START ...

汇编语言程序设计
汇编程序:把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。采用汇编语言编写程序虽不如高级程序设计语言简便、直观,...

试用汇编语言编写一个程序,该程序的功能如下:
当BL为0,将0—255这256个数从小到大的顺序放入 当BL为1,将0—255这256个数从大到小的顺序放入 当BL为其它,将0放入以3100H为起始的单元中去 ;MOV AL, 0 MOV CX, 256 MOV DI, 3100H LP:MOV [DI], AL CMP BL, 0 JNZ ONE INC AL JMP NEXT ONE:CMP BL, 1 J...

汇编语言编程序
首先,你要明白:1. 一个正数和一个负数相加,结果肯定不会溢出,即结果既不会大于最大正数,也不会小于最小负数;同样道理,两个正数或两个负数相减,结果肯定也不会溢出。另外还有一种特殊情况,即当DATA1为0,DATA2为最小负数的时候,DATA1 - DATA2也会溢出。2. 若结果大于最大正数,肯定是...

请问一下这个用汇编语言怎么编写啊,本人刚学还不太懂,求帮忙
;=== DATA SEGMENT ;数据段.BLOCK1 DW 2345H ;0010 0011 0100 0101 BLOCK2 DW 5A6BH ;0101 1010 0110 1011 ;共有9个位不同 DATA ENDS ;---I CODE SEGMENT ;代码段.ASSUME CS: CODE, DS: DATA START:MOV AX, DATA MOV DS, AX ;--- MOV AX,...

编写完整的8086\/8088汇编语言源程序,将字符串“Hello World!”中小写字...
DATA SEGMENT T1 DB 'Hello World! $'NUM EQU $ - T1 DATA ENDS ;CODE SEGMENT ASSUME CS:CODE, DS: DATA START:MOV AX, DATA MOV DS, AX ;MOV AH, 9 ;LEA DX, T1 INT 21H ;MOV BX, 0 MOV CX, NUM LOP:MOV AL, T1[BX]CMP AL, 'a'JB NEXT CMP AL, 'z'JA NEXT SUB AL...

汇编语言程序编写
; 本程序通过编译,运行正确。DATA SEGMENT MES1 DB '92,85,74,81,70,68,65,78,54,43',0AH,0DH DB '94,100,83,88,79,83,79,69,62,60',0AH,0DH,'$' ;定义用于显示的字符串 MES2 DW 92,85,74,81,70,68,65,78,54,43 DW 94,100,83,88,79,83,79,69,62,60 ;存放20个...

米林县14737537330: 用完整的汇编语言编写使数码管循环显示0,1,2,3,4,5,6,7,8,9的程序 -
锐红易贝:程序如下: /********************************** 用P0口输出到数码管显示0-9 编写:jzy23 交流:paulucy@126.com *********************************/ #include<reg52.h> #define uint unsigned int #define uchar unsigned char /*********************** 共阴...

米林县14737537330: 谁知道用汇编写一个用6个数码管循环显示HELLO -
锐红易贝: DBUF EQU 30H ;置存储区首址 TEMP EQU 40H ;置缓冲区首址 ORG 00H MOV 30H,#1 ;存入数据 MOV 31H,#6 MOV 32H,#8 MOV 33H,#1 MOV 34H,#6 MOV 35H,#8 MOV R0,#DBUF MOV R1,#TEMP MOV R2,#6 ;6位显示器 MOV DPTR,#...

米林县14737537330: 单片机求助,用汇编语言写一个双位数码管0到99循环 -
锐红易贝: 一个数码管显示0005~01秒,再换另一个显示,他俩轮流这么显示着(再多几个也可以),这种交替人眼看不出来的单片机求助,用汇编语言写一个双位数码管0到99循环

米林县14737537330: 用汇编程序实现3个数码管循环闪亮(显示为8),相当于3个LED流水灯,用89c51怎么写? -
锐红易贝: 网上的这种程序比较多,也不是很难,自己学学可以编的.下面是1~8数字循环显示;仿照例7.7 ORG 0000H LJMP MAIN ORG 0030H MAIN:;CLR P2.5;CLR P2.7 MOV A,#03H ;控制字 MOV DPTR,#6100H;8155的命令状态口地址 MOVX @...

米林县14737537330: 用汇编语言编写一个能显示4位数码的电路,并用8循环显示8遍 -
锐红易贝: 51的单片机不会!PIC单片机用汇编语言可以实现!简单说说!动态扫描四位数码管,每一位点亮2毫秒,轮流显示,由于人眼视觉延迟,所以感觉不到数码管闪烁,就像同时亮的一样!延时可以用软件延时,也可以用定时器延时!至于循环显示,是不是将四位数码管点亮后,关闭几秒钟,然后再次点亮,如此反复,设定一个计数寄存器,累加或递减均可!如果增加一个模拟输入端,可以做成市面上的四位数显表!作为电压或电流信号终端显示器!

米林县14737537330: 用汇编语言编写两个数码显示管从0显示到59循环,刚开始学汇编,求大神指点 -
锐红易贝: DAT EQU 30H SCANLED EQU 31H ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV SP,#5FHMOV TMOD,#01HMOV TH0,#0F4HMOV TL0,#048HMOV SCANLED,#0MOV SDAT,#0SETB EA...

米林县14737537330: 汇编语言 数码管显示0 - 9.每个数字闪烁三次,再显示下一个数字,如此循环.求程序,, -
锐红易贝: ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV R0,#0 MOV R1,#3LOOP:MOV DPTR,#TABLE MOV A,R0 MOVC A,@A+DPTR MOV P1,A LCALL DELAY MOV P1,#00H LCALL DELAY DJNZ R1,LOOP INC R0 MOV R1,#3 ...

米林县14737537330: AT89C51单片机怎么用汇编语言让4个数码管同时显示1234? -
锐红易贝: 1、首先我们先打开keil. 2、接着,我们要定义好库函数,void main(){while(1)//不断循环显示{dispaly();}}void dispaly(){P0=smg[1];//选择显示数字几,P1=0x7f;//控制是否点亮数码管. 3、接着,我们加上一条循环语句.delay(5);//显示5...

米林县14737537330: 上电后8个数码管中,每次亮2个数码管.显示6,显示1S, 循环 单片机80c51,用汇编语言编写 -
锐红易贝: ;试试看: ORG 0000HSJMP START ;-------------------------ORG 000BHMOV TH0, #4CHDJNZ R2, T0_ENDMOV R2, #20RL AMOV P2, A T0_END:RETI ;------------------------- START:MOV TMOD, #01HMOV TH0, #4CHSETB TR0MOV ...

米林县14737537330: 51单片机汇编语言1位数码管显示0,1,2,……到9再从9,8,7……到0,反复显示. -
锐红易贝: 反复循环是一个作法,0到9循环结束后再做9到0的循环,0到9时用INC加法,9到0用DEC减法就行了,分开做两个循环,先加后减,两个循环结束,再回到0到9实现大循环就好了.很容易的呀,既然会0到9的循环,自己都能做出来,那其它的也能做出来吗,自己独立完成是最好的煅炼了,不能什么事都靠别人,那样是不会提高进步的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网