找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机电子门铃proteus仿真+程序

[复制链接]
跳转到指定楼层
楼主
基于51单片机的电子门铃proteus仿真,有图片,有仿真,有程序



电子门铃的仿真原理图

下面是51单片机程序:
  1. /********************************************************
  2. *实例名称:电子门铃
  3. *实例功能:当按下门铃按钮时,产生500hz和750hz的方波来驱动
  4. 喇叭,产生两种不同频率的交替来产生两种声音
  5. *作者:kxm
  6. *时间:09.06.12
  7. ********************************************************/
  8. #include "doorBell.h"
  9. uchar t5hz;    //500hz频率计数
  10. uchar t7hz;    //750hz频率计数
  11. uint tcnt;     //定时器0中断计数
  12. bit flag;            //500hz和750hz状态标示
  13. void timer0_init(void)
  14. {
  15.    TMOD=0x02;  //定时器0工作在方式2,八位定时器自动载入
  16.    TH0=0x06;   //12MHZ晶振,中断周期250*10^(-6)秒
  17.    TL0=0x06;
  18.    ET0=1;           //定时器0中断使能
  19.    TR0=0;           //定时器0默认状态停止运行
  20. }
  21. void int0_init(void)
  22. {
  23.   EX0 = 1;         //外部中断0使能
  24.   IT0 = 1;         //外部中断0跳变中断
  25. }
  26. void main()
  27. {
  28.   timer0_init(); //定时器0初始化
  29.   int0_init();         //外部中断0初始化
  30.   flag=0;
  31.   t5hz=0x00;
  32.   t7hz=0x00;
  33.   tcnt=0x0000;
  34.   sei();            //开总中断
  35.   while(1)
  36.   {
  37.     if(TR0==0)
  38.       flag=0;  //门铃响过后转换成500hz状态
  39.   }
  40. }
  41. void timer0_overflow(void) interrupt 1  //timer0溢出中断入口
  42. {
  43.   tcnt++;
  44.   if(tcnt==2000)                        //500hz和750hz方波各维持0.5s
  45.   {
  46.     tcnt=0;
  47.     if(flag==0)  
  48.       flag=~flag;  
  49.     else   
  50.       TR0=0;  
  51.   }
  52.   if(flag==0)  //输出750hz方波
  53.   {
  54.     t7hz++;
  55.     if(t7hz==3)
  56.     {
  57.       t7hz=0;
  58.       BELL_OUT=~BELL_OUT;         //喇叭信号端口取反
  59.     }
  60.   }
  61.   else        //输出500hz方波
  62.   {
  63.     t5hz++;
  64.     if(t5hz==4)
  65.     {
  66.       t5hz=0;
  67.       BELL_OUT=~BELL_OUT;
  68.     }
  69.   }
  70. }
  71. void int0(void)        interrupt 0          //外部中断0中断入口,按键触发
  72. {
  73.   TR0=1;                             //开启定时器0,实现方波的输出
  74. }
复制代码


门铃所有资料下载:
单片机电子门铃仿真程序.rar (13.32 KB, 下载次数: 110)

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

使用道具 举报

沙发
ID:128038 发表于 2016-6-25 20:02 | 只看该作者
你好  为什麽接在8  和12   处  其他的行不行   R1是电阻吗  保护什麽的?
回复

使用道具 举报

板凳
ID:153523 发表于 2016-12-9 17:59 | 只看该作者
可疑的
回复

使用道具 举报

地板
ID:153523 发表于 2016-12-9 18:00 | 只看该作者
不错的,这个程序
回复

使用道具 举报

5#
ID:158129 发表于 2016-12-27 19:57 | 只看该作者
可以 先看看
回复

使用道具 举报

6#
ID:202994 发表于 2017-5-20 22:17 | 只看该作者
好东西看了要顶哈哈哈哈哈哈
回复

使用道具 举报

7#
ID:202994 发表于 2017-5-20 22:18 | 只看该作者
做创新应用设计,找到这个真是太好了。
回复

使用道具 举报

8#
ID:202994 发表于 2017-5-20 22:18 | 只看该作者
好气啊,新手下载东西这么难的吗?
回复

使用道具 举报

9#
ID:329439 发表于 2018-5-15 11:05 | 只看该作者
你好,麻烦你给我发一下电子门铃的总源程序,我复制的你帖子里边的,有些没有被定义不能用,压缩版的我打不开,谢谢!
回复

使用道具 举报

10#
ID:736204 发表于 2020-4-30 08:29 来自手机 | 只看该作者
可以,这得先留着
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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