历史上的今天
今天是:2025年07月30日(星期三)
2021年07月30日 | 51单片机开发之独立按键
2021-07-30 来源:eefocus
JP165跳线帽断开、JP10连接J12(为了实现按键控制LED灯的效果)、JP5连接JP8、J21接左边
3.5.2 示例代码
下面代码都使用多文件编程模型,这里贴出每个文件的主要代码。
下面代码实现的效果是,按下按键控制LED灯。
Main.c文件:
#include #include "delay.h" #include "key.h" #include "type.h" #include "led.h" int main() { u8 key; LED=0; //关闭所有LED灯,51单片机默认输出高电平,LED默认高电平点亮 while(1) { key=Key_Scan(); if(key) { LED=~LED; //控制8盏灯 } } } Key.h文件代码: #ifndef KEY_H #define KEY_H #include #include "type.h" #include "delay.h" #include "led.h" u8 Key_Scan(void); #define KEY P1 //定义按键 sbit key1=KEY^0; sbit key2=KEY^1; sbit key3=KEY^2; sbit key4=KEY^3; sbit key5=KEY^4; sbit key6=KEY^5; sbit key7=KEY^6; sbit key8=KEY^7; #endif Key.c文件代码: #include "key.h" /* 按键扫描函数 */ u8 Key_Scan(void) { static u8 flag=0; if((KEY!=0xFF)&&(flag==0)) //判断有没有按键按下 { DelayMs(20); //消抖 flag=1; //标志按键已经被按下 if(key1==0)return 1; if(key2==0)return 2; if(key3==0)return 3; if(key4==0)return 4; if(key5==0)return 5; if(key6==0)return 6; if(key7==0)return 7; if(key8==0)return 8; } else if(KEY==0xFF) //判断按键是否全部松开 { flag=0; //清除按下标志位 } return 0; } Led.h文件代码: #ifndef LED_H #define LED_H #include #include "type.h" #include "delay.h" #define LED P0 //定义LED引脚 sbit LED1=P0^0; sbit LED2=P0^1; sbit LED3=P0^2; sbit LED4=P0^3; sbit LED5=P0^4; sbit LED6=P0^5; sbit LED7=P0^6; sbit LED8=P0^7; #endif Type.h文件代码: #ifndef TYPE_H #define TYPE_H typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; #endif
史海拾趣
|
本人去年7月份左右买了友善之臂的micro2440sdk开发板,现在将其转让,并且我愿意回答bootloader以及wince驱动的问题,其余不懂的我也会给一些意见。开发板网址http://www.arm9.net/micro2440sdk.asp就是这 ...… 查看全部问答> |
|
情况如下: 开发板为AU1200,自己进行了重开发。换掉了原来的网卡芯片。换成了DM9000AE 板子启动后。在YAMON无法网络下载(问题1.这里是否可以修改YAMON的源码,将网卡配置通?如果可以请告之方法,我对此一无所知。),通过串口下载了eboot.sre ...… 查看全部问答> |
|
针对于Platform builder(Windows CE 5.0)的模拟环境下采用WININET API进行设置,通过Proxy访问外部网,其中Proxy需要认证,却可以通过,而相应的OS烧录入设备中却不通,何故?? PS. 应用WININET相关API如下:InternetOpen, InternetConnect, InternetS ...… 查看全部问答> |
|
最小系统板的设计过程中,斑斑deweyled建议我加一个彩色LED到系统板上去。 我觉得挺有意思,配合PWM可以发出不同的颜色,所以在这里请大家推荐一种LED, 还是那个小要求,最好体积小,并且容易获得。… 查看全部问答> |
|
刚看到优酷上的视频, http://v.youku.com/v_show/id_XNTMxOTE4Njc2.html 视频中的无线心电图仪看起来非常小, 正好我们公司也在搞这方面的东西, 大家讨论一下, 优缺点, 市场前景, 呵呵! … 查看全部问答> |




