打印

一个程序问题,希望大家帮帮忙

[复制链接]
1829|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lkio|  楼主 | 2009-11-29 17:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么这个程序我把它烧到学习板中它的LED自己会亮,
ps:我让LED亮是有条件的
程序如下:
#include<reg52.h>
#define uint unsigned int
sbit key1=P3^5;
void delay(uint z);
void init_serial();
void main()
{
init_serial();
while(1)
{
   delay(100);
   while(!RI);
  
   RI=0;
   P0=0;
   }
}
void init_serial()                 
{  
    TMOD=0x20;
    EA=1;
    TH1=0xfd;      
    TL1=0xfd;  
    TR1=1;   
    REN=1;
SM0=0;
SM1=1;
ES=1;
}
void lko() interrupt 4
{
if(key1==0)
{
  delay(5);
  if(key1==0)
  SBUF=11;
  aa=1;
  while(!key1);
  delay(5);
  while(!key1);
  while(!TI);
  TI=0;
  }
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

相关帖子

沙发
awmc_m| | 2009-11-29 20:35 | 只看该作者
没看到你这个程序哪里有与led相关的,感觉更像是按键函数。
如果你的led io没有初始化,io状态不定,一般是输入,led很有可能会亮。
#define uint unsigned int 最好用#typedef

使用特权

评论回复
板凳
lkio|  楼主 | 2009-11-29 21:03 | 只看该作者
LED接在P0上,因为这是自己写的多机串口通信,有一部分程序没有贴出来LED亮的条件就是有信息传来,不过把这程序烧到一块独立的板子上他也会亮

使用特权

评论回复
地板
NE5532| | 2009-11-29 22:24 | 只看该作者
没看懂楼主到底想问啥问题。

使用特权

评论回复
5
aicyou| | 2009-11-30 08:39 | 只看该作者
没看懂,坐等大虾

使用特权

评论回复
6
zhenxing2000| | 2009-11-30 11:52 | 只看该作者
倒像是串口通信问题。

使用特权

评论回复
7
lkio|  楼主 | 2009-11-30 13:03 | 只看该作者
恩  恩,就是串口通信问题,不过我有部分程序每贴出来

使用特权

评论回复
8
NE5532| | 2009-11-30 20:42 | 只看该作者
别贴程序了,大虾一般都不看你的代码的,你用自然语言描述你想做什么,遇到什么问题就可以了。

使用特权

评论回复
9
lkio|  楼主 | 2009-11-30 22:36 | 只看该作者
我想做单片机与单片机的多机串口通信,看老郭天祥的视频 不过自己不太懂用方式2,3来进行通信,希望大虾讲讲,或贴一个这方面的程序,自己琢磨  琢磨

使用特权

评论回复
10
teng_wang| | 2009-12-1 15:37 | 只看该作者
做一下说明,别人都不知道你再干嘛!!

使用特权

评论回复
11
lkio|  楼主 | 2009-12-1 18:26 | 只看该作者
就是自己写了一个传口通信,不过遇到一些麻烦,所以想向大家及大虾们,要个串口的C语程序,自己结合程序琢磨

使用特权

评论回复
12
IC_99| | 2009-12-1 18:44 | 只看该作者
程序下载时本身就是在进行通讯,会不会是这个问题影响LED灯亮啦

使用特权

评论回复
13
NE5532| | 2009-12-1 20:43 | 只看该作者
简单提示你一下,用9bit模式进行地址匹配。串口通讯程序一般都涉及包结构问题,要么就是发字符串,你先用2个单片机把8BIT调通了,再调9BIT,再调多机,饭要一口一口的吃。

使用特权

评论回复
14
lkio|  楼主 | 2009-12-1 22:55 | 只看该作者
哦,谢谢大虾们

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

11

帖子

1

粉丝