单片机开发技术
文章平均质量分 89
单片机开发技术
嵌入式逍遥
一直在嵌入式Linux软件领域深耕,目前芯片平台主要是RK,主要从事Linux系统搭建与移植,对U-Boot有一定积累,同时接触过Ubuntu、Openwrt、Manjaro等操作系统移植与开发。喜欢发掘与折腾不同Linux发行版的玩法,逍遥玩转嵌入式,浪!
展开
-
基于中微89F2265B的200w智能电饭煲
基于中微89F2265B的200w智能电饭煲原创 2023-12-30 12:50:52 · 1091 阅读 · 0 评论 -
基于STM8S103F3P6的超声波测距仪设计
本设计由MCU单元、超声波模块、测温单元、按键单元、显示单元和指示单元,超声波测距仪设计的系统结构框图如图2-2所示。图2-2 设计系统结构框图MCU单元控制整个电路的运行,MCU单元给超声波发射一个大于10us的高电平,超声波模块HC-SR04接收到后发送频率40KHz的超声波信号,若遇到障碍物反射回来,HC-SR04通过ECHO口给MCU一高电平反馈,高电平延续的时间就是超声波往返的时间,。原创 2023-12-28 21:35:54 · 1805 阅读 · 0 评论 -
基于STC89C52RC的温湿度显示与按键可调的时钟显示
温湿度参数的检测已经成为人们日常生产生活中的一个重要的参数指标。温度和湿度是两个最基本的环境参数,人们生活与温湿度息息相关。在工农业生产、环保、科研、化工业、制药业等地方,都经常需要对环境温度和湿度进行测量。随着社会的发展和人民生活水平不断提高,温湿度作为两个基本的环境参数也逐渐深入到人们生活水平中。因此,对于环境温湿度检测的研究有着非常重要的意义。本论文讲述了一种以单片机STC89C52为主控器,DHT11为温湿度传感器,通过0.96OLED来显示温湿度。原创 2023-12-26 21:26:54 · 1853 阅读 · 2 评论 -
Arduino之读取DHT11数字温湿度传感器并串口显示
> 温度是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。温度只能通过物体随温度变化的某些特性来间接测量,而用来量度物体温度数值的标尺叫温标。它规定了温度的读数起点(零点)和测量温度的基本单位。国际单位为热力学温标(K)。目前国际上用得较多的其他温标有华氏温标(°F)、摄氏温标(°C)和国际实用温标。从分子运动论观点看,温度是物体分子运动平均动能的标志。温度是大量分子热运动的集体表现,含有统计意义。对于个别分子来说,温度是没有意义的。根据某个可观察现象(如水银柱的膨胀),按照几种任意标度之一原创 2021-01-16 22:57:08 · 5120 阅读 · 4 评论 -
Arduino之Arduino UNO数据手册
概述 Arduino UNO是基于ATmega328P的Arduino开发板。它有14个数字输入/输出引脚(其中6个可用于PWM输出)、6个模拟输入引脚,一个16 MHz的晶体振荡器,一个USB接口,一个DC接口,一个ICSP接口,一个复位按钮。它包含了微控制器所需的一切,你只...转载 2020-11-15 12:46:09 · 5391 阅读 · 1 评论 -
Arduino之Hello world(Arduino UNO板子点亮第一个LED)
一、Arduino认识官方是这样介绍的(稍微了解一下就可以了):Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器 对Arduino的编程是利用 Arduino编程语言 (基于原创 2020-11-04 22:37:11 · 1006 阅读 · 0 评论 -
Arduino之程序结构(setup与loop函数)
不需要太多的语言基础/* Blink Turns an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to原创 2020-11-10 22:08:49 · 23700 阅读 · 2 评论 -
Arduino之读取温度传感器并串口显示
void setup() { // put your setup code here, to run once: // 初始化串口 Serial.begin(9600);}void loop() { // put your main code here, to run repeatedly: // 读出当前光线强度,并输出到串口显示 int sensorValue = analogRead(A1); Serial.println(sensorValue); delay...原创 2020-11-22 15:27:24 · 7782 阅读 · 5 评论 -
Keil C51软件的使用
Keil C51集成开发环境是基于80C51内核的微处理器软件开发平台,用户可以在集成开发环境下学习编写、调试单片机程序。通过学习,实验用户可以掌握运用单片机进行项目开发的过程、步骤和方法,积累一定的调试方法、技巧。1 集成开发环境简介安装Keil C51 软件后,点击桌面Keil C51 快捷图标即可进入如图所示的集成开发环境,各种调试工具、命令菜单都集成在此开发环境中。以下列出的是常用菜单项的主要功能及对应的快捷键,工具栏上有常用菜单命令对应的工具按钮。2 工程(项目)的...原创 2021-06-14 20:47:20 · 10847 阅读 · 2 评论 -
STC89C52RC单片机额外篇 | 08 - 认识I2C协议以及E2PROM存储器(AT24Cxx)
## 一、I2C协议I2C 也叫 IIC(Inter-Integrated Circuit)总线,是一种由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。它是**半双工通信方式**。我们首先阅读以下这个例子,这会方便后面大家进一步理解I2C协议:> 如图所示,老师(MCU)将球(数据)传给众多学生中的一个(众多外设设备中的一个)。> ![](https://img-blog.csdnimg.cn/20210517150259595.png?x-oss-proce原创 2021-07-13 19:08:58 · 1946 阅读 · 2 评论 -
STC89C52RC单片机额外篇 | 07 - 使用Keil搭建与管理项目式多文件工程
新建一个Keil工程,初学者一般都会新建一个文件夹,然后将每个涉及到的 .c .h文件,还有keil的输出文件都一下放在这个文件夹里,如下图:管理keil工程目录的详细步骤图标为 C h 的,就是我们自己建立的.c .h文件,那些没有图标的就是keil输出的一些文件,当然也包括我们要的.hex文件,这样看起来就会感觉乱乱的。再看下面:管理keil工程目录的详细步骤分别建立了以下文件夹include 用来存放我们头文件.houtput 用来存放keil输出的一些文件source原创 2021-06-27 00:31:01 · 2916 阅读 · 1 评论 -
STC89C52RC单片机额外篇 | 06 - 认识高内聚、低耦合的模块化编程
模块化编程是管理程序的一种方法,代码量少的情况下其实感觉不到模块化编程的好处,但是随着代码量越来越大,为了方便管理与调试定位问题,模块化管理是必须的。模块化是尽可能地实现函数内部高内聚,函数之间低耦合!下面我给大家看看如何实现在单片机编程中实现模块化!为了给读者达到更好的理解效果,本博文引用博主大学之时的一篇实验报告作为例子。没错,就是这篇博文:《单片机综合实验 - 06 | 数字温度计设计》。这个数字温度计主要包含了以下几个模块:DS18B20数字温度传感器LED数码管蜂鸣器1 原始.原创 2021-06-26 00:08:16 · 694 阅读 · 1 评论 -
STC89C52RC单片机额外篇 | 05 - 把NOP指令封装成微秒级延时函数
延时函数是单片机开发中是必不可少的功能函数,在每个工程里都能找到它的踪影。虽然看起来不起眼,但在有些时序控制的场合,使用了一点点延时,往往能解决大问题。特别对于某些模块,往往需要微秒级的延时,例如超声波模块与红外接收器等。以前我们使用延时函数的时候,基本上类似这样:/******************************************************************************** 函 数 名 : delay* 函数功能 : 延.原创 2021-06-22 22:00:43 · 1526 阅读 · 3 评论 -
STC89C52RC单片机额外篇 | 04 - 认识头文件<intrins.h>与_nop_函数
## 1 <intrins.h>头文件头文件`<intrins.h>`在我们51单片机日常开发中经常使用,特别是`_nop_()`函数,以下是`<intrins.h>`的内容:```c/*--------------------------------------------------------------------------INTRINS.HIntrinsic functions for C51.Copyright (c) 1988-2010 Keil Elektronik Gm原创 2021-06-19 15:46:23 · 4642 阅读 · 1 评论 -
STC89C52RC单片机额外篇 | 03 - 认识C51编译器支持的数据类型
以前我们在学习C语言的时候,有C语言支持的数据类型,它们被称为标准C,现在对于51单片机,它与标准C的数据类型稍有不同,并且追加了一些关键字。在标准C语言中基本的数据类型,例如char、int、short、long、float与double,它们存储数据的长度是有差异的,而在C51编译器中,int与short是一样的,float与double也是一样的,我们通过表格来看看它们具体的定义:对于unsigned char、signed char、unsigned int、signed int、unsign原创 2021-06-16 20:56:29 · 1636 阅读 · 1 评论 -
8051单片机实战分析(以STC89C52RC为例) | 12 - 串行口中断的使用
在第一篇到第九篇博文中,我们认识到了一些基于IO口输入与输出的基础电子器件使用:《8051单片机实战分析(以STC89C52RC为例) | 01 - 点亮一个LED》《8051单片机实战分析(以STC89C52RC为例) | 02 - LED延时约5s闪烁》《8051单片机实战分析(以STC89C52RC为例) | 03 - LED流水灯》《8051单片机实战分析(以STC89C52RC为例) | 04 - 蜂鸣器驱动》《8051单片机实战分析(以STC89C52RC为例) | 05 - 静态数.原创 2021-06-12 20:57:55 · 2031 阅读 · 1 评论 -
STC89C52RC单片机额外篇 | 02 - 认识串行通信、波特率以及数据包
1 并行与串行通信机器的通信方式有两种,分别是并行通信与串行通信。并行通信:并行通信是指多比特数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。串行通信:串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。拿汽车通道来说,并行通信就是多车道,多辆车一起行驶,而串行通信就是单车道,只能一原创 2021-06-12 10:25:12 · 2095 阅读 · 3 评论 -
8051单片机实战分析(以STC89C52RC为例) | 11 - 定时器中断的使用
在第一篇到第九篇博文中,我们认识到了一些基于IO口输入与输出的基础电子器件使用:《8051单片机实战分析(以STC89C52RC为例) | 01 - 点亮一个LED》《8051单片机实战分析(以STC89C52RC为例) | 02 - LED延时约5s闪烁》《8051单片机实战分析(以STC89C52RC为例) | 03 - LED流水灯》《8051单片机实战分析(以STC89C52RC为例) | 04 - 蜂鸣器驱动》《8051单片机实战分析(以STC89C52RC为例) | 05 - 静态数.原创 2021-06-07 20:29:22 · 2616 阅读 · 5 评论 -
8051单片机实战分析(以STC89C52RC为例) | 10 - 外部中断的使用
在前面九篇博文中,我们认识到了一些基于IO口输入与输出的基础电子器件使用:8051单片机实战分析(以STC89C52RC为例) | 01 - 点亮一个LED8051单片机实战分析(以STC89C52RC为例) | 02 - LED延时约5s闪烁8051单片机实战分析(以STC89C52RC为例) | 03 - LED流水灯8051单片机实战分析(以STC89C52RC为例) | 04 - 蜂鸣器驱动8051单片机实战分析(以STC89C52RC为例) | 05 - 静态数码管驱动8051单片机.原创 2021-06-06 13:31:43 · 2443 阅读 · 0 评论 -
STC89C52RC单片机额外篇 | 01 - 认识中断、中断源以及中断优先级
在前面九篇博文中,我们认识到了一些基于IO口输入与输出的基础电子器件使用:8051单片机实战分析(以STC89C52RC为例) | 01 - 点亮一个LED8051单片机实战分析(以STC89C52RC为例) | 02 - LED延时约5s闪烁8051单片机实战分析(以STC89C52RC为例) | 03 - LED流水灯8051单片机实战分析(以STC89C52RC为例) | 04 - 蜂鸣器驱动8051单片机实战分析(以STC89C52RC为例) | 05 - 静态数码管驱动8051单片机.原创 2021-06-04 22:48:57 · 3918 阅读 · 8 评论 -
8051单片机实战分析(以STC89C52RC为例) | 09 - LED点阵显示数字
对于LED 8*8 点阵的驱动需要用到74HC595数字器件,不了解或者忘记的可以查看博文《74HC595秒懂》学习或者回顾一下!1 LED点阵LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。 通常应用较多的是 8* 8 点阵,然后使用多个 8 * 8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16* 16 点阵可以使用 4 个 8* 8 点阵构成。因此理解了 8* 8LED点阵的工作原理,其他分辨率的 LED 点阵显示屏都是一样.原创 2021-06-03 22:52:03 · 2587 阅读 · 3 评论 -
8051单片机实战分析(以STC89C52RC为例) | 08 - 矩阵按键驱动
前面我们学习了《8051单片机实战分析(以STC89C52RC为例) | 07 - 独立按键驱动》,但是在单片机系统中,若使用按键较多时如电子密码锁、电话机键盘等一般都至少有12到16个按键,通常采用矩阵式按键,即矩阵键盘。1 矩阵键盘矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。最常见的键盘布局如图所示。一般由16个按键组成,在.原创 2021-06-02 21:26:47 · 1528 阅读 · 4 评论 -
8051单片机实战分析(以STC89C52RC为例) | 07 - 独立按键驱动
按键是比较常用的也是比较简单的人机交互操作,按键实际上是一个非自锁的轻触开关,按下时触点会闭合,松开是触点断开。1 独立式按键常用的按键电路有两种形式,独立式按键和矩阵式按键,独立式按键比较简单,它们各自与独立的输入线相连接,如图所示。4 条输入线接到单片机的 IO 口上,当按键 K3 按下时,K3两边的线路将会导通,P32这个单片机IO口直接接到GND,此时P32这个引脚就是低电平了。当松开按键后,当松开按键后,线路断开,就不会有电流通过,那么P32引脚就会是默认的电平状态,是一个高电平,.原创 2021-06-01 20:52:49 · 2580 阅读 · 5 评论 -
8051单片机实战分析(以STC89C52RC为例) | 06 - 动态数码管驱动
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;u8 code LedChar[]={ 0x3F, //"0" 0x06, //"1" 0x5B, //"2" 0x4F, //"3" 0x66,原创 2021-05-31 20:23:35 · 2316 阅读 · 3 评论