基于proteus的51单片机仿真实例七十七、使用555实现定时功能应用实例

来源:互联网 发布:access数据库教材推荐 编辑:程序博客网 时间:2024/05/20 15:11
1、555芯片能够实现精确的定时功能。在延时模式下,利用外部的电阻和电容可以实现比较准确的定时。
本例即利用这个功能:程序启动后,按下按键会使555输出一段时间的高电平,小灯也被点亮,同时单片机检测到高电平后,让蜂鸣器发出声音,延时时间结束后,小灯熄灭,蜂鸣器停止鸣叫。
 
2、在keil c51中新建工程ex65编写如下程序代码,编译并生成ex65hex文件
//555定时器实验,
#include <reg51.h>
sbit signal = P1^0;
sbit BEEP = P3^7;
//延时函数
void delayms(unsigned int x)
{
  unsigned char i;
  while(x--)
  {
    for(i = 0;i < 120;i++);
  }
}
//主函数
void main(void)
{
  while(1)
 {
   if(signal)    //检测555输出的电平高低
  {
    BEEP = ~BEEP;   //
   delayms(3);
  }
 }
}
3、在proteus中新建仿真文件ex65dsn,电路原理图如下所示


4、将ex65hex文件载入at89c51中,启动仿真,按动拨码开关,观察运行结果。下图是某一时刻程序运行结果


阅读全文
0 0
原创粉丝点击