第五个试验:跟我学作单片机运算加减乘除法----51单片机汇编语言试验教程

看到这个题目,呵呵, 可能好多人要打石头哥的板子;7+5等于几啊?这还用你教? 但是单片机里,数字是用

二进制来表示的:这个就有一点拗口啦/ 

虽然我们的教材到这里你可能还没有学会一个指令。 但是我的意思是首先作几个试验,提高大家对单片机的兴趣。 

具体的指令太多了, 不过还好,一般我们只需要记住常用的10-20条就够了。 

OK,现在开始动手。 

我们写入以下两条指令

MOV P1,#23H
END

这个程序大家想必看得懂, 就是把23H这个16进制数送往P1口(即P1.0--P1.7)

汇编得到HEX烧写后

然后把芯片插入实验卡座; 可以看到P1.0-1.7的状态为;

P1.0 灭

P1.1 灭

P1.2 亮

P1.3 亮

P1.4 亮

P1.5 灭

P1.6 亮

P1.7 亮

(倚天开发套件运行照片)

 

为什么会这样呢?

注意,因为我们的P1口的8个灯,都是一端接正5V,一端接端口的, 那么呢端口为低电平0。发光管亮。高电平不亮。

从高往低排列(从1.7---1.0)

那么就是00100011。这个数字就是23H啦。什么? 你不信?

好了,请您接着看!00100011二进制呢就是100011, 按照数学的原则前面的0不算数。

跟我打开电脑的程序/附件/计算器 ,然后把计算器设置为科学型。然后点击二进制, 输入100011

然后点击一下十六进制可以看到数字变成了23。这就是我们输入的23H了,

练习:25H+36H?

程序如下:

MOV R0,#25H;将立即数25送寄存器R0

MOV A,#36H;将立即数36送累加器A

ADD A,R0;将R0与A的内容相加,结果在A

NOP;空操作

POV P1,A;将累加器A的值送P1口。

END;结束

将程序编译以后烧入片子运行;可以看到灯的状态为

P1.0 灭

P1.1 灭

P1.2 亮

P1.3 灭

P1.4 灭

P1.5 亮

P1.6 灭

P1.7 亮

就是二进制数01011011。我们还是用上面的计算器来看看结果对不对:先将计算器设置为16进制,输入

25+36= 结果为5E

然后呢再点击二进制结果为1011110,可见结果完全正确〉

大家接着可以自行练习

减法指令SUBB

乘法指令 MUL

除法指令 DIV

的用法, 相信经过这一节的学习, 大家对这几个指令的印象会非常深刻了。同时让我们对于计算机的数字有了一个

深刻的认识。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值