51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)

您所在的位置:网站首页 流水灯p1口接8个led 51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)

51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)

2024-07-14 16:17| 来源: 网络整理| 查看: 265

51单片机 4个独立按键控制LED灯 仿真操作及代码展示 _ (protues仿真)_(C语言版) 一、思路及相关问题 1、逻辑思路:

当按下key1时 led1亮起来 因为按下去具有瞬时性不用while,用if语句,当松开时,用while(!key1) ,函数调用。 先在脑海里想象它的大致运行过程,其次在仿真软件protues上摆好元器件并连接,最后用keil4写对应代码。 需注意keil4软件上的设置如波特率,添加文件,勾选等等。 至少要了解C语言程序设计的基本功。

2、关于消抖:

通常的按键所用开关为机械性开关,当机械触电断开、闭合时、由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开、因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖 按键消抖有两种, 一种是 软件消抖: ;硬件消抖是通过采用外加零件来消除干扰抖动杂脉冲波,通常采用电容滤波、单稳延时电路等等。 一种是 软件消抖: 延时函数 参考链接:http://www.eeworld.com.cn/mcu/2012/0806/article_9776.html

二、有proteus及keil进行仿真效果

第一步找到芯片 AT89C51第二步找到按键开关BUTTON及LED灯还有电阻第二步找到按键开关BUTTON及LED灯还有电阻 在这里插入图片描述 第三步 将相关元器件连好线 第三步 将相关元器件连好线

三、打开keil4创建工程 代码及注释 调好波特率及添加文件相关工作 -----代码如下

#include

unsigned int i; sbit led1=P2^0; //定义第一个led灯 sbit led2=P2^1; //定义第二个led灯 sbit led3=P2^2; //定义第三个led灯 sbit led4=P2^3; //定义第四个led灯

sbit key1=P3^1; __ //定义第一个开关__ sbit key2=P3^2; //定义第二个开关 sbit key3=P3^3; //定义第三个开关 sbit key4=P3^4; //定义第四个开关

void delay() //延时函数 用于消抖 { for(i=0;i



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3