标题: 我的51单片机好像坏了,求大神支援支援 [打印本页]

作者: 243244324    时间: 2017-8-21 09:41
标题: 我的51单片机好像坏了,求大神支援支援
我改了一个串口控制led的程序,灯是P2口,但是我发现P2口的P2^4和P2^5老是和我的控制相反,比如输送0x00,本来是全led亮的,但是那两个却不亮,输送全灭的,那两个灯又亮了起来,波特率正确。请大神们看看是哪里错了,还是单片机芯片坏了,程序如下:
#include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;          //对数据类型进行声明定义
typedef unsigned char u8;

        u8 receiveData;

void UsartInit()
{
        SCON=0X50;                        //设置为工作方式1
        TMOD=0X20;                        //设置计数器工作方式2
        PCON=0X80;                        //波特率加倍
        TH1=0XF3;                                //计数器初始值设置,注意波特率是4800的
        TL1=0XF3;
        ES=1;                                                //打开接收中断
        EA=1;                                                //打开总中断
        TR1=1;                                        //打开计数器
}


void main()
{       
        UsartInit();  //        串口初始化
        while(1);               
}


void Usart() interrupt 4
{

                        RI = 0;
        receiveData=SBUF;//出去接收到的数据
         P2=receiveData;
        SBUF=receiveData;//将接收到的数据放入到发送寄存器
        while(!TI);                         //等待发送数据完成
        TI=0;                                                 //清除发送完成标志位
}


作者: oo0o_11    时间: 2017-8-21 11:23
灯接对了吗??你的IO是控制阳极还是阴极。你的单片机能下程序 能控制IO又还能串口通信没问题的。
作者: yzwzfyz    时间: 2017-8-22 00:17
楼主:给你一个任务,请弄坏一个IO口,但要求坏了之后,它总是与正常相反,你能做到吗?
作者: xyzwqs    时间: 2017-8-22 08:47
还是查程序吧,先把硬件原理搞定
作者: Akon4    时间: 2017-8-22 09:02
先用上位机软件串口调试助手 看看程序有没有问题 细心找找
作者: tkzdh    时间: 2017-8-22 15:16
先别管串口通讯程序,直接驱动P2口试试。
作者: amos235    时间: 2017-8-22 17:36
yzwzfyz 发表于 2017-8-22 00:17
楼主:给你一个任务,请弄坏一个IO口,但要求坏了之后,它总是与正常相反,你能做到吗?

233333,哈哈,初学者经常这样觉得
作者: amos235    时间: 2017-8-22 17:37
应该是电路问题
作者: 243244324    时间: 2017-8-22 17:44
tkzdh 发表于 2017-8-22 15:16
先别管串口通讯程序,直接驱动P2口试试。

直接驱动没问题
作者: 243244324    时间: 2017-8-22 19:43
amos235 发表于 2017-8-22 17:36
233333,哈哈,初学者经常这样觉得

我正常驱动是可以的,但是程序我实在看不出来什么问题

作者: JSLong    时间: 2017-8-22 20:59
你用的是什么系列的单片机,IO的状态设置了没啊
作者: bityzg    时间: 2017-8-22 21:04
应该是电路问题
作者: 243244324    时间: 2017-8-23 08:19
JSLong 发表于 2017-8-22 20:59
你用的是什么系列的单片机,IO的状态设置了没啊

STC89C52的
作者: st5ltn    时间: 2017-8-23 08:52
肯定是电路问题,好好检查下电路,引脚设置什么的
作者: 876210258    时间: 2017-8-23 09:09
换一个电脑再试试程序
作者: Freebird    时间: 2017-8-23 09:26
芯片一般不容易坏
作者: 南山Ⅰ    时间: 2017-8-23 10:48
别管串口通讯程序,直接驱动P2口试试
作者: 南山Ⅰ    时间: 2017-8-23 10:49
重新检查电路,引脚

作者: nic0765    时间: 2017-8-23 11:22
先看硬件
作者: ZHANGWENBIN    时间: 2017-8-23 12:08
检查下程序吧
作者: lizi5802    时间: 2017-8-23 12:19
这情况肯定不是芯片问题,即然灯状态有变化,说明通迅也是正常的,现在问题是反了,那肯定是电路的问题,输出脚是上拉还是下拉,这个得检查,如果不想改电路,把程序对应值改为也行
作者: 孤独求败    时间: 2017-8-23 12:55
换个芯片再试试
作者: lxc123456    时间: 2017-8-23 19:00
开发板其他的电路干扰,可能其他模块也接的那个io口。
作者: 654381241    时间: 2017-8-23 23:51
你接口跟正负搞对了吗
作者: 243244324    时间: 2017-8-24 08:42
654381241 发表于 2017-8-23 23:51
你接口跟正负搞对了吗

肯定啊,这流水灯玩到现在的,哎,是普中科技的学习板,直接驱动正常,然后串口控制就不行了
作者: xiangxiang2017    时间: 2017-8-24 09:29
看看硬件
作者: 243244324    时间: 2017-8-24 09:41
654381241 发表于 2017-8-23 23:51
你接口跟正负搞对了吗

搞对叻
作者: wxc19960311    时间: 2017-8-24 11:19
先从程序检查开始,共阴共阳分清楚,再看led的正负极有没有接错
作者: qq1299135014    时间: 2017-8-24 13:08
io口阴阳极姐反
作者: 疾速无风    时间: 2017-8-25 01:44
先下个正确的程序进去,看有没有问题,再检查硬件是否已坏。
作者: ZhaoTing123    时间: 2017-8-25 10:02
程序  原理打包 发上来看看
作者: JACKLI    时间: 2017-8-25 22:16
有可能是硬件上的问题,一般单片机不会坏成这样子。。。
作者: lijianping    时间: 2017-8-26 12:28
硬件吧
作者: 朱小文    时间: 2017-8-27 00:33
先找例程试试  检查一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1