51
文章平均质量分 73
51
G.R.I.T.
公众号:硅特嵌入式
展开
-
单片机教程
第一章 单片机入门1.单片机简介 2.开发板选择 3.前期准备第二章 LED1.初识原理图 2.程序点灯 3.实际LED硬件连接 4.点亮LED 5.闪烁的LED 6.软件调试查看运行时间 7.延时1秒 8.函数封装 9.函数传参调用 10.流水灯 11.数组与移位第三章 蜂鸣器1.蜂鸣器原理 2.无源蜂鸣器鸣叫 3.无源蜂鸣器题目 4.无源蜂鸣器+LED第四章 数码管1.数码管原理 2.数组&数码管 3.数码管&LED 4.多个数.原创 2021-05-06 00:17:45 · 583 阅读 · 0 评论 -
上拉电阻与下拉电阻
简介https://www.cnblogs.com/lulipro/p/7675167.html在数字逻辑电路中,一个信号不是0,就是1。正是因为这样,数字电路的设计才简单,可靠。通常,用电压5v(或者接近5V)代表 on 开状态,代表高电平,对应状态 1。用电压0v (或者接近0v)代表off关状态,代表低电平,对应状态0。有些开发板是基于3,3V的,因此使用3.3V作为高电平。如果一个线路中的电压处于不确定的状态(例如一个引脚不和任何其它回路连通时),那我们就说它的电压是浮动的,他会原创 2021-03-05 20:43:04 · 306 阅读 · 0 评论 -
上拉电阻与下拉电阻的作用
https://www.cnblogs.com/guojun-junguo/p/9463705.html单片机的管脚输入需要有明确的信号,也就是要么高电平,要么低电平。通常我们认为,你的输入脚如果和vcc相接,那肯定是高电平;和gnd相接,那肯定是低电平。然而还有一种状态你可能忽视了,就是管脚悬空的时候。 管脚悬空的时候,由于电路中的电磁感应,可以在管脚上随机地感应出时高时低的电平,这就使得在单片机看来,你在随机地输入1或0。这显然也不是你所需要了。你所需要的是明确的高或低电平。对芯片输入管脚,原创 2021-03-05 20:40:58 · 802 阅读 · 0 评论 -
UART、IIC、SPI总结(二)
做单片机开发时UART,SPI和I2C都是我们最经常使用到的硬件接口,我收集了相关的具体材料对这三种接口进行了详细的解释。UARTUART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部并行数据的器件使用。在输出的串行数据流转载 2021-01-19 23:22:49 · 1747 阅读 · 1 评论 -
UART、IIC、SPI说明(一)
UART、SPI、IIC是经常用到的几个数据传输标准,下面分别总结一下:UART(Universal Asynchronous Receive Transmitter):也就是我们经常所说的串口,基本都用于调试。主机和从机至少要接三根线,RX、TX和GND。TX用于发送数据,RX用于接受数据(收发不是一根线,所以是全双工方式)。注意A和B通信A.TX要接B.RX,A.RX要接B.TX(A用TX发B当然要用RX来收了!)如果A是PC机,B是单片机,A和B之间还要接一块电平转换芯片,用于将TTL/CM转载 2021-01-19 23:21:31 · 525 阅读 · 0 评论 -
单片机A/D及D/A转换接口
一、单片机测控系统与模拟输入通道1 、单片机测控系统概述测控包含“测”与“控”两个过程。所谓“测”就是实时采集被控对象的物理参量,诸如温度、压力、流量、速度和转速等。这些参量通常都是模拟量,即连续变化的物理量。所谓“控”就是把采集的数据经单片机计算、比较等处理后得出结论,以对被控对象实施校正控制。但经单片机处理后得到的是数字量结果。测控系统离不开模拟量与数字量的相互转换,因此,模/数(A/D)与数/模(D/A)转换也就成了测控系统的重要内容。2、模拟输入通道模拟输入通道的工...转载 2021-01-19 23:00:11 · 9471 阅读 · 0 评论 -
中断&定时器/计数器初始化说明
定时器/计数器初始化过程:对TMOD赋值,以确定T0和T1的工作方式计算初值,并将其写入TH0、TL0或TH1、TL1中断方式时,则对IE赋值,开放中断使TR0或TR1置位,启动定时器/计数器定时或计数#include “reg52.h”void timer0_init(void)//定时器0中断初始化函数{TMOD=0x80; //将定时器/计数器0当成13位定时器/计数器,TL0只用低5位参与分频,TH0整个8位全用。TH0=0xXX; //设定定时器0初始计数值原创 2021-01-06 17:37:00 · 7378 阅读 · 0 评论 -
键盘松手检测
一、对独立按键进行松手检测当按键按下时,会导致51单片机相应引脚变为低电平。利用这个原理,可以进行按键检测。就像下面这段代码:if(KEY1 == 0) { delay_ms(10); if(KEY1 == 0) { ... }}如果想要对按键是否能够连按进行控制,只需改成下面的样子:方法1——uchar enable = 0; //使能连按的标志位while(1) { if(KEY1 == 0) { delay_ms(10); if(KEY1 == 0)转载 2021-01-06 17:28:49 · 4408 阅读 · 0 评论 -
ASCII码表
ASCII可显示字符 二进制 十进制 十六进制 图形 00100000 32 20 (空格)(␠) 00100001 33 21 ! 0010...原创 2021-01-06 16:46:36 · 346 阅读 · 0 评论 -
串行口通信(一)
前言人类生存于世,少不了沟通。沟通使人类互相认知,传递信息,提升生活品质。但然单片机也需要,不然单单一个机器,无法构成一个系统,发挥更大的力量。只有单片机与外围设备传递信息,互相反馈才会有一个完美的系统。串行口通信就被发明出来,下面来了解串行口通信(uart)。几个概念为了能更好理解串行口通信,在介绍它之前,先来看看几个概念,补充知识,方便深入明白uart工作原理。通信方式通信方式通信方式有两种,分别是并行通信和串行通信。并行通信:并行是指多比特数据同时通过并行线进行传送,这样数据传送转载 2021-01-06 13:59:07 · 2374 阅读 · 0 评论 -
串口通讯总结——查询方式与中断方式
查询方式:发送数据——先发后查; 接收数据——先查后收。中断方式:发送数据——发送、等待中断、中断中发送; 接收数据——等待中断、在中断中接收。下面让我们通过两个列子进一步看一下两者的区别:/******************查询方式实现的串口通讯*************************/#include<reg52.h>#define uint unsigned int#def...转载 2021-01-06 13:56:57 · 6490 阅读 · 0 评论 -
TMOD、TCON、SCON、PCON、SBUF寄存器说明
TMOD:定时器/计数器工作方式寄存器TCON:定时器/计数器控制寄存器 SCON:串行口控制寄存器串行口控制寄存器SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等,其位格式为:SMO、SM1:串行口工作方式控制位,对应4种工作方式,如表7-1所示(fosc是晶振频率)。SM2:多机通信控制位,主要用于工作方式2和工作方式3。若SM2=1,则允许多机通信。多机通信规定:第9位数据位为1 (即TB8=1),.原创 2021-01-06 13:39:23 · 27638 阅读 · 5 评论 -
STC89C52系列单片机的特殊功能寄存器表
特殊功能寄存器地址表单片机系统管理特殊功能寄存器单片机中断管理特殊功能寄存器单片机I/O口特殊功能寄存器单片机串行口特殊功能寄存器单片机定时器特殊功能寄存器单片机看门狗特殊功能寄存器单片机ISP/IAP特殊功能寄存器...原创 2021-01-06 09:52:24 · 3788 阅读 · 0 评论 -
基于51单片机IIC通信的AT24C02学习笔记
引言最近在学习几种串行通信协议,感觉收获很多,这篇文章是学习IIC总线协议的第一篇文章,以后还会再写一篇关于PCF8591 IIC通信的ADDA转换芯片的文章.关于IIC总线IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。主要包括启转载 2021-01-05 23:03:57 · 1285 阅读 · 0 评论 -
MCS-51单片机的硬件结构
MCS-51单片机的基本组成MCS-51是Intel公司生产的一个单片机系列的总称.在功能上,该系列单片机有基本型和增强型两大类,通常以芯片型号的末位数字来区别。末位数字位“1”的型号是基本型,为“2”的信号是增强型。MCS-51单片机的内部结构如图所示,基本结构包括:一个8位的CPU及片内振荡器; 4KB掩膜ROM(8051),4KB EPROM(8751),无ROM(8031); 128B RAM,21个特殊功能寄存器SFK; 4个(P0~P3)8位并行I/O接口,一个可编程全双工通用转载 2021-01-05 22:52:30 · 4888 阅读 · 0 评论 -
MCS-51单片机的定时器/计数器
定时/计数器的结构单片机为了能够精确地控制时间,定时器是不可缺少的。MCS-51芯片内部具有两个16位的定时器。定时/计数器的结构如图6-1所示,定时/计数器T0由特殊功能寄存器TH0、TL0构成,定时/计数器T1由特殊功能寄存器TH1、TL1构成。定时/计数器具有两种工作模式、4种工作方式(方式0、方式1、方式2和方式3),属于增计数器。TMOD用于选择定时/计数器T0、T1的工作模式和工作方式。TCON用于控制T0、T1的启动和停止计数,同时包含了 T0、T1的状态。T0、T转载 2021-01-05 22:48:17 · 7118 阅读 · 0 评论 -
MCS-51单片机的中断系统
单片机中断技术概述在任何一款事件驱动型的CPU里面都应该会有中断系统,因为中断就是为响应某种事件而存在的。中断的灵活应用不仅能够实现想要的功能,而且合理的中断安排可以提高事件执行的效率,因此中断在单片机应用中的地位是非常重要的。单片机中断(Interrupt)是硬件驱动事件,它使得CPU暂停当前的主程序,转而去执行一个中断服务子程序。为了更形象地理解中断,下面以学生上自习时接电话为例阐述一下中断的概念。单片机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。如果单片机没有中转载 2021-01-05 22:44:03 · 7784 阅读 · 2 评论 -
MCS-51单片机的串行口及串行通信技术
数据通信的基本概念串行通信有单工通信、半双工通信和全双工通信3种方式。单工通信:数据只能单方向地从一端向另一端传送。例如,目前的有线电视节目,只能单方向传送。半双工通信:数据可以双向传送,但任一时刻只能向一个方向传送。也就是说,半双工通信可以分时双向传送数据。例如,目前的某些对讲机,任一时刻只能一方讲,另一方听。全双工通信:数据可同时向两个方向传送。全双工通信效率最高,适用于计算机之间的通信。此外,通信双方要正确地进行数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,转载 2021-01-05 22:37:07 · 8830 阅读 · 0 评论 -
ADC0804
一、前言介绍这个博客主要说明ADC0804的使用 数码管的动态显示作为辅助功能,方便观察 利用滑变和5V电源来获得一个输入电压值,输入到ADC0804的输入端二、ADC0804芯片的介绍1、A/D转换概念即模数转换,输入模拟量(比如电压信号),输出一个与模拟量对应的数字量(常为二进制形式)。例如参考电压VREF为5V,采用8位的模数转换器时,当输入电压为0V时,输出的数字量为0000 0000,当输入的电压为5V时,输出的数字量为1111 1111.当输入的电压从0V到5V变化时,输出量从转载 2021-01-05 17:32:37 · 3602 阅读 · 0 评论 -
STC89C52与8位D/A转换器DAC0832的接口设计
一、DAC0832芯片----电流输出型D/A转换器•8位并行输入方式•分辨率19.5mV (VREF = 5V) •电流建立时间1μS •输入与TTL电平兼容 •单一电源供电(+5V~+15V) •低功耗,20mw引脚功能:DI0~DI7:8位数字信号输入端,与单片机的数据总线P0口相连,用于接收单片机送来的待转换为模拟量的数字量,DI7为最高位。 :片选端,为低电平时,本芯片被选中。ILE:数据锁存允许控制端,高电平有效。 :第一级输入寄存器写选通...原创 2021-01-05 17:14:49 · 6069 阅读 · 1 评论 -
A/D转换器(ADC)
D/A转换器(Digital to Analog Converter)——能把数字量转换为模拟量的电子器件(简称为DAC)。A/D转换器(Analog to Digital Converter)——能把模拟量转换成相应数字量的电子器件(简称为ADC)。原创 2021-01-05 16:49:30 · 12598 阅读 · 1 评论 -
时序图该怎么看?
操作时序永远使用是任何一片IC芯片的最主要的内容。一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事情,要充分做好的第一件事就是要把它的器件手册上有用的内容提取,掌握。介于中国目前的芯片设计能力有限,所以大部分的器件都是外国几个IC巨头比如TI、AT、MAXIM这些公司生产的,器件资料自然也是英文的多,所以,英文的基础要在阅读这些数据手册时得到提高哦。即便有中文翻译版本,还是建议看英文原版,看不懂时不妨再参考中文版,这样比较利于提高。我们首先来看1602的引脚定义,1602的引脚是很转载 2021-01-05 14:44:54 · 960 阅读 · 0 评论 -
D/A转换器(DAC)
D/A转换器简介1、概述 模/数转换器(DAC)是一种把数字信号转换成模拟信号的器件。按照二进制数字量的位数划分,有8 位、10 位、12 位、16位D/A转换器;按照数字量的数码形式划分,有二进制码和BCD码D/A转换器;按照D/A转换器输出方式划分,有电流输出型和电压输出型D/A转换器。在实际应用中,对于电流输出的D/A转换器,如需要模拟电压输出,可在其输出端加一个由运算放大器构成的I/V转换电路,将电流输出转换为电压输出。单片机与D/A转换器的连接,早期多采用8位...原创 2021-01-05 13:11:06 · 20302 阅读 · 0 评论 -
状态、振荡(时钟)、机器、指令周期
1、节拍与状态周期时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。 时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。 在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。 每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥STC89C52单片机各个部件协调地工作。2、机器周期和指令周期机器周原创 2021-01-05 12:44:04 · 4543 阅读 · 1 评论 -
局部变量和全局变量的区别
一. 局部变量&全局变量 1局部变量:“在函数内定义的变量”, 即在一个函数内部定义的变量,只在本函数范围内有效。 2全局变量:“在函数外定义的变量”, 即从定义变量的位置到本源文件结束都有效。 目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值, 就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。 为了便于区别两者,C程序设计人..转载 2021-01-04 20:22:18 · 13558 阅读 · 0 评论 -
按键扫描(一)
分类: 按结构原理分: 触点式开关按键 无触点开关按键 接入方式 独立式按键 矩阵式键盘 ————————————————————————————————————————————矩阵式键盘识别方法(行扫描法) 检测列线的状态: 列线Y4~Y7置高电平,行线Y0~Y3置低电平。只要有一列的电平为低,则表示键盘该列有一个或多个按键被按下。若所有列线全为高电平,则键盘中无按键按下。 判断闭合按键所在的位置: 行线置高电平,列线置低电平。检测行线的转载 2021-01-06 17:33:59 · 5636 阅读 · 1 评论 -
中断&定时器(三)
单片机中断简介52单片机一共有6个中断源,它们的符号,名称以及各产生的条件分别如下:INT0 - 外部中断0,由P3.2端口线引入,低电平或下降沿引起 INT1 - 外部中断1,由P3.3端口线引入,低电平或下降沿引起 T0 -定时器/计数器0中断, 由T0计数器计满回零引起 T1 - 定时器/计数器1中断, 由T1计数器计满回零引起 T2 - 定时器/计数器2中断, 由T2计数器计满回零引起 TI/RI - 串行口中断,串行端口完成一帧字符发送/接收后引起其中T2是...转载 2021-01-03 23:36:15 · 1108 阅读 · 0 评论 -
51单片机之上拉与下拉电阻
1 基础知识1.1 三极管三极管的类型有两种:PNP与NPN三极管的简化理解:基极(B)是一个开关,当开关打开时,集电极(C)与发射极(E)就导通了;当开关闭合时,集电极(C)与发射极(E)就断开了。导通方向的判定:(NPN管)箭头是C指向E,电流就从C流向E;(PNP管)箭头是E指向C,电流就从E流向C,要注意控制端电流的方向。1.2 场效应晶体管场效应管的电流方向:N型沟道场效应管漏极电流是从D流向S的;P型沟道场效应管漏...转载 2021-01-03 21:12:44 · 4354 阅读 · 1 评论 -
三极管与场效应管之导通与截止说明
PNPNPN原创 2021-01-02 22:24:03 · 7410 阅读 · 0 评论 -
PNP与NPN的区别与判断(一)
1.如果输入一个高电平,而输出需要一个低电平时,首选择npn。2.如果输入一个低电平,而输出需要一个低电平时,首选择pnp。3.如果输入一个低电平,而输出需要一个高电平时,首选择npn。4.如果输入一个高电平,而输出需要一个高电平时,首选择pnp。npn基极高电压,极电极与发射极短路.低电压,极电极与发射极开路.也就是不工作。pnp基极高电压.极电极与发射极开路,也就是不工作。如果基极加低电位,集电极与发射极短路。晶体管:最常用的有三极管和二极管两种。三极管以符号BG(旧)或(T)表转载 2021-01-02 22:02:08 · 8501 阅读 · 0 评论 -
三极管之开关电路(一)
三极管不仅可以对模拟信号放大,也可作为控制开关使用,作为开关使用的三极管处于截止与饱和状态,其基本电路如下图所示:其中,集电极电阻R1为上拉电阻,当三极管Q1截止时将输出电压上拉至电源VCC(高电平),可以理解为开集(OC)输出结构的上拉电阻,具体可参考文章《电阻(4)之上/下拉电阻》,基极串联电阻R2为限流电阻,防止输入电压Vi幅值过高导致基极电流超额而损坏三极管,下拉电阻R3用来确保无输入信号(即悬空)时三极管处于截止状态。有的厂家已经将电阻R2、R3集成到内部,如下图所示(来自Panaso转载 2021-01-02 21:59:56 · 16932 阅读 · 0 评论 -
三极管与场效应管的区别与联系
三极管转载 2021-01-02 21:11:49 · 4325 阅读 · 0 评论 -
蜂鸣器(有源蜂鸣器&无源蜂鸣器)
蜂鸣器原创 2021-01-02 21:05:27 · 7964 阅读 · 0 评论 -
继电器模块说明
继电器原创 2021-01-02 21:04:51 · 6450 阅读 · 1 评论 -
KEIL之软硬件仿真简要说明
硬件调试:软件调试:原创 2021-01-02 19:46:04 · 1559 阅读 · 0 评论 -
51单片机易错点
134679原创 2020-12-31 16:28:13 · 457 阅读 · 0 评论 -
基于LED灯组的呼吸灯的设计
#include<reg51.h> void Delay1(int del){ int i,j; for(i=0; i<del; i++) for(j=0; j<1827; j++) ;}void Delay(unsigned int t){ while(--t);}//函数声明//P0=0x00;unsigned int z,y;void main (void)//主函数{ .原创 2020-12-28 20:58:28 · 548 阅读 · 1 评论 -
基于PWM控制直流电机调速的设计
#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit S2=P3^4;sbit S3=P3^5;sbit fm=P2^3;uchar pwm,num;void delay(uint ms){ uchar i; while(ms--) { for(i=0;i<120;i++); }}void bee(){ fm=0; delay(100); fm=.原创 2020-12-28 20:11:17 · 2274 阅读 · 0 评论 -
基于PWM的控制一个LED小灯的设计
#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit pwm=P1^0;uint cycle,high,low;//cycle为一个周期的时间;high为高电平的时间;low为低电平的时间。void delay(uint t){ while(t--);}void main(){ cycle=800; while(1) { for(high=1;high<=.原创 2020-12-28 20:10:20 · 744 阅读 · 0 评论 -
OLED-SPI教程(一)
七针原创 2020-12-28 17:05:17 · 1000 阅读 · 0 评论