单片机智能遥控器系统设计 第8页

单片机智能遥控器系统设计 第8页
IRQ0:
_IRQ1:
_IRQ2:
_IRQ3:  
_IRQ4:
 PUSH r1,r5 to [sp];
 r1=0x0010;
 test r1,[P_INT_Ctrl];
 JNZ L_IRQ4_1kHz;
    r1=0x0070;
 goto L_Exit_IRQ4
L_IRQ4_1kHz:
 r2=[P_IOB_Data]   //保存B口的值
 r1=0x0100
 TEST r1,r2
 JNZ HaveKey    //遥控有输入
HaveNoKey:
 r1=0x0000
 [_KeyFlag]=r1
 JMP EndKey
HaveKey:
 r1=[_KeyFlag]
 CMP r1,0x0000   //是否是上次的那个键?
 JNE EndKey
 r1=r2&0x3c00
 r1=r1 LSR 4
 r1=r1 LSR 4
 r1=r1 LSR 2
 [_KeyFlag]=r1
 [_KeyState]=r1   //C程序中清0
EndKey:
 r1=r2&0x0007   //开始处理编码输入
 TEST r1,0x0001   
 JZ HaveNoCode   
HaveNoCode:
 r1=0x0010
L_Exit_IRQ4:
    [P_INT_Clear]=r1;
    POP r1,r5 from [SP];
    RETI  
_IRQ5:  
_IRQ6:
_IRQ7:
.END
3.5.3 IOA/B口的初始化
IO断口的控制向量组合 
   注:
        *:端口位预设为带下拉电阻的输入引脚;
      * *:只有当IOA [7~0]内位的控制字为000,001 和010 时, 相对应位才具有唤醒的功能。
      ***:悬浮输入作为ADC IOA[6~0] 的输入
端口功能:
P_IOA_Data(读/写)(7000H)
A 端口的数据单元,用于向A 口写入或从A 端口读出数据。当A 口处于输入状态时,读出是读A 口引脚电平状态; 写入是将数据写入A 端口的数据寄存器。当A 口处于输出状态时,写入输出数据到A 端口的数据寄存器。
P_IOA_Buffer (读/写) (7001H)
A 端口的数据向量单元,用于向数据向量寄存器写入或从该寄存器读出数据。当A 口处于输入状态时,写入是将A 端口的数据向量写入A 端口的数据寄存器;读出则是从A 端口数据寄存器内读其数值。当A 口处于输出状态时,写入输出数据到A 端口的数据寄存器。
对输出而言,P_IOA_Data 与P_IOA_Buffer 是一样的.但对输入而言,P_IOA_Data 读的是IO 的值,P_IOA_Buffer 读的是buffer 内的值。假设IOA[0]作为输出,并去接LED阳极(LED 阴极接地)。若P_IOA_Data 的IOA[0]为1。在某些需要较大驱动能力的LED而言,LED 会亮,但IOA[0]会被拉到一个很低的值。此时从P_IOA_Data 读回为0,但P_IOA_Buffer 则为1。读回的意义是是方便做其它的IO 运算。
P_IOA_Dir(读/写)(7002H)
A 端口的方向向量单元,用于用来设置A 口是输入还是输出,该方向控制向量寄存器可以写入或从该寄存器内读出方向控制向量。Dir 位决定了端口位的输入/输出方向:即‘0’为输入,‘1’为输出。
P_IOA_Attrib(读/写)(7003H)
A 端口的属性向量单元,用于A 端口属性向量的设置。
P_IOA_Latch(读)(7004H)
读该单元以锁存A端口上的输入数据,用于进入睡眠状态前的触键唤醒功能的启动(参见睡眠/唤醒部分)。
P_IOB_Data(读/写)(7005H)
B 端口的数据单元,用于向B 口写入或从B 端口读出数据。当B 口处于输入状态时,读出是读B 口引脚电平状态; 写入是将数据写入B 端口的数据寄存器。当B 口处于输出状态时,写入输出数据到B 端口的数据寄存器。
P_IOB_Buffer(读/写)(7006H)
B 端口的数据向量单元,用于向数据寄存器写入或从该寄存器内读出数据。当B 口处于输入状态时,写入是将数据写入B 端口的数据寄存器;读出则是从B 端口数据寄存器里读其数值。当B 口处于输出状态时,写入数据到B 端口的数据寄存器。
P_IOB_Dir(读/写)(7007H)
B 端口的方向向量单元,用于设置IOB 口的状态。‘0’为输入,‘1’为输出。
P_IOB_Attrib(读/写)(7008H)
B 端口的属性向量单元,用于设置IOB 端口的属性。
3.5.4初始化编码
.include hardware.inc
.PUBLIC _InitIOA

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有