光笔所接收到的信号一般都非常微弱,而且光探测器输出的信号往往被深埋在噪声之中,因此,要对这样的微弱信号进行处理,一般都要先进行预处理,以将大部分噪声滤除掉,并将微弱信号放大到后续处理器所要求的电压幅度。
光笔所接收到的信号放大后经AD转换器转换,输出寄存器取数据或者把数据写入AD控制寄存器中。
单片机上电后,首先对AD和定时器进行初始化,然后再启动AD转换把光笔接收的信息转换成数字信号送到MCU进行处理。通过定时中断对点阵快速动态扫描,使其发出微弱的光,每扫描一个LED灯,检测光笔是否接收到信号,从而取得对应点的坐标定位。将此点行列坐标存储起来。定时中断每扫描一次,先关闭所有LED,当判断出此次扫描的一个LED行列,再将上次存储的坐标重新赋给LED接口,使其重新点亮。如果3S内没有输入,则把记录坐标的LED灯点亮,从而实现点亮、划亮的功能。通过按键功能实现整屏擦除、多字回显等功能。
可以进些网站看看论坛下点资料,LED控制程序,你需要控制成什么样,需求不明确,可以提供一个思路,可以用中断方式也可以用查询方式两种方式。中断方式需要按键接单片机INT引脚,通过按键触发终端,在中断程序中写出你想要的控制方式;查询方式,可以通过一个无限循环不停查询接按键的引脚,根据查询结果来控制你LED灯的亮或者灭 。例如shaduo36的问题。
while(1)
{
keyscan() //永久的运行,除非断电
}
void keyscan()
{
if(S1==0)
{
delayms(10) //延时10毫秒
if(S1==0) //2个if是用来消除键盘震荡的影响。S1=0时就是键盘按下(S1一端接地)
led=0 //给0就是亮,LED一端为VCC,一端接P0^0口。
while(S1==0)//检查S1是否放下。如果一直按着,S1一直为0,则一直在这循环
led=1 //既然上面的while过了,S1当然就没被按住,所以让灯灭
}
这个需要看GPS定位主机是跟LED显示屏分体的,还是一体的。分体的GPS主机一般装在驾驶舱里。主机通过串口线跟显示屏连接。显示屏丢了没法通过定位找的。要是GPS模块和屏幕一体的,可以通过定位看看,只要屏幕接电就会有GPS信号了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)