草庐IT

51单片机:串口通信

小白向单片机笔记八:串口通信前言一、前置知识了解二、51单片机寄存器1.串口控制寄存器SCON2.电源控制寄存器PCON三、工作方式选择方式0输出时序图输入时序图方式1输出时序图输入时序图方式2、3输出时序图输入时序图四、串口通信代码时延函数delay.h中断初始化函数interrupt_utils.h串口初始化及相关功能函数uart_init.h矩阵按键扫描函数scan_button.h主函数前言51单片机串口通信原理及代码,实现单片机与PC的交互一、前置知识了解数据传输方式分类:串行通信:使用一条数据线,将数据一位一位传输,每个数据占据一个固定的时间长度。特点:传输线少,长时间传输成本低,

【51单片机】普中A2开发板 模块化编程 单片机入门 实例教学目录

写在前面😋(跟着b站up江科大自化协学习的)一、流水灯代码1.点亮第一个小灯#includevoidmain(){P2=0xfe;}2.LED闪烁#includevoidDelay(unsignedinttime)//定义延时函数{unsignedinti;for(time;time>0;time--)for(i=120;i>0;i--);//用两个循环是为了保证延时函数的正确性}voidmain(){while(1){P2=0x55;//亮Delay(1000);P2=0xff;//灭Delay(1000);}}#include#includevoidDelay1000ms() //@11

基于51单片机LCD1602的简易矩阵键盘密码锁

写在前面初次开始写博客,表达方面也许会有很多不足,希望自己能通过这种方式巩固自己的学习和锻炼表达能力,同时也是对于自己学习的记录。一、功能介绍四位密码锁,密码可更改,输入仅四次以内有效矩阵键盘定义为1-16,顺序为从左上到右下,1-10号为密码输入键位,对键码取余,输入10时为0,定义11号键码为确认键,12号键码为取消/结束键输入密码可通过取消键随时清零,同时显示清空,输入结束按下确认键后,密码正确则显示"Right","Welcomeback!",停滞一秒后进入下一显示界面;密码错误显示"Error","Inputagain."密码正确后的下一显示界面可以自由发挥二、程序设计 1、延时函数

基于51单片机LCD1602的简易矩阵键盘密码锁

写在前面初次开始写博客,表达方面也许会有很多不足,希望自己能通过这种方式巩固自己的学习和锻炼表达能力,同时也是对于自己学习的记录。一、功能介绍四位密码锁,密码可更改,输入仅四次以内有效矩阵键盘定义为1-16,顺序为从左上到右下,1-10号为密码输入键位,对键码取余,输入10时为0,定义11号键码为确认键,12号键码为取消/结束键输入密码可通过取消键随时清零,同时显示清空,输入结束按下确认键后,密码正确则显示"Right","Welcomeback!",停滞一秒后进入下一显示界面;密码错误显示"Error","Inputagain."密码正确后的下一显示界面可以自由发挥二、程序设计 1、延时函数

9、基于51单片机PID算法温度控制系统设计(程序+Proteus仿真+原理图+PCB图+参考论文+开题报告+任务书等)

摘要     随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本PID算法温控系统所介绍的与传统的温度计相比,具有读数方便,测温范围广,控制准确,负载广泛,有LCD显示相应的工作方式,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C52,测温传感器使用DS18B20,用液晶1602显示数据,用继电器驱动负载,用PN

1-0 51单片机keil5的使用和程序的烧写

上节课中我们已经安装好了keil5,本节课我们将会教你如何使用keil5.打开keil5.编译环境的简介这款软件分为菜单栏,工具栏,工程管理区,代码区和信息输出窗口。A,菜单栏:用来新建工程,修改这个软件的参数时使用,在以后的使用中,笔者会逐步的进行讲解。B,工程管理区:顾名思义,就是管理程序员写出来的工程所有的文件,在这个区内,笔者建议使用模块化编程,这样程序不会显得很拥挤的样子。C,代码区:用来给程序员写代码的地方,程序员的每一个.C文件、每一个.H文件都是在这里面编写。D,信息输出窗口:在学习STC12C5A60S2的阶段,这个窗口功能主要用来观看程序是否有语法错误,以及错误在什么地方。

51单片机-矩阵键盘

目录1.硬件设计2.软件设计2.1.矩阵键盘扫描2.2.矩阵键盘-密码锁3.知识点3.1.模块化编程的应用3.2.#include详解1.硬件设计矩阵键盘按键数量较多,为了减少I/O口的占用,通常将按键排列成矩阵形式,采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态扫描原理:读取第1行(列)→读取第2行(列)→读取第3行(列)→……,然后快速循环这个过程,最终实现所有按键同时检测的效果2.软件设计2.1.矩阵键盘扫描功能需求:矩阵键盘扫描,LCD1602显示键码程序设计:首先,确定扫描方式,此处选用逐列扫描;其次,确定驱动方式,单片机的IO口的模式是一种弱上拉模式(输出0时,驱动能力较强

C51单片机——通过使用定时器控制LED闪灭

目录0引言1定时的原理1.1生活中的定时1.2单片机中的定时器2C语言程序设计2.1定时器的内部功能2.2设置寄存器2.3实验程序3有两个小问题(算是延伸吧)3.1只能0.05s闪一次吗?3.2每次都要在草稿纸手算初始值好麻烦4最后0引言其实,这个是可以通过软件延时计算器来生成自己需要的延时程序,而且效果非常好,但是既然要学习单片机,我们的目的就是要搞清楚硬件系统的知识,所以必须要学会如何用软件(程序)去控制硬件(处理器)。1定时的原理1.1生活中的定时我们每个人都用过“定时”这个功能。比如说闹钟,我们需要学习1小时,然后定个1小时的闹钟,然后闹钟从59:59:59开始倒计时,直到00:00:

(含代码)基于51单片机电子密码锁设计

23.02.28更新:修改原代码中的部分引脚错误一.硬件说明采用STC89C51作为主控芯片,结合矩阵按键输入模块、数码管显示模块、LCD1602液晶显示、LED、蜂鸣器报警器等电路模块实现开锁、上锁、报警、密码更改等功能,设计一款可修改密码且具有报警功能的液晶显示电子密码锁。主要由STM32单片机+最小系统+LCD1602液晶显示模块+蜂鸣器模块+LED指示灯模块+矩阵键盘模块。二.电路仿真三.使用介绍输入正确默认密码(1234)之后,点击ENTER(确认),lcd显示屏提示ok(密码正确),led灯点亮。反之,输入错误密码,按下ENTER,显示屏熄灭,LED灯熄灭,蜂鸣器发出警报声。四.设

随想录Day39--动态规划: 62.不同路径 , 63. 不同路径 II

今天的路劲问题,思想和昨天的爬楼梯一样,主要还是找到你这个位置是怎么来的,到达dp[i][j]的方法由到达dp[i-1][j]的方法再加上到达dp[i][j-1]的方法和。在初始化时,当i=0或者j=0时,到达他们的只有一条路劲,就是直走,所以对它进行初始化。63.不同路径II加了一个障碍物进去,加障碍物进去后,其实就是多了一个条件,就是到达这个点的方法为0,所以在原来的基础上加上如果遇到障碍物,那么dp[i][j]就等于0,加上这个条件就可以了。具体直接看代码:62. 不同路径一个机器人位于一个 mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。