找回密码
 立即注册

QQ登录

只需一步,快速开始

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

该单片机代码为什么串口通信没能实现流水灯控制以及熄灭,编译没有出错,用串口不...

[复制链接]
跳转到指定楼层
楼主
ID:858009 发表于 2021-4-25 15:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. code tabup[]={0xfb,0xfc,0xfd,0xfe,0x7f,0xdf,0xcf,0xbf};
  6. sbit LED1 = P1^0;
  7. sbit beep=P2^3;
  8. uchar buf,temp,i;
  9. void delay (uint z)
  10. {
  11.         uint x,y;
  12.         for(x=z;x>0;x--)
  13.         for(y=110;y>0;y--);
  14. }
  15. void madup()
  16. {
  17.         delay(1000); //延时1000毫秒
  18.         while(1)        //大循环
  19.         {
  20.                 for(i = 0; i < 8; i++)
  21.                 {
  22.                         P1 = tabup[i];
  23.                         delay(1000);        
  24.                 }
  25.         }
  26. }
  27. void main()
  28. {
  29.         TMOD =0x20;
  30.         SCON =0x50;
  31.         PCON =0x00;
  32.         EA =1;
  33.         ES=1;
  34.         TL1=0xfd;
  35.         TH1=0xfd;
  36.         TR1=1;
  37.         while(1);
  38. }
  39. void serial() interrupt 4
  40. {
  41.         ES=0;
  42.         RI=0;
  43.         buf=SBUF;
  44.         switch (buf)
  45.         {
  46.                 case 0: mabup();delay (100);break;
  47.                 case 1: P1=0xff;delay(100);break;
  48.                 default:    beep=0;P1=0xff;break;  //接受到其它数据,蜂鸣器响  
  49.         }
  50.         ES=1;
  51. }

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

使用道具 举报

沙发
ID:77479 发表于 2021-4-25 16:36 | 只看该作者
mabup[]= 与   P1=tabup();  数组名不一样吧?
回复

使用道具 举报

板凳
ID:275826 发表于 2021-4-25 17:21 | 只看该作者
怎么在串口中断写这么多的语句,程序错误很多
回复

使用道具 举报

地板
ID:858009 发表于 2021-4-25 17:57 | 只看该作者
tyrl800 发表于 2021-4-25 17:21
怎么在串口中断写这么多的语句,程序错误很多

怎么修改
回复

使用道具 举报

5#
ID:684049 发表于 2021-4-25 20:59 | 只看该作者
中断里怎么加了 ES=0;呢?
回复

使用道具 举报

6#
ID:496117 发表于 2021-4-26 10:28 | 只看该作者
很明显你这个延时函数不对啊,delay(1000)等于延时1000微秒即1毫秒差不多,1毫秒的闪烁你看不到效果的
回复

使用道具 举报

7#
ID:569384 发表于 2021-4-28 11:05 | 只看该作者
灯亮不亮,madup()函数里面的while(1)要删掉
回复

使用道具 举报

8#
ID:569384 发表于 2021-4-28 11:14 | 只看该作者
haokey 发表于 2021-4-28 11:05
灯亮不亮,madup()函数里面的while(1)要删掉

先不管灯亮不亮,madup()函数里面的while(1)要删掉
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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