当前位置:首页 > 技术心得 > 正文内容

OKI单片机使用注意事项

xjtudll11年前 (2013-07-20)技术心得9800
1、看门狗

OKI单片机看门狗主要有四大特点:

(1) 无法关闭

(2) 若使能了看门狗中断,看门狗中断无法屏蔽

(3) 可以设定看门狗溢出时间:125ms,500ms,2s和8s

(4) 看门狗第一次溢出不会导致复位,若不喂狗,第二次溢出将会导致IC复位。

由于看门狗无法屏蔽,即使不想用看门狗,也需要定时喂狗,否则将会导致IC定时复位。

2、LTBR清零

LTBR可以清零,但在清零的时候需要注意:必须将IRQ6和IRQ7 的清零放在LTBR清零之后。即必须是:

LTBR = 0;

IRQ6 = 0;

IRQ7 = 0;

如果IRQ6和IRQ7清零放在LTBR清零之前,当LTBR清零后,可能导致IRQ6或IRQ7清零失效。

3、变量初始化

变量的初始化都在启动asm文件里。

看门狗的初始化也在这个文件里。默认是2秒。以ML610Q473.asm为例,请找到这段代码:

clip_image001

如果程序从变量初始化到第一次喂狗时间较长(超过2秒),请修改上面的代码,将看门狗溢出时间改成最长的8秒。代码如下:

clip_image002

4、指令周期

对于OKI单片机来说,即使是同一个指令,若寻址方式不同,指令周期也是不一样的。需要精确延时的时候,需要特别注意这点。

例如:

SB置位指令

(1) 目标地址为Rn时,需要机器周期1个;

(2) 目标地址为直接变量位地址时,需要机器周期2个;

clip_image004

5、编译器编译代码的优化

OKI编译器采用默认设置不优化时,编译之后占用的ROM将较大。

优化选项一般通常推荐Both loop and global optimizations ,因为这个可以减少代码量,同时可以避免一些不必要的优化

clip_image006

6、Specified stack size编译报警

Specified stack size用于分配堆栈的大小,如果没设置,编译器会自动将大小调节为实际使用堆栈大小,但是编译器将会报警,报警内容如下:

Warning W018: Specified stack size is too big, so adjusting to 01B2(434) bytes。

这个警告可以忽略,如果一定要消除这个警告,请参考以下设置:

clip_image008

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/279/

标签: OKI单片机
分享给朋友:

“OKI单片机使用注意事项” 的相关文章

运算放大器芯片输出扩流电路三例(转载)

运算放大器芯片输出扩流电路三例(转载)

原文:http://m.elecfans.com/article/207872.html 工作原理:图1所示为三种集成运算放大器输出电流扩展电路,图(a )为双极性扩展电路;图(b)、图(c)为单极性扩展电路。在图1(a )所示电路中,当输出电压为正时,BG1管工作、BG2管截止;输出电压为负时,B...

运放平衡电阻的作用

运放平衡电阻的作用

运放输入端所接电阻要平衡,目的是使集成运放两输入端的对地直流电阻相等,运放的偏置电流不会产生附加的失调电压。但有些电路对失调电压要求并不高,例如交流音频放大器。有些运放偏置电流很小,即使输入端电阻不平衡也不会对失调电压产生什么影响,这些电路就可以不要求输入端电阻平衡。 以反相放大器来说明平衡电阻的...

Xcode Error:ARC forbids explicit message send of release解决及自定义ARC

Xcode Error:ARC forbids explicit message send of release解决及自定义ARC

首先:Xcode 5中是可以选择是否用ARC的,在有ARC的时候,你完全不需要也不允许做retain,release,你要考虑strong 还是weak。推荐使用ARC。 如果不用ARC,是可以去掉的。在target->build settings里面,有个APPLE LLVM 5.0 La...

Multisim导入MOSFET模型

文章来源:NI官网->在Multisim里导入MOSFET 模型 原文网址:http://digital.ni.com/public.nsf/allkb/E1DA418DD7A5E4A1862574B800219513 问题: 如何在Multisim器件里导入以“.MODEL&rd...

Quartus II计数器仿真:31之后变成字符

Quartus II计数器仿真:31之后变成字符

计数器波形仿真,在执行到31时会突然变成[] ! 之类的符号。如图: 原因: 信号的显示格式选择成了ASCII码,当数值等于ASCII码符号区的时候就会显示为符号了。 解决办法: 1、选择要显示的信号,右键,属性(Properties) 2、将显示格式改成自己所需的,一般是Hexadecimal...

验证datatable是否被修改的问题

问题: 举个例子: 会员管理的修改  我先将会员详细信息存在一个datatable  User里面   然后 界面上的控件与该datatable一一绑定, 在用户保存的时候  验证该datatable是否被修改 来判断是否需要操作数据库 &...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。