51单片机学习

单片机概述

1.什么是单片机
2.单片机的特点及应用领域
3.单片机的发展趋势
4.学习51单片机需要哪些基础知识
5.如何快速的掌握51单片机

在这里插入图片描述

微型计算机的应用形态
将cpu芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。单板微型计算机组成如图所示。
主要应用于工业控制器、家用电器等
什么是单片机
单片机又称单片微控制器,他不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。
在一片集成电路芯片上集成中央处理器(CPU)、存储器(ROM/RAM)、I/O接口电路,从而构成了单芯片微型计算机,简称单片机。
常用英文字母的缩写MCU表示单片机
单片机内部结构
单片机内部结构示意图如图所示,他由微处理器CPU、随机存取存储器RAM、只读存储器ROM、基本输入Input/输出Output(I/O)接口电路、定时器/计数器和中断系统等部件组成,并把他们制作在一块大规模集成电路芯片上,就构成一个完整的单片微型计算机
在这里插入图片描述
单片机应用系统的组成
单片机应用系统的组成如图所示。单片机应用系统是以单片机为核心,再加上接口电路及外设等硬件电路和软件,就构成了单片机应用系统。因此,单片机应用系统的设计人员必须从硬件和软件的角度来研究单片机,这样才能研究和开发出单片机应用系统产品。
在这里插入图片描述
80C51单片机系列
虽然目前单片机的种类很多,Intel公司在1980年推出80C51系列单片机,由于80C51单片机应用早,影响面很大,已经成为工业标准。后来很多著名厂商如ATmel.philps,STC等公司申请了版权,生产了各种与80C51兼容的单片机系列。虽然制造工艺在不断的改进,但内核却没有变化,指令系统完全兼容,而且大多数管脚也兼容。我们把这些公司生产的与80C51兼容的单片机统称为80C51系列
如:ATMEL公司的AT89S51 AT89S52 AT89S53等等…
STC公司的STC89C51 STC89C52 STC89C53 STC90C516等等…
在这里插入图片描述
在这里插入图片描述
单片机的特点及应用领域
单片机的特点
单片机芯片的集成度非常高,他将微型计算机的主要部件都集成在一块芯片上,因此,具有如下特点:
1.体积小、重量轻、价格低、耗电少、易于产品化
2.控制性能
实时控制功能强,运行速度快。因为CPU可以对I/O端口直接进行指令操作,而且位指令操作能力更是其他计算机无法比拟的
3.可靠性高
由于CPU、存储器及I/O口集成在同一芯片内,各部件间的连接紧凑,数据在传送时受干扰的影响较小,且不易受环境条件的影响,所以单片机的可靠性非常高。
单片机的应用领域
1、家用电器:家用电器是单片机的重要应用领域之一,前景广阔。如微波炉、电视机、电饭煲、空调器、电冰箱、洗衣机等。
2、在交通领域中:如交通灯、汽车、火车、飞机等均有单片机的广泛应用。
3、智能仪器仪表:如各种智能电气测量仪表、智能传感器等。
4、机电一体化产品。如医疗设备(B超)、机器人、数控机床、自动包装机、打印机、复印机等。
5、实时工业控制:如温度控制、电机转速控制、生产线控制等。
6、武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制
导、无人机等。
单片机的发展趋势 字长不断提高 运行速度不断提高
20世纪80年代以来,单片机有了新的发展,各半导体器件厂商也纷纷推出自己的产品系列。根据市场的需求要求,未来单片机的发展趋势有如下几个方面:
单片机的字长由4位、8位、16 位发展到32位。
目前8位的单片机仍然占主流地位,只有在精度要求特别高的场合如图像处理等,才采用16位或32位的单片机,用户可以根据需要进行字长的选择。
运行速度不断提高。
单片机的使用最高频率由6MHz、12MHz 、24MHz、33MHz发展到 40MHz和更高,用户可以根据产品的需要进行速度的选择。

电子电路基础

电平特性
单片机是一种数字集成芯片,数字电路中只有两种电平:高电平和低电平。
高电平:5V
低电平:0V
TTL电平信号被利用的最多是因为通常数据表示采用二进制,5V等价于逻辑“1“,0V等价于逻辑零,TTL电平规定高电平输出电压>2.4V,低电平输出电压<0.4V

计算机串口使用的是RS232电平
高电平:-12V
低电平:+12V
单片机与计算机串口通信时需要使用电平转换芯片,把RS232电平转换为TTL电平后单片机才能识别
51单片机I/O口介绍
I/O口是基本输入Input/输出Output接口,单片机对外围设备的控制都是通过I/O口来进行的(输出高低电平)。接收外部控制也是通过I/O口来读取外部电压信号
在这里插入图片描述
在这里插入图片描述
初识电容电阻
电阻器缩写为R,欧姆定律指出电压、电流、电阻三者之间的关系为I=U/R,从中我们可以看出电阻在电路中是对电流有阻碍作用的一种电子元器件。电阻的基本单位是欧姆。用希腊字母来表示
在这里插入图片描述
电容的作用:储能,滤波,通交流隔直流,旁路,耦合,补偿,充放电等
在这里插入图片描述
初识电路原理图:
原理图:就是表示电路板上各器件之间连接原理的图表。学习单片机和学硬件电路设计都是要通过分析原理图,了解各种电子器件的功能和工作原理,才能得心应手的开展工作
在这里插入图片描述
在电路原理图中有时器件相隔太远不方便连接电气走线可以采用网络标号的形式进行电气连接
网络标号:电路原理图中网咯标号相同的点表示实际相连接
在这里插入图片描述
单片机最小系统结构:
单片机需要运行起来最基本的条件需要有:
1.电源 (给整个系统提供能量)
2.单片机芯片 (运行程序/处理数据)
3.晶振电路 (给单片机工作提供节拍)
4.复位电路 (单片机上电时需要复位使程序从头开始运行)
在这里插入图片描述
单片机工作的基本时序
振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期。
机器周期:一个机器周期包含12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。
在这里插入图片描述

重要

点亮LED灯
LED全称为半导体发光二极管,采用半导体材料制成,以直接将电能转化为光能,电信号转化为光信号的发光器件;其特点是功耗低、高亮度、色彩艳丽、抗震动、寿命长(正常发光8-10万小时)、冷光源等优点,是真正的”绿色照明“。以LED为光源的灯饰品在二十一世纪的将来,必然取代白炽灯,成为人类照明的又一次革命

LED工作参数
LED(发光二极管)在电路图中的符号为:在这里插入图片描述
它具有二极管的基本特性正向导通,反向截止。要想点亮LED那么需要从正向流过工作电流
普通发光二极管工作压降:1.6V—2.1V
工作电流为:1—20ma
在这里插入图片描述

在这里插入图片描述
本节相关C语言知识
关键字:sbit
功能:位定义
一般格式:sbit 标识符 = 地址 在这里插入图片描述

流水灯

宏定义
用define进行宏定义的典型用法
#define uchar unsigned char
注意宏定义后面不能加分号,它是预处理器指令不是语句
其中用”uchar“直接替换了unsigned char
此时我们可以用uchar去定义变量类型如;uchar i;等价于 unsigned char i;

对于上面的宏定义我们是用来给已有数据类型区别名
对已有数据类型取别名一般还有使用关键字typedef,定义方法如下:
typedef 已有数据类型 新的数据类型;(要加分号)

函数的定义
函数就是将多条语句集合在一块,来完成一种特定功能。
函数分为标准函数库,和用户自定义函数。
标准函数库:KEIL编译器提供的,不需要用户进行定义。
自定义函数:用户根据自己需要编写的函数,他必须在使用前先定义。

自定义函数的一般格式为:
函数类型 函数名 (形式参数表)
{
局部变量定义
函数体语句
}
延时函数
自定义函数:延时函数delay(毫秒级)
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x–)
for(y = 144;y>0;y–)
}
给形参z赋值,如延时100毫秒:delay(100);

循环移位函数
标准库函数:instrins.h

内部函数
字符型循环左移:crol
字符型循环右移:cror
#include <instrins.h>
void test_crol (void) {
unsigned char a;
unsigned char b;
a = 0xFE; //1111 1110
b=crol(a,1), //b now is 0xafd 二进制为 1111 1101

循环移位函数与左移和右移运算符的区别
使用字符型循环左移:
#include <intrins.h>
void test_crol (void) {
unsigned char a;
unsigned char b;
a = 0xFE; //1111 1110
b = crol(a,1); // b now is 0xFD 二进制为1111 1101
}
使用左移运算符
a = 0xFE; //1111 1110
b = a<<1; // b now is 0xFC 二进制为1111 1100
区别:循环左移是把最高位移到最低位,左移运算符是把最高位移除最低位补零

蜂鸣器的结构原理

1.压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。
  多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
  压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。
  2.电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
  接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
编辑本段蜂鸣器的制作
  (1)制

蜂鸣器
备电磁铁M:在长约6厘米的铁螺栓上绕100圈导线,线端留下5厘米作引线,用透明胶布把线圈粘好,以免线圈松开,再用胶布把它粘在一个盒子上,电磁铁就做好了.
  (2)制备弹片P:从铁罐头盒上剪下一条宽约2厘米的长铁片,弯成直角,把电磁铁的一条引线接在弹片上,再用胶布把弹片紧贴在木板上.
  (3)用曲别针做触头Q,用书把曲别针垫高,用胶布粘牢,引出一条导线,如图连接好电路.
  (4)调节M与P之间的距离(通过移动盒子),使电磁铁能吸引弹片,调节触点与弹片之间的距离,使它们能恰好接触,通电后就可以听到蜂鸣声.
有源蜂鸣器和无源蜂鸣器
  教你区分有源蜂鸣器和无源蜂鸣器
  现在市场上出售的一种小型蜂鸣器因其体积小(直径只有llmm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。有源蜂鸣器和无源蜂鸣器的外观如图a、b所示。
  图:有源和无源蜂鸣器的外观
  a)有源 b)无源
  从图a、b外观上看,两种蜂鸣器好像一样,但仔细看,两者的高度略有区别,有源蜂鸣器a,高度为9mm,而无源蜂鸣器b的高度为8mm。如将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。
  迸一步判断有源蜂鸣器和无源蜂鸣器,还可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器 "+"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂

蜂鸣器
鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。
有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。
蜂鸣器驱动模块
  在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。这里对单片机在蜂鸣器驱动上的应用作一下描述。
驱动方式
  由于自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对驱动口输出驱动电平并通过三极管放大驱动电流就能使蜂鸣器发出声音,很简单,这里就不对自激蜂鸣器进行说明了。这里只对必须用1/2duty 的方波信号进行驱动的他激蜂鸣器进行说明。
  单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。
  PWM 输出口直接驱动是利用PWM 输出口本身可以输出一定的方波来直接驱动蜂鸣器。在单片机的软件设置中有几个系统寄存器是用来设置PWM 口的输出的,可以设置占空比、周期等等,通过设置这些寄存器产生符合蜂鸣器要求的频率的波形之后,只要打开PWM 输出,PWM 输出口就能输出该频率的方波,这个时候利用这个波形就可以驱动蜂鸣器了。比如频率为2000Hz 的蜂鸣器的驱动,可以知道周期为500μs,这样只需要把PWM 的周期设置为500μs,占空比电平设置为250μs,就能产生一个频率为2000Hz 的方波,通过这个方波再利用三极管就可以去驱动这个蜂鸣器了。
  而利用I/O 定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。比如为2500Hz 的蜂鸣器的驱动,可以知道周期为400μs,这样只需要驱动蜂鸣器的I/O 口每200μs 翻转一次电平就可以产生一个频率为2500Hz,占空比为1/2duty 的方波,再通过三极管放大就可以驱动这个蜂鸣器了。
蜂鸣器驱动电路
  由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。
蜂鸣器驱动设计
  由于这里要介绍两种驱动方式的方法,所以在设计模块系统中将两种驱动方式做到一块,即程序里边不仅介绍了PWM 输出口驱动蜂鸣器的方法,还要介绍I/O 口驱动蜂鸣器的方法。所以,我们将设计如下的一个系统来说明单片机对蜂鸣器的驱动:系统有两个他激蜂鸣器,频率都为2000Hz,一个由I/O 口进行控制,另一个由PWM 输出口进行控制;系统还有两个按键,一个按键为PORT 按键,I/O 口控制的蜂鸣器不鸣叫时按一次按键I/O 口控制的蜂鸣器鸣叫,再按一次停止鸣叫,另一个按键为PWM 按键,PWM 口控制的蜂鸣器不鸣叫时按一次按键PWM输出口控制的蜂鸣器鸣叫,再按一次停止鸣叫。
电路原理图
  如图1-3 所示,使用SH69P43 为控制芯片,使用4MHz 晶振作为主振荡器。
  PORTC.3/T0 作为I/O 口通过三极管Q2 来驱动蜂鸣器LS1,而PORTC.2/PWM0 则作为PWM 输出口通过三极管Q1 来驱动蜂鸣器LS2。另外在PORTA.3 和PORTA.2 分别接了两个按键,一个是PWM 按键,是用来控制PWM 输出口驱动蜂鸣器使用的;另一个是PORT 按键,是用来控制I/O 口驱动蜂鸣器使用的。连接按键的I/O 口开内部上拉电阻。
  软件设计方法
  先分析一下蜂鸣器。所使用的蜂鸣器的工作频率是2000Hz,也就是说蜂鸣器的驱动信号波形周期是500μs,由于是1/2duty 的信号,所以一个周期内的高电平和低电平的时间宽度都为250μs。软件设计上,我们将根据两种驱动方式来进行说明。
a) PWM 输出口直接驱动蜂鸣器方式
  由于PWM 只控制固定频率的蜂鸣器,所以可以在程序的系统初始化时就对PWM 的输出波形进行设置。
  首先根据SH69P43 的PWM 输出的周期宽度是10 位数据来选择PWM 时钟。系统使用4MHz 的晶振作为主振荡器,一个tosc 的时间就是0.25μs,若是将PWM 的时钟设置为tosc 的话, 则蜂鸣器要求的波形周期500μs 的计数值为500μs/0.25μs=(2000)10=(7D0)16,7D0H 为11 位的数据,而SH69P43 的PWM
  输出周期宽度只是10 位数据,所以选择PWM 的时钟为tosc 是不能实现蜂鸣器所要的驱动波形的。
  这里我们将PWM 的时钟设置为4tosc,这样一个PWM 的时钟周期就是1μs 了,由此可以算出500μs 对应的计数值为500μs/1μs=(500)10=(1F4)16,即分别在周期寄存器的高2 位、中4 位和低4 位三个寄存器中填入1、F 和4,就完成了对输出周期的设置。再来设置占空比寄存器,在PWM 输出中占空比的实现是
  通过设定一个周期内电平的宽度来实现的。当输出模式选择为普通模式时,占空比寄存器是用来设置高电平的宽度。250μs 的宽度计数值为250μs/1μs=(250)10=(0FA)16。只需要在占空比寄存器的高2 位、中4 位和低4 位中分别填入0、F 和A 就可以完成对占空比的设置了,设置占空比为1/2duty。
  以后只需要打开PWM 输出,PWM 输出口自然就能输出频率为2000Hz、占空比为1/2duty 的方波。
b) I/O 口定时翻转电平驱动蜂鸣器方式
  使用I/O 口定时翻转电平驱动蜂鸣器方式的设置比较简单,只需要对波形分析一下。由于驱动的信号刚好为周期500μs,占空比为1/2duty 的方波,只需要每250μs 进行一次电平翻转,就可以得到驱动蜂鸣器的方波信号。在程序上,可以使用TIMER0 来定时,将TIMER0 的预分频设置为/1,选择TIMER0 的始终为系统时钟(主振荡器时钟/4),在TIMER0 的载入/计数寄存器的高4 位和低4 位分别写入00H 和06H,就能将TIMER0 的中断设置为250μs。当需要I/O 口驱动的蜂鸣器鸣叫时,只需要在进入TIMER0 中断的时候对该
  I/O 口的电平进行翻转一次,直到蜂鸣器不需要鸣叫的时候,将I/O 口的电平设置为低电平即可。不鸣叫时将I/O 口的输出电平设置为低电平是为了防止漏电

蜂鸣器

在这里插入图片描述
区别:这里的源不是指电源而是指震荡源
也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫
而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K–5K的方波去驱动它
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路

三极管工作原理
三极管8550是一种常用的普通三极管。他是一种低电压,大电流,小信号的PNP型硅三极管
主要用途:开关应用、射频放大
在这里插入图片描述
在这里插入图片描述
alldatasheet.com 芯片查询地址
在这里插入图片描述
数码管根据内部连接不同分为共阴极和共阳极。八段数码管内部有八颗LED组成,如果想要显示特定字形只需控制相应的LED亮起,其他LED熄灭即可。
在这里插入图片描述

静态显示与动态显示

静态显示
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示自行可一直保持,直到送入新字形码为止。

动态显示
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余晖和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

在这里插入图片描述
上拉电阻的作用
上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。下拉同理,也是将不确定的信号通过一个电阻钳位在低电平
当P0口作为输入/输出口时,上电复位后处于开开漏模式,P0口内部无上拉电阻,所以I/O口必须外接10K–4 .7K上拉电阻
在这里插入图片描述
在这里插入图片描述
数组的定义与引用
数组是一组有序数据的集合,数组中每一个数据都是同一数据类型。数组中的元素可以用数组名和下标来唯一确定
在这里插入图片描述

独立键盘

键盘介绍
键盘是电子系统中人机对话的重要组成部分,是人向机器发出指令,输入信息的必须设备
键盘在单片机应用系统中是使用最广泛的一种数据输入设备,键盘是由多个按键组成的
按键的工作原理
按键通常是一种常开型开关,常态下按键的两个触点处于断开状态,按下按键时他们才闭和
键盘类型
通常键盘有编码键盘和非编码键盘两种。编码键盘通过硬件电路产生被按按键的键值码这种键盘使用方便,所需程序简单,但硬件电路复杂,如计算机的键盘,单片机则通常不采用编码键盘

而软件程序来识别的称为非编码键盘,非编码键盘的硬件电路简单
在单片机组成的各种系统中,最常用的是非编码键盘
独立键盘和矩阵键盘的特点
非编码键盘分为独立键盘和矩阵键盘
独立键盘特点:每个按键占用一个I/O口,当按键数量较多时,IO口利用率不高,但程序简单,适用于所需按键较少的场合
矩阵键盘特点:电路连接复杂,但提高了Io口利用率,软件编程较复杂,适用于使用大量按键的场合
在这里插入图片描述
相关原理图分析:在这里插入图片描述
按键一端与IO口相连接,另外一端接地,通过控制IO口输出高电平即可检测按键是否按下,当按下时IO口会被拉低,松开后IO口回到高电平。
按键特性
机械按键在按下或松开时会存在抖动现象在这里插入图片描述

矩阵键盘

矩阵键盘识别方法
矩阵键盘相对于独立键盘要复杂一些。右图矩阵键盘一共有4行和4列一共16个按键组成。
确定矩阵键盘上哪一个按键被按下可以采用列扫描和行扫描。列扫描时先把接在列上面的所有IO口拉高,接在行上面的所有IO口置低。 当其中有一列内任何一个按键按下,那么整条列线都会被拉低
在这里插入图片描述

8*8点阵

LED点阵屏简介
LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等
在这里插入图片描述
在这里插入图片描述
中断系统
在这里插入图片描述

在这里插入图片描述
什么是中断系统
基本解释
计算机执行某程序时,发生了紧急事件或有特殊请求,CPU暂停某程序的执行,转而去处理上述事件或请求,处理完毕后再重新执行某程序的过程叫做中断

中断分为四个步骤:请求–响应–处理—返回
1.数据的输入/输出传送方式
无条件传送方式
一方对另一方来说总是准备好的。
查询传送方式:
传送前一方先查询另一方的状态,若已经准备好就传送,否则就继续查询/等待。
中断传送方式(IRQ):
一方通过申请中断的方式与另一方进行数据传送
直接存储器存取方式(DMA):
双方直接通过总线传送数据,不经CPU中转。适用于数据量大高速通讯的设备不占用CPU时间
2.中断传送方式特点
数据传送的双方平时各自做自己的工作,一旦甲方要求与乙方进行数据传送,就主动发出信号提出申请,乙方接到申请后若同意传送,安排好当前的工作,再响应与甲方发生数据传送。完事后,回去继续做打断前的工作
中断功能强弱是计算机性能优劣的重要标志
提高CPU效率 解决速度矛盾 实现并行工作
在这里插入图片描述
对中断源 断点 中断系统过程描述的了解
在这里插入图片描述

51子系列允许5个中断源

外部中断源(2个):
INT0——由P3.2端口线引入,低电平或下降沿引起。
INT1——由P3.3端口线引入,低电平或下降沿引起。
这两个外部中断源标志和它们的触发方式控制位由特殊功能寄存器TCON的低4位控制。
内部中断源(3个):
T0——定时器/计数器0中断,由T0回零溢出引起。
T1——定时器/计数器1中断,由T1回零溢出引起。
TI/RI——串行I/O中断,串行端口完成一帧字符发送/接收后引起。
这3个内部中断源的控制位分别锁存在特殊功能寄存器TCON和SCON中

51单片机中断系统内部结构图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定时/计数器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
串口通信
计算机串行通信基础
随着多微机系统的广泛应用。和计算机网络技术的普及,计算机的通信功能愈来愈显得重要计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换

通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。
计算机通信是将计算机技术和通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息交换,可以分为两大类,并行和串行通信。

并行通信通常是将数据字节的各位用多条数据线同时进行传送
在这里插入图片描述
并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接受存在困难

串行通信是指,使用一条数据线,将数据一位一位的依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机,计算机与外设之间的远距离通信
在这里插入图片描述
串行通信的特点:传输线少,长距离传送时成本低,但数据的传送控制比并行通信复杂。

串行通信又可以分为异步通信和同步通信。

异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接受设备的时钟尽可能一致
在这里插入图片描述
以上简单说就是,同步是我一定要和你一起去吃饭,异步是我要去吃饭了,你愿吃不吃

异步通信是以字符(构成的帧)为单位进行传输,
字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有”位间隔“的整数倍的关系,但同一字符内的各位之间的距离均为”位间隔“的整数倍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
串行通信常见的错误效验
1.奇偶效验
在发送数据时,数据位尾随的一位为奇偶效验位(1或0).奇效验时,数据中”1“的个数与效验位”1“的个数之和应为奇数;偶效验时,数据中”1“的个数与效验位”1“的个数之和应为偶数。接收字符时,对”1“的个数进行效验,若发现不一致,则说明传输数据过程中出现了差错。
2.代码和效验
代码和效验是发送方将所发数据块求和(或各字节异或),产生一个字节的效验字符(效验和)附加到数据块末尾。接收方接收数据同时对数据块(除效验字节外)求和(或各字节异或),将所得的结果与发送方的”效验和“进行比较,相符则无差错,否则即认为传送过程中出现了差错。
3.循环冗余效验
这种效验是通过某种数学运算实现有效信息与效验位之间的循环效验,常用于对磁盘信息的传输、存储区的完整性效验等。这种效验方法纠错能力强,广泛应用于同步通信中。
传输速率:比特率是每秒钟传输二进制代码的位数,单位是:在这里插入图片描述
串行通信接口标准
一、RS–232C接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 36
    点赞
  • 180
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值