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,电路原理图如下所示

基于proteus的51单片机仿真实例七十七、使用555实现定时功能应用实例
4、将ex65hex文件载入at89c51中,启动仿真,按动拨码开关,观察运行结果。下图是某一时刻程序运行结果
基于proteus的51单片机仿真实例七十七、使用555实现定时功能应用实例

相关文章:

  • 2021-06-21
  • 2022-01-08
  • 2021-05-17
  • 2021-05-05
  • 2021-04-21
  • 2021-10-27
  • 2021-09-28
  • 2021-09-16
猜你喜欢
  • 2021-10-02
  • 2021-07-12
  • 2021-04-08
  • 2021-12-22
  • 2021-10-12
  • 2021-08-01
  • 2021-11-28
相关资源
相似解决方案