历史上的今天
返回首页

历史上的今天

今天是:2025年04月05日(星期六)

2018年04月05日 | 单片机中断功能在干簧管计数器设计中的应用

2018-04-05 来源:eefocus

    在本文的介绍中,要设计一个干簧管计数器,并用数码管来显示。本案例例中,还要接触单片机一个重要的功能“中断”。

    干簧管是干式舌簧管的简称,是一种有触点的无源电子开关元件,具有结构简单,体积小便于控制等优点,其外壳一般是一根密封的玻璃营,管中装有两个铁质的弹性簧片电板,还灌有一种叫金属铑的惰性气体。平时,玻璃管中的两个由特殊材料制成的簧片是分开的。

 






    下图是它的结构示意图。

    干簧管计数器结构示意图

    当有磁性物质靠近玻璃管时,在磁场磁力线的作用下,管内的两个簧片被磁化而互相吸引接触,簧片就会吸合在一起,使结点所接的电路连通。外磁力消失后,两个簧片由于本身的弹性而分开,线路也就断开了。

    因此,作为一种利用磁场信号来控制的线路开关器件,干簧管可以作为传感器用,用于计数,限位等,同时还被广泛使用于各种通信设备中。在实际运用中,通常用永久磁铁控制这两根金属片的接通与否,所以又被称为“磁控管”。

    下图是干簧管状态读入电路,

    干簧管状态读入电路

    当磁铁靠近干簧管时,相当于按键按下,单片机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….

    ….

    ….

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

    }

    【注1】:主程序第一个语句初始化了外部中断0,将外部中断0(P3.2)设置为下降沿触发,即触发中断的条件是P3.2口的状态从“1”变到“0”。

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

    【注2】:中断服务程序,外部中断0的中断向量为0。每次磁铁靠近干簧管都会使P3.2的状态从“1”变到“0”,从而触发中断,程序会直接跳到本中断服务程序,num++语句使变量num加1。


推荐阅读

史海拾趣

芯旺微电子(ChipON)公司的发展小趣事

芯旺微电子一直将技术创新作为公司发展的核心驱动力。公司拥有一支高素质的研发团队,不断在CPU系统结构、编译器、IDE软件、数模混合设计等领域进行技术创新和突破。这些技术创新的成果不仅提升了芯旺微电子的产品性能和质量,也为其在激烈的市场竞争中赢得了更多的机会和优势。

Central Semiconductor公司的发展小趣事

在20世纪70年代末,当许多半导体制造商纷纷转向硅器件的生产时,Central Semiconductor却洞察到了后缘半导体市场的空白。公司决定坚守锗器件的生产,并凭借这一决策填补了市场空白。这种对旧技术的坚持不仅让Central在一段时间内保持了竞争优势,也为公司在后续发展中积累了宝贵的经验。

随着技术的进步,Central并没有固步自封,而是逐渐将产品系列扩展到包括表面安装设备等更先进的产品。这种转型不仅满足了市场对小型化产品的需求,也展示了Central对市场变化的敏锐洞察和适应能力。

Altmustech公司的发展小趣事

随着业务规模的不断扩大,Altmustech开始实施全球化布局战略。公司在全球范围内设立研发中心和生产基地,与各地合作伙伴建立紧密的合作关系。这一战略使得公司能够更好地利用全球资源,提高生产效率,降低成本,同时也有助于提升公司在国际市场上的竞争力。

Gulf Semiconductor公司的发展小趣事

创新是Altmustech公司发展的核心动力。公司不断投入研发资金,引进优秀人才,推动技术创新和产品升级。从最初的半导体芯片到后来的智能设备、物联网解决方案,Altmustech始终站在技术前沿,引领行业发展趋势。这种持续的创新精神使得公司在激烈的市场竞争中始终保持领先地位。

Coleman Cable Inc公司的发展小趣事

随着全球环保意识的不断提高,Coleman Cable积极响应绿色发展的号召,将环保理念融入公司的生产和经营中。公司研发出环保型电缆产品,采用环保材料和工艺,减少生产过程中的环境污染。同时,公司还加强废弃电缆的回收和处理工作,推动资源的循环利用,为行业的绿色发展做出了贡献。

Heimann Optoelectronics Gmbh公司的发展小趣事

为了进一步扩大市场份额,Hei Inc Optoelectronic Division积极实施国际化战略。公司首先在欧洲和北美市场设立了分支机构,并建立了完善的销售和服务网络。通过参加国际展会、与当地企业建立合作关系等方式,公司成功地将产品推向了国际市场。同时,公司还加大了对海外研发中心的投入,吸引了众多国际顶尖的光电子专家加盟。这些举措不仅提升了公司的国际竞争力,还为公司带来了更多的国际订单和合作伙伴。

问答坊 | AI 解惑

WinCE窗体背景怎么修改

我想给菜单中的按钮添加图标,以及给窗口添加背景图片,请问可以实现吗?要是可以的话要怎么实现呢?大家帮帮忙啊!非常感谢…

查看全部问答>

WINCE下反射问题

请教下,在WINCE中的COM通讯API调用是core.dll,而不是WINDOWS中的kernel32.dll。那CE中的反射是怎么用的, DriverObject driverObj = Shared.Drivers[typeStr.ToLower()] as DriverObject; if (driverObj != null) {    Type type = drive ...…

查看全部问答>

Keil下AT89C51的软件仿真速度问题。(难道时钟是1.2MHz吗?)

为AT89C51写了一个延时函数如下: void WhileTimeout(unsigned int pTimeout) //WhileTimeout函数 //语法:WhileTimeout(pTimeout); //说明:产生pTimeout指定延时,单位为ms。 //参数:unsigned int pTimeout        单位为m ...…

查看全部问答>

关于开发板rootfs中NFS的问题

我用在开发板上用mount -t nfs -o nolock 196.168.0.110:/home/name/rootfs 按了回车一定反应都没有就跑到下一行,然后空白也没有出错信息,只有按ctrl+c终止 。PC上配置应该没有问题!自己可以mount(nfs)自己,开发板上也能ping通。 在内核设置 ...…

查看全部问答>

一个数据采集的问题

现在在做一个数据采集的问题,用delphi做的,但是没有学过的看了几天的线程采集的东西 ,也看不出一点头绪来,请教以下各位,该怎么做呢,主界面作好了不止到下来怎么作了.…

查看全部问答>

quartus编译警告

有些警告双击能跳到程序中,而有些不能跳到,那些警告可以不处理? function forumhottag_callback(data) { tags = data; } …

查看全部问答>

北京知名通信公司招聘DSP软件工程师

DSP软件工程师(物理层实现)年薪16-19W 岗位职责: 1、负责McWiLL宽带无线接入系统物理层算法的验证及实现,包括基站和终端; 2、负责SCDMA基站和终端产品物理层软件的开发及维护。 任职要求: 1、本科及以上学历,电子、通信等相关专业; 2 ...…

查看全部问答>

MSP430F5529学习笔记

初识篇        这次论坛发布了新的基于5529的学习视频,我第一感觉首先是选材很好,因为一般无论是TI出DEMO板还是学习视频都是以一个器件系列中最先进最高端的器件为依托的。比如LaunchPad的2452、2553都是该时间段2XXX系列最 ...…

查看全部问答>

做过GPRS数据传输的没?来谈谈经验吧

做过GPRS传输的或者modem的,请教下在数据稳定传输和功耗控制上的一些经验哈…

查看全部问答>