51单片机的查表法 的 原理是 什么 ?透彻点给解释下吧!
答案:2 悬赏:60
解决时间 2021-02-10 13:20
- 提问者网友:无心恋土
- 2021-02-09 16:30
51单片机的查表法 的 原理是 什么 ?透彻点给解释下吧!
最佳答案
- 二级知识专家网友:茫然不知崩溃
- 2021-02-09 17:33
查表,其实就是字面上的意思,先用c语言的形式解释比如用查表法计算平方根,你应该知道用单片机去求平方根的速度肯定是很慢的,但是当我们只需要求1到9的平方根时,我们可以把1到9的平方根直接保存在sqrt[]这个数组里,sqrt[1]=1;sqrt[2]=1.414;这样类推。需要用到那个数的平方根直接sqrt[]里面放上那个数就行了,这就是查表了。这样速度就会快很多。单片机查表用的最多的是数码管的译码工作,就是把0-9的数字转换成对应数码管的段码。还有就是一些需要计算的值。因为单片机的运行速度问题,为了提高速度常用查表法。如果是汇编其实就是把表放在数据区了,通过地址来查表。原理是一样的。希望对你有所帮助。
全部回答
- 1楼网友:我颠覆世界
- 2021-02-09 18:54
给你讲一句最“透彻”的话吧,所谓的51单片机的“查表法”其实就是一种通过特定指令:
movc a, @a+pc
movc a, @a+dptr
去特定存储区(注意,是程序存储单元,不是内部和外部ram单元)读数据而已。
对于 movc a, @a+pc 指令,是以当前pc(程序计数器值)作为基址寄存器,a的内容作为无符号数和pc内容(下一条指令的起始地址)相加后得到一个16位的地址,由该地址指出的程序存贮器单元内容送到累加器a。
而对于 movc a, @a+dptr 指令,则是以dptr作为基址寄存器,a的内容作为无符号数和dptr的内容相加得到一个16位的地址,由该地址指出的程序存贮器单元的内容送到累加器a。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |