找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4822|回复: 2
打印 上一主题 下一主题
收起左侧

基于51单片机的门铃程序

[复制链接]
跳转到指定楼层
楼主
ID:335813 发表于 2018-5-22 17:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit beep=P1^5;
sbit k1=P3^1;
u8 ding,dong,flag,stop;
u16 n;
void delay(u16 i)
{
        while(i--);
}
void time0init()          //定时器0初始化
{
        TMOD=0X01;         //定时器0 方式1
        TH0=0Xff;
        TL0=0X06; //定时250us
//        TR0=1;
        EA=1;
        ET0=1;
}
void biaohaoinit()           //各个标号初始化
{
        ding=0;                //叮声音  计数标志
        dong=0;                //咚声音  计数标志
        n=0;                //定时0.5s标志
        flag=0;
        stop=0;           //结束标志
}
void main()
{
        time0init();
        biaohaoinit();
        while(1)
        {
                if(k1==0)           //判断按键是否按下
                {
                        delay(1000);  //消抖
                        if(k1==0)
                        {
                                TR0=1;        //打开定时器0
                                while(!stop);
                        }
                }       
        }       
}
void time0() interrupt 1
{
        n++;
        TH0=0Xff;
        TL0=0X06; //250us
        if(n==2000)                //定时0.5s  叮响0.5秒,咚响0.5秒
        {
                n=0;
                if(flag==0)
                {
                        flag=~flag;
                }
                else
                {
                        flag=0;
                        stop=1;
                        TR0=0;          //关闭定时器0
                }
        }
        if(flag==0)
        {                                           //通过改变定时计数时间可以改变门铃的声音
                ding++;                          //叮
                if(ding==1)
                {
                        ding=0;
                        beep=~beep;
                }
        }
        else
        {
                dong++;
                if(dong==2)                  //咚
                {
                        dong=0;
                        beep=~beep;
                }       
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:456957 发表于 2018-12-28 01:45 | 只看该作者
flat在程序中有什么用呀
这个的流程图有吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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