请都教:开天斧三,读取IO口为什么不是1或0?
P0M1 = 0x00; P0M0 = 0x00; //设置为准双向口P1M1 = 0x00; P1M0 = 0x00; //设置为准双向口
P2M0 = 0x00; P2M1 = 0x80; //P20-P26设置为准双向口,P27为高阻输入
P3M0 = 0x00; P3M1 = 0xfc; //P30 P31设置为准双向口,P32-P37为高阻输入
P4M0 = 0x00; P4M1 = 0xff; //设置为为高阻输入
P5M0 = 0x00; P5M1 = 0x10; //P54为高阻输入,其余为设置为准双向口
P6M0 = 0x00; P6M1 = 0xff; //设置为高阻输入
P7M1 = 0x00; P7M0 = 0xff; //设置为高阻输入
P0 = 0x00;//P0全部置低电平
P1 = 0x00;//P1全部置低电平
P2 = 0x00;//P2全部置低电平
P4 = 0x00;//P4全部置低电平
P5 = 0x00;//P5全部置低电平
P6 = 0x00;//P6全部置低电平
P7 = 0x00;//P7全部置低电平
P32 = 0;
P33 = 0;
P34 = 0;
P35 = 0;
P36 = 0;
P37 = 0;
_nop_();
_nop_();
sprintf(printstrs,"Px======%D,%d,%d,%d,%d\r\n",P041,P061,P141,P161,P541);
PrintString1(printstrs);
sprintf(printstrs,"P0======%D,%d,%d,%d,%d,%d,%d,%d\r\n",P00,P01,P02,P03,P04,P05,P06,P07);
PrintString1(printstrs);
sprintf(printstrs,"P1======%D,%d,%d,%d,%d,%d,%d,%d\r\n",P10,P11,P12,P13,P14,P15,P16,P17);
PrintString1(printstrs);
sprintf(printstrs,"P2======%D,%d,%d,%d,%d,%d,%d,%d\r\n",P20,P21,P22,P23,P24,P25,P26,P27);
PrintString1(printstrs);
sprintf(printstrs,"P3======%D,%d,%d,%d,%d,%d,%d\r\n",P32,P33,P34,P35,P36,P37,P541);
PrintString1(printstrs);
sprintf(printstrs,"P4======%D,%d,%d,%d,%d,%d,%d,%d\r\n",P40,P41,P42,P43,P44,P45,P46,P47);
PrintString1(printstrs);
sprintf(printstrs,"P5======%D,%d,%d,%d,%d\r\n",P50,P51,P52,P53,P54);
PrintString1(printstrs);
sprintf(printstrs,"P6======%D,%d,%d,%d,%d,%d,%d,%d\r\n",P60,P61,P62,P63,P64,P65,P66,P67);
PrintString1(printstrs);
sprintf(printstrs,"P7======%D,%d,%d,%d,%d,%d,%d,%d\r\n",P70,P71,P72,P73,P74,P75,P76,P67);
PrintString1(printstrs);
打印结果如下:为什么打印出来的结果,不全部是0呢?
你用USB直接仿真来学习,这样直接进去看
8051如何仿真,STC8H8K64U自带硬件USB直接仿真,视频讲解回放 - 仿真/ISP下载/做自己的ISP/编译器/头文件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
神农鼎 发表于 2023-10-23 16:56
谢谢,但为什么计数不全是0呢?
用仿真进去看,再来讨论
页:
[1]