微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 松翰单片机汇编程序的学习

松翰单片机汇编程序的学习

时间:12-01 来源:互联网 点击:
在网络上几乎很难找到汇编程序的学习资料。。本人也是跟着师傅慢慢学习。。才有所了解。

写点小结吧。。对自己有个心理交待,想写小结已经非常久了。。一直没有做到。。。并且目前大家都用C语言来写,我也准备步入C的行列。。。也许有一天我忘了汇编是怎么写的。。还可以回来看看。。。呵呵

我师傅的这种编程方式,架构,我非常喜欢,也让我很快就能上手。。。相信如果你也会有如此的感觉。。。

1.易用,易读,分层。。复制到别的程序中也是很容易的。

2.时序判断积累更快速准确,

下面以一个手控器的程序做介绍:


这是主程序,最前面是一些对程序的描述信息。以及每次变更的记录也可以在这里写上。。我觉得这是必要的,

然后就是所有子程序的调用,主循环也是在这里的。


第一步,应该是要定义各个IO口的功能及命名哦。。如上图。这样的标识。。是不是一目了然?

这里是变量的定义。。所有程序中要用的变量,标志都在这里。。

这里的初始化部分。。。就是各个IO口的初始化以及时间中断等初始化的程序。。


中断!在这程程序中。。最重要的就是时间了。。。时间由中断产生,并累积。。如上图中断我们设置为50微秒(US)。。40次就是2毫秒

。。。这样就可以积累成任意的时间。。。。当然。在中断里不可能积累到所有时间。。下面有一个时间程序

这个时间程序。。就是专门为各种时间积累而生成的。。2毫秒以上的时间都从这里产生。。每个时间设置一个标志位。当标志位为1那么就表示这个时间达到了。。。。

这里是按键和LED显示的程序。。。按键扫描也是用时间主导的。。2毫秒进来一次。当得到某个按键按下时。就是这个按键对应的标志置1,然后退出。。这样,每2毫秒进来一次。。。当有50次。。那么按键已经按了100毫秒。。这100毫秒的时间里我们的程序并没有停下来等,只是2毫秒进来一次。。呵呵。。。其他程序内容进行中。。。在网上学习编程里常常看到很多教程。。都是把程序停止在按键处。等时间到了才算按键成功按下,这样是不对的哦、、、

最后这里是数据输出。或者说是功能实现。。。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top