0 求解这古老的汇编语言 - 第2页 - 单片机论坛,单片机技术交流论坛 - 21ic电子技术开发论坛
发新帖我要提问
12
返回列表
打印

求解这古老的汇编语言

[复制链接]
楼主: wang168506
手机看帖
扫描二维码
随时随地手机跟帖
21
wang168506 发表于 2014-11-12 12:27
谢谢大侠,我查资料查不到PT0是什么寄存器?能给指点一下么?还有就是L9处如何实现延时的?实在不好意思 ...

PT0是特殊功能寄存器IP的一个位地址。设中断优先级的,用来设置T0定时中断的优先。

DJNZ指令的功能是:将后面带的单元(工作寄存器R0~R7,或直接寻址字节,好像还有@Ri这种格式)里的值减1,如果变成0(1——0),则接着执行后面的语句;如果不为0,则转向标号处。
当程序运行到L9处时,R7里的值为0。执行第一次,从0变为0FFH,转向L9;第二次,从0FFH变为0FEH;。。。。以此类推。执行到第256次时,从1变为0.。循环结束,继续向下面走。

使用特权

评论回复
22
yangfan19641964| | 2014-11-12 13:34 | 只看该作者
wang168506 发表于 2014-11-12 12:27
谢谢大侠,我查资料查不到PT0是什么寄存器?能给指点一下么?还有就是L9处如何实现延时的?实在不好意思 ...

DJZN是用来控制循环次数的。在本程序中,由于循环体内没有任何执行语句,所以它纯粹就是用来延时的。相当于C语言中的:  for  (i=0;  i<200;  i++);  
在电子产品中,实际应用时,开机时电源不稳定,常常延时一段时间避开等待电源稳定。否则会出错。比如,开机时由于电源的波动在RX管脚上检测到下降沿,不延时的话会直接进入串行接收中断。当然,如果设定了缜密的通讯协议,则不延时也可解决开机干扰问题。

使用特权

评论回复
23
受不了了| | 2014-11-12 13:59 | 只看该作者
楼主要做的是对那产品尽可能的熟悉

使用特权

评论回复
24
wang168506|  楼主 | 2014-11-13 16:54 | 只看该作者
cgkdxx 发表于 2014-11-12 12:42
看看HEX有多大   不大的话不如自己写了

关键是就这点程序  之前的程序不知道是咋写的   其实功能很简单?是个采集板程序   但是相当于读懂源程序再去写程序  本来的设计不是自己的

使用特权

评论回复
25
wang168506|  楼主 | 2014-11-13 22:43 | 只看该作者
yangfan19641964 发表于 2014-11-11 23:46
我似乎搞错了。方式2的波特率是固定的。PCON最高位为0:波特率为fosc/64;  PCON最高位为1时,波特率为fosc ...

真的谢谢你  ,这程序我大概=看懂了   谢谢你  拜谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则