打印

学单片机C++:51单片机cc2530 IO口操作

[复制链接]
4456|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CC2530|  楼主 | 2011-7-10 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 CC2530 于 2011-7-11 08:57 编辑
 
#define LED_1        IO_TICC_OBJECT_DEF(0,1)             //LED_1::P01
#define LED_2        IO_TICC_OBJECT_POLARITY_DEF(1,5,0)  //LED_2::P15,低电平表示ON
uint8 x;
int main(void)
{  
  LED_1.MakeOut().Set().Clr().Toggle().MakeInHighImpedance().Read(x);
  LED_1.Write(!x);
  
  LED_2.MakeOut().On().Off().Toggle().MakeInHighImpedance().ReadOnOff(x);
  LED_2.WriteOnOff(!x);
  while(1);
}
IAR 8051 7.60编译汇编代码:
 
                RSEG NEAR_CODE:CODE:NOROOT(0)
//   10 int main(void)
main:
//   11 {  
        ; Auto size: 0
//   12
//   13   LED_1.MakeOut().Set().Clr().Toggle().MakeInHighImpedance().Read(x);
        ORL     0xfd,#0x2
        SETB    0x80.1
        CLR     0x80.1
        XRL     0x80,#0x2
        MOV     A,0x80
        ORL     0x8f,#0x2
        ANL     0xfd,#0xfd
        MOV     C,0x80.1
        JNC     ??main_0
        CLR     0x80.1
        SJMP    ??main_1
??main_0:
        SETB    0x80.1
//   14   LED_1.Write(!x);
//   15   
//   16   LED_2.MakeOut().On().Off().Toggle().MakeInHighImpedance().ReadOnOff(x);
??main_1:
        ORL     0xfe,#0x20
        CLR     0x90.5
        SETB    0x90.5
        XRL     0x90,#0x20
        MOV     A,0x90
        ORL     0xf6,#0x20
        ANL     0xfe,#0xdf
        MOV     C,0x90.5
        JNC     ??main_2
        CLR     0x90.5
        SJMP    ??main_3
??main_2:
        SETB    0x90.5
//   17   LED_2.WriteOnOff(!x);
//   18
//   19   while(1);

相关帖子

沙发
hotpower| | 2011-7-10 16:49 | 只看该作者
在51上CPP俺保留

使用特权

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

本版积分规则

个人签名:该死的ST,还不赶快出STM8L小FLASH片子

0

主题

262

帖子

1

粉丝