/*-----------------------------------------------
名称:单个独立按键控制led输出状态
论坛:www.doflye.net
编写:shifang
日期:2009.5
修改:无
内容:按一次按键,led点亮,再按一次熄灭,以此循环
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit KEY=P3^3; //定义按键输入端口
sbit LED=P1^2; //定义led输出端口
void DelayUs2x(unsigned char t);//函数声明
void DelayMs(unsigned char t);
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
KEY=1; //按键输入端口电平置高
while (1) //主循环
{
if(!KEY) //如果检测到低电平,说明按键按下
{
DelayMs(10); //延时去抖,一般10-20ms
if(!KEY) //再次确认按键是否按下,没有按下则退出
{
while(!KEY);//如果确认按下按键等待按键释放,没有释放则一直等待
{
LED=!LED;//释放则执行需要的程序
}
}
}
//主循环中添加其他需要一直工作的程序
}
}
/*------------------------------------------------
uS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
mS延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)
{
while(t--)
{
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
单片机C语言实例1个独立按键控制LED状态转换.rar
25 浏览量
2022-10-23
02:00:03
上传
评论
收藏 9KB RAR 举报
白茶丫
- 粉丝: 4w+
- 资源: 1829
最新资源
- MATLAB大数据仿真案例-蚁群算法(ACO)用于求解旅行商(TSP)问题.rar
- MySQL基础知识-个人笔记.rar
- Project8.ipynb
- Python实现BWO-LSTM白鲸算法优化长短期记忆神经网络时间序列预测(完整源码和数据)
- C语言实现文件读写操作的几种常用方法-C 语言.rar
- RK 3568 Android11 版本的梯形校正补丁
- 基于pyqt yolov5 dlib的驾驶员行为监控系统源码+模型.zip
- python代码案例详解-旅行商问题的多种求解算法.rar
- 单相电力电子负载仿真,PWM整流+单相并网逆变
- C语言功能模块(配置文件读取 、debug日志记录等).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0