2856|3

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

PIC24E单片机 位操作 [复制链接]

我想用PIC24E单片机和DS1302通信,单片机从DS1302读取数据时,串行输入单片机的,低位先入,高位后入,我想问问PIC24单片机有位操作指令吗?我想要将先入的位数据放在变量的最高位,然后右移,例如:                     ACC_7=DIO;
                     ACC>>=1;
这个语句用PIC24E单片机该怎么写?




最新回复

你可以用IO口直接操作,比如定义IO为一个别名,然后对IO进行操作,但是注意输入输出时注意方向寄存器的改变。我之前用IIC,从51移植过来就不行,后面发现IO性质不一样,PIC需要对IO方向进行设置才能用,而51是准双向,无需这一步。  详情 回复 发表于 2016-3-24 15:00
点赞 关注
 

回复
举报

6040

帖子

195

TA的资源

版主

沙发
 
在我所接触的处理器和单片机,还没有发现不支持位操作的。
如果你用C语言实现的话,其实是跟单片机关系不大的。
  1. uint8_t acc=0;
  2. int i;
  3. for(i=0; i<8; i++){
        acc >>= 1;
  4.     if(DIO)acc |= 0x80;
    }
复制代码


 
 
 

回复

638

帖子

2

TA的资源

版主

板凳
 
你举的例子是属于51单片机系列的(不是通用方式),其它的C编译器一般支持通用设定,如楼上的例子,基本能做到与单片机无关的程序移植,建议使用这种方法进行位操作.
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

4
 
你可以用IO口直接操作,比如定义IO为一个别名,然后对IO进行操作,但是注意输入输出时注意方向寄存器的改变。我之前用IIC,从51移植过来就不行,后面发现IO性质不一样,PIC需要对IO方向进行设置才能用,而51是准双向,无需这一步。
 
个人签名
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表