51单片机_查表指令_课件.ppt_第1页
51单片机_查表指令_课件.ppt_第2页
51单片机_查表指令_课件.ppt_第3页
51单片机_查表指令_课件.ppt_第4页
51单片机_查表指令_课件.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、0,1,4,9,16,25,三、举例,讲解:TABLE是数据表首地址的标号。 DB是一条伪指令,它的用途是将其后面的数,即05的平方值0,1,4,9,16,25存放在ROM中。 待查的数据保存在R0中,可根据需要进行修改。,三、举例, 数据表(平方表)在ROM中存放的示意图: (注意:这里,标号 TABLE实际上是数据表 的首地址,它是一个具 体的值。只不过在这里, 用TABLE这个标号来 表示更为方便而已。),三、举例,程序执行情况分析: MOV R0,#2;待查2的平方,将R0赋值为2 MOV DPTR,#TABLE;将平方表的首地址送入DPTR中,假 设为1000H(标号为TABLE) MOV A,R0;A=R0=2 MOVC A,A+DPTR;将A与DPTR相加,即1002H(TABLE+2),以该值为地址,到ROM中相应单元去取数。程序中该单元的数据为4,正是2的平方。 (显示程序段) TABLE: DB 0,1,4,9,16,25,三、举例,例2:基于单片机的简易计算器设计 基于单片机的简易计算器.doc,三、举例,例3:用查表方式控制广告灯显示 1 实验任务 利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。,三、举例,2、电路原理图 控制流水灯实验流水灯.DSN 3、设计思路 把控制码建成一个表,而利用MOVCA,AD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论