干簧管计数器中单片bob综合体育官方入口机中断
  • 时间:2022-06-12
  • 点击率:

在本文的引言中,我们要设计一个簧片开关计数器,并用数码管显示。在这种情况下,单片机的一个重要功能& ldquo中断& rdquo。

本文引用地址:http://www.eepw.com.cn/article/148748.htm

干簧管是干簧管的缩写,是一种带触点的无源电子开关元件。它具有结构简单、体积小、易于控制的优点。它的外壳一般是一个密封的玻璃营,里面装着两个铁质弹性簧片,里面充有一种叫铑的惰性气体。通常玻璃管中由特殊材料制成的两个簧片是分开的。

下图显示了它的结构。

簧片开关计数器结构示意图

当一个磁性物质靠近玻璃管时,在磁力线的作用下,管内的两个簧片被磁化并相互吸引,簧片会被吸引在一起,从而使连接到节点的电路接通。外部磁力消失后,两个簧片因自身弹性而分离,电路断开。

因此,干簧管作为一种受磁场信号控制的线路开关器件,可以作为计数、限幅等的传感器,也广泛应用于各种通信设备中。在实际中,永磁体通常用于控制两个金属片是否连接,因此也称为& ldquo磁控管& rdquo。

下图显示了簧片开关状态读取电路。

簧片开关状态读取电路

当磁铁靠近簧片开关时,相当于按了一个键,单片机的P3.2口是OV,logic & ldquo0 & rdquo:磁铁拿走,相当于按了键,P3.2是+5V,逻辑& ldquo1 & rdquo。

我们要做的实验是记录磁铁接近簧片开关的次数,即端口P3.2由& ldquo1 & rdquo成为& ldquo0 & rdquo次数。写程序之前,先介绍一下单片机中断的概念。

比如我们有很多工作要做,但是一个重要的客人要来,我们不知道具体时间,怎么办?没错,先把活干了再说。客人到了,放下工作,先接待他们。客人走后,继续做刚放下的工作。

单片机的中断系统也是如此。当中断请求到来时,MCU跳出当前运行的程序,直接运行中断服务程序。运行中断服务程序后,回到刚才程序被中断的地方,然后运行。

在本实验的电路设计中,P3.2端口用于读取干簧管的状态。单片机的P3.2端口有一个重要的功能,就是外部中断0的接入端口。初始化后,当端口P3.2的状态从& ldquo1 & rdquo更改为& ldquo0 & rdquo当外部中断0被触发时,程序将自动跳转到我们编写的中断服务程序。中断服务程序执行后,会回到刚才主程序被中断的地方,继续执行主程序。该过程如下:

#包括

//存储数码管显示代码的一维数组

unsignedcharShowCode[]=(Oxc0,Oxf9,Oxa4,OxbO,Ox99,Ox92,Ox82,Oxf8,Ox80,Ox90):

//主程序

void main(void){ unsignedchari & hellip;。

& hellip。

& hellip。

P1 = show code[num];//在数码管上显示数字num}

}

【注1】:主程序第一条语句初始化外部中断0,设置外部中断0(P3.2)为下降沿触发,即触发中断的条件是P3.2端口状态由& ldquo1 & rdquo更改为& ldquo0 & rdquo。

第二句话启用外部中断0。只有当中断使能时,程序才能在中断条件发生时跳转到中断服务程序。否则,即使中断条件发生,程序也不会跳转执行中断服务程序。

【注2】:中断服务程序,外部中断0的中断向量为0。每次磁铁接近簧片开关,P3.2的状态就会从& ldquo1 & rdquo更改为& ldquo0 & rdquo,从而触发中断,程序会直接跳转到这个中断服务程序,num++语句给变量num加1。


客服QQ: 点击这里
地址:台州市寨金路899号电子时代广场5116室 客服QQ:329435596
Copyright © 2022 bob综合体育官方入口 版权所有

08980-89895656

服务时间:7X10小时