- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《KEY(按键)应用》大全
《KEY(按键)应用》大全技术类别:单片机需要确认注册邮箱后才能下载,立即确认我的邮箱?设计中你是否遇到过这样的问题:你的产品上要求有几十个按键,处理器IO口很少,PCB的面积又有严格限制,或者你要严格控制成本,无法使用象7219那样的扩展芯片,怎么解决这个问题?下面有个方法,大家都见过遥控器吧,上面不但有几十个按键,而且功能还挺多什么去抖动,同时按键处理都有了,最最重要的是控制芯片体积小,价格便宜(也就1,2块钱),外围器件少。。不过具体实现起来有点小麻烦,这类芯片的信号一般是PPM输出的,通常为了有更远的遥控距离,按键编码调制在一个38k左右的载波上。所以我们不得不再为这个方案多花上1块钱,加一个有烂运放做的低通滤波器,将载波滤除后在接到单片机的IO脚上,由于两个频率相差较多,这个滤波器并不难做。我使用LM324做的。其中有两级低通,一个比较器。当你的示波器上出现一串可爱的几百赫兹的方波时,你的硬件就成功啦。既然只用一条IO就扩展了几十个按键,软件上自然会多费些事,此类芯片发码都是有引导头,同步部分,用户码,键码等部分组成,有三十多个位,具体可参照sc6121资料。下面时一个完整的接收程序,针对的芯片是sc6121,处理器89c51////////////////////////////////////////////////////////////////////////////////*定时器1中断服务程序*//*每100us中断一次,定时检测HangSignal线上的电平状态,根据6121的砝码格式译出用户码键码.\\ib_KeyCode[0] 用户码低位,ib_KeyCode[1]用户码高位,ib_KeyCode[2]键码,ib_KeyCode[3]键码的反码*//////////////////////////////////////////////////////////////////////////////////////void HandIn()??interrupt 3 using 3 {? ?unsigned char tempbit=0;? ?bit Hbit;? ?Hbit=HandSignal;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???/*采样信号线*/? ?if (NewKey==FALSE){? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???/*如果上一次按键事件已经北处理*/switch (ib_HandState){? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? /*根据接收状态散转*/? ?case LEAD:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?/*引导头接收情况*/? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?if (Hbit){? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? /*如果信号线是高电平*/??? ?? ?? ?? ?? ???if ((ib_LowTimeMIN_LeadTime)(ib_LowTimeMAX_LeadTime)) /*判断低电平时间是否合乎要求*/? ?? ?ib_HandState=START;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? /*正确进入同步头接收状态*/? ?? ?? ?? ?? ???else ib_HandState=RESTART;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???/*否则复位接收程序*/? ?? ???ib_LowTime=0;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? /*清除低电平时间计数*/? ?}? ?else{? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? /*如果信号是低电平*/??? ???ib_LowTime++;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?/*增加低电平时间计数器*/if (ib_LowTimeMAX_LeadTime)? ?? ?? ?? ?? ?? ?? ?? ?/*判断低电平时间是否超时*/? ?? ?? ?? ?? ???ib_HandState=RESTART;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? /*是的话复位接收程序*/? ?}? ?? ?? ?? ?
您可能关注的文档
最近下载
- 《GB∕T 27914-2023 风险管理 法律风险管理指南》解读和应用指导材料(雷泽佳编写2024A0-PDF).pdf
- 高考语文专项复习标点符号.ppt VIP
- 2024三上科学知识点期末复习资料.pdf VIP
- 成人经鼻高流量湿化氧疗(HFNC)理论知识考试题及答案.doc
- 2024上海中考英语试题及答案.doc VIP
- 高边坡专项施工方案.doc VIP
- 北京邮电大学《数字信号处理》门爱东-DSP03-离散傅里叶变换及其快速计算方法.ppt VIP
- 2024上海中考语文卷.docx VIP
- 《新托福考试专项进阶——初级写作》教育.pdf
- 《小学语文第一学段多文本阅读议题确立的策略研究》课题研究方案.doc
文档评论(0)