51单片机
文章平均质量分 77
雨巷流刀
记录每一分痛点,分享每一点收获
展开
-
51单片机实现普通时钟
一、实验内容:1、 打开单片机,数码管显示当前时间0-0-0,时-分-秒(时间为24小时制)2、 按键1:按下一次进入秒的修改,按下两次修改分钟,按下三次修改小时 按键2:时间增加按键,一次增加1 按键3:时间减少按键,一次减少1 按键4:确定键,确定修改/定时功能 按键5:进入定时功能,通过按键2和按键3设定时间,定时时间到,蜂鸣器发出报警声3、 以上按键的各个功能均实现串口控制,即通过串口发送指令控制。二、所需硬件: 数码管、独立按键、矩阵按键、蜂鸣器三原创 2021-03-06 23:31:36 · 12968 阅读 · 21 评论 -
单片机处理按键长按的三种解决方法
作者:水瓶星人座右铭:记录每一分痛点,分享每一点收获突然看到之前写的一篇博客,发现其按键处理程序和最近使用到的一个按键处理程序不大一样,拿过来综合比较一下。首先,我们在判断按键按下时,最简单的处理方法是直接比较按键对应引口的高低电平。比如 按键按下点亮LED,我们可以直接写//假设button1代表按键1,led低电平点亮if(button1==0) { led=0; //亮}else if(button1 == 1) { led=1; //灭}但是,如果使用这种方法去处.原创 2021-01-06 21:03:12 · 11716 阅读 · 0 评论 -
51单片机lcd1602显示时间日期
实验内容:使用51单片机控制LCD1602液晶显示屏显示时间/日期原创 2021-01-04 23:45:12 · 27407 阅读 · 31 评论 -
51单片机七段数码管显示时钟加按键控制—④—74HC595终版
往期链接51单片机七段数码管显示时钟无按键控制—①—74HC595版51单片机七段数码管显示时钟加按键控制—②—74HC595版51单片机七段数码管显示时钟加按键控制—③—74HC595版文章目录一、此版说明:二、按键处理部分——重要:三、完整代码:四、最后说明:一、此版说明:这版在第三版基础上修改了按键按下判断逻辑,由于之前版本在按下按键时会进入死循环等待按键松开,以至即使快速按下数码管界面也会出现闪烁一下的情形。此版代码即解决此问题。效果预览:*此版到此终结,不在更新。二、按键处原创 2020-12-24 23:36:23 · 2238 阅读 · 5 评论 -
51单片机七段数码管显示时钟加按键控制—③—74HC595版
前期链接:51单片机七段数码管显示时钟无按键控制—①—74HC595版51单片机七段数码管显示时钟加按键控制—②—74HC595版文章目录一、简要说明:二、遇到的问题:三、尚未实现的问题:四、仿真图:五、源代码:一、简要说明:1、时钟第一版只显示了最基本的时钟数值,没有加入时钟设置。2、第二版加入了通过按键设置时间的数值(button123)和切换显示 时间/日期(button4)3、第三版也就是这一版加入了按键设置日期,并且实现在设置时间/日期 相应设置位的闪烁。二、遇到的问题:在设置位原创 2020-12-23 19:45:22 · 2915 阅读 · 1 评论 -
51单片机七段数码管显示时钟加按键控制—②—74HC595版
文章目录一、实验内容二、按键功能介绍三、遇到的问题四、尚未添加的功能五、仿真图六、源代码七、动态演示八、完整项目下载地址(keil过程+仿真文件)一、实验内容1.使用七段数码管显示一个时钟2.编写程序让接在P0口的数码管显示时分秒,秒数每秒加一3.要求1秒时间间隔使用定时器中断实现4.七段数码管的位选和段选通过74HC595控制5.要求可以通过按键设置时间值以及切换日期显示6.不添加按键的代码相比更好理解,请移步 无按键控制版二、按键功能介绍这里一共有四个按键:分别命名为button1原创 2020-12-22 20:25:57 · 4397 阅读 · 0 评论 -
使用定时器中断点灯
实验内容:使用Keil4编写程序利用AT89C52芯片上的定时器0 工作方式2,使连接在P1.0口的小灯实现0.5秒间隔的亮灭翻转,并利用Proteus进行仿真验证。仿真图源代码#include <reg52.h>//#include <at89x52.h> 两个头文件二选一#define uchar unsigned char //宏定义#define uint unsigned intuint count;sbit led=P1^0;/******原创 2020-12-22 20:24:33 · 834 阅读 · 0 评论 -
51单片机七段数码管显示时钟——直接引脚控制版
实验内容:1.使用七段数码管显示一个时钟2.编写程序让接在P0口的数码管显示时分秒,秒数每秒加一3.要求1秒时间间隔使用定时器中断实现4.七段数码管的位选通过P0口八位引脚控制5.七段数码管的段选通过74LS138 (3-8译码器)控制仿真图3-8译码器位选说明:通过3位控制8位,我们知道3位二进制最多可以有8种选择,即可以控制8个IO口的高低电平输出选择,这里的ABC对应二进制是CBA,C为高位,A为低位。如下图。源代码#include "reg52.h"#include "i原创 2020-12-22 20:23:53 · 6435 阅读 · 0 评论 -
七段数码管数字字母显示
实验内容:使用七段数码管显示数字和字母,并一秒钟切换一次,循环显示仿真图源代码//要求//1.生成七段数码管段码//2.编写程序让接在P0口的数码管显示数字,数字每秒加一//3.要求1秒时间间隔使用定时器中断实现#include "reg52.h"typedef unsigned char u8 ; u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0原创 2020-12-22 20:22:25 · 8409 阅读 · 0 评论 -
51单片机七段数码管显示时钟无按键控制—①—74HC595版
文章目录一、实验内容:二、实验分析:三、仿真图:四、源代码:一、实验内容:1.使用七段数码管显示一个时钟2.编写程序让接在P0口的数码管显示时分秒,秒数每秒加一3.要求1秒时间间隔使用定时器中断实现4.七段数码管的位选和段选通过74HC595控制二、实验分析:①七段数码管显示屏需要显示数字的话需要知道段码(具体显示的数值)和位码(第 1——8 位)②单片机传输信息告诉显示屏位码和段码是多少是通过74HC595芯片实现,使用此芯片的好处是能使用更少的引脚控制更多的位(原本需要单片机上8个引脚控原创 2020-12-22 16:34:20 · 2681 阅读 · 8 评论 -
51单片机定时器实现流水灯实验
实验内容:利用AT89C51的定时器0 方式1实现流水灯效果,并用仿真验证。定时器0方式1的工作方式:定时器的工作方式选择由寄存器TMOD控制,方式选择通过M0和M1控制,方式1为16位定时器/计数器,不会自动重装载,需要手动重装。源代码:#include "reg52.h"static int value = 0x01; //给P1赋值 对应 0000 0001/*************************************************函数名:Timer0_Ini原创 2020-12-10 18:31:09 · 19481 阅读 · 12 评论