开张了....- -| 回首页 | 2005年索引 | - -不知道该如何评论

51单片机编程注意事项- -

                                      

1. 嵌入汇编语言的非主函数必须放在同主函数不同的文件中。放在同一文件中时,会在程序初始化时产生不能跳转至主函数的错误。

2. 编程中,间接寻址要使用DPTR、PC、R0、R1 寄存器,写入数据时亦同,且不能写入立即数,而应用寄存器,如A。例子如下:

MOV R1, SP
MOV A, @R1
MOV A, #03H
MOV @R1, A

3. 堆栈压入时指针为从低地址到高地址移动,先压入高地址,后压入低地址,堆栈指针所指为空。函数返回后,PC修改为所弹出的地址,由此可通过修改堆栈中的地址,而达成修改函数返回后的运行位置。

4.关于MOVX的使用。
对于DPTR在程序运行中不能直接赋值,由于没有其他寄存器同为16位,想直接赋值只能用直接数。但间接赋值很方便,把寄存器内容MOV给DPH和DPL赋值就可以了。
在MOVX中,P0与P2的值都只是在前半部分跳变一下,后面就不再输出地址了,若想将P2的数值锁存,另需他法。ALE的信号亦同,但需注意,其他命令也会导致ALE的跳变,故不可认为使用MOVX之后,所存器的输出端会一直为P0所输出的低地址。

em...这次就到这里,下次发现什么再续写。

- 作者: songv 访问统计: 2005年08月11日, 星期四 20:39 加入博采

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=2558718

博客手拉手

[2005-08-11]    木兰湖旅游

[2005-08-11]    木兰湖旅游

[2005-08-11]    木兰湖旅游

[2005-08-11]    房贷:鸡肋还是肥肉?

[2005-08-11]    File (de)compression

回复

- 评论人:waterside   2005-09-12 12:17:46   waterside的博客  

我们单片机的课是选修,我没选。但是前些日子在忙的电子竞赛要用,于是弄了弄51点片机的编程。

- 评论人:大笨猪   2005-08-25 22:44:31   

学这个干吗?上学期刚学了这个。

评论内容: