概述
一、实验目的
熟悉金属探测器的原理;
外部中断的使用;
OLED屏幕的使用;
二、器材
stc8a8k自制核心板;
金属接近传感器;
OLED屏幕;
三、原理
金属接近传感器,用的是这种。也可以买其他的,原理差不多
图中,这个传感器的电源是10-30V,但是经过测试,5V也能用,不过检测距离等有所变小。、 注意,应该把金属应该在这个圆形的下方。这个是感觉的地方。
当没有金属在下面,那么就是5V,当有金属在下面,就是0.5V,从5v—0.5v,发生下降沿。用下降沿触发外部中断P32,当开启了下降沿触发模式,P32引脚接收到下降沿信号,那么在中断服务函数里面,进行相关设置。
代码:
#include <stc8a8k.h>
#include <oled.h>
unsigned char metalflag=0;
void delay1ms(unsigned int tms) //@11.0592MHz
{
unsigned char i, j;
unsigned int k;
for(k=tms;k>0;k--)
{
i = 15;
j = 90;
do
{
while (--j);
} while (--i);
}
}
//P32中断0的中断服务函数
void INT0_Isr() interrupt 0 using 1
{
metalflag=1; //将标记位置1,主程序查询这个变量是不是变化
}
void main()
{
IT0 = 1; //使能INT0下降沿中断
EX0 = 1; //使能INT0中断
EA = 1;
OLED_Init();
OLED_ShowString(0,0,"oou");
while (1)
{
if(metalflag==1)
{
EX0 = 0;
//检测到,就关闭中断,进行设置,不然可能会不断进入中断
OLED_ShowString(0,0,"yyw");
//显示,蜂鸣器,LED灯亮灭亮灭,执行对应动作;
delay1ms(5000);
EX0 = 1; //用完,就打开中断,给下次检测用
metalflag=0;//给下次检测用
}
else
OLED_ShowString(0,0,"oou");
}
}
最后
以上就是重要彩虹为你收集整理的实例10、Stc8a8k金属探测实验,外部中断P32接收下降沿触发信号的全部内容,希望文章能够帮你解决实例10、Stc8a8k金属探测实验,外部中断P32接收下降沿触发信号所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复