打印

给STC89C52写的串行通讯程序,为什么单片机一上电就有输出啊

[复制链接]
1551|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jzhsh2007|  楼主 | 2013-1-5 23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
unsigned int flag;
sbit Moudle_En=P2^5;
sbit Seg_LED1_En=P2^0;
sbit Seg_LED2_En=P2^1;
sbit Seg_LED3_En=P2^2;
sbit Seg_LED4_En=P2^3;
void ser()  interrupt 4
{
RI=0;
P1=SBUF;
flag=1;
}
void main()
{
TI=0;
TMOD=0x20; //定时器T1工作模式为方式2,8位自动重装
TH1=0xfd;//设置波特率9600
TL1=0xfd;//设置波特率9600
REN=1;  //接受使能
SM0=0;  //10位异步收发
SM1=1;
TR1=1;  //
EA=1;
ES=1;
while(1)
{
     if(flag==1)
     {
   Moudle_En=0;
   Seg_LED1_En=0;
     }
}
}

========================================================
数码管由74HC573驱动,D断接P1,Q端接数码管,数码管共阴极,接到P2^0,即Seg_LED1_En。
74HC573的output control端(低电平有效)接P2^5,即Moudle_En。
当单片机上电后还没由PC机发送数据的时候flag应该为0,P2^0,P2^5应该为高电平啊,数码管
应该不亮才对啊,可是一下载程序后,数码管亮,断电重启后数码管还是亮,不知道为什么。
在数码管显示8.后给单片机发送数据时是正常的。
????为什么重启他还亮呢


相关帖子

沙发
chenyu988| | 2013-1-6 08:15 | 只看该作者
是不是74HC573上电后电平状态不确定导致的?

使用特权

评论回复
板凳
jzhsh2007|  楼主 | 2013-1-6 12:38 | 只看该作者
chenyu988 发表于 2013-1-6 08:15
是不是74HC573上电后电平状态不确定导致的?

不是这个原因啊,我用万用表测573的输入端,电压都是接近5V的高电平呢

使用特权

评论回复
地板
coody| | 2013-1-6 15:22 | 只看该作者
做好初始化看看

使用特权

评论回复
5
chenyu988| | 2013-1-6 16:14 | 只看该作者
jzhsh2007 发表于 2013-1-6 12:38
不是这个原因啊,我用万用表测573的输入端,电压都是接近5V的高电平呢

把IO口初始化 试试吧

使用特权

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

本版积分规则

2

主题

5

帖子

1

粉丝