今天考完了最后一门单片机,大三还有一个课程设计交完就算交代了,下学期来了就大四了,就正儿八经的是学长了,呃,时间匆匆了,朱老先生,你也觉得匆匆了哇,奶牛也觉得匆匆了,得学点儿啥,寻思着最好能留下点儿啥~~~
提前祝各位还是同学的童鞋假期愉快,奶牛最后一个暑假,要充实起来哇~~
今天考完了最后一门单片机,大三还有一个课程设计交完就算交代了,下学期来了就大四了,就正儿八经的是学长了,呃,时间匆匆了,朱老先生,你也觉得匆匆了哇,奶牛也觉得匆匆了,得学点儿啥,寻思着最好能留下点儿啥~~~
提前祝各位还是同学的童鞋假期愉快,奶牛最后一个暑假,要充实起来哇~~
发一套51单片机的资料,是我自己买的板子送的,感觉还挺好的,转了iso分享上来。
用的115网盘(PS:不要骂俺用yunfile,俺也讨厌那东西),呃…
下面的广告各位也看到了哇,呃,如果有愿意的可以自愿捐赠资助本博客,文件我上传了6个来小时,多了就不解释了。
下载地址:http://115.com/file/bec23mx6 #学习光盘(HC6800EM3).iso
每次仔细看遍书都会有收获。今天记录下子程序调用。其实呢,就是lcall或者acall到一个address,然后这时候其实sp指针是有动作的哦,然后通过ret可以将sp指针的变化弹到pc指针,回到程序,这个过程就是程序的调用啦。
- ORG 1000H
- Father: MOV A, #0FFH
- LCALL Son ;调用子程序
- LJMP Father
- Son: ANL A, #0FH ;高位清零
- RET ;返回主程序
过程是这样子的,首先father进程把FFH赋值给累加器A,然后调用子程序,这时候PC=(PC)+3 ; SP=(SP)+1 ;(SP)=(PC)L ; SP=(SP)+1 ;(SP)=(PC)H ; 然后开始跳到子程序son,在RET的时候,SP先弹值到(PC)H,然后SP-1,再弹值到(PC)L,最后SP-1回到初值,这样子,PC就又变为LJMP语句所在的地址了,也就是从LJMP开始继续执行。
PUSH与POP哇,LCALL/ACALL与RET哇一定要成对使用避免错误产生~~~