红外报警系统的c语言程序

红外报警系统的c语言程序,第1张

//获取有几对红外对管被阻碍

char get_hinder_num()

{

    ......

}

//获取倒计时的时间,立即报警返回0

char get_count_down(char hinder_num)

{

    ......

}

//报警函数

void beep()

{

    ......

}

flag_delay = 1 //等待标志

void main()

{

    char hinder_num = 0

    char count_down = 0

    while(1)

    {

        while(hinder_num == 0){ hinder_num = get_hinder_num()} //发生阻碍跳出

        count_down = get_count_down() //获取倒计时

        if (count_down == 0){beep()} //倒计时为0,立即报警

        else

        {

            flag_delay = 1

            ......//使用定时器开始倒计时,根据count_down确定倒计时间

                  //时间到把flag_delay置为0

            while(flag_delay) //等待

            {

                   if (hinder_num != get_hinder_num()) //如果阻碍数量发生变化,退出等待

                   {

                       ......//关闭定时器

                       break

                   }

            }        

        }

     }   

}

首先要在P3.2引脚上真的要焊一个按钮的,没有真的按钮,只写程序是没有用的。

写程序:在主程序中加两行

main()

{IT0=1

IE=0x81

以下原来的程序不变

再另写一个中断子程序

void ex0() interrupt 0

{

//自己写声光报警停止的程序行,应该是哪个脚置1,还是置0,自己写

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11726368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存