大家可以看看这个程序,我也语言表达的,呵呵,可以用C 来实现吗?
bkill 2008-01-15 12:15:57 #include "stdio.h"
main()
{ /*这个程序要用到的数据:接受电脑的(定义为datacomputer),键盘扫描得到的(理论上应该是12个,定义为datakeyscan1,datakeyscan2,datakey3,datakey4,datakey5,datakey6,datakey7,datakey8,datakey9,datakey10,datakey11,datakey12,我们为了点亮LED灯要用到的数据“如果是用每条线对应一个灯,其实就到时候付给那条线对应的端口1就行了,但是这个接受的电脑的数据有关,可以给他们定义一个对应关系!!程序里的这个数据就定义为dataacordingcomputer”)*/
get code()/*接受一个电脑发来的数据:这个数据是电脑从条码扫描仪得到的,这个数据很重要,它将决定我们的程序怎么编写,它关系到我们电亮那个LED灯,关系到扫描到什么按键就立即报警,扫描到什么按键继续扫描,以及过多长时间这个按键没有被扫描到要报警*/
keyscan()/*程序应该是从扫描开始的,之前需要加协议吗?我不清楚,待定*/
get datakeyunknowd()/*应该得到一个扫描的数据datakeynuknowd,那这个数据如果是(我感觉老说这个那个的很不爽,好了,回到开头用数字来说吧。)*/
{
if(datakeyunknown=dataacordingcomputer&&timer<30ms)/*这里的datakeyunknown就是不确定的接收到的扫描到的数据*/
程序待嫁/*这里的程序的实际作用就是继续扫描,且保证LED灯还亮着,且记录(可以累加)这个扫描的次数并返回给电脑一个这个数据信号*/
else if(datakeyunknown!=dataacordingcomputer)/*如果接收到的数据不是设定的和电脑给的数据对应的数据,就表示键盘扫描异常,就是有键按下,则要做出点亮报警灯喇叭的反应*/
/*这里的程序就是将和报警灯和喇叭连接的电路置高电平,也就是发送数据1*/
else(datakeyunknown=0x0)/*这个地方就是考虑到这个键盘扫描(也就是红外线电路阻断)没有被执行,这也是一个异常!*/
/*这个地方也要和上面一样对报警灯和喇叭电路进行置高电平操作--既然对他们置高电平出现不止一次,就设置为子程序,可以不停的被调用!!*/
/*最后考虑硬件复位时对程序的保护(通过硬件一定可以实现复位,对程序执行会不会有破坏?需不需要保护程序呢?要请教一下大家。)*/
}
}