led点阵书写屏程序(8)
发布时间:2021-06-07
发布时间:2021-06-07
//则把程序指针拖回这里来,不然FOR循环执行完了count就+1,即写下一个字了
//不要了 LCD_SHOW(); //1602的第一行显示当前模块,第二行进行操作提示,参数为提示内容的字符串首地址
one_word(point[count],writting); //扫描一个点并予以显示,在LEDDATA[count]内存区
KEYS=0;
KEYS=getkey(); //AD扫描按键,其实按键扫描1秒钟内进行10次足矣,不必跟随这个dis_play()做至少20次的扫描,
//因为人的手不可能一秒内按键超过10次。
//调试时如果发现LED屏对光笔的反应比较慢,则需要修改getkey()在一秒内的时间占用比例,
//即也意味着getkey()在一秒内的执行次数。可以这样:设定一个计数器,每dis_play()一次就+1,初值
//为0,到了1就清零,并且调用get_key(),否则不执行get_key().
if(KEYS) //getkey()检测到按键按下就返回按键的值,没按键按下就返回0
{
switch(KEYS)
{
case key_enter : break; //进入下一个数据区,即些下一个字,break退出后count+1
case key_esc : return; break; //返回最底层的点亮与画亮功能模式下
// case key_words_modle : break; //没反应,因为已经在多字连写功能下了
case key_light_level : lightlev(point[count]);break; //调整屏幕亮度级别的参数,这个功能可在任意模式下进入,同时返回也为进入前的当前模式
case key_sleep_time : sleeptim(point[count]);break; //调整超时待机的超时时间 ,同上
case key_fanxian : fanxian(point[count]);break; //反显操作
case key_cachu : LEDcachu(point[count]);break; //擦除操作
case key_tuoyi : obj_move(point[count]);break; //对象拖移
// case key_tuoyi_xuanding : break; //”对象选定确认“在这里没意义
// case key_tuoyi_quxiao : break; //”对象选定确认后取消“在这里没意义
// case key_crease : break; //”数据+1“在这里没意义
// case key_decrease : break; //”数据-1“在这里没意义
default : break; //没按键匹配的,直接退出。虽然在这里不发生,但安全起见加上去
}
}
}while(KEYS>=key_words_modle&&KEYS<=key_decrease);
}
fou_show(); //四个字写完了,重新显示出来。完
了后退出返回点亮与画亮模式
}
void fou_show()//多字连写模式中的连续轮流显示4个字的函数,每个字显示1秒。4个字显示完之后便自动退出
{
uchar words, times; //words为显示的第几个字,times为dis_play的执行次数,
上一篇:国外著名商业街区案例简介
下一篇:香港旅游指南