本章博客实现按键控制LED流水灯模式的功能

1.将之前文件中Delay.c.h复制过来,进行添加

2.模块化编程

3.main.c

#include <REGX52.H>
#include "Timer0.h"
#include "Key.h"
#include <INTRINS.H>unsigned char KeyNum,LEDMode;
void main()
{P2=0xFE;Timer0Init();while(1){KeyNum=Key();if(KeyNum==1){LEDMode++;if(LEDMode>=2)LEDMode=0;}}}void Timer0_Routine() interrupt 1  //中断函数
{static unsigned int  T0Count;TL0 = 0x18;      //设置定时初值TH0 = 0xFC;        //设置定时初值T0Count++;if(T0Count>=500){T0Count=0;//P2_0=~P2_0;if(LEDMode==0)P2=_crol_(P2,1);if(LEDMode==1)P2=_crol_(P2,1);}}

4.在STC-ISP中可生成定时器计算器代码

5.定时器部分

#include <REGX52.H>void Timer0Init(void)       //1毫秒@12.000MHz
{
//  AUXR &= 0x7F;      //定时器时钟12T模式TMOD &= 0xF0;      //设置定时器模式TMOD |= 0x01;     //设置定时器模式TL0 = 0x18;       //设置定时初值TH0 = 0xFC;        //设置定时初值TF0 = 0;       //清除TF0标志TR0 = 1;      //定时器0开始计时ET0=  1;EA=1;PT0=0;
}

6.按键部分

#include <REGX52.H>
#include "Delay.h"/*** @brief 获取独立按键键码*  @param 无* @retval 按下按键的键码,范围:0~4,无按键按下时返回值为0{}*/unsigned char Key()
{unsigned char KeyNumber=0;if(P3_1==0){  Delay(20);while(P3_1==0);Delay(20);KeyNumber=1;}if(P3_0==0){   Delay(20);while(P3_0==0);Delay(20);KeyNumber=2;}if(P3_2==0){   Delay(20);while(P3_2==0);Delay(20);KeyNumber=3;}if(P3_3==0){   Delay(20);while(P3_3==0);Delay(20);KeyNumber=4;}return   KeyNumber;
}

51单片机 按键控制LED流水灯模式相关推荐

  1. STC15单片机 线性按键控制LED流水灯位移

    目录 1.现象 2.代码 3.LED模块原理图 4.线性键盘原理图 1.现象 程序下载完成后: 首先,由最右边的 LED1 点亮.当按下线性按键 S1 后,LED1 熄灭,LED2 点亮.其次,每按下 ...

  2. 51单片机C语言led流水灯及数码管实现秒表

    51单片机C语言练习题 单片机型号 普中科技的 led练习题 led小灯闪烁 #include<reg52.h> sbit LED = P0^0; void main() {unsigne ...

  3. 按键控制LED流水灯

    有了按键控制LED状态以及控制LED显示二进制操作流水灯就很容易,定义一个变量,当每次检测到按键按下并且松手时,使该数值加一,利用按位左移实现流水灯 #include <REGX52.H> ...

  4. 51单片机入门学习--LED流水灯呼吸灯

    LED led:发光二极管,Light Emitting Diode,可用万用表测量正负极 二极管电路图 直插式led,长的一端是正极,短的一端是负极 贴片式led,三角形的尖指向的是负极,有颜色的是 ...

  5. 用51单片机中断控制LED灯亮灭

    用51单片机中断控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k3=P3^2;//位定义按键 void dela ...

  6. 51单片机学习笔记5 流水灯实现及蜂鸣器控制

    51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...

  7. 从两边往中间流水灯c语言程序,单片机控制LED流水灯从中间向两边.doc

    WORD格式.分享 精品.资料 单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把 先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过 ...

  8. 单片机c语言编程实现中间向两边,再从两边向中间亮的程序流程图,单片机控制LED流水灯从中间向两边.doc...

    单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把 先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过这个程序实现的 应该是这样的 先 ...

  9. 从两边往中间流水灯c语言程序,单片机控制LED流水灯从中间向两边

    单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过这个程序实现的应该是这样的先奇数亮 ...

最新文章

  1. eclipse下载与安装步骤详解,包含解决错误(最全最详细)
  2. VMware Workstation Pro 无法在Windows 上运行的 解决办法
  3. 12如何隐藏dock栏_一键隐藏 iPhone 刘海和底部 Dock 栏,简洁又好看
  4. 如何设置mysql字符集支持utf-8 和gbk_如何设置Mysql数据库默认的字符集编码为GBK...
  5. 关于Navicat连接本地数据库失败,报错2003
  6. js中的几种随机排序方案
  7. python之t分布
  8. 计算机论文答辩2分钟演讲稿,关于毕业论文答辩演讲稿9篇
  9. mysql distance_MySql中的一些小坑
  10. 花边新闻获取易语言代码
  11. 制造业如何做好数字化转型
  12. 【C语言】动手写一个哈希表
  13. ssh免密登录服务器
  14. SQL 注入之二次注入
  15. python源程序扩展名有那两种_Python源程序的扩展名是:
  16. 为什么两台电脑互连怎么一边能ping通在一边却ping不通
  17. iphone 4s越狱
  18. SOC课程——②——Verilog程序(明德杨代码规范)
  19. HTML使用 crypto-js-AES 加密
  20. 用NavicatPremium导出数据

热门文章

  1. C++ 多态(二) : 虚函数、静态绑定、动态绑定、单/多继承下的虚函数表
  2. 玩转华为数据中心交换机系列 | 配置M-LAG双归接入普通以太网络示例
  3. mycat 分表分库
  4. UPA/URA双极化天线的协方差矩阵结构
  5. 花卉识别--五个类别的检测
  6. 词向量系列之One-Hot编码详解
  7. spin_lock spin_lock_irq spin_lock_irqsave、spin_lock_bh
  8. RZ,NRZ,NRZI
  9. 专升本-计算机公共课考点(3)——字处理软件Word 2010
  10. educoder/python第1关:学习-Python集合之应用一