单片机之89c52独立按键 |
您所在的位置:网站首页 › 轻触开关四个引脚 › 单片机之89c52独立按键 |
一、按键介绍
轻触开关是一种电子开关。 使用:轻按开关按钮可使电路接通、松开,开关断开
按键断开和闭合时,触点会存在抖动现象。
P0口:为了实现三态,采用OC(集电极悬空输出)输出,这种电路结构,只有下拉能力,高电平输出没有电流,在高电平时表现为高阻态;加上上拉电阻,就会失去高阻态,变成 1、0 两态(通俗的说就是加上上拉电阻的目的是控制高低电平,不加上拉电阻只用高电平(状态:1),呈高阻态,没有低电平(状态:0)。 NOT(非门):高电平通过变为低电平,低电平通过变为高电平。 2.1、消除按下/松开按键抖动的电路
三、代码 #include typedef unsigned char u8; typedef unsigned int u16; sbit led=P2^0; // led 灯连接的管脚 sbit k1 = P3^1; // RXD(接收数据) 连接k1 k1连接在P31 /*延迟函数*/ void delay(u16 i){ // int 类型的i while(i--); // i自减 } /*自定义函数*/ void keypros(){ // 按键 if(k1==0){ // 判断P31口是否是低电平 /* 软件消抖 */ delay(1000); // 延迟约为10毫秒 if(k1==0){ led =~led; // 取反 状态反转 } while(!k1); // 按键松开 } } void main(){ while(1){ keypros(); /* led = 0; // 低电平点亮 LED灯 delay(50000); // 延迟450ms,可以看到效果 led=1; // 高电平 熄灭LED delay(50000); // 延迟450ms */ } }
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |