历史上的今天
今天是:2024年11月03日(星期日)
2021年11月03日 | 单片机之89c52独立按键 -----学习笔记
2021-11-03 来源:eefocus
一、按键介绍
轻触开关是一种电子开关。
使用:轻按开关按钮可使电路接通、松开,开关断开

二、独立开关工作原理
按键断开和闭合时,触点会存在抖动现象。

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 */ } }
上一篇:4*4矩阵 ---- 学习笔记
史海拾趣
|
各位老师 我定制Wince6.0 Attache Device之后 出现黑屏 怎么办啊 并且出现了 下面这些Warning 是什么原因啊 我正在做一项国家大学生创新性实验项目 用Wince做 wince对我来说都是新的 急啊 老师们帮帮我吧 Pass 1... Warnin ...… 查看全部问答> |
|
TE2410型ARM9开发板是由慧通科技自主研发的一款嵌入式开发平台,基于三星公司的ARM处理器S3C2410A,开发板走线经过精心优化,性能稳定可靠,具有高性能、低功耗、接口丰富、体积小、集成度高和可配置性强等优良特性,可以满足客户 ...… 查看全部问答> |
|
芯片型号:LM3S9b96 C1和C3; 客户端用 问题: 1 用UDP,一旦启动发送函数,程序就跑飞了(进入硬件错误中断); 2 发送数据时,无论如何设置始终是1秒发送一次数据; 求高手指点???急 ...… 查看全部问答> |
|
采用stm8s的spi发送中断里接收数据,数据接收不对,求原因 在用stm8s的spi发送中断方式来与flash存储器配合读写数据,在接收数据时,第一个接收到的字节总是莫名为0xff?有时候还会漏收字节?请大家指正是哪里有问题? spi的发送中断里,完成发送和接收数据的处理: @far @interrupt void SPI_IRQHandler(v ...… 查看全部问答> |






