单片机查表指令

单片机查表指令

ID:39164602

大小:384.81 KB

页数:13页

时间:2019-06-26

单片机查表指令_第1页
单片机查表指令_第2页
单片机查表指令_第3页
单片机查表指令_第4页
单片机查表指令_第5页
资源描述:

《单片机查表指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、模块七查表指令在日常生活中,很多场合需要单片机控制电路做复杂的显示或运算。如大型的LED中文显示屏,复杂的数据计算等。通常的做法是:事先做好数据库(比如汉字库),然后让单片机通过“查表”的方式调用数据库中的内容进行相应的显示或其他操作。一、指令讲解51单片机指令系统中,有两个查表指令。MOVCA,@A+PCMOVCA,@A+DPTRMOVC—程序存储器ROM向累加器A传送数据的指令A—累加器,用于保存临时数据PC—程序计数指针,PC的值等于当前要执行的指令的存放地址(举例)DPTR—16位寄存器,在查表程序中,DPTR的值一般等于待查数据表的首地址。@—表示间接寻址方式。此条指令的含义是将

2、累加器A中的值与寄存器DPTR中的值相加,相加后的结果是程序存储器ROM中的某个存储单元的地址。将这个地址中的数据传送到A中保存起来。二、查表程序格式在使用时,将DPTR赋值为欲查数据表的首地址,累加器A赋值为要查的数据,即可实现查表功能,查得的数据保存在A中。通用格式如下:MOVDPTR,#TABLEMOVCA,@A+DPTR……(其他程序段)TABLE:DB……(数据库)三、举例例1:将累加器A中的数(0~5),用查表的方法求平方值。MOVR0,#待查值MOVDPTR,#TABLEMOVA,R0MOVCA,@A+DPTR(显示程序段……)TABLE:DB0,1,4,9,16,25三、举

3、例讲解:①TABLE是数据表首地址的标号。②DB是一条伪指令,它的用途是将其后面的数,即0~5的平方值0,1,4,9,16,25存放在ROM中。③待查的数据保存在R0中,可根据需要进行修改。三、举例④数据表(平方表)在ROM中存放的示意图:(注意:这里,标号TABLE实际上是数据表的首地址,它是一个具体的值。只不过在这里,用TABLE这个标号来表示更为方便而已。)三、举例⑤程序执行情况分析:MOVR0,#2;待查2的平方,将R0赋值为2MOVDPTR,#TABLE;将平方表的首地址送入DPTR中,假设为1000H(标号为TABLE)MOVA,R0;A=R0=2MOVCA,@A+DPTR;将

4、A与DPTR相加,即1002H(TABLE+2),以该值为地址,到ROM中相应单元去取数。程序中该单元的数据为4,正是2的平方。(显示程序段……)TABLE:DB0,1,4,9,16,25三、举例例2:基于单片机的简易计算器设计基于单片机的简易计算器.doc三、举例例3:用查表方式控制广告灯显示1.实验任务利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。三、举例2、电路原理图控制流水灯实验流水灯.DSN3、设计思路把控制码建成一个表,而利用MOVCA,@A+DPTR做取码的操作,就可方便地处理一些复杂的控制动作三、举例4、流程图三、举例5、程

5、序段查表指令控制流水灯.txt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。