NEC Electronics (China) NEC ELECTRONICS (CHINA)
日电电子 NEC
主  页
应  用
产  品
技  术
支  持
购  买
最  新  消  息
关  于  我  们
header
产品名称搜寻
关键字搜寻
文档搜寻
参数搜寻
    网页指南  联系我们  

位操作注意事项

内容

    
FAQ-ID = bit-nnnn
0001: 位操作注意事项
0002: 在设置端口模式前,忽略数据输出
0003: uPD75P0016端口操作
bit
-0001
位操作注意事项
Q1
关于位操作,一般有哪些注意事项?
A1
下列一般注意事项针对4位 75X 系列至32位 V850系列。

- 位操作指令
- 端口的位操作

专用硬件不能识别微控制器位操作,但可以通过“读-修改-写”完成。
操作过程如下。
(1) 按每次4-/8位读取数据 (读取长度取决于CPU)。
(2) 对读取数据的目标位进行设置/复位。
(3) 以每次4-/8-位写回位处理数据。

正常程序处理期间,没有特别要求,但在使用位操作硬件(如端口)时,需要上述注意事项。
除了某些设备外,要允许端口位操作,电路配置应该是:当端口用作输出时读取输出锁存数据;而当端口用作输入时读取外部引脚状态。

例如,假定使用8位I/O端口P20 ~ P27。
该端口总是以8位单元访问。
当该端口进行位操作时,读取8位数据。
此时当指定1位输出时读取输出锁存数据,而当指定1位输入时读取引脚状态。

 
因此可以以组合的方式读取数据,而可以从不同的位置读取数据的每一位。
对该数据中的目标位进行处理,结果以8位形式写回输出锁存器。
换句话说,将外部引脚状态写回端口(该端口指定为输入端口)的输出锁存器。
因此,对于指定为输入的端口需要注意上述事项。

在下面显示的问题中,没有指定为输出的端口的位操作可能对非目标位会产生意想不到的影响,因此也需要注意上述事项。

这个信息对您有用吗 ?
back to top  

bit
-0002
在设置端口模式前,忽略数据输出。
Q1
为了防止在设置端口模式(I/O设置)时出现如下所示的异常输出,在将数据的每1位写入端口锁存器后,再设置端口模式,但并没有得到预期的输出。

P2.3 = 0;
P2.2 = 1;
P2.1 = 0;
PM2 = 0xF1;

在第一次设置PM后,设置每1位时,产生了预期的输出。
PM设置前的端口模式设置是否该忽略?
A1
问题是数据被按位设置到端口输出锁存器。
在这个例子中使用了位操作指令,从而读取到端口数据、执行位操作,并将结果写回。

如果此时端口为输入模式,则读取外部引脚,并根据P2.1 = 0的执行情况将P2.2清零。
这个信息对您有用吗 ?
back to top  

bit
-0003
uPD75P0016端口操作
Q1
当PORT22被设置为时钟输出时,有时输出时钟但有时即使有电源也并不输出时钟(大约50%的概率)。
然而在连接了振荡器探头时,不输出时钟的概率会上升到95%以上。 
以下是对uPD75P0016初始化处理的部分软件。
        MOV    A, #0011B
        MOV    PCC, A
        SET1    MBE
        SEL    MB15
        MOV    A, #0001B
        MOV    CLOM, A
        MOV    A, #0H
        MOV    PORT2, A
        MOV    PORT3, A
        SET1    P2.3
        MOV    PORT4, A
        MOV    PORT5, A
        MOV    PORT6, A
        MOV    PORT7, A
        MOV    XA, #10000100B
        MOV    PMGB, XA
        MOV    XA, #0
        MOV    PMGC, XA
A1
使用Set指令对端口2的第3位进行的操作,影响了时钟输出。

处理方法:
使用MOV指令而不使用SET1指令进行操作。
例如 :

        MOV    A,#4H
        MOV    PORT2, A
这个信息对您有用吗  ?
back to top  

   LEGAL    最新之产品资料, 请参阅英文版
 请用Internet Explorer浏览本网站以达最佳效果。
  © 2005-2008  NEC Electronics China Limited