找回密码
 立即注册
查看: 213|回复: 4

P3口操作问题,

[复制链接]

该用户从未签到

1

主题

3

回帖

23

积分

新手上路

积分
23
发表于 2023-8-1 09:37:38 | 显示全部楼层 |阅读模式
采用下边的程序,输出不对。
code unsigned char ADDRS[8]={
0x70,
0x60,       
0x50,
0x40,       
0x30,
0x20,
0x10,
0x00
};
i=P3&0x8f;
P3=(i|ADDRS[AD_cont]);
回复 送花

使用道具 举报

该用户从未签到

1

主题

3

回帖

23

积分

新手上路

积分
23
 楼主| 发表于 2023-8-1 09:40:28 | 显示全部楼层
sbit AD_ADR0 = P3^4;
sbit AD_ADR1 = P3^5;
sbit AD_ADR2 = P3^6;
AD_cont++;
        if(AD_cont>7){AD_cont=0;}               
        switch(AD_cont){
                case 0:{
        AD_ADR0=1;
        AD_ADR1=1;
        AD_ADR2=1;               
                }break;
                        case 1:{
        AD_ADR0=0;
        AD_ADR1=1;
        AD_ADR2=1;
                        }break;
                                case 2:{
        AD_ADR0=1;
        AD_ADR1=0;
        AD_ADR2=1;                       
                                }break;
                                        case 3:{
        AD_ADR0=0;
        AD_ADR1=0;
        AD_ADR2=1;                                       
                                        }break;
                                                case 4:{
        AD_ADR0=1;
        AD_ADR1=1;
        AD_ADR2=0;                                               
                                                }break;
                                                        case 5:{
        AD_ADR0=0;
        AD_ADR1=1;
        AD_ADR2=0;                                                       
                                                        }break;
                                                                case 6:{
        AD_ADR0=1;
        AD_ADR1=0;
        AD_ADR2=0;                                                       
                                                                }break;
                                                                        case 7:{
                AD_ADR0=0;
        AD_ADR1=0;
        AD_ADR2=0;                                                               
                                                                        }break;
        }
这个程序,输出是正常的。因为是在中断中,要求时间一致。需要用前边的方法。硬件没有问题。请技术支持一下。
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
    发表于 2023-8-1 09:47:45 | 显示全部楼层
    能先说说你的需求吗?你想实现什么功能?
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    3

    回帖

    23

    积分

    新手上路

    积分
    23
     楼主| 发表于 2023-8-1 14:26:21 | 显示全部楼层
    4、5、6是驱动4051的三个地址线。循环AD_cont计数
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    3

    回帖

    23

    积分

    新手上路

    积分
    23
     楼主| 发表于 2023-8-1 14:28:06 | 显示全部楼层
    在中断中实现运行
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-19 00:49 , Processed in 0.057502 second(s), 44 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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