|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 mcuhao123 于 2009-11-30 10:21 编辑
51深度研究,迈向高阶之路—按键高阶攻略设计大赛正式开始
一、活动内容
本活动是Cepark电子园“深度研究,迈向高阶之路”—51单片机深入研究设计大赛的第一篇:按键的高阶攻略
本次设计大赛围绕如何在51单片机上实现按键的多功能处理开展,题目类型为两类:规定题目和自主DIY类题目
参赛作品内容要求如下:
<一>:基础类应用
说明: 电子园论坛的51单片机开发板的独立按键的使用方法,请参考开发板的使用说明书
1>. 利用状态机制设计独立键盘,使按下的按键点亮对应的数码管显示相应数字,并且设计两个按键递增递减。
例子说明:假设设计8个独立键盘,则第一个按下的显示1,第二个按下显示2……第6个按下显示6,第七个按下则显示的数字加1,第八个按下则显示减1。
2>. 利用状态机制设计矩阵键盘,使按下的按键点亮对应的数码管显示相应数字,并且设计两个按键递增递减。
例子说明:同上。
PS:在此强烈建议以下所有题目都使用状态机制的键盘扫描方法,如果用状态机制实现作品等级将有提升。但我们不做绝对
硬性的要求。
3>. 设计矩阵键盘,使按下的按键点亮对应的数码管显示相应数字,并设计一个按键,使得当这个按键按下持续的时间少于2秒时,(松手后)显示数字递减一次,若
持续时间大于或等于2秒,(不松手)显示数字数字连续递增。
例子说明:假设2×8矩阵键盘,第一个按键按下显示1,第二个按键按下显示2,….第十五个按键按下显示F,第十六个按键按下之后迅速放开时(即短按),显示数字减1,
按下之后2秒以上都不放开时,显示数字以一秒的间隔连续加1。(在1——F之间循环)
4>. 设计矩阵键盘,使得某键单击时,点亮第1357个LED,使得某键双击时,点亮2468个LED,使得某键三击时,点亮所有的LED,要求按键按下的时间间隔应该小
于200ms。
例子说明:假设ABC三个矩阵按键,A单击时点亮1357号LED,B双击时点亮2468号LED,C三击时点亮所有的LED。要求两次按下的时间应该小于200ms,即两次按键的时间
间隔小于200ms才判断为双击,若大于200ms则判断为两次单击。
5>. 设计矩阵键盘,使得某两键某个时刻同时按下时,点亮1234LED,在某三个键同时按下时,点亮5678LED。
例子说明:假设ABC三个矩阵键盘,当AB同时按下(并且没有放开)时,点亮1234号LED,当ABC上三个按键同时按下(也不必松开)时,点亮5678号LED。并在按键抬起后
显示消失。这里不要求辨别ABC被按下的先后次序,按下的时间间隔也没有要求。
6>. 设计矩阵键盘,包含以下按键功能,使得某键按下时,数码管相应显示,并有一按键,短按(按下持续时间少于2秒)松手后显示递减,长按(按下持续时间大于等
于2秒)不松手显示持续递增,并有某两个/三个按键在某一时刻同时按下之后(不松手),数码管显示这两个/三个按键编号的和。
说明:后面的二键和三键联按是必做功能。
<二>. 高级应用题
设计一个电子时钟,只利用51单片机的定时器,或者专用的时钟芯片作为时钟核心,1602做显示模块,可以显示年月周日时分秒。使用定时器可以不判断闰年,2
月算做小月,其他一如正常万年历功能。并设计独立按键A、B,用以调整万年历的年月日时分秒。将功能阐述如下:
(1). A键长按大于或等于两秒,进入时钟时间设置模式。
(2). A键单击,可选定调整项。
(3). B键短按一次,在选定的位置递增调整时间。
(4). AB键同时按下,所有时间数据清零,即显示0000年00月00日。
(5). A键双击,退出时钟时间设置模式。
例子说明:假设按键AB,在未进行选中调整项之前A、B键按下均无效,A键长按2秒后进入时间调整,并且1602显示屏光标在年数据末尾处闪烁,表示现在待调整项目为年,
通过单击A键可依次将待调整项目选为年月周日时分秒,通过单击B键可以调整待调项目,A键双击后退出时间调整。AB两键同时作用的功能是将所有时间数据清0,
即时间从0000年00月00日,周日,00时00分00秒开始计时.
<二>、DIY 类
1>. 设计一个电路,使用5个IO扫描25个按键。或使用更少的IO扫描更多的按键。
2>. 备选题目:
(1). 十字按键——即类似手机中键,可以在东西南北中五个方向上具备按键功能(方向“中”为按键垂直按下)。
(2). AD键盘:利用AD芯片扫描的键盘。
(3). PS/2键盘:即大部分电脑键盘使用的原理。
(4). 芯片键盘:利用专用键盘扫描芯片扫描的键盘。
3>. 期待你能做出自己自发创意的任意形式的键盘。
以上DIY类的题目,我们只对核心模块做以上原则性要求,之外的外围电路器件都不做严格要求,但是要可以完整体现核心模块的作用。
二、活动规则
1>. 以电子园的51单片机开发板为参赛作品的,可以不提交原理图,但如果有改进的话,需要说明;
2>. 参赛作品不是依据电子园的51单片机开发板的,需要配备原理图,配备程序执行效果的演示视频;
3>. 每人提交的参赛作品数目不限,既可以只做一题,也可以做多题,对于提交多题的参赛人员,所有题目都作为单独的参赛作品进行评选;
4>. 程序的开发语言和开发环境:C语言或汇编语言,推荐用C语言;
5>. 可以利用电子园的开发板的板载资源,也可利用外扩功能电路实现;
6>. 活动时间:2009年12月1日至2009年12月31日。
7>. 论坛每隔1周会公布活动进展情况。
8>. 欢迎大家到别的网站或论坛宣传本次活动,也可推荐同学、朋友来参加,对于推荐的,每到一个论坛发布宣传贴,或每推荐一人参赛(参赛作品必须符合要求)给
与发帖或推荐人50金币奖励(到论坛发帖的,需提供发帖的有效链接。推荐他人参加的,需由被推荐人在参赛作品中加以说明)。
三、作品评选规则
1>. 本次大赛设定最低参赛作品数量:参赛日期截止前提交的有效作品最少为10份、如果提交作品的数量低于10份、则大赛截止日期顺延20天,如果仍达不到规定参
赛作品数目,则以实际提交的参赛作品进行评奖;
2>. 评选人员资格:评选人员由电子园的版主和管理员组成。
四、作品提交要求
1>. 程序文件。要求提供程序源文件和烧录文件;源程序必须有注释,尤其是相关特定操作和函数,要有具体说明;
2>. 流程图。必须提供相关程序的流程图,流程图要和程序一一对应;
3>. 硬件原理图。必须提供电路原理图,原理图要求是以下格式:pdf、world、gif、jpg。
要求对关键元件和电路作出相关说明;(如果是论坛的原理图,可以不用提交,只要注明使用的是哪一版本的实验板即可);
4>. 设计思路。要求写出计思路,设计思路要体现设计的初衷,为什么要选择相关元件,程序的实现过程;
5>. 功能描述。要求明确写出该系统实现的功能和达到的效果;
6>. 作品的说明文档,应以WORD或PDF格式提交,文档内容格式以电子园提供的文档模板为准(文档模版见附见)。参加DIY类活动的还应该附上DIY实物照片,调试照片,视频等。
7>. 参赛作品,请在“51单片机-技术交流区”,开一个专门的贴子标题为《CEPARK 按键高阶设计大赛 会员名》。
五、活动奖励
1>. 所有参赛作品一律给与论坛50金币奖励;
2>. 参赛作品数量在10-19份时,评出一等奖一名,二等奖两名,三等奖三名;
3>. 参赛作品数量在20-49份时,评出一等奖二名,二等奖三名,三等奖五名;
4>. 参赛作品数量在50份以上时,评出一等奖三名,二等奖五名,三等奖八名;
5>. 一等奖奖励:电子园V3.0版51单片机开发板或者150元电子园商城购物券;
6>. 二等奖奖励:电子园的USB开发板或者80元电子园购物券;
7>. 三等奖奖励:电子园商城50元购物券或者以下内容任选其一(AVR单片机JTAG仿真器、AVR和51单片机USB口+并口编程下载器、电子园AVR单片机开发板
空PCB板);
六、本次活动最终解释权归CEPARK电子园所有。
活动详细链接:http://bbs.cepark.com/thread-8684-1-1.html |
|