单片机实现干簧管计数器的实验
在本实验中,要设计一个干簧管计数器,并用数码管来显示。在本例中,还要接触单片机一个重要的功能“中断”。
干簧管是干式舌簧管的简称,是一种有触点的无源电子开关元件,具有结构简单,体积小便于控制等优点,其外壳一般是一根密封的玻璃营,管中装有两个铁质的弹性簧片电板,还灌有一种叫金属铑的惰性气体。下图是它的结构示意图。
平时,玻璃管中的两个由特殊材料制成的簧片是分开的。
当有磁性物质靠近玻璃管时,在磁场磁力线的作用下,管内的两个簧片被磁化而互相吸引接触,簧片就会吸合在一起,使结点所接的电路连通。外磁力消失后,两个簧片由于本身的弹性而分开,线路也就断开了。因此,作为一种利用磁场信号来控制的线路开关器件,干簧管可以作为传感器用,用于计数,限位等,同时还被广泛使用于各种通信设备中。在实际运用中,通常用永久磁铁控制这两根金属片的接通与否,所以又被称为“磁控管”。
下图是干簧管状态读入电路,当磁铁靠近干簧管时,相当于按键按下,单片机P3.2口为OV,逻辑“0”:当磁铁拿走时,相当于按键抬键,P3.2为+5V,逻辑“1”。
我们要做的实验就是记录磁铁靠近干簧管的次数,也就是P3.2口由“1”变成“0”的次数。在写程序之前先介绍单片机中断的概念。
举个例子,如果我们有很多工作要做,偏偏有一个重要的客人要来,而且不知道来的具体时间,我们该怎么办?没错,我们先做工作,客人来了放下工作先接待,等客人走了接着做刚才放下的工作。
单片机的中断系统也是这样,中断请求来临时,单片机从当前运行的程序中跳出,直接运行中断服务程序,运行完中断服务程序后,再回到刚才程序中断的地方接着运行。
在本实验的电路设计中,用P3.2口读取干簧管的状态,单片机的P3.2口有一个重要的功能,它是外部中断0的接入口。经过初始化,当P3.2口的状态从“1”变到“0”时就会触发外部中断0,程序会自动跳到我们写好的中断服务程序,执行完中断服务程序后,再回到刚才主程序中断的地方继续执行主程序。程序如下:
#include
//存储数码管显示码的一维数组
unsignedcharShowCode[]=(Oxc0,Oxf9,Oxa4,OxbO,Ox99,Ox92,Ox82,Oxf8,Ox80,Ox90):
//主程序
voiDMAin(void){unsignedchari….
磁控管相关文章:磁控管原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理
评论