您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > AVR教程系列一(15)AVRIO输入之独立按键检测程序
AVRIO输入之独立按键检测程序系统功能使用AVR检测八个独立按键,一旦检测到按键被按,立马做出指示,非常牛(吹一下)!硬件设计关于AVR的I/O结构及相关介绍详见Datasheet,这里仅对作部分简单介绍,下面是AVR的I/O引脚配置表:AVRI/O口引脚配置表DDRXnPORTXnPUDI/O方式内部上拉电阻引脚状态说明00X输入无效三态(高阻)010输入有效外部引脚拉低时输出电流(uA)011输入无效三态(高阻)10X输出无效推挽0输出,吸收电流(20mA)11X输出无效推挽1输出,输出电流(20mA)AVR主控电路原理图LED控制电路原理图独立按键电路原理图软件设计下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!//目标系统:基于AVR单片机//应用软件:ICCAVR/*01010101010101010101010101010101010101010101010101010101010101010101----------------------------------------------------------------------实验内容:循环扫描PA口接入的8位独立按键,并使用PD口的LED指示灯指示按键的码值。----------------------------------------------------------------------硬件连接:将PD口的LED指示灯使能开关切换到ON状态,使其指示按键的码值。SingleKeyBoard:K0----K7||SMK1632:PA0--PA7----------------------------------------------------------------------注意事项:(1)若有加载库程序,请将光盘根目录下的“库程序”下的“ICC_H”文件夹拷到D盘(2)请详细阅读:光盘根目录下的“产品资料开发板实验板SMK系列SMK1632说明资料”----------------------------------------------------------------------10101010101010101010101010101010101010101010101010101010101010101010*/#includeiom16v.h#includeD:ICC_HCmmICC.H#defineLED_DDRDDRD#defineLED_P0RTPORTD#defineKEY_DDRDDRA#defineKEY_PORTPORTA#defineKEY_PINPINA/*--------------------------------------------------------------------程序名称:独立键盘扫描程序功能:注意事项:提示说明:输入:返回:--------------------------------------------------------------------*/voidscanKey(){KEY_PORT=0xFF;//设置按键输出“1”,之后语句检测按键,若端口变为“0”,则表示被按if(KEY_PIN==0xFE)//11111110--说明最低位的按键可能被按{delay50us(1);//去抖if(KEY_PIN==0xFE)//11111110--确认最低位的按键被按LED_P0RT=0xFE;//进行LED指示}if(KEY_PIN==0xFD)//11111101--说明最低位的按键可能被按{delay50us(1);//去抖if(KEY_PIN==0xFD)//11111101--确认最低位的按键被按LED_P0RT=0xFD;//进行LED指示}if(KEY_PIN==0xFB){delay50us(1);if(KEY_PIN==0xFB)LED_P0RT=0xFB;}if(KEY_PIN==0xF7){delay50us(1);if(KEY_PIN==0xF7)LED_P0RT=0xF7;}if(KEY_PIN==0xEF){delay50us(1);if(KEY_PIN==0xEF)LED_P0RT=0xEF;}if(KEY_PIN==0xDF){delay50us(1);if(KEY_PIN==0xDF)LED_P0RT=0xDF;}if(KEY_PIN==0xBF){delay50us(1);if(KEY_PIN==0xBF)LED_P0RT=0xBF;}if(KEY_PIN==0x7F){delay50us(1);if(KEY_PIN==0x7F)LED_P0RT=0x7F;}}系统调试按第一个键,第一个LED亮;按第二个键,第二个LED亮。。。
本文标题:AVR教程系列一(15)AVRIO输入之独立按键检测程序
链接地址:https://www.777doc.com/doc-2902473 .html