单片机
modi000
生命不止,奋斗不息!
展开
-
嵌入式系统中断
中断中一定不能添加sleep函数!!!一般中断时间是固定的,比如10ms中断一次,中断中的算法程序,需要在10ms内完成算法操作,时间要尽可能的短,所以不能添加sleep。原创 2021-10-27 09:24:43 · 278 阅读 · 0 评论 -
采样率的理解
采样率:顾名思义,采样的速度,采样的频率;每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率越高,即采样的间隔时间越短,则在单位时间内得到的声音样本数据就越多,对声音波形的表示也越精确。...原创 2021-06-03 16:50:44 · 8393 阅读 · 0 评论 -
STM32】 DMA原理,步骤超细详解,一文看懂DMA
如需转载请注明地址:https://blog.csdn.net/as480133937/article/details/104927922 DMA的基本介绍 什么是DMA (DMA的基本定义) DMA,全称Direct Memory Access,即直接存储器访问。 DM...转载 2021-03-19 14:50:53 · 5895 阅读 · 2 评论 -
晶闸管介绍
版权声明:本文为CSDN博主「qlexcel」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qlexcel/article/details/51161493晶闸管是晶体闸流管的简称,原名可控硅整流器(SCR),简称可控硅,其派生器件有双向晶闸管和可关断晶闸管。晶闸管的出现,使半导体器件从弱电领域进入强电领域。主要应用于整流、逆变、调压、开关等方面,应用最多在晶闸管可控整流。1.单向晶闸管具有3..转载 2021-03-11 11:17:39 · 889 阅读 · 0 评论 -
串口通信的理解
串口通信,类似写文件,读文件使用的是系统函数 open,char path[20] = "dev/ser1";if ( ( fd = open ( path, O_RDWR,S_IRUSR | S_IWUSR) ) != -1 )原创 2020-08-13 10:24:58 · 389 阅读 · 0 评论 -
uint16_t类型存储月日两个量
uint16_t mon_day = 0x41C;我们在一个2字节的变量中,存储了个月和日;(存储4月28日)月在高字节,取月份值:uint8_t mon = mon_day>>8; //把低8位给移位掉即可。//取高8位日在低字节,取值:uint8_t day = mon_day&0xFF;//把高8位直接置0即可。//取低8位总结:嵌入式中,经常是位的操作,字节的操作;...原创 2020-06-04 09:32:41 · 635 阅读 · 0 评论 -
嵌入式中的位操作
嵌入式因为对内存管理及寄存器的原因,经常需要进行位操作:1、判断一个字节中的某位是0还是1思路:1)将字节的中的该位右移到最低位->得到变量a;2)变量a与0x01进行与操作,如果结果为0x01,则该位为1,如果结果为0x00,则该位为0;unsigned char ch = 0x40;//0100 0000a = ch>>6;a&0x01;总结:跟与1的操作经常用来判断位的值。...原创 2020-05-21 13:41:02 · 1520 阅读 · 0 评论 -
80C51串口通信
来源《霖锋带你征服嵌入式》1、串行口结构2、串行口的控制寄存器区别与定时器中断的方式控制寄存器是TMOD,串口是SCON。fosc 是晶振频率,一般使用方式1----->SM0SM1 = 01;起始位+8位数据+停止位= 10位数据SM2我们一般置0;REN =1;接受数据;因为方式2,3都是有9位数据,所以,TB8(发送),RB8(接...原创 2020-05-04 20:27:46 · 1901 阅读 · 0 评论 -
串口通信预备知识
来源《霖锋带你征服嵌入式》0、前言计算机通信是指计算机与外部设备或者计算机与计算机之间的信息交换。通信分为并行通信和串行通信,在多微机系统以及现代测控系统中信息的交换多采用串行通信方式串行口工作前,应对其进行初始化,设置产生波特率的定时器1、串行口控制和中断控制。0.1并行通信每次发送前,会进行询问,接收方进行应答,相当于一次握手。8位同时发送。一般用于计算机内部总线...原创 2020-05-04 15:57:42 · 368 阅读 · 0 评论 -
80C51定时器中断
来源 《霖锋带你征服嵌入式》0、CPU时序知识一个机器周期是12个振荡周期,换算成频率的话,是晶振频率的1/12;使用汇编语言编写程序的时候,一条指令一般是1~4个机器周期。1) 51单片机有两组定时器/计时器,既可以用来定时,也可以用来计数,故称为定时器/计数器2)定时器/计数器和单片机的CPU是相互独立的,定时器/计数器的工作过程是自动完成的,不需要CPU参与。...原创 2020-05-04 12:26:03 · 2880 阅读 · 0 评论 -
89C51中断系统介绍(外部中断)
来源《霖锋带你征服嵌入式》0、89C51中断系统分类:分为三种:1)、外部中断2)、定时器中断3)、串口中断1、中断的概念中断触发后,CPU会从主函数调到中断函数中。外部中断1:低电平触发:P3.2是0下降沿触发:p3.2电平:1变为0则触发。外部中断2同1。2、中断允许控制EA是总开关;EX0、ET...原创 2020-05-03 16:49:42 · 8102 阅读 · 0 评论 -
独立键盘的使用
来源 《霖锋带你征服嵌入式》教程1、前言线与开关合上后,都是0(0&1 = 0)即,两端只要有一端是0,合上就是0,两端都是1,合上才是1;线或右边是高阻态;左边是0,合上就是0,左边是1,合上就是1.2、独立键盘电路图51单片机,P1、P2、P3均自带上拉电阻,只有P0需要单独接上拉电阻。3、独立键盘的驱动原理:查I/O口的状...原创 2020-05-03 14:46:59 · 1872 阅读 · 0 评论 -
数码管简介
图片来源:《霖锋-带你征服嵌入式》数码管有7段发光二极管组成一个“日” ,dp是小数点;分为共阴(左图)和共阳(右图)两种情况,因为发光二极管的电流是3mA-10mA,所以,我们需要添加限流电阻。B(0x7C),显示的是小写的b,(区别于8)D (0x5e),显示的是小写的d.(区别于0)数码管静态显示和动态显示:静态显示:一组I/O口接一组数码管,4组I/O口接四组...原创 2020-05-03 10:06:26 · 5264 阅读 · 1 评论 -
编码器和译码器
译码器:翻译二进制编码,将二进制编码翻译成我们能看懂的符号例如:二进制编码为4个二进制位; 看懂的符号为7段数码管组成的数字;另外,我们也可以想象,翻译的过程,就是把一个问题,进行详细的解释的过程。所以译码器是个少 ------->多 的过程;同理,编码器是个多------->少的过程;是个精简的过程。详细理解:参考https://wenku.baidu.com...原创 2020-05-03 09:32:18 · 3630 阅读 · 0 评论 -
单片机基础知识
1、单片机为总线型的:P0.0---P0.7;P1.0---P1.7; IO口是八位一体的,即为总线型的;2、单片机型号:AT89S5224PC AT:ATmel公司;89:9表示是内部是Flash存储器的;S:支持isp下载的Flash;若是C,则是CMOS工艺;若是LV,则是支持低电压;52:型号24/12/16/20:运行的最快频率为24MHzP:封装形式是双...原创 2020-05-01 10:24:49 · 998 阅读 · 0 评论 -
步进电机
区别于连续转动的一般电机,步进电机是一步一步转动的-------->步进电机步距角:每次能转动的最小角度。//在1-2相励磁方式中才会出现的,在单相励磁方式中移动角度是步距角的2倍。对于角位移步进电机,通过控制脉冲的个数来控制角位移量,达到准确定位目的。通过控制脉冲频率来控制步进电机的转动速度和加速度,达到调速目的。...原创 2020-05-03 08:45:56 · 1553 阅读 · 0 评论 -
单片机头文件中内容
#include <reg52.h>存储的是定义好的寄存器地址原创 2020-05-01 12:02:11 · 444 阅读 · 0 评论 -
单片机最小系统组成
1、复位电路2、晶振3、cpu芯片复位电路 的RST 接引脚9;输入一个高电平进行复位。31引脚接VCC ,EA用来选择是用片内存储器还是片外存储器,接高电平是执行片内存储器。P1、P2、P3都是带上拉电阻的,但是P0没有上拉电阻,故外接了排阻。...原创 2020-05-01 10:00:32 · 3372 阅读 · 1 评论 -
A/D转换
转载from:http://blog.sina.com.cn/s/blog_af0899010101c7i5.htmlA/D转换模块,即模/数转换模块,其功能是将电压信号转换为相应的数字信号。实际应用中,该电压信号可能由温度、湿度、压力等实际物理量经过传感器和相应的变换电路转化而来。经过A/D转换后,MCU就可以处理这些物理量。进行A/D转换,应该了解基本问题:(1)采样精度...转载 2020-04-28 13:29:02 · 2102 阅读 · 1 评论 -
二极管、三极管、晶闸管的区别
1、二极管二极管是一个PN结,具有两极,一正一负,由正到负会导通,由负到正不会导通,故具有单向导电性;2、三极管三极管是两个PN结的叠加,可以是PNP,也可以是NPN,故有三极,分别是发射极e (Emitter)、基极b (Base)和集电极c (Collector);发射区与基区形成的PN结为发射结;集电区与基区形成的PN结为集电结;三极管的作用:小电流控制大电流,放大电流的作用...原创 2020-04-26 17:36:48 · 17549 阅读 · 0 评论 -
使用keil3编程测试程序运行时间
时间是跟晶振频率有关,默认的晶振频率是24Hz;1、设置晶振频率的位置:2、 在24Hz的晶振频率下,程序运行到断点的时间是0.045s3、我们将晶振频率改为12Hz后,再全速执行到断点处,时间为24Hz的2倍了。...原创 2020-04-26 11:37:42 · 883 阅读 · 0 评论 -
单片机程序中的调试debug及仿真
debug 进行调试,黄色箭头指向了下一条要执行的语句。原创 2020-04-26 11:03:04 · 4486 阅读 · 0 评论 -
74HC573芯片简介
芯片缺口方向 为正,然后左上往下排列,最后一个是GND,然后 向右,再向右上,右上角为Vcc;GND 和Vcc成对角线,是为了防止放生短路。原创 2020-04-25 18:17:51 · 104163 阅读 · 2 评论 -
以点亮一个发光二极管为例展示程序的编写与下载
一:编写并编译生成.hex文件#include <reg52.h>sbit led = P0^0; //将发光二极管接在P0的第0个引脚上void main(){ led = 0; //电路连接的方式是:将P0的第0个引脚置为低电平,灯亮}注意:P0中P一定要大写勾选HEX,编译生成 .hex文件,因为我们最终要将这个文件下载到单片机中;...原创 2020-04-25 18:00:26 · 1827 阅读 · 0 评论 -
发光二极管的特性
单片机中的高电平是+5V,低电平时0V发光二极管:压降是固定的 1.6v-1.7v;电流也是固定的3mA -10mA;//电流太小,灯太暗,电流太暗,异常。所以会通过串联电阻来使发光二极管的电压、电流满足条件。...原创 2020-04-25 12:20:18 · 993 阅读 · 0 评论 -
C51数据类型的表示范围及数据类型扩充、头文件
C51即在51单片机上使用的C语言:原创 2020-04-25 10:30:22 · 3386 阅读 · 3 评论 -
51单片机内部结构
8位CPU,---------->运算和控制逻辑组成,中断系统和部分外部特殊功能寄存器4KB的ROM--------->存放程序、原始数据和表格(相当于硬盘,掉电数据不丢)128B的RAM-------->存放可读写的数据,运算的中间结果,最终结果以及欲显示的数据;(相当于内存,掉电数据丢失)4个8位并行的I/O口-------->既可以作为输入,又可以作为输出...原创 2020-04-25 10:09:14 · 666 阅读 · 0 评论 -
MCU处理模拟量的过程
MCU只能处理的是数字量,所以数字量输入----->MCU-------->数字量输出MCU不能直接处理模拟量,所以模拟量输入---->模拟信号处理----->模数转换器--->MCU------>数模转换器---->模拟信号处理--->模拟输出所以,模拟量最终也是转换为数字量才能被MCU处理。ps:流程中的模拟信号处理是由于输入的信号小...原创 2020-04-25 09:12:01 · 1192 阅读 · 0 评论