基于AT89s52单片机。请用查表法实现8个彩灯循环点亮,亲,使用查表法哦,在下列程序上改动就好

基于AT89s52单片机。请用查表法实现8个彩灯循环点亮,亲,使用查表法哦,在下列程序上改动就好,第1张

;

ORG 0000H

MOV DPTR, #TAB

MOV R2, #0

LOP1:

MOV A, R2

MOVC A, @A + DPTR

MOV P1, A

CALL DL1S

INC R2

CJNE R2, #7, LOP1

LOP2:

MOV A, R2

MOVC A, @A + DPTR

MOV P1, A

CALL DL1S

DEC R2

CJNE R2, #0, LOP2

SJMP LOP1

TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

DL1S:

MOV R5, #10

D0: MOV R6, #180

D1: MOV R7, #0

DJNZ R7, $

DJNZ R6, D1

DJNZ R5, D0

RET

END

我先按你的思路给了程序(平方表只有0~9的平方)。。关键在用xlat查表。。。

data segment

ms1 db "the value x is:$"

ms2 db 10,13,"the value Y is:$"

tab db 0,1,4,9,16,25,39,49,56,81;0~9的平方

xval db 3

yval db

data ends

code segment

assume ds:data,cs:code

start:

mov ax,data

mov ds,ax

lea bx,tab

mov al,xval

xlat tab

mov yval, al

lea dx,ms1

mov ah,9;显示X的值

int 21h

mov ah,2

mov dl,xval

add dl,48;转换为字符显示

int 21h

lea dx,ms2

mov ah,9;显示Y的值

int 21h

mov ah,2

mov dl,yval

add dl,48

int 21h

mov ah,4ch;返回DOS

int 21h

code ends

end start

char code s7[10]={};//数组里为 0-9 的七段码数据,这个数组存放在代码段(ROM)里

char show(char m) // m=0,1,9

{ return s7(m); }

main()

{ char h, p ;

while(1){

h=8; //调用时

p=show(h);// 对应(8)的七段码数据提取到 p;

}

}

基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设要发送的信息用多项式C(X)表示,将C(x)左移R位(可表示成C(x)xR),这样C(x)的右边就会空出R位,这就是校验码的位置。用 C(x)xR 除以生成多项式G(x)得到的余数就是校验码。

任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。

建表太麻烦了,我就把中间用到的关键指令给楼主吧(注:我用的是nasm)

mov al,[十六进制值]

mov bx,表首地址

xlat

这三步即可使得al中的结果为对应十六进制数的ASCII码了。

以上就是关于基于AT89s52单片机。请用查表法实现8个彩灯循环点亮,亲,使用查表法哦,在下列程序上改动就好全部的内容,包括:基于AT89s52单片机。请用查表法实现8个彩灯循环点亮,亲,使用查表法哦,在下列程序上改动就好、汇编语言, 1 利用查表法求Y=X2值,设X放在数据区XVAL单元,结果存入YVAL单元,平方表放在TAB开始的单元、试编写一个用查表法查0-9字形段码的子程序,调用子程序前,待查表的数据存放在等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9440590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存