单片机与嵌入式系统(111X)—06典型单片机系统AVR-IO系统及其应用要点解读.pptVIP

单片机与嵌入式系统(111X)—06典型单片机系统AVR-IO系统及其应用要点解读.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
void hc164_send_byte( unsigned char disp_Num) { unsigned char a; unsigned int i; for(i=0;i8;i++) { a = PORTB(10); If (a==0) PORTB = PORTB | (disp_num 0x01) else PORTB = PORTB (disp_num | 0xFE); PORTB = PORTB | (11); PORTB = PORTB ( ~(11)); disp_num = disp_num; } } 常用的动态多位LED数码管的设计 6.5 通用IO输入接口设计 输入信号的分类 模拟信号和数字信号 模拟信号的输入必须进行数字化处理,即进行AD转换,然后才能进入单片机系统进行处理 数字信号的输入可以直接进入单片机系统,然后进行处理 电压信号和电流信号 单片机的IO接口采用电平逻辑,即只能区分高低电平、电平转换等信号,电流信号必须经过电压转换才能进入系统 但在长距离传输过程中往往需要使用电平信号来进行数据传递 单次信号和连续信号 软件设计注意 注意初始状态 正确设置控制口的方向再进行读写操作 读取数据时应当取PINx的值而不是PORTx 一个时钟周期后才能够读取新设置的值 简单按键设计 为什么不能使用K3的 连接方式? 简单的按键输入设计—消除抖动 抖动的产生 力度 方向 按键的接触方式 抖动特性 压紧和放开两个过 程分别为10~20ms 按键闭合时间通常:300~500ms 硬件消除抖动 利用R-S触发器:将信号锁存 积分电路:将抖动信号消除 300~500ms 10~20ms 10~20ms 消除抖动的方法 软件消除抖动 延时两次读取 无按键 状态 消抖 状态 按键确 认状态 等待按 键按下 第一次测试到按键按下 第二次测试到按键未按下 确认按键按下 等待按 键释放 测试到按键释放 过程中只出现一次确认按键按下 不能实现按键“连发”功能 在单片机系统设计中一般不适用“连发”功能 有限状态机思想的设计! 6.6 基于有限状态机的键盘设计 键盘是嵌入式系统、单片机控制设备的最基本、最可靠的人机接口 手机:手机键盘 冰箱:温度调节键 。。。。。。。。。。。。。。 键盘的种类 简单按键:复位建、功能选择键 4x4标准键盘 4x3标准键盘 计算机标准键盘 。。。。。。。。。。。。。。。 有限状态机 什么是有限状态机?应用场合? 有限状态机:一种数学模型 系统状态集合: 系统输入信号: 系统状态转移函数: 系统的输出信号集合: 时间序列: 有限状态机中除了时间序列外,其他参数均为有限、可确认的集合 有限状态机中,下一步的状态只与当前状态和当前输入有关 有限状态机中,系统的输出只与当前状态有关 有限状态机中,时间序列相当于脉冲时序,其长度选择必须不大于输入信号变化的最快周期 太大容易造成信号丢失 太小提高了系统要求 以上图所示的单键操作 按键的抖动时间:5~20ms,正常时间:300~500ms 则需要保证两次读键值的时间大于抖动时间,小于最小正常时间的1/2 取读键值时间为100ms 保证了在一次按键过程中至少可以检测到2次按键闭合,任意两次按键检测不会落在1个抖动区内 读键值的软件编写 复杂键盘接口设计 对于复杂的键盘设计不可能使用IO口一一对应 键盘多,IO资源有限,造成浪费 涉及到IO口复用检测键盘的值 对键盘进行编号取值 矩阵键盘 矩阵键盘硬件电路设计 设置PA0~PA2为输入,接上拉电阻 设置PA3~PA6为输出 即:DDRA=x1111000 PORTA=x1111111 键盘扫描读写方式 依次将PA3~PA64条线置0,读取PA2~PA0的值即可判断是哪个键按下 PA3=0时: 【PA2~PA0】= 111,无键按下; 【PA2~PA0】= 110,表示K1-1按下; 【PA2~PA0】= 101时表示,K1-2按下; 【PA2~PA0】= 011时,K1-3按下 同理可得到其他情况。 键盘扫描软件可以采用如下几种方式: 程序控制扫描 定时扫描(用内部定时器) 中断方式扫描 注意防抖动设计 中断方式扫描的电路 此时INT1应当设为低电平触发方式 假定以PORTA的第b口接收键值 unsigned char read_key(void) { static unsigned char key_state = 0; //状态标志 unsigned char key_return; //key_return为返回值 key

文档评论(0)

四月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档