搜索
bottom↓
回复: 10

430怎么像51那样对I/O口自由的进行位操作

[复制链接]

出0入0汤圆

发表于 2011-2-22 16:02:08 | 显示全部楼层 |阅读模式
以前用的51,现在要改用430。51中1602液晶屏显示我对I/O口的定义都在头文件中

#define LCD_DATA P0        //LCD的数据口

sbit LCD_BUSY=LCD_DATA^7;  //LCD忙信号位

sbit LCD_RW=P2^0;          //LCD读写控制
sbit LCD_RS=P2^1;          //LCD寄存器选择
sbit LCD_EN=P2^2;          //LCD使能信号

现在要移植到430中请问这些宏怎么去定义? P0^7作为忙检测口,在430中如何定义宏?
#define LCD_BUSY P0DIR;P0IN|=BIT7  是不是只能这样设置?那设置后在.C文件又该怎么判断是否忙呢?
if(!LCD_BUSY) 51中可以这样判断  430中要如何改?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-2-22 16:03:52 | 显示全部楼层
430中宏设置错了  #define LCD_BUSY P0DIR  设置为输入方向

出0入0汤圆

发表于 2011-2-22 16:04:27 | 显示全部楼层
这个还算简单

出0入0汤圆

 楼主| 发表于 2011-2-22 16:07:20 | 显示全部楼层
请教---------怎么在.C中判断忙检测 才转的430 什么都不懂啊

出0入0汤圆

发表于 2011-2-22 16:51:18 | 显示全部楼层
选设置IO端口为输入模式,然后读取Value=PORT;
if(!(Value&0x80))

出0入0汤圆

发表于 2011-2-22 19:18:14 | 显示全部楼层
430没有位定义,只能用楼上 与 或的方式。或者还可以用位域,好像效率也不高,我也没有试过。

出0入0汤圆

 楼主| 发表于 2011-2-23 10:08:48 | 显示全部楼层
有点懂了,我再看看,谢谢热心牛人们

出0入0汤圆

发表于 2011-3-16 17:20:33 | 显示全部楼层
&,与
|,或
^,异或
是标准C的位操作实现方式。

出0入0汤圆

发表于 2011-4-2 21:51:54 | 显示全部楼层
P1OUT |=BIT0;        相当于 P1.0=1
P1OUT &=~BIT0;       相当于 P1.0=0

以此类推

出0入0汤圆

发表于 2011-4-2 21:54:12 | 显示全部楼层
回复【楼主位】cumtgao  
-----------------------------------------------------------------------


#define set_LCD_RW   P2OUT |=BIT0;
#define clear_LCD_RW   P2OUT &=~BIT0;

出0入0汤圆

发表于 2011-4-6 21:35:52 | 显示全部楼层
#define         RS_HIGH                  P1OUT|=BIT0 //指令数据选择信号
#define         RS_LOW                 P1OUT&=~BIT0

#define         RW_HIGH            P1OUT|=BIT1 //读写信号
#define         RW_LOW                 P1OUT&=~BIT1

#define         E_HIGH                 P1OUT|=BIT2 //使能信号
#define         E_LOW                 P1OUT&=~BIT2
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 04:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表