导航:首页 > 操作系统 > 单片机查表程序

单片机查表程序

发布时间:2022-04-28 19:13:44

⑴ 关于单片机查表程序

如下:

ORG 0000H
BUF1 EQU 30H
BUF2 EQU 40H
N EQU 0AH

MOV 30H, #05H ;00~09H,加上这行,就是给定30H单元数据。

MOV R0, #5 ;这里不应该是5, 应该是BUF1

MOV R1, #BUF2 ;以下不变
……

⑵ 单片机查表程序

DEC A

因为要用自然数作为表的偏移,而自然数是从1开始的、表格偏移是从0开始的,所以当然要减1咯。例如要查2的平方,实际就是要查找表格偏移+1的元素。

RL A

因为表格每个元素是两个字节,所以偏移地址要乘以2。还是以查2的平方为例,它对应于表格偏移+1的元素,但因为每个元素占用2个字节,所以地址偏移量实际是(+1)×2 = +2h。

⑶ 单片机查表指令movc什么意思

MOVC指令意思是表示
程序存储器
里的内容和别的
存储单元
进行传送的,主要是用在
累加器
A和程序存储器的
数据传送

单片机的操作语言使用的是
汇编语言
,是一种用于
电子计算机
、微处理器、
微控制器
或其它可编程器件的低级语言。
包括通用数据传送指令MOV、条件传送指令CMOVcc、堆栈操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交换指令XCHG/XLAT/BSWAP、地址或
段描述符
选择子传送指令LEA/LDS/LES/LFS/LGS/LSS等。
(3)单片机查表程序扩展阅读
测试指令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等。
参考资料来源:
网络
-MOVC

⑷ 单片机查表程序编写 急!

org 0000h

mov 30h, #1
mov 31h, #3
mov 32h, #5
mov 33h, #7
mov 34h, #9
mov 35h, #2
mov 36h, #4
mov 37h, #6
mov 38h, #8
mov 39h, #10

call SQRT
sjmp $

;查表法求平方的程序如下。
SQRT:
MOV R0, #30H
MOV R1, #40H
MOV R2, #10
LOOP:
MOV A, @R0
ADD A, #S_TAB - ($ + 4)
MOVC A, @A + PC
MOV @R1, A
INC R0
INC R1
DJNZ R2, LOOP
RET
S_TAB:
DB 1, 4, 9, 16, 25, 36, 49, 64, 81, 100

;完

⑸ 单片机查表

题目已经说了,每个最大允许值,都是双字节的。所以以字节为单位计算偏移量时应当乘以2,

⑹ 单片机查表程序

后一问A的值应为58H。
执行完MOV A,#5H后,PC为52H。
执行MOV A,@A+PC时,会预先将PC指向下一条指令(PC+1),之后再执行加法。参见51指令集手册。

⑺ 单片机:什么是查表程序有什么价值(作用)

有时候一些运算,为了节约单片机的资源,改成直接查询的方式,增加rom但是减小运算时间

⑻ 怎么用单片机编写查表程序

51单片机有两条查表程序,即MOVC A,@A+DPTR ;MOVC A,@A+PC.

⑼ MCS-51单片机查表程序

16和7是查表指令时的PC与数据表格之间的字节数

MOV A ,@R0 ;取R0指向的地址中的数据到A
ANL A,#0FH ;高四位清零
ADD A,#16 ;加16
MOVC A, @A+PC ;查表,表的首地址为绝对地址PC+A

MOVC A,@A+PC就需要1个字节啊

查表指令距离表首地址的长度是字节数

用DPTR的汇编程序:

ORG 0100H
MOV 30H,#12H
MOV 31H,#34H
MOV 32H,#56H
MOV 33H,#78H
LCALL SUBRTE
ORG 1000H
SUBRTE: MOV R0,#30H ; ;置地址指针R0初值
MOV R1,#40H ; ;置地址指针R1初值
MOV R2,#4 ; ;置字节数
LOOP: MOV A,@R0 ; ;取16进制数
ANL A,#0FH ; ;屏蔽高4位
MOV DPTR,#TABLE ; ;
MOVC A,@A+DPTR ; ;查表低4位转换为ASCⅡ码
MOV @R1,A ; ;送结果
INC R1 ; ;修改指针
MOV A,@R0 ; ;从新取16进制数
SWAP A ; ;高4位与低4位互换
ANL A,#0FH ; ;取高4位
ADD A,#7
MOVC A,@A+PC ; ;查表高4位转换为ASCⅡ码
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP
DEC R1
RET
TABLE: DB '012345678'
DB '9ABCDEF'
END

⑽ 单片机 查表程序设计

LTB2:
;-------------------下面是R2R3乘以2
MOV A, R3
CLR C
RLC A
MOV R3, A
XCH A, R2
RLC A
XCH R2, A
;------------------下面是表首地址加上R2R3
MOV DPTR, #TAB2
ADD A, DPL ;(R2R3)+(DPTR)→(DPTR)
MOV DPL, A
MOV A, DPH
ADDC A, R2
MOV DPH, A
;------------------下面是查表,查出两个字节
CLR A
MOVC A, @A + DPTR
MOV R2,A
CLR A
INC DPTR
MOVC A, @A + DPTR
MOV R3,A
RET
----
这个程序,是根据两个字节的数据来查表,查出的,也是两个字节。

如果先弄懂了一个字节的查表程序,看这个程序,也就没有什么难的了。

阅读全文

与单片机查表程序相关的资料

热点内容
快手app快递在哪里查 浏览:473
开发聊天机器人python 浏览:854
程序员入职后无法工作 浏览:951
买海鲜用什么app好 浏览:922
看剧用什么app好 浏览:905
sql命令update 浏览:25
生意不忙怎么解压 浏览:500
欢太健康app在哪里下载 浏览:488
androidtools使用教程 浏览:971
十天突破雅思口语pdf剑9 浏览:295
李诞笑场pdf 浏览:265
自用纸巾做解压笔 浏览:129
银行流水解压码是多少 浏览:895
百度哪个app好用 浏览:316
115广告联盟源码 浏览:494
联通app签到源码 浏览:680
怎么连接另一个服务器的数据库 浏览:742
猫盘洗白命令 浏览:844
168api源码 浏览:967
不同地方的文件服务器如何通信 浏览:599