目录
一、汇编语言之关于51单片机的延时亮灯
如上图,是点亮一个LED并使它闪烁的汇编程序下图是我对汇编语言做出的解释
问题:怎么使该程序延时变为1s左右?
从上图我们可以看见目前延时为251ms左右。要想使延时变长,我们可以从增加循环次数,比如三重循环。
我们可以先在Edsim51上仿真,下面我尝试的1s延时
1点击Step。2双击第一句汇编语言,设置断点。3Run,我们能在顶部看见运行时间
可以看见,延时为1s13ms左右,接近1s。若想要更精确的,就需要更加精确的计算。
二、查表法求平方数
下面给出keil中的代码
代码编写好以后,调试,并调出Memory窗口
然后再run,查看40H地址中的平方数是不是我们所要查找的平方数(40H地址中的数为16进制的数,还需要我们自己转换为10进制)。
由图我们可以看出来,40H地址中存放了64这个16进制数,转换为10进制就是100,说明我们这个是正确的。
查平方数参考自b站8051汇编查表程序与DB伪指令 ---老头学汇编之十一_哔哩哔哩_bilibili
三、普中单片机实验开发板lED闪烁实验
打开keil
第三步建议先Ctrl+N创建一个文件夹(最好是能一眼看出来这个文件夹是干嘛的,以后每个项目都可以这么做),然后再打开输入你这个项目的名称并保存。
代码,注意P2口中的P是大写并且只能大写。
为什么用P2口而不用其他口,因为在此处使用的开发板中只有P2口与LED连接。
其中,STC-ISP软件既可以帮助我们来将代码烧录到开发板中,又可以帮助我们写延时函数。
写延时函数操作如下
其中定时长度可以随便更改,它就会给你对应得延时函数。但其它得地方别更改(在使用普中
STC89C52RC开发板得前提下)代码写完之后。打开此软件
第二步中的打开程序文件,就是打开你在keil中写的那个代码生成得HEX文件(记得在编译代码时就把HEX文件生成了)。
生成HEX文件操作如下(这hex文件会默认保存在你项目文件夹下面)
最终,我们就可以在开发板上看见一个led灯闪烁了。
四、查看代码逻辑图(高低电平变化)
操作如下
其中,可以看见我用的P2_0并没有用P2,这是因为这逻辑分析仪似乎不能将P2口整体作为一个分析对象,所以只能将P2的最低口写出来单独分析(本来我们这个LED闪烁只用到了P2_0管脚)。所以分析
P2_0管脚时,我们需要将P2整体给注释掉。
最后点击run,就能看见逻辑图了。
点亮led灯参考B站[6-2] 矩阵键盘密码锁_哔哩哔哩_bilibili
-
总结
通过本次实验,对汇编的理解加深了(虽然还是不太理解,汇编太难了)。掌握了一部分keil工具的用法。了解了本次使用的开发板的皮毛。