找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1957|回复: 8
打印 上一主题 下一主题
收起左侧

51单片机串口控制LED灯程序 到底是哪里出错了?看的我头都大了

[复制链接]
跳转到指定楼层
楼主
ID:553980 发表于 2020-3-20 16:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用51单片机串口实现控制LED灯,还是失败了


#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char dat,num;
void main()
{
        SCON=0X50;
        TMOD=0x20;
        TH1=0xCC;
        TL1=0xCC;
    PCON=0X80;
        EA=1;
        ES=1;
        TR1=1;
        while(1);
  {
  if(num==1)
  {
     switch(dat)
     {
     case(1):P2=0xfe;break;
     case(2):P2=0xfd;break;
     case(3):P2=0xf7;break;
     }
     ES=1;
     num=0;
  }
}

}
void ser() interrupt 4
{
        
        RI=0;
        dat=SBUF;
        num=1;
  SBUF=dat;
    while(!TI);
TI=0;
      
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2020-3-20 17:20 | 只看该作者
while(1);后有一个分号的话,后面的程序如何执行呢?去掉分号
回复

使用道具 举报

板凳
ID:282850 发表于 2020-3-20 17:31 | 只看该作者
这样提问,我只能告诉你程序很正常,写的很漂亮,你可以回家了,多喝水、多吃蔬菜、注意休息,过几天自然就好。
回复

使用道具 举报

地板
ID:452950 发表于 2020-3-20 17:54 | 只看该作者
有原理图吗
回复

使用道具 举报

5#
ID:130231 发表于 2020-3-20 18:37 | 只看该作者
应该注意波特率的问题。
回复

使用道具 举报

6#
ID:277948 发表于 2020-3-20 18:46 来自手机 | 只看该作者
串口控制LED. 你的驱动芯片呢
回复

使用道具 举报

7#
ID:267719 发表于 2020-3-20 19:22 | 只看该作者
哪款单片机?不同单片机时钟周期不一样。硬件电路是什么?配多少的晶振?LED驱动电路有没问题?这都需要资料全了才能分析的。
回复

使用道具 举报

8#
ID:513241 发表于 2020-3-20 20:44 | 只看该作者
main函数里  "while(1);" 死循环了
回复

使用道具 举报

9#
ID:618105 发表于 2020-3-23 16:40 | 只看该作者
单片机型号不同,晶振是不同的,还要注意波特率大小,硬件没问题的话,你还得把程序改一下,main函数里的while后边的分号直接断了,不会执行里边的程序的
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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