找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1959|回复: 8
收起左侧

单片机门铃程序哪里有错啊,找不出来

[复制链接]
ID:616198 发表于 2020-6-15 18:45 | 显示全部楼层 |阅读模式
#include<AT89X51.H>
unsigned char t5hz;
unsigned char t7hz;
unsigned int tcnt;
bit stop;
bit flag;
void main(void)
{
        unsigned char i,j;
        TMOD=0x02;
        TH0=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++;
        if(t7hz==3)
        {
                t7hz=0;
                P1_0=~P1_0;
        }
  }
  else
  {
          t5hz++;
        if(t5hz==4)
        {
                t5hz=0;
                P1_0=~P1_0;
        }
  }

回复

使用道具 举报

ID:616198 发表于 2020-6-15 18:58 | 显示全部楼层
编译提示说有两个警告,找不出来
回复

使用道具 举报

ID:332444 发表于 2020-6-15 19:06 | 显示全部楼层
P3_7在哪里定义按键?P1_0在哪里定义蜂鸣器?
回复

使用道具 举报

ID:342822 发表于 2020-6-15 20:03 | 显示全部楼层
第二个else语句下花括弧取消。在程序最后添加右花括弧
回复

使用道具 举报

ID:606226 发表于 2020-6-15 20:26 | 显示全部楼层
else
  {
          t5hz++;
        if(t5hz==4)
        {
                t5hz=0;
                P1_0=~P1_0;
        }
  }

你把上面这个去掉就没告警了呀,是由于你的else前面没有相应的IF的呀
回复

使用道具 举报

ID:24758 发表于 2020-6-15 22:10 | 显示全部楼层
else前面的 } 位置不对。
回复

使用道具 举报

ID:420836 发表于 2020-6-16 08:01 | 显示全部楼层
那两个ELSE没有与它之前IF配对。 重组花括号符号以将IF与ELSE配对。
回复

使用道具 举报

ID:616198 发表于 2020-6-17 15:26 | 显示全部楼层
谢谢各位大哥,改好啦
回复

使用道具 举报

ID:733205 发表于 2020-7-21 15:32 | 显示全部楼层
引脚没有定义
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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