为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 按键消抖与时间按键

按键消抖与时间按键

2017-12-05 18页 doc 37KB 21阅读

用户头像

is_219945

暂无简介

举报
按键消抖与时间按键按键消抖与时间按键 这篇文章写给正在学51单片机的或者刚入门51单片机准备进阶的的朋友,我们来着重讨论一下按键消抖和时间按键这两项。 我们常用的按键大多都是机械的,机械开关就会出现机械振动,这个由物理学或者实验可以推出来, 抖动会在单片机上面出现重复扫描次数,次数多少与单片机的时钟晶振有关,时钟晶振越高单片机执行速度越快,重复次数就越多 整个按键数百ms 按下瞬间,抖动时间大概10ms 弹起瞬间,抖动大概10ms 按键一次出现的电平变化 (上面的时间都是老师说的和书上现成的,没有实际测试,而且不同的按键应该也会有差...
按键消抖与时间按键
按键消抖与时间按键 这篇文章写给正在学51单片机的或者刚入门51单片机准备进阶的的朋友,我们来着重讨论一下按键消抖和时间按键这两项。 我们常用的按键大多都是机械的,机械开关就会出现机械振动,这个由物理学或者实验可以推出来, 抖动会在单片机上面出现重复扫描次数,次数多少与单片机的时钟晶振有关,时钟晶振越高单片机执行速度越快,重复次数就越多 整个按键数百ms 按下瞬间,抖动时间大概10ms 弹起瞬间,抖动大概10ms 按键一次出现的电平变化 (上面的时间都是老师说的和书上现成的,没有实际测试,而且不同的按键应该也会有差异,作为学习研究确实不应该,找个时间锅锅会测出这个时间供大家参考,嘿嘿) 由图我们可以看出,按下去瞬间会出现抖动,弹起来也会出现抖动,明显是个阻尼振动,按键扫描程序是按顺序执行的; 首先提出三个问题大家思考一下 1. 为什么要消除抖动 2. 如何消抖 3. 是不是按键都要消抖,不是的话,哪些需要消抖,哪些不需要消抖 4. 消抖的时间是不是必须10ms 5. 按键消抖的方式是不是一定像书上的那样,如何消抖更节省CPU,且更简单 按键如果不消除抖动,那么单片机检测到的低电平的次数就不止一次,那我们按键一次,单片机会检测到多次,比如我们把按某个按键设置按一次成某个变量加1,结果按一次就加了很多次,这样我们就不能精确的通过按键来调整我们想要的参数,所以我们消除抖动的目的就是要实现按一次按键让单片机读出一次按键操作 消抖分硬件和软件消抖, 硬件消抖有《模拟电子技术》上提到用三态门实现,当然还有周立功那个7920(管理数码管和按键的芯片),当然还有很多硬件电路以及一些按键有自带消抖电路,但是如果要做产 1 品硬件消抖肯定会增加成本,一般都会考虑软件消抖 软件消抖我们先来看看书上消抖如下图 延时10ms 延时10ms 书上的按键软件消抖方法 例程 Unsigned char keyscan()//这里是用的P2口作为按键的输入口 { Unsigned char key;//定义按键的键值变量 if(P2!=0xff) { delay(10);//延时10ms key=P2; while(P2~=0xff) delay(10);//延时10ms switch(key) { //返回键值 case 0xfe:return 1;break; case 0xfd:return 2;break; case 0xfb:return 3;break; case 0xf7:return 4;break; case 0xef:return 5;break; case 0xdf:return 6;break; case 0xbf:return 7;break; case 0x7f:return 8;break; default:return 0;break; } } } 当然延时函数delay肯定要写才能用这个函数 2 void delay(unsigned char x)//对应12M的晶振是1ms { unsigned char i,j; for(i=0;i<100;i++) for(j=0;j<10*x;j++) ; } 这个消抖里面有延时函数如果时序处理不好就要出问题;被我们单片机老师称为“弱智程序”,原因就是用了软件延时(软件延时会占用CPU资源),当然对于刚入门还是可以学一下,很容易理解,方便以后提升(学习嘛当然由易到难还是值得推荐的) 要提高首先要把软件延时换成定时器,或者不用这种方法 下面介绍我自己改进的两种方法 首先我们消抖的目的就是为了按键一次只让单片机采集到一次按键操作,所以我就让单片机采集到一次操作以后不再检测,当然是在按键时间内,前面提到人按键一次操作数百ms,所以这儿我们可以再检测到一次按键后打开定时器,在数百ms内不再检测 不检测 检测到按键一次 方法一 Unsigned char keyscan()//这里是用的P2口作为按键的输入口 { Static T=0; Unsigned char key;//定义按键的键值变量 if(P2!=0xff) { key=P2; while(P2~=0xff) ; if(TR0=0) TR0=1; 3 if(T>100) TR0=0; if(TR0=1&&T<100) continue;//在定时器里面设置初值让定时器中断一次1ms并且T自加1,100次就 100ms switch(key) { //返回键值 case 0xfe:return 1;break; case 0xfd:return 2;break; case 0xfb:return 3;break; case 0xf7:return 4;break; case 0xef:return 5;break; case 0xdf:return 6;break; case 0xbf:return 7;break; case 0x7f:return 8;break; default:return 0;break; } } } 定时器函数 void timer0 () interrupt 1 { TH0=(66636-1000)/256;//对应12M晶振是1ms TL0=(66636-1000)%256; T++; } 至于定时器初始化和主函数就不需要我一一说明了吧,初学单片机一般都会先学到中断里面就有定时器中断 前面是用的定时器作为时间,书上用的空语句作为延时时间,其实我们写的其他和扫描不相关的语句还是可以作为延时;这就是我的第二种方法: 用写好的其他函数作为延时时间控制时序,执行一次扫描后执行其他函数占用100ms左右 4 执行其他函数 检测到按键一次 第二种方法 这个历程因为有其他函数,只有在编程序的时候才来考虑了用些什么函数语句,这里就不列了哈 第一种方法是大多数情况都能用,这种方法是利用CPU效率比较高的一种(说不定谁做出更牛的,所以就不说最牛的了,当然希望大家能做出更高效率的程序了,哈哈),因为CPU没有执行空语句之类的一些没用的语句,但是必须控制后面所执行的程序是百ms级的所以不是每个程序都能用 还有一种硬件加软件的方法 在所有的按键上接IO口的线上并联一根线接到与门上,与门的另一端接外中断输入口,然后在外中断函数里面扫描键值,当然效率还行,不过加了硬件还要用软件成本上升了不说软件上还要外中断,按键少的时候可以没问题,多了就麻烦了,特别是独立按键,不经济也不好用,但是特别情况还是可以考虑 第3个问题当然肯定不是所有的按键都要消抖的,比如说我们设置按键是按了按键实现电机转动,没有其他功能了,不管抖动几次,只要开启了就不会关闭嘛,是不是呀,嘿嘿,或者设置成按键按一次后关闭,就算抖动,电机关闭了一次就已经关闭了,再关闭还是关闭状态是不是呀 从上面这两个例子我们可以看出:按键只要设置的一些单一的功能就算出现抖动也不会影响我们设置的功能;假如我们设置的按键一次实现数码管显示的数字加1,那没有加消抖的话单片机会读到好几次按键,那我们按一次出现的结果就是加3或者加4或者某个未知数X了哦,又假如,我们的按键功能是按一次实现led灯打开,再按一次实现led灯关闭,这个是一个按键2个功能了,假设现在状态是led开启的,我们想关闭它,没有消抖的话,单片机读出来的按键次数是个未知数X,X是3,5,7之类的奇数还好能关闭,如果X是偶数的话,那我们不管按多少次那个led灯是不是都开启的呀,由上面两个例子可以看出:按键设置的如果是重复操作或者一个按键有2个以上的功能就必须消抖了 第4个问题了,从物理上我们可以知道,既然是阻尼振动,必定到振动到某个时候肯定是和稳定的状态一致的,所以肯定不是必须10ms的延时的,比如按下去假设10ms振动后 5 机械才稳定,但是电平上当触点挨得很近振动的时候就算触点不是挨着,还是显示低电平 第5个问题实际上前面已经说了,有硬件消抖肯定对CPU占用最少,软件消抖当然就是尽量不要用些没用的语句,分配好时序 接下来我们来讨论时间按键,什么叫时间按键, 就是通过按键的时间长短来执行不同的功能,不如手机关机键,大概在按键按住3s后就会提示或直接关机,按一下就直接是关闭背光,再比如我们要设置一个参数,本来按一下只加1,我们要设置上百次或者上千次怎么办,可以按住时间比较长以后直接快速的加或者快速的减,时间按键是首选了了呀是不是呀,当然还可以加一个位选键直接设置对应的位也可以,不过要增加按键 现在我就来说一下这是怎么实现的吧 在说按键消抖的时候,书上的例程里面有一个等待按键释放,用的while语句,等待的时候是用的空语句;即是按下去一直执行空语句,放开之后才返回键值,是不是对大家已经有了提示呀:就是直接在检测到按键按下去以后直接执行要执行的语句然后做一个时间内不检测键值或者延时来控制按键的执行的速度 不检测或者延时时间控制 检测到按键一次 时间按键 为了节省CPU这里就不用延时函数了,看看下面的例程 Unsigned char keyscan()//这里是用的P2口作为按键的输入口 { Static T=0; Unsigned char key;//定义按键的键值变量 if(P2!=0xff) { key=P2; 6 while(P2~=0xff) { if(TR0=0) TR0=1; if(T>100) { TR0=0; T=0; } if(TR0=1&&T<100) continue;//在定时器里面设置初值让定时器中断一次1ms并且T自加1,100次 就100ms switch(key) { //返回键值 case 0xfe:return 1;break; case 0xfd:return 2;break; case 0xfb:return 3;break; case 0xf7:return 4;break; case 0xef:return 5;break; case 0xdf:return 6;break; case 0xbf:return 7;break; case 0x7f:return 8;break; default:return 0;break; } } } } 定时器函数 void timer0 () interrupt 1 { TH0=(66636-1000)/256;//对应12M晶振是1ms TL0=(66636-1000)%256; T++; } 改变T的限制或者定时器的初值,即划红线的地方可以改变按键的速度,目前是100ms执行一次 (希望对大家有帮助,也希望大家来找出里面的错误我会尽快纠正)文案 编辑词条 B 添加义项 ? 文案,原指放书的桌子,后来指在桌子上写字的人。现在指的是公司或企业中从事文字工作的职位,就是以文字来表现已经制定的创意策略。文案它不同于设计师用画面或其他手段的表现手法,它是一个与广告创意先后相继的表现的过程、发展的过程、深化的过程, 多存 7 在于广告公司,企业宣传,新闻策划等。 基本信息 中文名称 文案 外文名称 Copy 目录 1发展历程 2主要工作 3分类构成 4基本要求 5工作范围 6文案写法 7实际应用 折叠编辑本段发展历程 汉字"文案"(wén àn)是指古代官衙中掌管、负责起草文书的幕友,亦指官署中的公文、书信等;在现代,文案的称呼主要用在商业领域,其意义与中国古代所说的文案是有区别的。 在中国古代,文案亦作" 文按 "。公文案卷。《北堂书钞》卷六八引《汉杂事》:"先是公府掾多不视事,但以文案为务。"《晋书?桓温传》:"机务不可停废,常行文按宜为限日。" 唐戴叔伦《答崔载华》诗:"文案日成堆,愁眉拽不开。"《资治通鉴?晋孝武帝太元十四年》:"诸曹皆得良吏以掌文按。"《花月痕》第五一回:" 荷生 觉得自己是替他掌文案。" 旧时衙门里草拟文牍、掌管档案的幕僚,其地位比一般属吏高。《老残游记》第四回:"像你老这样抚台央出文案老爷来请进去谈谈,这面子有多大!"夏衍《秋瑾传》序幕:"将这 阮财富 带回衙门去,要文案给他补一份状子。" 文案音译 文案英文:copywriter、copy、copywriting 文案拼音:wén àn 现代文案的概念: 文案来源于广告行业,是"广告文案"的简称,由copy writer而来。多指以语辞进行广告信息内容表现的形式,有广义和狭义之分,广义的广告文案包括标题、正文、口号的撰写和对广告形象的选择搭配;狭义的广告文案包括标题、正文、口号的撰写。 在中国,由于各个行业发展都相对不够成熟,人员素质也参差不齐,这使得"文案"的概念常常被错误引用和理解。最典型的就是把文案等同于"策划",其实这是两种差别很大,有着本 8 质区别的工作。只是由于文案人员常常需要和策划人员、设计人员配合工作,且策划人员也需要撰写一些,这使得很多人误认为文案和策划就是一回事,甚至常常把策划与文案的工作会混淆在一起(这也和发源于中国的"策划学"发展不够成熟有关)。 广告文案 广告文案 很多企业中,都有了的专职的文案人员,只有当需要搞一些大型推广活动、做商业策划案、写可行性分析报告等需求量大的项目时,才需要对外寻求合作。以往一般企业都会找广告、文化传媒等公司合作。这些公司一般都有专业的文案、设计团队,经验也相对丰富,但因为业务量大,范围广泛,在针对性方面会较为薄 弱。随着社会经济不断发展,对专业文案的要求更加严格,逐渐衍生了一些专注于文字服务的文案策划公司。这类企业发展速度很快,大多数都是从工作室形式转型而来,也有从文化传播机构独立出来的。 随着中国广告业二十余年的迅猛发展,广告公司的经营范围,操作流程,工作方式都在变化,文案的角色由无闻转为配角,现正昂首阔步走向台面,成为主角,从前一则广告多是由设计出计划,再配图之后,文案轮为完稿,一则广告的计划多是由文案与美工共同完成,然后各自分工。说起文案的地位,日本是从1992年意识到文案的重要性,台湾是1998年。2002年,大陆的一些中大型广告公司的老总几乎都在垂叹,好的文案太少了。好的文案往往愿意扎堆,从全国形式来看,这股潜规则正逐渐由华南广告重镇广州向华东中心上海转移。 折叠编辑本段主要工作 撰写报纸广告、杂志广告、海报; 撰写企业样本、品牌样本、产品目录; 撰写日常宣传文案白领一族 文案白领一族 单页、各类宣传小册子; 撰写DM直邮广告,包括信封、邮件正文; 撰写电视广告脚本,包括分镜头、旁白、字幕; 撰写电视专题片脚本; 撰写电视广告的拍摄清单; 撰写广播广告; 将海外版广告文案作 汉化(翻译); 撰写广告歌词,或汉化(翻译)外文歌词; 撰写各种形式的网络广告; 为网站栏目命名; 撰写网站内部文案; 撰写手机短信广告; 撰写各类广告作品的创意阐述; 撰写广告口号; 撰写产品包装文案,包括:品牌名、使用说明、产品成分等; 为产品或品牌命名,并作创意阐述; 为路演或活动命名,并作创意阐述; 撰写活动请柬及活动现场宣传品上的文字; 为各种礼品命名,并作创意阐述; 为专卖店命名,并作创意阐述; 撰写商店的橱窗或店内POP物料文案; 撰写软文、新闻式、故事式、评论式; 撰写策划书,或协助策划人员优化、润色方案文字; 协助客户企业内刊的编辑,提供主题方向,审核文字。 不同的环境对文案撰稿人有着不同的锤炼和要求。 折叠编辑本段分类构成 从现有的文案分类有很多种,按照4A,一般有四类:助理文案(ACW), 文案(CW策划文案 策划文案 ),高级文案(ACW),资深文案(SCW),其中稍微要区别的是高级文案与资深文案,前者要求的是文案的撰写能力,而后者不仅仅是文案的撰写能力还包括做文案的年资。有些4A公司设有文案主任(CE)一职,大体上与文案职责类似,有时候负责专项。另外有些个别公司还 9 配有首席文案的职位(CCW),文案功力凤毛麟角,虽不具领导才能,但有的首席文案拿的工资却比创意总监还要高。大部分国内广告公司文案的种类繁杂,有房地产文案、创意文案、企划文案、品牌文案等。 文案是由标题、副标题、广告正文、广告口号组成的。它是广告内容的文字化表现。在广告设计中,文案与图案图形同等重要,图形具有前期的冲击力,广告文案具有较深的影响力。 广告标题:它是广告文案的主题,往往也是广告内容的诉求重点。它的作用在于吸引人们对广告的注目,留下印象,引起人们对广告的兴趣。只有当受众对标语产生兴趣时, 才会阅读正文。广告标语的设计形式有:情报式,问答式、祈使式、新闻式、口号式、暗示式、提醒式等。广告标语撰写时要语言简明扼要,易懂易记,传递清楚,新颖个性,句 子中的文字数量一般掌握在12个字以内为宜。 广告副标题:它是广告方案的补充部分,有一个点睛的作用。主要表现在对标题的补充及让人感觉,前面的不懂,在这里全部让人了解。 广告正文:广告正文是对产品及服务,以客观的事实、具体的说明,来增加消费者的了解与认识,以理服人。广告正文撰写使内容要实事求是,通俗易懂。不论采用何种 题材式样,都要抓住主要的信息来叙述,言简易明。 广告口号:口号是战略性的语言,目的是经过反复和相同的表现,以便名域其他企业精神的不同,使消费者掌握商品或服务的个性。这以成为推广商品不可或缺的要素。广告 口号常有的形式:联想式、比喻式、许诺式、推理式、赞扬式、命令式。广告口号的撰写要注意简洁明了、语言明确、独创有趣、便于记忆、易读上口。 所谓广告文案是以语辞进行广告信息内容表现的形式。广告文案有广义和狭义之分,广义的广告文案就是指通过广告语言、形象和其他因素,对既定的广告主题、广告创意所 进行的具体表现。狭义的广告文案则指表现广告信息的言语与文字构成。广义的广告文案包括标题、正文、口号的撰写和对广告形象的选择搭配;狭义的广告文案包括标题、正文 、口号的撰写。 折叠编辑本段基本要求 1)准确规范、点明主题 准确规范是文案中最基本的要求。要实现对广告主题和广告创意的有效表现和对广告信息的广告文案 广告文案 有效传播,首先要求广告文案中语言表达规范完整,避免语法错误或表达残缺。其次,广告文案中所使用的语言要准确无误,避免产生歧义或误解。第三,广告文案中的语言要符合语 言表达习惯,不可生搬硬套,自己创造众所不知的词汇。第四,广告文案中的语言要尽量通俗化、大众化,避免使用冷僻以及过于专业化的词语。 2)简明精炼、言简意赅 10 文案在文字语言的使用上,要简明扼要、精练概括。首先,要以尽可能少的语言和文字表达出广告产品的精髓,实现有效的广告信息传播。其次,简明精练的广告文案有助于吸引广告受众的注意力和迅速记忆下广告内容。第三, 要尽量使用简短的句子,以防止受众因繁长语句所带来的反感。 3)生动形象、表明创意 文案中的生动形象能够吸引受众的注意,激发他们的兴趣。国外研究资料表明:文字、图像能引起人们注意的百分比分别文字是35%, 图像是65%,文案创作时采用生动活泼、新颖独特的语言的同时,附助以一定的图像来配合。 4)优美流畅、上口易记 文案是广告的整体构思,对于由其中诉之于听觉的广告语言,要注意优美、流畅和动听,使其易识别、易记忆和易传播,从而突出广告定位,很好地表现广告主题和广告创意,产生良好的广告效果。同时,也要避免过分追求语言和音韵美,而忽视广告主题,生搬硬套,牵强附会,因文害意。 折叠编辑本段工作范围 策划文案和创意文案 一)策划文案:工作主要是将策划工作人员的策划思路形成文字。毋庸置疑,公司很多策划人员均有很强的策划水平和丰富的策划经验,但有时候手上同时进行几个案子,同时时间又比较紧的情况下,文案可以在充分理解策划意图的情况下帮助策划人员完成策划方案的写作。这其中有几个内容: 1.必须充分了解本案的运作背景,包括宏观市场信息和微观市场动态。 2.掌握整个策划的战略指导思想。 3.以通俗易懂、言简意赅的论述方式将策划思想反映在字里行间。 4.到比较专业的问题或障碍的时候,应及时与策划人员沟通,保证策划方向的一致性。 5.贯彻战略方针的同时,也可就战略思想的表达方式和文字提述上提出一些合理化建议,从而更好地展现策划的战略核心点。 二)创意文案:主要是将广告作品的表现及形式用完整的文字表达出来,其中,除了产生画面的构想之外,还包括广告语言的表现内容(如平面的标题、引文、正文、随文,广告语等,影视的音效、旁白、字幕、广告语等)。其中至关重要的就是新颖的创意和传神的文字表现。而这些智慧的闪光绝对不是拍一下脑门子就能出来的。这其中包括了以下内容: 1.通过各个层面,特别是swot方面深入理解,从而找出项目的核心优势。 11 2.把握目标消费群的心态。 3.掌握宏观政策及大市场对项目本身的影响。 4.场策划人员和设计人员保持密切联系,随时沟通。 5.市场上类似房产项目的文案及创意,力求全面加以突破。 6.获悉开发商对文案创作的要求,调整文字内容和形式。 折叠编辑本段文案写法 商家要吸引、留住消费者必须注重细节的提高和改善,而其中,文案就是不可忽视的一大细节。下面是一些能吸引买家的写文案方法: 折叠九宫格思考法 拿一张白纸,用笔先分割成9宫格。中间那格填上你的商品名,接下来开始在其它8格填上可以帮助此商品销售的众多可能优点。这是强迫创意产生的简单练习法,我也常用这种方式构思出企划案或演讲ppt的结构。 折叠要点衍伸法 把该商品型录上的商品特点照抄下来,然后每个要点后面加以延伸。如果你真的很懒,照抄型录商品卖点也可,但文字会比较没有人味,说服力道会稍差。 折叠三段式写作法 这是仿新闻学中"倒三角写作法"。第一段,请精要地浓缩全文的销售话术,因为多数人都没耐心看全文。第二段,请依照型录要点衍伸法,逐一说明该商品的众多特色。到底是点列还是一段长文章较好,要看你的文字功力。文字功力欠佳就点列式写出卖点即可。最后一段是「钩子」,主要任务是要叫人【Buy Now】,所以一般是强化商品USP(Unique Selling Point,独特销售卖点)、价格优势或赠品。 折叠编辑本段实际应用 市场研究 没有正确的市场导向,任何文案或创意都是天马行空的奇思怪想。的确,再优美的文字用在不适宜的场合中都可能导致整个策划执行的失败。一篇优秀的文案,一定是在对市场有深入的了解后方能下笔的。 例如不同地区的经济发展水平、文化构成、风土人情、产业结构比重等等皆有很大差异,同一地区不同年龄、阶层人士的世界观、思维观、道德观和价值观也参差不齐,加上特定环境、特定历史背景或政策规文赋予某些项目的特殊意义,都会对文案 12 产生深远的影响。 所以无市场,文案便如枯井之蛙,其作品不仅缺乏远见,生命力也极为低下。 沟通与互助 在创作一幅作品时,常常发生这种情况:设计人员与文案人员一开始没有很好的沟通;结果是设计人员设计出来的作品文案看来好像是曲解了原意,而将文案配上去时候,设计人员又认为文案的风格与画面差入甚大。矛盾自然就出现了。 其实文案和设计,乃至市场、企划、媒体等各部门工作人员都应随时保持高效的沟通。通篇来看,文案的工作是将市场的调查分析结果作为其创作的翔实论据、企划的核心思想作为其创作的指引方向,媒体投放的渠道作为其创作的特定模式,设计排版作为其创作的具体表现。因此,每一个环节都是动态维系着的。在做一个文稿之前,与各个部门广泛沟通,并做到互爱互助,才能在一个凝聚力超强的团队中展现出自己独特的个性和才华 13
/
本文档为【按键消抖与时间按键】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索