Ⅰ 单片机查表
题目已经说了,每个最大允许值,都是双字节的。所以以字节为单位计算偏移量时应当乘以2,
Ⅱ 单片机 查表法
0100H、0200H表示的都是51单片机程序存贮器里面的地址,51单片机可寻址最大64k程序存贮器、最大64k内存。程序存贮器和内存不是统一编址。
PC时程序计数器,主要是记录单片机在ROM的执行位置,一般单片机可以访问64K的地址,也就是需要16位的字宽
单片机编址是16进制,看看编程器里怎样表示的。
ORG 0100H 表示程序从这里开始执行
DPTR是一个16位的寄存器,对这个数据寄存器赋值时,对于寄存器寻址方式,我们是把它拆分为高八位,低八位来访问的
由于它是16位,所以我们可以用它来访问64K的ROM空间,也可以访问64K的外表RAM空间
ORG 0200H 表示存放数据的地址从这里开始,这个地址是程序存贮器地址,不可以在运行中改变。
SQU是查表子程序的编号,主程序调用这段查表程序需 LCALL SQU,这时候单片机的pc指向0101h,单片机从0101h开始执行指令 。
Ⅲ 51单片机的查表法的原理是什么
查表法,就是将你的一些固定的数据存储到程序存储器中,当你的程序中需要这些数据时,movc指令读取这些数据。举例假设你的系统要用数码管显示0-9这10个数字,而假设这10个数字各自的断码(点亮时io口相应的电平)分别为
0xC0, //"0"
0xF9, //"1"
0xA4, //"2"
0xB0, //"3"
0x99, //"4"
0x92, //"5"
0x82, //"6"
0xF8, //"7"
0x80, //"8"
0x90, //"9"
你有两种方法存储这时个数据,一种是在数据区用十个字节存储这些数据(数据常量),但这会占用你的数据存储器空间。另外一种方法就是把这些不变的数放到程序空间中,到需要的时候到程序空间中读取,这便是查表。也就是在程序空间中建立一个表,假设你需要就9这个数值的断码,就去表中查看一下9对应的数据。
Ⅳ 单片机查表指令movc什么意思
MOVC指令意思是表示程序存储器里的内容和别的存储单元进行传送的,主要是用在累加器A和程序存储器的数据传送。
单片机的操作语言使用的是汇编语言,是一种用于电子计算机、微处理器、微控制器或其它可编程器件的低级语言。
包括通用数据传送指令MOV、条件传送指令CMOVcc、堆栈操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交换指令XCHG/XLAT/BSWAP、地址或段描述符选择子传送指令LEA/LDS/LES/LFS/LGS/LSS等。
(4)单片机取表扩展阅读
测试指令BT、位测试并置位指令BTS、位测试并复位指令BTR、位测试并取反指令BTC、位向前扫描指令BSF、位向后扫描指令BSR等。
加法指令ADD/ADC、减法指令SUB/SBB、加一指令INC、减一指令DEC、比较操作指令CMP、乘法指令MUL/IMUL、除法指令DIV/IDIV、符号扩展指令CBW/CWDE/CDQE、十进制调整指令DAA/DAS/AAA/AAS、逻辑运算指令NOT/AND/OR/XOR/TEST等。
无条件转移指令JMP、条件转移指令Jcc/JCXZ、循环指令LOOP/LOOPE/LOOPNE、过程调用指令CALL、子过程返回指令RET、中断指令INTn、INT3、INTO、IRET等。
Ⅳ 51单片机的查表法 的 原理是 什么 透彻点给解释下吧!
原理,很简单。
就是你开饭店,事先,你得准备好多种菜品的材料,放在冷库。
顾客上门,点什么,你马上就能做什么。不要现出去买。
Ⅵ pic16f73单片机查表方式(汇编的)
跟51的完全不一样,PIC单片机没有专用的查表指令。一般都是用RETLW指令来做查表,思路是利用子程序带值返回的这一方式来实现。具体是在主程序中先取出表数据地址放入W,接着调用子程序,子程序的第一条指令将W置入PC,则程序跳到数据地址的地方,再由“RETLW”指令将数据返回到主程序。
ORG 0100H
BIAO: ADDWF PCL,F
RETLW 数据1
RETLW 数据2
RETLW 数据3
……
RETLW 数据n
Ⅶ 51单片机怎样读取DW表格里的16位数
查表指令,功能很强。
看到16×16点阵的LED显示屏了吧?每个汉字都是用DW(或DB)存放的32字节表格数据;
都是用MOVC A,@A+DPTR指令,8位、8位的从ROM中取出,再放在8位的RAM单元里面。
你再查查这方面的资料。
-------------------------
修改如下:
MOV R2, #0 ;先设定数据指针.
MOV A, R2 ;由R2指定表中数据.
ADD A, R2 ;乘以2,因为每个数据是2字节.
MOV DPTR, #TABLE ;指向表格.
MOVC A, @A+DPTR ;读取一字节.
MOV 30H, A ;将高8位装入30H
MOV A, R2 ;重新取来数值指针.
ADD A, R2 ;乘以2,因为每个数据是2字节.
INC A ;地址加1
MOVC A, @A+DPTR ;再读第低8位.
MOV 31H, A ;将低8位装入31H
SJMP $
TABLE: DW 1234H, 5678H
程序的结果:
当R2=0,就把1234H送到30H和31H;
当R2=1,就把5678H送到30H和31H。
Ⅷ 用单片机汇编语言制作广告灯。利用取表的方法。
ORG0000H
MOVDPTR,#TAB
LP1:
MOVR2,#4
LP:MOVA,R2
MOVCA,@A+DPTR
MOVP0,A
DJNZR7,$
DJNZR6,$-2
DJNZR2,LP
SJMPLP1
TAB:
DB0,18H,24H,42H,81H
END
Ⅸ PIC 的单片机如何实现查表功能
PIC系列单片机的查表程序可以利用子程序带值返回的特点来实现。
具体是在主程序中先取出表数据地址放入W,接着调用子程序,子程序的第一条指令将W置入PC,则程序跳到数据地址的地方,再由“RETLW”指令将数据返回到主程序。