OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5796|回复: 1

C8051F021单片机输入输出配置问题

[复制链接]

2

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2016-7-2
在线时间
8 小时
发表于 2017-6-2 12:00:44 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 东山居士 于 2017-6-2 12:09 编辑

各位大神好,在下小白一个。想请教几个问题。
手头有一要改进项目,因为原项目就用C8051F021,为了简单就沿用了。实现功能很简单,就是充当连线器。意即,拨码开关拨动产生数字信号输入某些管脚,再由某些管脚输出,控制数字芯片。
因为当时设计电路图时的布局,导致跨过单片机,直接由拨码开关控制数字芯片基本不可能。背景讲述完毕,下面想请教几个问题:
1、是不是P0、P1、P2这些端口的8个位,一定要统一全做输入或者输出?可不可以P0.0 P0.1 P0.2输入,P0.3 P0.4 P0.5 P0.6 输出呢?
2、如果第一个问题答案是否定的,想把我的设计附上,让高手在端口配置上给建议,谢谢!
我的配置是这样的:
void PORT_Init (void)
{
                   XBR1 |=  0x00;                                         //sysclk enable
            XBR2   = 0x40;                   // Enable crossbar and enable        weak pull-up
                                                                                
                                                                                 
   P0MDOUT = 0x00;        P0=0xff;                     //P0  digital in set PxMDOUT OD   REG set1                           
   P3MDOUT = 0x00;  P3=0xff;                         //P3  digital in                     

}

主函数main()中加入死循环用来把赋值(连线)(SW1->SW5 & SW1_2->SW5_2意即两组5位拨码开关,分别和截图中的IO_1_1->IO5_1 & IO1_2->IO5_2对应)
while(1)
      {

      delay(200);
          GC0=1;
          GC6=0;
          GC0_2=1;
          GC6_2=0;
          GC1=SW1;
          GC2=SW2;
          GC3=SW3;
          GC4=SW4;
          GC5=SW5;
          GC1_2=SW1_2;
          GC2_2=SW2_2;
          GC3_2=SW3_2;
          GC4_2=SW4_2;
          GC5_2=SW5_2;
          }

其实很简单,就是一个赋值操作,就像乾坤大挪移,把一些端口的输入,赋给另一些端口用于输出。但是不知道是不是配置问题,还是一组端口中,不能某些位用于输入,另一些位用于输出,结果总不如所愿,有几个端口大概符合结果。有些就不听话。求大神点拨一二啊!!

QQ截图20170602115229.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165369
金钱
165369
注册时间
2010-12-1
在线时间
2110 小时
发表于 2017-6-2 18:51:48 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-1 14:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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