|
|
我用arduino板子,L1602液晶屏,光电开关 试着做一个东东,把光电开关动作的次数显示在L1602屏上。
编写了如下程序,结果L1602屏幕是能显示,光电开关还没发出信号,计数的值自动累加。求教是什么问题?
#include <LiquidCrystal.h> //调用液晶显示的函数
LiquidCrystal a(12,10,11,5,4,3,1); //初始化L1602屏幕,是4位接线法(RS,RW,ENABLE,D4,D5,D6,D7)
int x=0; //用x来记录光电开关动作次数,初始值为0.
void setup()
{
a.begin(16,2); //初始化L1602屏幕
pinMode(2,INPUT); //中断函数用2引脚控制
attachInterrupt(0,z,RISING); //引脚为2号,中断函数是Z,引脚2的值由0变为1时(上升时)触发
}
void loop()
{
a.setCursor(1,0); //光标位置
a.print("次数=");
a.setCursor(8,0); //光标位置
a.print( x);
delay(100);
}
void z() //这个就是中断函数,每次触发,X的值加1
{
x=x+1;
}
我最终显示在L1602屏幕上的是 次数=XXXX,我的光电开关还没动作,这个XXXX的值不停的乱升,猜测是中断函数出现问题啦吧?求教,越详细越好,能指正 我其他程序的错误更好,我是小白 |
|