单片机8051基础编程

来源:百度知道 编辑:UC知道 时间:2024/06/03 11:29:12
用8051单片机汇编语言编写如下功能子程序,并在Keil环境中进行汇编和仿真调试:

1) 双字节数据循环右移 (子程序标号为 ror16)
数据高字节位于地址30H,低字节位于31H。

2)双字节无符号数加法 (子程序标号为 add16)
被加数高字节位于地址30H,低字节位于31H,加数高字节位于32H,低字节位于33H,相加后的结果高字节放在34H,低字节放在35H,进位标志放在PSW的进位标志位C中。

3)双字节无符号数减法 (子程序标号为 subb16)
被减数高字节位于地址30H,低字节位于31H,减数高字节位于32H,低字节位于33H,相减后的结果高字节放在34H,低字节放在35H,借位标志放在PSW的进位标志位C中。

4)软件延时 (子程序标号为 delay10ms)
用循环指令实现10ms软件延时,假设时钟频率为11.0592MHz。
因为没学过汇编,老师突然布置了作业让我有些不知所措,希望有谁能帮助一下 不是答案的不要回答,谢谢

51程序库
http://www.programfan.com/blog/article.asp?id=19116
http://workingon.bokee.com/viewdiary.12218674.html

MCS-51单片机实用子程序库
http://blog.tom.com/fangqidong/article/416.html

你直接找你老师说,我不做这么弱智的题,一对我没用,二对社会也没有,有这时间,还不如好好学学C呢。

没学过,还不知这个作业,不是学校有问题就是老师有病!!

谁说没用啊,写其它程序会用到的。我最近做一个项目就用到双字节数据循环移位。楼主好好学好汇编,汇编蛮好用的。但是要想成高手话,也必须要学汇编和C,两个嵌入写才是强人。别听别人说什么C硬件无关,跨平台之类的,学C就好了。也别听汇编效率高,学汇编就可以。因为真正做东西时候如果只懂C的话你根本就不了解硬件底层的东西,做出的东西也好不到哪儿去,代码冗余量超大。但是如果只懂汇编的话,现在人家都讲究团队开发。团队开发的时候是要用C,这样模块化,开发周期才能缩短,这也是BOSS所希望看到的。