下载此文档

第9章键盘输入接口与状态机设计.ppt


文档分类:汽车/机械/制造 | 页数:约24页 举报非法文档有奖
1/24
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/24 下载此文档
文档列表 文档介绍
*第9章键盘输入接口与状态机编程*通用I/O数字输入接口设计I/O输入输出接口,常为数字信号,可能是模拟信号比如AD,但内部转换为数字信号*I/O输入接口硬件设计要点模拟信号和数字信号电压信号和电流信号单次信号和连续信号*I/O输入接口软件设计要点用户程序需要首先对要使用的I/O口进行初始化设置,根据实际需要设定使用I/O口的工作方式(输出还是输入),当设定为输入方式时,还要考虑是否使用内部的上拉电阻。I/O口用于输出时,应设置DDRx==1,。I/O口用于输入时,应设置DDRx==0。读取外部引脚电平时,,。=1表示该I/O内部的上拉电阻有效,=0表示不使用内部上拉,外部引脚呈现三态高阻输入状态。一旦将I/O口的工作方式由输出设置成输入方式后,。*按键输入接口设计*基于状态机的按键输入软件接口设计无按键状态0有按键状态1等释放状态20/0(消抖)1/01/0(干扰)0/1(确认)1/00/0*#definekey_input //按键输入口#definekey_state_00#definekey_state_1 1#definekey_state_2 2charread_key(void){harkey_state=0;charkey_press,key_return=0; key_press=key_input; //读按键I/O电平 switch(key_state) { casekey_state_0: //按键初始态if(!key_press)key_state=key_state_1;//键被按下,状态转换到键确认态 break; casekey_state_1: //按键确认态 if(!key_press) { key_return=1; //按键仍按下,按键确认输出为“1” key_state=key_state_2; //状态转换到键释放态 }*elsekey_state=key_state_0; //按键已抬起,转换到按键初始态 break;casekey_state_2:if(key_press)key_state=key_state_0; //按键已释放,转换到按键初始态 break; } returnkey_return;}*(一)*程序#include<>flashcharled_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};chartime[3];//时、分、秒计数单元chardis_buff[6];//显示缓冲区,存放要显示的6个字符的段码值chartime_counter,key_stime_counter;//时间计数单元,charposit;bitpoint_on,time_1s_ok,key_stime_ok;

第9章键盘输入接口与状态机设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数24
  • 收藏数0 收藏
  • 顶次数0
  • 上传人w447750
  • 文件大小656 KB
  • 时间2019-12-04