帮忙想想啊?

[复制链接]
1849|8
 楼主| hanfei08131106 发表于 2010-5-7 23:05 | 显示全部楼层 |阅读模式
本帖最后由 hanfei08131106 于 2010-5-9 07:58 编辑

一个门铃电路,由AT89S51芯片控制,外接的按键好像不管用。不知道怎么样来编程序、、
#include<reg51.h>
unsigned char t5hz;
unsigned char t7hz;
unsigned int tcnt;
bit stop;
bit flag;
sbit  cy=P1^0;
void main(void)
{
unsigned char i,j;
TMOD=0X02;
TH0=0X06;
TL0=0X06;
ET0=1;
EA=1;
while(1)
{
if(P3^7==0)
{
for(i=10;i>0;i--)
for(j=248;j>0;j--)
if(P3^7==0)
{
t5hz=0;
t7hz=0;
tcnt=0;
flag=0;
stop=0;
TR0=1;
while(stop==0);
}
}
}
}
void t0(void)interrupt 1 using 0
{
tcnt++;
if(tcnt==2000)
{
tcnt=0;
if(flag==0)
{
flag=!flag;
}
else
{
stop=1;
TR0=0;
}
}
if(flag==0)
{
t7hz=0;
cy=!cy;
}
else
{
t5hz++;
if(t5hz==4)
{
t5hz=0;
cy=!cy;
}
}
}
hgjinwei 发表于 2010-5-8 07:23 | 显示全部楼层
看不懂,路过,帮顶
救火车 发表于 2010-5-8 09:45 | 显示全部楼层
"外接的按键好像不管用"这句话没说清楚。按键采不到?
电路图呢?贴出来看看吧。
 楼主| hanfei08131106 发表于 2010-5-8 10:32 | 显示全部楼层
3# 救火车
硬件通电后,按键原理上是对的,但现在只要通电就不停的响,按键似乎没用
 楼主| hanfei08131106 发表于 2010-5-8 21:02 | 显示全部楼层
[img][/img]
gaohq 发表于 2010-5-9 11:45 | 显示全部楼层
程序中没见你把按键接口设为输入态哦。
 楼主| hanfei08131106 发表于 2010-5-9 11:51 | 显示全部楼层
6# gaohq
不好意思 ,我还是个新手,刚学单片机,肯请帮忙看看,谢谢
NE5532 发表于 2010-5-9 12:26 | 显示全部楼层
对新手,不会写程序的人,我的态度一贯是:

1.坚决不看你们的代码
2.自己回去画流程图去

嘿嘿。
gaohq 发表于 2010-5-9 20:33 | 显示全部楼层
楼主的程序格式太不规范了,简直没法看


while(1)
{
      P3^7 = 1;  //加入这句置P3^7口为输入,然后才能检测P3^7口的电平状态。
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

144

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部