历史上的今天
今天是:2025年01月27日(星期一)
2018年01月27日 | EM78系列单片机--查表程序设计
2018-01-27 来源:eefocus
在一个沒有規则性的内容转换中,查表程序是相当有用的,用户可以使用查表程序很快速的得到相关内容的转换。
例:设计一个程序,將如下图所示中的PORT5读到的一个数值,将输入内容做转换,然后输出到PORT6的7段显示器上。

上图中开关关闭,I/O引脚可以得到一个低电位,若是开关开启则I/O引脚可以得到一个高电位。 
图 5.2 数码管八段说明
7段显示器的接线图如上,我們要編一个表做为读入内容以及输出内容的对映。
7段显示器各脚位电位状态 PORT6输出 PORT5输入
H G F E D C B A 16进位数值 10进位数值
0 0 1 1 1 1 1 1 0X3F 0
0 0 0 0 0 1 1 0 0X06 1
0 1 0 1 1 0 1 1 0X5B 2
0 1 0 0 1 1 1 1 0X4F 3
0 1 1 0 0 1 1 0 0X66 4
0 1 1 0 0 1 1 0 0X6D 5
0 1 1 1 1 1 0 1 0X7D 6
0 0 0 0 0 1 1 1 0X07 7
0 1 1 1 1 1 1 1 0X7F 8
0 1 1 0 1 1 1 1 0X6F 9
0 1 1 1 0 1 1 1 0X77 10
0 1 1 1 1 1 0 0 0X7C 11
0 1 0 1 1 0 0 0 0X58 12
0 1 0 1 1 1 1 0 0X5E 13
0 1 1 1 1 0 0 1 0X79 14
0 1 1 1 0 0 0 1 0X71 15
程序清单如下:
PC == 0X02 ;定义。
PORT5 == 5
PORT6 == 6
ORG 0X10 ;设定程序起始位址。
MOV A, @0
IOW PORT6 ;设定PORT6为Output口。
MOV A, @0XFF
IOW PORT5 ;设定PORT5为Input口。
JMP START ;跳转到主程序中。
TABLE:;输入及输出对映表。
ADD PC, 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
AND A, @0X0F
CALL TABLE
MOV PORT6, A
JMP START
史海拾趣
|
1. Senior Mechanical Engineer - SH Description In this position, you will be responsible for the mechanical research and innovative design for notebook and portable PC systems CO-work with PM and/or ID and/or thermal ...… 查看全部问答> |
|
去年本人在DIY论坛发布了一个帖子,想做智能家居,得到许多朋友的关注和帮助,本人表示非常的感谢! 现在本人智能家居的方案已经基本搞完,但是合伙人因为种种原因退出了!现在本人想再次寻找一个新的合作伙伴! 希望对方和我一 ...… 查看全部问答> |
|
请问controlcards的DIMM 100的插座,都是在哪里买的 请问controlcards的DIMM 100的插座,都是在哪里买的,在element14找到了,但是总体价格太贵,有没有什么建议?地址:http://cn.element14.com/jsp/search/productdetail.jsp?sku=1509407买了两个,最后要接近70,唉……… 查看全部问答> |
|
咱们家庭物联网DIY也亮一亮原理图和PCB,之前经过无数修改,终于搞定。由于本人外出一趟,未能及时公布进度,向各位坛友致歉。 虽然已经完成制板,即将发到各位队友手中。但还是发上来,和各位网友一起分享。 因为我们队做的是物联网,所 ...… 查看全部问答> |




