返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 进入论坛

 单片机教程 栏目导航   第一页..单片机入门教程    第二页..单片机c语言   第三页..红外遥控和步进电机    第四页..单片机问答

5.6 查表程序---51系列单片机设计实例教程

查表程序用MOVC指令,用于访问(查)程序存储器中的固定数表,如用于七段LED数码管显示的程序中就用到了查表指令,其程序如下:

   DISPLAY:MOV   R1,#70H;  显示数据首址

            MOV   R5,#OFEH; 扫描端口初值

      PLAY:MOV   A,R5;     将R5中数据移入A中

            MOV   P1,#OFFH; 清原数据

            MOV   P3,A;     扫描端口值

            MOV   A,@R1;    取显示数据

            MOV   DPTR,#TAB;段码表表址放入数据指针

            MOVC  A,@A+DPTR;查段码

            MOV   P1,A;     段码数据放到P1口

            LCALL DL1MS;     数据显示1ms

            INC   R1;        存放显示数据地址加1

            MOV   A,R5;     扫描端口值放入A

            JNBACC 5,ENDOUT;A中值为11011111(B)时结束

            RL    A;         A中数据循环左移一位

            MOV   R5,A;     A中数据放回R5中

            AJMP  PLAY;      跳至PLAY循环

    ENDOUT:MOV   P3,#OFFH; 退出时P3口复回

            MOV   P1,#OFFH; 退出时P1口复回

            RET;             子程序结束

      TAB:DB  OCOH,OF9H,OA4H,OBOH,99H,92H,82H,OF8H,80H,90H,OFFH

;    供阳段码表   “0”“1”“2”“3”“4”“5”“6”“7”“8”“9”“熄灭符”

51系列单片机设计实例教程12题

单片机指令的应用例子

定时器/计数器的基本结构与操作方式

定时器/计数器的SFR

定时器/计数器的工作方式

定时器/计数器的编程和使用

单片机定时器应用举例

中断系统的基本组成

单片机中断系统中的SFR

中断响应的自主操作过程

串行口的基本结构与操作方式

串行口的特殊功能寄存器

单片机串口的工作方式

如果对本文有疑问,请到论坛提问 编辑:51单片机学习网 @ 2009-10-20校对 中国开发板最佳品牌  版权:部分由编辑摘引,权利属原著作人