干簧管计数器中单片机中断的设计实现

发布者:760802csy最新更新时间:2012-07-23 来源: 电子发烧友关键字:干簧管  计数器  干簧管计数器 手机看文章 扫描二维码
随时随地手机看文章

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

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

  平时,玻璃管中的两个由特殊材料制成的簧片是分开的。

  当有磁性物质靠近玻璃管时,在磁场磁力线的作用下,管内的两个簧片被磁化而互相吸引接触,簧片就会吸合在一起,使结点所接的电路连通。外磁力消失后,两个簧片由于本身的弹性而分开,线路也就断开了。因此,作为一种利用磁场信号来控制的线路开关器件,干簧管可以作为传感器用,用于计数,限位等,同时还被广泛使用于各种通信设备中。在实际运用中,通常用永久磁铁控制这两根金属片的接通与否,所以又被称为“磁控管”。

  下图是干簧管状态读入电路,当磁铁靠近干簧管时,相当于按键按下,单片机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。

关键字:干簧管  计数器  干簧管计数器 引用地址:干簧管计数器中单片机中断的设计实现

上一篇:基于单片机的双模糊温度控制器设计
下一篇:AT89S52单片机与CF卡的接口的电路图和编程实例

推荐阅读最新更新时间:2024-03-16 13:04

STC89C52系列单片机内部资源——定时器和计数器
CPU时序的有关知识 振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期) 状态周期:2个振荡周期为1个状态周期,用S表示。振荡周期又称S周期或时钟周期。 机器周期:机器周期也就是CPU完成一个基本操作所需要的时间。1个机器周期含6个状态周期,12个振荡周期。机器周期=1/单片机的时钟频率。 时钟频率:外部时钟的12分频。也就是说当外部晶振的频率输入到单片机里面的时候要进行12分频。比如说你用的是12MHZ的晶振,那么单片机内部的时钟频率就是12/12MHZ,当你使用12MHZ的外部晶振的时候。机器周期=1/1M=1us。 指令周期:完成1条指令所占用的全部时间,它以机器周期为单位。 在学习定时器之前
[单片机]
STC89C52系列单片机内部资源——定时器和<font color='red'>计数器</font>
STM32 计数器模式
输入捕获模式 库函数例程位置: STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\TIM\InputCapture 在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中。当捕获事件发生时,相应的CCxIF标志(TIMx_SR寄存器)被置 1 ,如果使能了中断或者DMA操作,则将产生中断或者DMA操作。 在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。 PWM输入模式 库函数例程位置 :STM32F10x_StdPeriph_Lib_V3.3.0\Project\
[单片机]
示波器触发计数器
示波器作为一种通用测量仪器,其测量功能举足轻重,ZDS2022示波器具有“真正意义”的测量统计功能,不仅全硬件测量速度快,而且提供了多达51种的参数测量项!   按下【Measure】键,在测量项选择菜单中可对所有参数项查看,今天和大家来着重看下触发计数器的参数项测量到底是怎么回事吧?   图1 触发计数器测量   旋转旋钮B,在计数一栏中短按旋钮B选中触发计数器,长按旋钮B可查看触发计数器的帮助信息,波形的触发计数器是指在特定时间内对触发电平交叉点的计数,并已Hz为单位显示结果。返回到主界面,我们可以看到该正弦波的触发电平与上升沿处的触发计数为167Hz,按下频率计软键,选择CH1,可测得该正弦波的频率为12.5KHz,
[测试测量]
示波器触发<font color='red'>计数器</font>
16课:单片机定时器与计数器
一、计数概念的引入 从选票的统计谈起:画“正”。这就是计数,生活中计数的例程处处可见。例:录音机上的计数器、家里面用的电度表、汽车上的里程表等等,再举一个工业生产中的例程,线缆行业在电线生产出来之后要计米,也就是测量长度,怎么测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎么办呢?行业中有很巧妙的办法,用一个周长是1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不就是线长1米嘛,所以只要记下轮转了多少圈,就能知道走过的线有多长了。 二、计数器的容量 从一个生活中的例程看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴持续落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。录音机上的计数器最多只计
[单片机]
16课:单片机定时器与<font color='red'>计数器</font>
基于单片机的高速信号测试接口板的实现
  在数字电路设计和调试中,对设计单元电路的性能进行实时测试是必不可少的环节。很多情况下,需要通过计算机的比较和分析,来测试设计的电路的性能是否达到要求。这就需要设计一个测试接口板,将计算机产生的测试数据送入单元电路,再将单元电路的输出结果送回计算机。 在电路测试接口板的设计过程中,常常会遇到总线时钟频率较高(如40 MHz以上)、总线宽度较宽(如36 b)、要求测试的数据量较大(几Mb/s)的单元电路。这时实时地进行数据的双向传输比较困难,因为不论采用总线频率较高的PCI数据总线或USB总线[1],都达不到系统要求的数据传输速率,所以必须进行数据的缓存。考虑到PCI总线和USB总线的接口电路复杂、开发周期长,本文介绍一种采用单片
[测试测量]
如何使用单片机制作一个手动计数器
1.实验任务 利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示;硬件电路图如图19所示。 2.电路原理图 图4.10.1 3.系统板上硬件连线 (1. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。 (2. 把“单片机系统”区域中的
[单片机]
如何使用单片机制作一个手动<font color='red'>计数器</font>
计数器的同步扩展、级联及波形图
计数器的同步扩展 计数器级联及波形图
[工业控制]
<font color='red'>计数器</font>的同步扩展、级联及波形图
定时器/计数器方式3的编程和应用
  方式3下的T0和Tl大不相同。T0工作在方式3时,TL0和TH0被分成两个独立的8位定时器/计数器。其中,TL0可作为8位的定时器/计数器,而TH0只能作为8位的定时器。此时T1只能工作在方式0、1或2。      一般情况下,当定时器Tl用作串行口波特率发生器时,T0才设置为方式3。此时,常把定时器Tl设置为方式2,用作波特率发生器。      假设某AT89S51单片机应用系统的两个外部中断源已被占用,设置定时器Tl工作在方式2,用作波特率发生器。现要求增加一个外部中断源,并控制P1.0引脚输出一个5 kHz(周期为200μs)的方波。假设系统时钟为12 MHz。      基本思想:设置TL0工作在方式3计数模式,TL0
[单片机]
定时器/<font color='red'>计数器</font>方式3的编程和应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved