永发信息网

中断函数里面的程序是什么意思啊,看了好久都没看懂,初学单片机,请大神不吝赐教!!!!

答案:1  悬赏:0  手机版
解决时间 2021-01-27 15:51
  • 提问者网友:十年饮冰
  • 2021-01-27 06:32
中断函数里面的程序是什么意思啊,看了好久都没看懂,初学单片机,请大神不吝赐教!!!!
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-01-27 08:08
exter0() interrupt 0    // 外中断0用来从外设输入数据,并采用窗口宽度为8的均值滤波来滤除噪声干扰。
{
unsigned int dat;
uchar count,temp,temp1,j;

count++;    // 数据个数加1
EX0=0;      // 暂时禁止中断
P2=0xff;    // 准备从P2口输入数据

MRD=0;      //  发出读命令

HBEN=0;     // 读取低8位
temp=P2;    //  低8位,放temp中
delayus(1);
HBEN=1;     //读取高八位
temp1=P2;    // 放temp1中

temp1&=0x0f;   // 数据只有12位,则屏蔽掉最高4位
num=temp1*256+temp;     // 还原成1个数据

num1=num1+num;      // 求累和
if(count==8)        // 是否已经有8个数了
{
count = 0;    // 是,重新从0开始

num2 = num1 /8;  // 累和除以8,也就是求平均
num1 = 0;        // 类和再次从0开始
j++;             // 平均的数据又多了一个
if(j>7) j=0;     // 如果有多于8个的平均值,又从0开始
}
numb[j]=num2;             // 存放这个有用的均值
MRD=1;                    // 结束读信号
init(0x40+j);
EX0=1;                    // 开外中断0
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯