单片机--单片机数据转换传送程序设计

  1. 实验目的和任务

目的:掌握汇编语言程序设计和调试方法。

任务:了解单片机RAM中的数据操作。

  1. 实验内容

编写程序将片内RAM 30H单元中的8位二进制数转换成10进制数。转换后的结果保存于31H和32H,31H低4位存放个位,高4位存放十位,32H低4位存放百位,高4位为0。

  1. 实验过程和结果

①根据上述实验内容及程序流程图,编写汇编语言源程序,并加上相应注释,注意扩展名为“*.asm”,将其保存。

②运行Keil uVision 开发环境,按照“模块化单片机教学实验平台配套的实验指导书1.2.3 节”介绍的方法建立工程simlab1.uV2,CPU 为AT89S51,不用包含启动文件STARTUP.A51。

③编写好的源程序加入工程simlab1.uV2,并设置工程simlab1.uV2 属性,将其晶振频率设置为12MHz,选择输出可执行文件,仿真方式为“Use Simulator”。

④构造(Build)工程simlab1.uV2。如果输入有误进行修改,直至构造正确,生成可执行程序simlab1.hex 为止。

⑤运行程序,并用存储器观察窗口,观察内部RAM 30H, 31H, 32H 单元的值。

⑥更改30H 单元的值,重新运行程序,观察内部RAM 30H, 31H, 32H 单元的值。

 

程序流程图

观察程序的运行结果并截图;

 

结果示意图

  1. 实验心得

通过本次实验能够根据流程图在自己理解并编写程序,在运行时也出现了很多的问题,在加深对程序命令的理解后,顺利的纠正了自己出现的问题,在一次次的修改后,终于通过了编译,完成了实验的要求。

  1. 附录(代码)

ORG 0000H

START: MOV 30H,#68H   将操作数送给30H

       MOV A,30H     将30H内的内容送给A

       MOV R0,#31H   将31H送给R0

       XCHD A,@R0   将R0和A交换低四位

       SWAP A

       RR A

       RR A

       RR A

       RR A   A循环右移

       INC R0 寄存器R0增1

       XCHD A,@R0   将R0和A交换低四位

       END

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜航一直在

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值