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

[复制链接]
5510|1
 楼主| CC2530 发表于 2011-7-10 16:30 | 显示全部楼层 |阅读模式
本帖最后由 CC2530 于 2011-7-11 08:57 编辑

  1. #define LED_1        IO_TICC_OBJECT_DEF(0,1)             //LED_1::P01
  2. #define LED_2        IO_TICC_OBJECT_POLARITY_DEF(1,5,0)  //LED_2::P15,低电平表示ON
  3. uint8 x;
  4. int main(void)
  5. {  
  6.   LED_1.MakeOut().Set().Clr().Toggle().MakeInHighImpedance().Read(x);
  7.   LED_1.Write(!x);
  8.   
  9.   LED_2.MakeOut().On().Off().Toggle().MakeInHighImpedance().ReadOnOff(x);
  10.   LED_2.WriteOnOff(!x);
  11.   while(1);
  12. }
IAR 8051 7.60编译汇编代码:

  1.                 RSEG NEAR_CODE:CODE:NOROOT(0)
  2. //   10 int main(void)
  3. main:
  4. //   11 {  
  5.         ; Auto size: 0
  6. //   12
  7. //   13   LED_1.MakeOut().Set().Clr().Toggle().MakeInHighImpedance().Read(x);
  8.         ORL     0xfd,#0x2
  9.         SETB    0x80.1
  10.         CLR     0x80.1
  11.         XRL     0x80,#0x2
  12.         MOV     A,0x80
  13.         ORL     0x8f,#0x2
  14.         ANL     0xfd,#0xfd
  15.         MOV     C,0x80.1
  16.         JNC     ??main_0
  17.         CLR     0x80.1
  18.         SJMP    ??main_1
  19. ??main_0:
  20.         SETB    0x80.1
  21. //   14   LED_1.Write(!x);
  22. //   15   
  23. //   16   LED_2.MakeOut().On().Off().Toggle().MakeInHighImpedance().ReadOnOff(x);
  24. ??main_1:
  25.         ORL     0xfe,#0x20
  26.         CLR     0x90.5
  27.         SETB    0x90.5
  28.         XRL     0x90,#0x20
  29.         MOV     A,0x90
  30.         ORL     0xf6,#0x20
  31.         ANL     0xfe,#0xdf
  32.         MOV     C,0x90.5
  33.         JNC     ??main_2
  34.         CLR     0x90.5
  35.         SJMP    ??main_3
  36. ??main_2:
  37.         SETB    0x90.5
  38. //   17   LED_2.WriteOnOff(!x);
  39. //   18
  40. //   19   while(1);
hotpower 发表于 2011-7-10 16:49 | 显示全部楼层
在51上CPP俺保留
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

0

主题

262

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部