51单片机 按键控制LED流水灯模式
本章博客实现按键控制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流水灯模式相关推荐
- STC15单片机 线性按键控制LED流水灯位移
目录 1.现象 2.代码 3.LED模块原理图 4.线性键盘原理图 1.现象 程序下载完成后: 首先,由最右边的 LED1 点亮.当按下线性按键 S1 后,LED1 熄灭,LED2 点亮.其次,每按下 ...
- 51单片机C语言led流水灯及数码管实现秒表
51单片机C语言练习题 单片机型号 普中科技的 led练习题 led小灯闪烁 #include<reg52.h> sbit LED = P0^0; void main() {unsigne ...
- 按键控制LED流水灯
有了按键控制LED状态以及控制LED显示二进制操作流水灯就很容易,定义一个变量,当每次检测到按键按下并且松手时,使该数值加一,利用按位左移实现流水灯 #include <REGX52.H> ...
- 51单片机入门学习--LED流水灯呼吸灯
LED led:发光二极管,Light Emitting Diode,可用万用表测量正负极 二极管电路图 直插式led,长的一端是正极,短的一端是负极 贴片式led,三角形的尖指向的是负极,有颜色的是 ...
- 用51单片机中断控制LED灯亮灭
用51单片机中断控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k3=P3^2;//位定义按键 void dela ...
- 51单片机学习笔记5 流水灯实现及蜂鸣器控制
51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...
- 从两边往中间流水灯c语言程序,单片机控制LED流水灯从中间向两边.doc
WORD格式.分享 精品.资料 单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把 先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过 ...
- 单片机c语言编程实现中间向两边,再从两边向中间亮的程序流程图,单片机控制LED流水灯从中间向两边.doc...
单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把 先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过这个程序实现的 应该是这样的 先 ...
- 从两边往中间流水灯c语言程序,单片机控制LED流水灯从中间向两边
单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过这个程序实现的应该是这样的先奇数亮 ...
最新文章
- eclipse下载与安装步骤详解,包含解决错误(最全最详细)
- VMware Workstation Pro 无法在Windows 上运行的 解决办法
- 12如何隐藏dock栏_一键隐藏 iPhone 刘海和底部 Dock 栏,简洁又好看
- 如何设置mysql字符集支持utf-8 和gbk_如何设置Mysql数据库默认的字符集编码为GBK...
- 关于Navicat连接本地数据库失败,报错2003
- js中的几种随机排序方案
- python之t分布
- 计算机论文答辩2分钟演讲稿,关于毕业论文答辩演讲稿9篇
- mysql distance_MySql中的一些小坑
- 花边新闻获取易语言代码
- 制造业如何做好数字化转型
- 【C语言】动手写一个哈希表
- ssh免密登录服务器
- SQL 注入之二次注入
- python源程序扩展名有那两种_Python源程序的扩展名是:
- 为什么两台电脑互连怎么一边能ping通在一边却ping不通
- iphone 4s越狱
- SOC课程——②——Verilog程序(明德杨代码规范)
- HTML使用 crypto-js-AES 加密
- 用NavicatPremium导出数据
热门文章
- C++ 多态(二) : 虚函数、静态绑定、动态绑定、单/多继承下的虚函数表
- 玩转华为数据中心交换机系列 | 配置M-LAG双归接入普通以太网络示例
- mycat 分表分库
- UPA/URA双极化天线的协方差矩阵结构
- 花卉识别--五个类别的检测
- 词向量系列之One-Hot编码详解
- spin_lock spin_lock_irq spin_lock_irqsave、spin_lock_bh
- RZ,NRZ,NRZI
- 专升本-计算机公共课考点(3)——字处理软件Word 2010
- educoder/python第1关:学习-Python集合之应用一