13键控彩灯.ppt
《13键控彩灯.ppt》由会员分享,可在线阅读,更多相关《13键控彩灯.ppt(43页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、任务三任务三任务三任务三 键控彩灯(中断)键控彩灯(中断)键控彩灯(中断)键控彩灯(中断)用按键控制彩灯的运行。通过按动按键用按键控制彩灯的运行。通过按动按键,彩灯在三种闪亮方式彩灯在三种闪亮方式(左移、右移和自定义花左移、右移和自定义花样样)之间切换。学会使用单片机的外部中断实之间切换。学会使用单片机的外部中断实现各种控制功能。现各种控制功能。设计任务设计任务按键处理方式:按键处理方式:1、查询查询方式:不断查询按键方式:不断查询按键/隔一段时间抽样检隔一段时间抽样检测一次。测一次。2、中断中断方式:采用外部中断。方式:采用外部中断。键盘键盘键盘是单片机应用系统常用的输入设备。键盘是单片机应
2、用系统常用的输入设备。按键是一个简单的开关:按键是一个简单的开关:当按键按下时,相当于开关闭合;当按键按下时,相当于开关闭合;当按键松开时,相当于开关断开。当按键松开时,相当于开关断开。(1)独立式独立式键盘键盘 各个按各个按键键相互独立,每个按相互独立,每个按键键独立地与一独立地与一根根输输入入线线相相连连。适合于按适合于按键较键较少少的系的系统统。(2)行列式键盘行列式键盘 按键设置在行列的交点上。按键设置在行列的交点上。适合于按键较适合于按键较多多的系统。的系统。按键的去抖按键的去抖 机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来
3、,抖动时间一般为510ms,在触点抖动期间检测按键的通与断状态,可能导致判断出错。独立式按键键盘独立式按键键盘某个键某个键按下按下时,对应行为时,对应行为0;未按下时,对应行为;未按下时,对应行为1。用用4个按键实现对个按键实现对4个程序的控制。每按个程序的控制。每按下一个键,执行一次相应的程序。下一个键,执行一次相应的程序。Sbit key1=P10;void main(void)uchar key;while(1)If(key1=0)Func1();If(key2=0)Func2();If(key3=0)Func3();If(key4=0)Func4();或者用或者用Switch case
4、语句语句 行列式按键键盘行列式按键键盘(1)扫扫描法描法 逐行扫描:扫描一行,逐行扫描:扫描一行,逐行扫描:扫描一行,逐行扫描:扫描一行,如果发现有键按下,通过对列线移位,计算出键号;如果发现有键按下,通过对列线移位,计算出键号;如果发现有键按下,通过对列线移位,计算出键号;如果发现有键按下,通过对列线移位,计算出键号;如果没有键按下,扫描下一行。如果没有键按下,扫描下一行。如果没有键按下,扫描下一行。如果没有键按下,扫描下一行。逐列扫描:扫描一列,如果发现有键按下,通过对逐列扫描:扫描一列,如果发现有键按下,通过对逐列扫描:扫描一列,如果发现有键按下,通过对逐列扫描:扫描一列,如果发现有键按
5、下,通过对行线移位,计算出键号;如果没有键按下,扫描下一行线移位,计算出键号;如果没有键按下,扫描下一行线移位,计算出键号;如果没有键按下,扫描下一行线移位,计算出键号;如果没有键按下,扫描下一列。列。列。列。(2)反转法反转法先把所有列线为低电平,行线置成输入状态,然后读先把所有列线为低电平,行线置成输入状态,然后读先把所有列线为低电平,行线置成输入状态,然后读先把所有列线为低电平,行线置成输入状态,然后读行线状态;再把所有行线为低电平,列线置成输入状行线状态;再把所有行线为低电平,列线置成输入状行线状态;再把所有行线为低电平,列线置成输入状行线状态;再把所有行线为低电平,列线置成输入状态,
6、然后读列线状态;最后将两者组合形成键号。态,然后读列线状态;最后将两者组合形成键号。态,然后读列线状态;最后将两者组合形成键号。态,然后读列线状态;最后将两者组合形成键号。设计一个设计一个4行行4列的行列式键盘,键号位列的行列式键盘,键号位015。每按下一个键,得到一个键号。每按下一个键,得到一个键号。功能:判断哪个键按下。功能:判断哪个键按下。所有行线输出所有行线输出0,然后读列线的输入状态。,然后读列线的输入状态。所有列线输出所有列线输出0,然后读行线的输入状态。,然后读行线的输入状态。将行号和列号叠加形成扫描码。根据扫描将行号和列号叠加形成扫描码。根据扫描码找到按键编码。码找到按键编码。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 13 键控 彩灯
限制150内