![]() |
![]() |
欢迎来到51单片机学习网www.51c51.com 专业致力于8051单片机编程技术推广,(深圳学林电子有限公司)累计5年点击超过500万! | |
| 系列试验之 手把手单片机入门教程 51单片机学习网版权所有 未经同意不得转载 | 第一个试验:点亮一个发光管 | 第七个试验: |
| 第二个试验:闪烁的发光管 | 第八个试验:小键盘控制的数字显示 | |
| 第三个试验:认识声音 | 第九个试验:小键盘控制的花样彩灯 | |
| 第四个试验:小喇叭发出救护车的声音 | 第十个试验:100位计数器 | |
| 第五个试验:跟我学作加减乘除法 | 第十一个试验:试验14-通信 | |
| 第六个试验:认识数码管 | 第十二个试验:单片机唱歌---“祝你平安” | |
| 部分章节摘自平凡教程)广大用户如有更多编写好的应用源程序欢迎投稿! | ||
|
第五个试验:跟我学作单片机运算加减乘除法 看到这个题目,呵呵, 可能好多人要打石头哥的板子;7+5等于几啊?这还用你教? 但是单片机里,数字是用 二进制来表示的:这个就有一点拗口啦/ 虽然我们的教材到这里你可能还没有学会一个指令。 但是我的意思是首先作几个试验,提高大家对单片机的兴趣。 具体的指令太多了, 不过还好,一般我们只需要记住常用的10-20条就够了。 OK,现在开始动手。 我们写入以下两条指令 MOV P1,#23H 这个程序大家想必看得懂, 就是把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 的用法, 相信经过这一节的学习, 大家对这几个指令的印象会非常深刻了。同时让我们对于计算机的数字有了一个 深刻的认识。
|