yourston 发表于 2023-8-1 09:37:38

P3口操作问题,

采用下边的程序,输出不对。
code unsigned char ADDRS={
0x70,
0x60,       
0x50,
0x40,       
0x30,
0x20,
0x10,
0x00
};
i=P3&0x8f;
P3=(i|ADDRS);

yourston 发表于 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;
        }
这个程序,输出是正常的。因为是在中断中,要求时间一致。需要用前边的方法。硬件没有问题。请技术支持一下。

乘风飞扬 发表于 2023-8-1 09:47:45

能先说说你的需求吗?你想实现什么功能?

yourston 发表于 2023-8-1 14:26:21

4、5、6是驱动4051的三个地址线。循环AD_cont计数

yourston 发表于 2023-8-1 14:28:06

在中断中实现运行
页: [1]
查看完整版本: P3口操作问题,