PersonalCorpus 版 (精华区)
● 将测量结果显示到数码管(III)
AD连续转换问题:在AD程序里每次转换后设置一个R5计数。发现转换0x1E次
,程序就死掉了。
观察堆栈指针(SP):发现程序运行后指针一直上升,直到上限,于是程序死
掉,看来问题的关键就是堆栈指针溢出。估计是子程序
调用时没有返回。检查出在转换子程序中,有些acall
及lcall命令,应该是jmp,ljmp命令。
修改后AD连续转换稳定。
【注意】 子程序调用后一定要以RET返回,否则堆栈指针无法恢复,最终导致溢出。
CALL 和 JMP的区别。注意区别使用。
将A/D连续转换和显示程序连接,显示正常,Oh,yeah~~~~~
美中不足是二极管显示数据有闪动,应该是小case了。下一步显示实际温度值
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.623毫秒