51单片机查表转换

作者&投稿:前炉 (若有异议请与网页底部的电邮联系)

怎么用单片机编写查表程序?
51单片机有两条查表程序,即MOVC A,@A+DPTR ;MOVC A,@A+PC.

单片机的查表指令(1)MOVC A,@A+PC(2)MOVC A,@A+DPTR怎样理解?
MOVC A,@A+PC ;PC指向下一个地址,用这条指令的话很不方便 但它的优点是不改变PC的状态,缺点是查表指令只能在256之内。而且只能被一段程序所用 MOVC A,@A+DPTR ;指针PDTR及A的内容有关,与该指令存放的地址及常数表格存放的地址无关,所以位置可以在64KB、、、打字真麻烦,不说了。反正记...

单片机查表显示程序的一个问题!~~~
LOOP:MOV DPTR,#8002H ;位码地址为8002H,指针指向位选的外部接口,选定一 ;个数码管 MOV A,#1 MOVX @DPTR,A ;以上两句向位选接口传动数据1,其实是把第一个数码 ;管置高电平,表示选通。MOV A,R0 ;A=RO=0 MOV DPTR,#TAB ;DPTR =TAB表首地址 MOVC A,@A+DPTR ;把TAB+...

单片机:表名TABLE1存放的是对应值,被查值在R5中,查表实现对应转化,数据...
MOVC A, @A + DPTR END

1. 单片机在调试过程中,通过查表将源程序转换成目标程序的过程叫...
单片机在调试过程中,通过查表将源程序转换成目标程序的过程叫(D )。A、汇编 B、编译 C、自动汇编 D、手动汇编

用C语言编写一段程序,使用查表的方式使单片机控制DAC0832产生一个电压...
用C语言编写一段程序,使用查表的方式使单片机控制DAC0832产生一个电压值在0~5V之间的方波。#include<reg52.h> //包含头文件#include<intrins.h>#define uchar unsigned char /

【跪求】单片机编程:利用查表发求1~9的平方值
假设数据在R2中,求出平方后,仍然放在R2。程序如下:MOV A, R2 MOV DPTR, #TAB MOVC A, @A+DPTR MOV R2, A RET TAB: DB 0,1,4,9,16,25,36,49,61,81 END

...不明白是什么意思,51单片机汇编,懂的解释一下
一个地址 因此 MOV DPTR,#DSTAB就 是将表格(或散转程序)的首地址存入DPTR中,然后加上A作为偏转 量,去执行不同的程序段 你一定见过 MOV DPTR,#TABLE 这个查表语句吧 不同的是原来查表 只是得到表格中的一个数值,这一次是得到一个跳转语句 如 A内容为1,则执行AJMP DIS1 ...

51单片机的查表法 的 原理是 什么 ?透彻点给解释下吧!
需要用到那个数的平方根直接sqrt[]里面放上那个数就行了,这就是查表了。这样速度就会快很多。单片机查表用的最多的是数码管的译码工作,就是把0-9的数字转换成对应数码管的段码。还有就是一些需要计算的值。因为单片机的运行速度问题,为了提高速度常用查表法。如果是汇编其实就是把表放在数据区了...

求一个以单片机为核心,组成一个电子时钟系统的程序
MOV BUF+1, A ;转换分钟数据 MOV A, MIN MOV B, #10 DIV AB MOV DPTR,#TABLE ;查表转换 MOVC A, @A+DPTR MOV BUF+2, A MOV A, B MOVC A, @A+DPTR MOV BUF+3, A RET ;字型数据编码表 TABLE: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0...

瞿试13350711152问: 51单片机的查表法 的 原理是 什么 ?透彻点给解释下吧! -
西昌市弥诺回答: 查表,其实就是字面上的意思,先用c语言的形式解释比如用查表法计算平方根,你应该知道用单片机去求平方根的速度肯定是很慢的,但是当我们只需要求1到9的平方根时,我们可以把1到9的平方根直接保存在sqrt[]这个数组里,sqrt[1]=1;sqrt[2]=1.414;这样类推.需要用到那个数的平方根直接sqrt[]里面放上那个数就行了,这就是查表了.这样速度就会快很多.单片机查表用的最多的是数码管的译码工作,就是把0-9的数字转换成对应数码管的段码.还有就是一些需要计算的值.因为单片机的运行速度问题,为了提高速度常用查表法.如果是汇编其实就是把表放在数据区了,通过地址来查表.原理是一样的.希望对你有所帮助.

瞿试13350711152问: 请问用51单片机如何查表 -
西昌市弥诺回答: ADD A, #1 ; 入口地址在 A 中 MOVC A, @A+PC ; 本条指令后有几个字节 A+几 RET ; 如 RET 一字节 A+1 TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6

瞿试13350711152问: MCS - 51单片机查表程序 -
西昌市弥诺回答: ADD A,#16和ADD A,#7都属于查表“修正”指令.这是 MOVC A,@A+PC 这条查表指令必须要用到的修正方式,所以这种修正指令的识别特征就是:它的下条要运行的指令一定是 MOVC A,@A+PC 这样作的目的就是为了当A中的数值与PC中...

瞿试13350711152问: 谁能详细讲解下51单片机中查表的概念?
西昌市弥诺回答: 51单片机中最常用的查表指令是MOVC A,@A+DPTR,它的一般用法为: .. MOV DPTR,#DATATABLE ;初始化查表地址为DATATABLE MOV A,#?? ;设定偏移地址 MOV A,@A+DPTR ;将数据取到寄存器A .. RET DATATABLE: DB 55H,03H,22H,12H,45H ...

瞿试13350711152问: 单片机c语言中,怎么快速把二进制数转成十六进制数 -
西昌市弥诺回答: 直接用查表对应的方式可以实现快速转换. 1、一位数十六进制与二进制对应表 十六进制 二进制 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 2、转换方法:二进制以小数点为分隔,往前往后每四位划为一组,不足四位补0,按上表用对应的十六进制数字代入即可.

瞿试13350711152问: 51单片机汇编码制转换,请各位指点 -
西昌市弥诺回答: ;你的BCD码应该是2位的BCD码吧,这样的话其实就是将2位的十进制数转为二进制数.可以将原BCD码除以16得出高位在寄存器A,低位在寄存器B,则程序如下, ORG 0000H BCD EQU R2;程序以R2寄存器存储要转化的BCD码,你也可...

瞿试13350711152问: 单片机 查表法 -
西昌市弥诺回答: 0100H、0200H表示的都是51单片机程序存贮器里面的地址,51单片机可寻址最大64k程序存贮器、最大64k内存.程序存贮器和内存不是统一编址.PC时程序计数器,主要是记录单片机在ROM的执行位置,一般单片机可以访问64K的地址,也...

瞿试13350711152问: 请问各位大侠,在单片机里面,查表怎么写. -
西昌市弥诺回答: 查表就是把数据事先放在程序存储器里,程序运行时从中取出.所以先要放表.tab:db ** 其中tab叫作表的首地址.51单片机查表指令有两条:movc a,@a+dptr和movc a,@a+pc,前者用得较多.在查表前首先要找到首地址赋给dptr,执行mov dptr,#tab.其后根据表中数据个序号,把序号赋给a,再执行movc a,@a+dptr,则a中即得查表结果.

瞿试13350711152问: 51单片机,查表指令,乘2用移位. -
西昌市弥诺回答: 51单片机查表指令是:MOVC A,@A+DPTR DPTR是表的首地址,第二个A是偏移量.第一个A是取出的结果.乘2相当于左移一位,即:RLC A(C需要先清零) 除2相当于右移一位,即:RRC A(C需要先清零)

瞿试13350711152问: 在51单片机汇编语言中,MOV DPTA,#TABLE 查表指令 怎么个查法 -
西昌市弥诺回答: TABLE(标号)的首地址(标号入口)放到的DPTA!通过查表指令取出表格值!(参考楼上的)


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