深圳市华胄科技有限公司 >> MCU专题 >> 8051单片机


51单片机基础实验----查表程序设计



提交者 阳光总在风雨后  在  2008-7-15 15:59:10 

上一篇 下一篇
实验目的


1、了解掌握查表程序结构设计方法 。


2、熟悉理解查表指令:MOVC A,@A+DPTR \MOVC A,@A+PC


实验内容及步骤:


MCS-51指令系统中有专用的查表指令:MOVC A,A+DPTR和MOV A,A+PC


MOVC A,A+DPTR指令,DPTR作为基址寄存器时,其值为16位而且可根据需要设计,故可用于在64KROM范围内查表。编写查表程序时,首先把表的首址送入DPTR中,再将要查找的数据序号(或下表值)送入A中,然后就可以使用该指令进行查表操作,并将结果送累加器A中。


MOVC A,A+PC指令,PC作为基址寄存器时,其值由指令的位置确定,它只能设在查表指令操作码下的256个字节范围内。编写查表程序时,首先把查表数据的序号送入A中,再把从查表指令到表的首地址间的偏移量与A值相加,然后使用该指令进行查表操作,并把结果送累加器A中。


在片内RAM的30H起始的单元中存放2位十六进制数,将其转换为ASCⅡ码,并将其存入40H为首的片内RAM中。用查表法编写程序。


分析:由于十六进制数是从0~F,对应的ASCⅡ码为30H~46H,每一个单元存放的16进制数,转换为ASCⅡ码后分别存入2个单元,低位存低地址,高位存高地址。用ANL A ,#0FH 分别取高4位和低4位。 进行查表转换成相应的ASCⅡ码。


程序如下:


ORG 0000H


LJMP SUBRTE


ORG 1000H


SUBRTE:MOV R0 ,#30H ;置地址指针R0初值


MOV R1 ,#40H ;置地址指针R1初值


MOV R2 ,#4 ;置字节数


LOOP: MOV A ,@R0 ;取16进制数


ANL A,#0FH ;屏蔽高4位


ADD A,#16 ;


MOVC A, @A+PC ;查表低4位转换为ASCⅡ码


MOV @R1,A ;送结果


INC R1 ;修改指针


MOV A,@R0 ;从新取16进制数


SWAP A ;高4位与低4位互换


ANL A,#0FH ;取高4位


ADD A,#7


MOVC A,@A+PC ;查表高4位转换为ASCⅡ码


MOV @R1,A


INC R0


INC R1


DJNZ R2,LOOP


DEC R1


RET


TABLE:DB'012345678'


DB'9ABCDEF'


END



单片机教程,五系列(55讲)电子书全集下载

论坛精选:
单片机教程,MCS51单片机从零开始 第一讲:初识单片机
http://bbs.huazhoucn.com/Topic.aspx?id=2539
单片机教程,MCS51单片机从零开始 第二讲:MCS-51单片机简述
http://bbs.huazhoucn.com/Topic.aspx?id=2540
单片机教程,MCS51单片机从零开始 第三讲:单片机相关常用名词解释
http://bbs.huazhoucn.com/Topic.aspx?id=2541
单片机教程,MCS51单片机从零开始 第四讲:计算机中数的表示及运算
http://bbs.huazhoucn.com/Topic.aspx?id=2542
单片机教程,MCS51单片机从零开始 第五讲:常用逻辑电路
http://bbs.huazhoucn.com/Topic.aspx?id=2544
单片机教程,MCS51单片机从零开始 第六讲:51单片机的结构及其组成
http://bbs.huazhoucn.com/Topic.aspx?id=2545
单片机教程,MCS51单片机从零开始 第七讲:51单片机的引脚
http://bbs.huazhoucn.com/Topic.aspx?id=2546
单片机教程,MCS51单片机从零开始 第八讲:8051单片机I/O引脚工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2547
单片机教程,MCS51单片机从零开始 第九讲:8051单片机的存储器结构
http://bbs.huazhoucn.com/Topic.aspx?id=2548
单片机教程,MCS51单片机从零开始 第十讲:编码及译码器工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2549
单片机教程,MCS51单片机从零开始 第十一讲:存储器的存储原理
http://bbs.huazhoucn.com/Topic.aspx?id=2550
单片机教程,MCS51单片机从零开始 第十二讲:51单片机的特殊功能寄存器
http://bbs.huazhoucn.com/Topic.aspx?id=2551
单片机教程,MCS51单片机从零开始 第十三讲:51单片机CPU的内部结构
http://bbs.huazhoucn.com/Topic.aspx?id=2552
单片机教程,MCS51单片机从零开始 第十四讲:定时器/计数器的基本结构及工作原理
http://bbs.huazhoucn.com/Topic.aspx?id=2553
单片机教程,MCS51单片机从零开始 第十五讲:51单片机的中断系统
http://bbs.huazhoucn.com/Topic.aspx?id=2554
单片机教程,MCS51单片机从零开始 第十六讲:51单片机的复位
http://bbs.huazhoucn.com/Topic.aspx?id=2555
单片机教程,MCS51单片机从零开始 第十七讲:51单片机执行指令的过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第十八讲:51单片机的延时及时序分析
http://bbs.huazhoucn.com/Topic.aspx?id=2557
单片机教程,MCS51单片机从零开始 第十九讲:汇编语言基础
http://bbs.huazhoucn.com/Topic.aspx?id=2558
单片机教程,MCS51单片机从零开始 第二十讲:汇编语言及汇编过程
http://bbs.huazhoucn.com/Topic.aspx?id=2556
单片机教程,MCS51单片机从零开始 第二十一讲:汇编程序的基本结构
http://bbs.huazhoucn.com/Topic.aspx?id=2560
单片机教程,MCS51单片机从零开始 第二十二讲:51单片机的寻址方式
http://bbs.huazhoucn.com/Topic.aspx?id=2561
单片机教程,MCS51单片机从零开始 第二十三讲:数据传送类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2562
单片机教程,MCS51单片机从零开始 第二十四讲:算术运算类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2563
单片机教程,MCS51单片机从零开始 第二十五讲:逻辑运算及移位指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2564
单片机教程,MCS51单片机从零开始 第二十六讲:控制转移类指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2565
单片机教程,MCS51单片机从零开始 第二十七讲:布尔变量操作指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2566
单片机教程,MCS51单片机从零开始 第二十八讲:伪指令分析
http://bbs.huazhoucn.com/Topic.aspx?id=2567

1 楼  提交者:Guest 在 2008-7-15 18:02:57
又要回啊?有点麻烦!!!
2 楼  提交者:韩敏捷 在 2008-7-18 20:57:08
那就发扬美德吧
3 楼  提交者:Guest 在 2008-7-19 8:58:06
ok!
4 楼  提交者:Guest 在 2008-7-19 14:28:49
发扬美德
5 楼  提交者:Guest 在 2008-7-20 9:18:07
无内容
6 楼  提交者:月华星光 在 2008-7-20 11:09:40
7 楼  提交者:Guest 在 2008-7-20 13:49:04
发扬美德  支持下
8 楼  提交者:wxz0504274 在 2008-7-21 17:14:20
功能大会
9 楼  提交者:ashui 在 2008-7-24 16:21:34
加油
10 楼  提交者:dataie 在 2008-7-24 16:41:50
dbf
11 楼  提交者:Guest 在 2008-7-24 20:32:51
就是
12 楼  提交者:Guest 在 2008-7-28 13:36:17
发扬美德
13 楼  提交者:springkiyo 在 2008-7-29 18:30:02
kankan 
14 楼  提交者:春春 在 2008-7-29 21:49:56
看看
15 楼  提交者:金麟 在 2008-7-30 17:02:18
wo yao kan
16 楼  提交者:Guest 在 2008-7-31 14:05:45
wo  yi kan le
17 楼  提交者:Guest 在 2008-7-31 16:05:12
kk
18 楼  提交者:陈俊旭 在 2008-7-31 20:27:53
ths
19 楼  提交者:xjl 在 2008-8-1 9:27:30
20 楼  提交者:Guest 在 2008-8-7 10:46:28
回下~~
21 楼  提交者:Guest 在 2008-8-12 8:33:30
无内容
22 楼  提交者:Guest 在 2008-8-22 18:57:35
sdfs
23 楼  提交者:Guest 在 2008-8-23 1:19:43
24 楼  提交者:Guest 在 2008-8-25 9:36:00
25 楼  提交者:Guest 在 2008-8-27 15:16:37
dddddddddddddddddddddddd
26 楼  提交者:Guest 在 2008-8-28 16:39:49
trrrt
27 楼  提交者:Guest 在 2008-8-29 10:40:01
huiba
28 楼  提交者:Guest 在 2008-9-1 11:39:13
先顶了
29 楼  提交者:Guest 在 2008-9-2 14:43:20
附录中给出了MCS-51和80196的指令表和指令编码表
30 楼  提交者:Guest 在 2008-9-9 15:43:20
kan k
上一篇 下一篇
当前第〖1〗页 共有4页 转到第 1 2 3 4