这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 鄙人在下小弟我来晚了

共4条 1/1 1 跳转至

鄙人在下小弟我来晚了

菜鸟
2011-12-31 16:26:40     打赏
#ifndef _KEY_SCAN_H #define _KEY_SCAN_H #include"lcd.h" #include"common.h" sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; /*按键初始化*/ void keys_init() { P3 = 0XFF; } /*函数功能: 按键扫描*/ unsigned char key_scan() { unsigned char key = 0; //key初始值为0,即如果没有按键按下,就返回值为零 //if(P1&0x0F != 0x0F) //有按键被按下 { if(KEY1 == 0) //模式设定键 { delayms(5); //去抖动 while(KEY1 == 0);//等待按键松手 key = 1; } if(KEY2 == 0) //按键加模式 { delayms(5); while(KEY2 == 0); key = 2; } if(KEY3 == 0) //按键减模式 { delayms(5); while(KEY3 == 0); key = 3; } if(KEY4 == 0) //按键确定并退出模式 { delayms(5); while(KEY4 == 0); key = 4; } } return key; } /*按键处理函数*/ /*unsigned int key_handle(unsigned char value) { unsigned char KEY; unsigned char flag=0; //进入设置模式的标志位 KEY = key_scan(); if( KEY == 1 ) //进入设置模式 { flag = 1; } while(flag) //程序有问题,KEY无法得到新的值 { if(KEY == 2) //实现加的功能 { value++; } if(KEY == 3) ///实现减的功能 { value--; } if(KEY == 4) { flag = 0;//确定键被按下,跳出while循环 } } return value; }*/ #endif #ifndef _LCD_H_ #define _LCD_H_ #define NULL 0 sbit RS=P2^4;//选择写指令还是数据 sbit RW=P2^5; //读写选择 sbit E=P2^6; //使能控制,enble uchar code welcome[10] = "welcome!"; uchar code huying[] = "make by huying!"; void Delay_us(uint time); extern void delayus(uint time); void write_com(uchar com); void write_data(uchar date); void Lcd_init(); void show_state(uchar *str); //延时程序 void Delay_us(uint time) { uint k; while(time--) { for(k=0;k1); delayms(1000); } P1 = 0XFF; } #endif



关键词: 鄙人     在下     小弟     我来     晚了    

高工
2011-12-31 18:47:00     打赏
2楼
看不清楚,还是整理一下,加上说明比较好

专家
2011-12-31 19:49:54     打赏
3楼

有点乱,再好好整理一下吧。


高工
2012-01-01 00:13:53     打赏
4楼
这是什么啊

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]