EM78系列单片机--查表程序设计
扫描二维码
随时随地手机看文章
在一个沒有規则性的内容转换中,查表程序是相当有用的,用户可以使用查表程序很快速的得到相关内容的转换。
例:设计一个程序,將如下图所示中的PORT5读到的一个数值,将输入内容做转换,然后输出到PORT6的7段显示器上。
上图中开关关闭,I/O引脚可以得到一个低电位,若是开关开启则I/O引脚可以得到一个高电位。
图5.2数码管八段说明
7段显示器的接线图如上,我們要編一个表做为读入内容以及输出内容的对映。
7段显示器各脚位电位状态PORT6输出PORT5输入
HGFEDCBA16进位数值10进位数值
001111110X3F0
000001100X061
010110110X5B2
010011110X4F3
011001100X664
011001100X6D5
011111010X7D6
000001110X077
011111110X7F8
011011110X6F9
011101110X7710
011111000X7C11
010110000X5812
010111100X5E13
011110010X7914
011100010X7115
程序清单如下:
PC==0X02;定义。
PORT5==5
PORT6==6
ORG0X10;设定程序起始位址。
MOV A,@0
IOWPORT6;设定PORT6为Output口。
MOV A,@0XFF
IOWPORT5;设定PORT5为Input口。
JMPSTART;跳转到主程序中。
TABLE:;输入及输出对映表。
ADDPC,A
RETL@0X3F
RETL@0X06
RETL@0X5B
RETL@0X4F
RETL@0X66
RETL@0X6D
RETL@0X7D
RETL@0X07
RETL@0X7F
RETL@0X6F
RETL@0X77
RETL@0X7C
RETL@0X58
RETL@0X5E
RETL@0X79
RETL@0X71
START:
MOV A,PORT5
ANDA,@0X0F
CALLTABLE
MOV PORT6,A
JMPSTART