本帖最后由 188610329 于 2021-12-6 02:17 编辑 天赋异禀 发表于 2021-12-5 23:06 有可能是哪里碰线,导致被拉低,也有可能是锁紧座接触不良,你有什锦锉刀的话,取出芯片后,用什锦锉刀在夹P35引脚槽里打磨以下,再测试,如果好了,就一直01 01 01 01 01 了 |
我刚又用串口工具测试了一下,下面的程序当我给出P3_5=1,串口接收到的数据是01 01 01 00 00 00这样一直循环,但如果是P3_0接口就没有问题,这是硬件出问题了吗?还是设置的问题? [code]#include <REGX52.H> void UartInit(void) //4800bps@12.000MHz { PCON |= 0x80; //使能波特率倍速位SMOD SCON = 0x50; //8位数据,可变波特率 0101 0000 TMOD &= 0x0F; //设置定时器模式 TMOD |= 0x20; //设置定时器模式 TL1 = 0xF3; //设置定时初始值 TH1 = 0xF3; //设置定时重载值 ET1 = 0; //禁止定时器%d中断 TR1 = 1; //定时器1开始计时 EA = 1; //允许中断 ES = 1; //允许串口中断 } void Send_Byte(unsigned char Byte) { SBUF=Byte; while(TI==0); TI=0; } main() { UartInit(); while(1) { P3_5=1; Send_Byte(P3_5); } } |
188610329 发表于 2021-12-5 17:19 不是直接接的LED,是通过74HC573接的,其他IO口能正常输出驱动LED灯的,就这个接口有问题。 |
单说你这句话:P3都拉高的前提下,还是有个口是低电平的话,那就是你硬件有问题了。剩下的话没仔细看。 |
P3_5接口瓦特了![]() |
你要测P3输出,就要 P3 = 0xff 之后 用万用表电压档,黑表笔接GND 红表笔测量 P3 每个IO的电压, 单片机IO正常输出只有几十uA 你用LED测量能量出啥? |