单片机应用系统的典型结构图
单片机应用系统核心硬件技术包括:
1.时序
2.中断
3.地址译码
单片机应用系统核心软件技术包括:
1.寻址方式、指令系统
2.典型程序结构
3.中断程序设计
《单片机原理及应用》复习提纲
(2015年)
一.概述
掌握:1.单片机的基本概念、特点、单片机与通用微机的主要区别、应用领域
总线的概念,微型计算机的基本工作过程
(1)基本概念:
单片机是将CPU、存储器、I/O接口电路等微型机的主要部件集成在一块芯片上的计算机,简称单片机(Microcontroller)。
(2)特点:
可靠性高;使用方便、灵活,便于用户开发;易于面向工业控制;易于构成嵌入式系统。
(3)单片机与通用微机的主要区别:
单片机是专门为控制和智能仪器设计的一种集成度很高的微型计算机。
(4)应用领域:
<1>单片机在智能仪表和测量仪器中的应用
<2>单片机在机电/光机电一体化产品中的应用
<3>单片机在计算机网络及通信产品中的应用
<4>单片机在消费类电子产品中的应用
(5)总线的概念:
用来传送信息的一组导线,为CPU和其它部件之间提供数据、地址和控制信息的传输通道
地址总线:用于传送地址信息。
数据总线:用于传送数据信息。
控制总线:用于传送控制信息。
(6)微型计算机的基本工作过程:
<1>在进入运行前,要将事先编好的程序装入存储器中。
<2>读取指令:在CPU的控制下,由内部程序计数器(PC)形成指令存储地址,并从该地址中读取指令后送到指令寄存器(IR)中保存
<3>执行指令:在CPU的控制下,由指令译码器(ID)对指令译码,产生各种定时和控制信号,并执行该指令所规定的操作。
2.定点小数的表示方法
小数点通常有两种表示方法:定点表示法和浮点表示法。
在定点表示法中,小数点的位置是固定不变的,它是事先约
定好的,不必用符号表示。通常,将小数点固定在数值部分的最高位之前或最低值之后, 前者将数表示为纯小数,后者将数表示为纯整数。
3.BCD码的两种存储格式(压缩和非压缩形式)
1)压缩BCD码:用4位二进制数表示1位十进制数,一个字节表示2位十进制数。
例如10010111B表示十进制数97。
2)非压缩BCD码:用8位二进制数表示1位十进制数,高4位总是0000。
例如,00001001B表示十进制数9。
4.ASCII的作用和特点:
0-9的ASCII:30H-39H
A,B,C,D,E,F的ASCII:41H-46H
5.二进制、十进制、十六进制之间的转换方法(熟练掌握整数的转换方法)
6.负数的3种表示方法:原码、反码和补码
7.补码和真值的计算方法(熟练掌握,整数)
8.单字节HEXàBCD; 单字节BCDàHEX的转换方法;HEXàASCII; ASCII àHEX的转换方法
二.内部结构(以AT89C51、AT89C52为背景机型)
引脚部分:
理解ALE,/PESN,/EA,/WR,/RD 的作用
1.ALE:地址锁存使能输出(Address Latch Enable),下跳沿时锁存
2./PESN:程序存储器读选通信号(Progrom Store Enable),访问代码空间
3.外部ROM访问允许
EA=0:访问片外程序存储器
EA=1:访问片内程序存储器,
当PC值大于0FFFH后,转向访问片外程序存储器。
4./WR:访问数据空间,写外部数据存储器控制信号
5./RD:访问数据空间,读外部数据存储器控制信号
CPU部分:
了解CPU的基本组成部件
运算器(ALU,A,B, PSW(CY,AC,OV,P))
ALU:算术逻辑部件
组成:加法器和其他电路
主要功能:算术运算和逻辑运算
A:累加器,存放操作数或中间运算结果的寄存器
B:寄存器,一般用于乘、除法指令
PSW:程序状态字寄存器
CY(PSW.7)——进位标志:
在进行加或减运算时,如果操作结果最高位有进位或借位时,CY由硬件置“1”,否则清“0”。
AC(PSW.6)——半进位标志:
在进行加或减运算时,如果操作结果的低半字节向高半字节产生进位或借位时,将由硬件置“1”,否则清“0”。
OV(PSW.2) ——溢出标志:
在有符号数加减运算中,若有异常结果,OV硬件置1,否则硬件清0。
P(PSW.0) ——奇偶标志位
该位始终跟踪累加器A中含“1”个数的奇偶性。
如果A中有奇数个“1”,则P置“1”,否则置“0”。满足偶校验原则。
控制器 (IR,ID,PC,SP,DPTR)
IR:中断允许控制寄存器
ID:中断优先级控制寄存器
PC:程序计数器(Program Counter)
SP:堆栈指针(Stack Pointer)
DPTR:数据指针寄存器(Data Pointer)
理解PC,SP,DPTR,PSW的作用,以及PSW中各位的含义和使用方法
时序部分:
了解时钟周期、状态周期、机器周期和指令周期之间的关系
1个机器周期
=6个状态周期(时钟周期)
=12个振荡周期
=完成一个基本指令所需时间
重点掌握机器周期的计算方法
12*晶振周期
时钟电路硬件连线
时钟部分:
了解给单片机提供时钟的必要性;掌握提供时钟的基本方法
复位部分:
了解给单片机复位的必要性,掌握复位的基本方法和电路(上电复位、按键复位)
1.复位条件:RST引脚端出现持续时间不短于 2个机器周期的高电平。
2.
上电复位 按键复位 复合复位
掌握和理解单片机复位后的初始状态。
P1~P3=0FFH
IP=XXX00000B
IE=0XX00000B
PCON=0XX00000B
SBUF(串行口数据缓冲寄存器)=XXH
其他=00H
复位电路硬件连线
片内RAM部分和SFR区:
了解片内128Byte(256Byte)RAM的分区情况和使用特点
1.分区情况
(1) 低128字节的区域
①工作寄存器区(00H~1FH)
②可位寻址区(20H~2FH)
③用户RAM区(30H~7FH)
(2)高128字节区域
SFR区:承担着51单片机片上资源的管理工作
2.使用特点
①区和③区只能按字节进行数据存取操作,②区则可按字节和位两种方式存取操作。
每个存储单元都有一个字节地址,但只有其中21个单元可以使用,并有相应寄存器名称。
掌握4组寄存器的选择方法和0组寄存器所对应的地址范围
当前工作寄存器组取决于PSW的设置
CPU复位后RS1和 RS0默认值为0,即默认第0组为当前工作寄存器组。
(RS1,RS0)=(0,0):寄存器0组
(RS1,RS0)=(0,1):寄存器1组
(RS1,RS0)=(1,0):寄存器2组
(RS1,RS0)=(1,1):寄存器3组
了解可位寻址区的分布区域:
20H-2FH,部分SFR
堆栈部分:
掌握堆栈的基本的概念、作用和数据存储方法
1.概念:MCS-51单片机的堆栈,是在片内RAM中开辟的一个专用区,用来暂时存放数据或存放返回地址,并按照“后进先出”(LIFO)的原则进行操作。
2.作用:进栈时,SP首先自动加1,将数据压入SP所指示的地址单元中;
出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1
3.数据存储方法:先进后出
指定内部数据存储器地址07H~7FH中的一部分连续存储区作为堆栈。
片上IO口部分:
了解P0-P3口的功能和使用特点P1:通用输入输出口
地址总线低8位输出口,
数据总线口
P2:通用输入输出口
地址总线高8位输出口
P3:通用输入输出口
/RD、/WR:外部数据存储器读写控制
/INT0、/INT1:外部中断信号输入引脚
T0、T1:计数信号输入引脚
RXD、TXD:串行通信口接收、发送引脚
三总线实现方法
P2P0合起来构成16位地址总线(P2高8位,P0低8位)
P0口为数据总线(P0口分时实现数据和地址的传输,一般通过373锁存器来实现)
P3口一部分及几个特殊控制引脚构成不完整的控制总线
重点理解准双向口的概念,准双向口使用注意事项,读预备操作的意义
1.概念:P1、2、3有固定的内部上拉电阻,所以有时称它们为准双向口;只有高低电平状态,没有高阻状态
2.注意事项:P1、P2、P3口无需外接上拉电阻(已有内部上拉电阻);做输入用的时候要有向锁存器写1的这个预备操作
3.预备操作意义:输入时,为正确读出P1.n引脚电平,需设法在读引脚前先使场效应管截止,即向锁存器写一
读锁存器、读引脚、“读-修改-写”指令
1.读锁存器:ANL P1,A
2.读引脚:MOV P1,#0FFH
MOV A,P1
3.读改写:
三.指令系统
寻址方式部分:理解7种寻址方式、特点及适用范围
寻址方式:寻找操作数地址或指令地址的方式。
寻址方式类型:
1.立即寻址
特点:操作数可以从指令中直接取得,速度快。
用途:用于对寄存器或存储单元进行初始赋值。
2.直接寻址
特点:在指令中直接给出操作数的字节地址或位地址。
适用范围:只能在下述三种地址空间内寻址。
(1)特殊功能寄存器(SFR);
(2)内部数据存储器RAM的低128个字节;
(3)位地址空间。
3.寄存器寻址
特点:指令短,速度快
适用范围:
(1)工作寄存器区中的R0-R7
(2)A(累加器)、B(仅限于乘除法指令)、DPTR、C(布尔处理器)
4.寄存器间接寻址
特点:指令简洁,便于对连续存放的数据进行处理
适用范围(特定寄存器):
R0,R1:用于访问片上RAM空间
DPTR:用于访问外部数据空间
SP:用于访问堆栈空间
5.变址寻址
特点:操作数的有效地址为基址寄存器与变址寄存器内容之和;基址寄存器:PC(或DPTR),变址寄存器:A
适用范围:用于查表指令,读取存放于程序空间中的常数表,如函数表,字模表等。
6.相对寻址
适用范围:用于确定下一条执行指令的入口地址 ,在指令中给出程序跳转的偏移量rel,用于转移指令中。
7.位寻址
特点:直接操作单元中的某一个位,方便了程序设计,提高了程序的可读性。
适用范围:
(1)片内RAM区支持位寻址方式的单元,即20H-2FH。
(2)SFR中支持位寻址方式的寄存器。
指令部分:
1. 理解全部指令的功能,正确掌握其使用方法P46~P62
掌握MOV、MOVC、MOVX指令的使用特点
掌握ADD,AADC,SUBB,DA,INC,DEC指令的特点
掌握PUSH、POP、LCALL、ACALL、RET、RETI指令
掌握控制转移类指令的应用:DJNZ,CJNE;JC/JNC; JB/JNB/JBC
掌握逻辑操作类指令的应用:CPL,ANL,ORL,XRL,RR/RRC, RL/RLC
2.掌握估算指令长度的方法
指令长度估算方法:
指令基本长度为1 字节;
逢立即数(8bits)长度加1;
逢立即数(16bits)长度加2;
逢直接寻址方式,指令长度加1。
3. 掌握相对转移指令中偏移量的计算方法
四.汇编语言程序设计
掌握基本伪指令的使用:ORG、END、EQU、DATA、DB、DW、BIT
掌握基本程序结构的设计方法
1. 分支程序:二分支、三分支
散转程序(重点掌握转移指令表方式)
2. 循环程序 :循环变量、循环条件
3. 子程序:掌握基本调用方法和参数传递方法
入口参数、出口参数传递方法:
1). 利用A
2). 利用寄存器,或存储单元
3). 利用堆栈
4. 查表程序:掌握表格的定义方法和两种查表方法
两种查表方法:
MOVC A, @A + DPTR ;对应于DPTR 查表方式
MOVC A, @A + PC ;对应于PC 查表方式
掌握以下应用程序的设计方法:
运算程序:加法(含多字节十六进制数、BCD码数)
减法(含多字节十六进制数、BCD码数)
针对数据块的操作:
清零、初始化、移动(复制)、求和、求最大值、求最小值、找寻特殊字符
延时程序的设计和分析
码制转换:HEX与ASCII之间的转化,单字节HEX与BCD码之间的转化
五.中断系统
了解:
微机与外设之间的数据传送方式,各种传送方式的特点
与中断相关的SFR和中断标志
CPU对外部中断信号的基本要求
掌握重要概念:
中断、 中断申请、中断优先、中断响应、中断服务和中断返回
中断源,中断申请方式(电平、边沿)
中断响应:
响应时间(一般3-8机器周期,或更长)
响应中断的条件(基本条件和阻止CPU立即响应中断的3种情况)
中断屏蔽和中断优先
中断服务:
重要的中断入口矢量地址:0003H/0013H,000BH/001BH,0023H
现场保护
重点掌握:外部中断0/1的应用和中断服务程序的设计
六.定时/计数器
了解:
定时/计数信号的来源及对计数信号的要求
中断源:发出中断请求的设备和电路
中断信号形式:电平信号或边沿信号
重要的SFR、其作用和相关标志位的作用(TMOD,TCON,TH0,TL0, TH1,TL1)
定时器或计数器初值:TH0.TL0;TH1,TL1
T2定时计数器的特点和使用方法
T2(仅52系列有)
它的特点是具有可编程性,即计数位数、启动方式、计数信号来源均可以通过程序进行控制。
可编程性体现在3个方面:
位数、启动方式、定时/计数方式
重点掌握
方式1,2的使用方法(包括定时和计数)
1.计数信号源要求:高电平或低电平的持续时间不能短于一个机器周期
定时方式:对机器周期计数,
计数信号频率=fOSC/12
计数方式:对外部脉冲信号计数 ,
来源于引脚T0(P3.4)、T1(P3.5)
信号频率不可高于 fOSC/24。
2.(1)软件启动方式(内部控制):
GATE=0时, TRx=1 启动定时或计数
(2)门控方式(外部触发):
GATE=1时,TRx=1且 /INTx引脚(P3.3 或 P3.5)为高电平,才能启动定时或计数
TMOD的设置和初值的计算方法
1.(1)定时方式:
方式1(16bits):(65536-X)×cycle=定时时间
方式2(8bits): (256-X)×cycle=定时时间
其中,cycle指代机器周期(μs)
(2)计数方式:
方式1(16bits):65536-X=计数值
方式2(8bits): 256-X=计数值
2.TMOD=00H:2^13-N=32TH0+TL0
TMOD=01H:2^16-N=256TH1+TL1
不同占空比的脉冲波形产生方法(包括查询方式和中断方式的程序设计)
理解:门控启动控制方法和脉冲宽度测量的基本原理和编程实现。
七.存储器和并口的扩展
掌握:
半导体存储器的分类、各类存储器的特点
存储器分类
1.存储器的类型
(1)按工作时与CPU联系密切程度分类
主存和辅存,或者称作内存和外存.主存直接和CPU交换信息,容量小,速度快。辅存则存放暂时不执行的程序和数据,只在需要时与主存进行批量数据交换,通常容量大,但存取速度慢;
(2)按存储元件材料分类
半导体存储器、磁存储器及光存储器;
(3)按存储器读写工作方式分类
只读存储器(ROM)
随机存储器(RAM)
可现场改写的非易失性存储器(NVM)
三总线的构成方法
1.P2P0合起来构成16位地址总线(P2高8位,P0低8位)
P0口为数据总线(P0口分时实现数据和地址的传输,一般通过373锁存器来实现)
P3口一部分及几个特殊控制引脚构成不完整的控制总线
2.地址总线(Adress Bus, AB)
A0-A15
数据总线(Data Bus, DB)
D0-D7
控制总线(Control Bus,CB)
/PSEN 访问代码空间
/WR, /RD 访问数据空间和IO空间
并行IO口的总线扩展方法(利用TTL器件的扩展方法)
掌握:
2764、6264,62256的基本接口方法
书P167
线选法、译码法(利用简单逻辑电路译码或译码器译码)硬件实现
1.线选法:直接利用单根地址线作为片选信号
2.译码法:多根地址线经过译码器、简单逻辑电路、可编程逻辑阵列处理后产生片选信号
地址译码法又有部分译码和全译码两种方式
存储器扩展的硬件连线(三总线信号连接)
存储空间的分配、存储芯片地址范围的计算
理解:
2764, 6264, 373,273,244,245,138,139芯片的读写信号及控制信号
访问片外程序和数据存储器的读写时序
八.键盘和显示器
了解:
按键的基本输入过程,按键响应程序的基本功能
1.响应程序
独立式按键:
矩阵式键盘:
2.基本功能
(1)按键检测:如何识别有键按下;
(2)去抖动:识别被按键与释放键时必须避开抖动状态,只有处在稳定接通或断开状态时,才能保证识别正确无误;
(3)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在程序存储器中建立了一个键盘编码表,通过查表获得键码。
(4)防串键:防串键是为了解决多个键同时按下或者前一键没有释放而又有新键按下时产生的问题;
消除按键抖动的必要性和方法
1.必要性:
监测有无键按下
保证可靠性:采取软件消抖
不管按键过程持续多长时间,仅执行一次按键功能程序。
输出确定的键号(键值)
2.方法:
(1)程序扫描方式:当CPU空闲时,扫描键盘,判断有无键按下。
(2)定时扫描方式:利用CPU的定时器,每隔一定时间扫描一次键盘。
(3)中断方式:有键按下时产生中断,由中断服务程序来处理。
LED的基本结构,主要电参数的含义和限流电阻的计算方法
1.基本结构:
常用的LED显示器为8段(或7段,8段比7段多了一个小数点“dp”段)。有共阳极和共阴极两种。
2.主要电参数含义:
VF:正向压降
IF:正向工作电流
3.限流电阻计算方法:
静态LED显示和动态LED显示的基本特点
1.静态LED显示:
持续驱动LED显示器的共公端。在显示器工作过程中,系统为每个显示器的公共端都一个有效电平。
软件编程简单,但占用I/O口线多,功耗大。
2.动态LED显示:
单片机定时扫描显示器,采用分时驱动的方法,轮流控制各个显示器的COM端,使各个显示管轮流点亮。该驱动方式利用了人的视觉暂留现象。
动态扫描驱动方式中,显示管分时工作,每次只有一个LED管显示。
在轮流点亮扫描过程中,每位显示管的点亮时间是极为短暂的(约1ms)。
硬件连线少,功耗低;
软件复杂,需要不停地扫描。
显示亮度既与导通电流有关,也与点亮时间和间隔有关。
掌握:
独立式按键和行列式键盘的硬件接口方法
&独立式按键的应用程序设计方法
行列式键盘扫描和键值读取的基本原理和方法
程序扫描法原理:
①行线(P1.0 — P1.3)同时输出低电平,
读列线(P1.4 — P1.7)的状态,若全为1, 则无键按下;
若不全为1, 则有键按下。
②在有键按下的情况下,进一步判断是哪个键按下。
使P1.0 —P1.3依次输出低电平, 读出P1.4 — P1.7的状态。
静态LED显示器的接口和程序设计方法
软件代码实现:
MOV P1, #0C0H ;送字模
MOV P2, #0F9H
动态LED显示器的接口方法和软件设计方法
九.A/D和D/A接口
了解:
A/D和D/A器件的主要技术指标和选取原则
A/D器件:
1.转换精度:
(1)分辨率:能区分输入电压的最小值=满量程/2^n
(2)转换误差:实际输出数字量与理论输出数字量的差别,常用最低有效位的倍数表示,如相对误差≦±LSB/2
2.转换时间:从转换信号到来开始,从输出端得到稳定的数字信号进过时间
D/A器件:
1.分辨率:最小非零输出电压/最大输出电压
2.建立时间:当输入数据从零变化到满量程时,输出模拟信号达到满量程刻度值(或指定与满量程相对误差)所需要时间
3.转换精度:最大静态转换误差
4.线性度(非线性误差):理想输入或输出特性偏差/满刻度输出(FSR:full scale range)*100%
5.温度系数:满量程刻度输出时,温度每升高1ºC,输出变化/满量程*100%
6.电源抑制比:满量程电压变化/电压变化*100%
7.输入形式:二进制码/BCD码/特殊形式码;并行输入/串行输入
8.输出形式:电流输出/电压输出;单路输出/多路输出
选取原则:
精度、速度、
输入/输出方式、
成本、
环境参数、
资源情况(资料、购买的便利性)
采样频率选取原则
实际情况:
:采样频率,:输入信号vi最高频率分量频率
不同种类A/D器件的主要特点(逐次比较型,双积分型、并行)
逐次比较型:位数越少,时钟频率越高,转换所需时间越短;转换速度快,精度高
双积分型:模拟输入电压在固定时间内向电容充电(正向积分),固定积分时间对应于n个时钟脉冲充电的速率与输入电压成正比。当固定时间一到,控制逻辑将模拟开关切换到标准电压端,由于标准电压与输入电压极性相反,电容器开始放电(反向积分),放电期间计数器计数脉冲多少反映了放电时间的长短,从而决定了模拟输入电压的大小;强抗工频能力
并行比较型:用电阻链将参考电压分压;不用附加采样保持电路,转换速度最快,随分辨率提高,元件数目几何级数增加
掌握:
ADC0809和DAC0832与51单片机的基本硬件接口连线方法
ADC0809:
ADC的端口地址是 0XXXXXXXXXXXXXXB,也就是7FFFH了
DAC0832
单缓冲:
双缓冲:
理解:
ADC0809的工作时序,以及启动控制和数据传送方法
工作时序
启动控制
数据传送方法:无条件数据传送,查询方式,中断方式
掌握:端口地址的概念和端口地址分配(计算)方法
掌握:
ADC0809基本应用程序设计方法(延时法,查询法,中断法)
延时法:
查询法:
MAIN: MOV R1,#30H ;置数据区首址,采样数据缓冲区的首地址
MOV DPTR,#0FEF8H ;指向IN0,利用P2.0=0 选通AD , ;采用锁存地址总线的方式选择通道0。
MOV R7,#08H ;置通道数
LOOP:MOVX @DPTR, A ;启动A/D转换
MOV R6, #05H ;软件延时,延时时间不短于10us
DALY: NOP
DJNZ R6, DALY
WAIT:JB P3.2, WAIT ;查询是否转换结束 ;ADC0809 的 EOC经反相器后与P3.2相连
MOVX A, @DPTR ;读取转换结果
MOV @R1, A ;存取数据
INC DPTR ;指向下一个通道
INC R1 ;指向下一个单元
DJNZ R7, LOOP ;巡回检测8个通道
RET
中断法:
主程序:
ORG 0000H
LJMP MAIN
ORG 0013H ; INT1中断入口地址
LJMP INT1
ORG 0030H
MAIM: MOV R0,#60H ;置数据存储区首址
MOV R2,#08H ;置八路数据采集初值
SETB IT1 ;设置边延触发中断
SETB EA
SETB EX1 ;开放外部中断1
MOV DPTR,#7FF8H ;指向0809通道0,使用P2.7选通AD
RD: MOVX @DPTR,A ;启动A/D转换
HE: MOV A,R2 ;八路巡回检测数送A
JNZ HE ;等待中断,八路未完继续
SJMP $ ;!!!
INT1: …… ; 保护现场
MOVX A,@DPTR ;读取A/D转换结果
MOV @R0,A ;向指定单元存数
INC DPTR ;输入通道数加1
INC R0 ;存储单元地址加1
MOVX @DPTR, A ;启动新通道A/D转换
DEC R2 ;待检通道数减1
…… ; 恢复现场
RETI ;中断返回
ADC0809多通道巡回采集软件设计方法
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0
ORG 0000H
MAIN: MOV SP,#40H
SETB ET0
SETB IT0
SETB EA
MOV R7,#8
MOV R6,#50
MOV R0,#20H
MOV DPTR,#7FF8H
STOP: SJMP $
INT0: MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,STOP
MOV R7,#8
DJNZ R6,STOP
ACALL DELAY
RETI
END
利用DAC0832产生单极性波形的程序设计方法
1.单极性三角波发生器
ORG 2000H
START: MOV DPTR,#07FFFH
MOV A,#00H
UP: MOVX @DPTR,A ;三角波上升边
INC A
JNZ UP
DOWN: DEC A ;A=0时再减1又为FFH
MOVX @DPTR,A
JNZ DOWN ;三角波下降边
SJMP UP
2.单极性锯齿波发生器
DACS: MOV DPTR,#7FFFH;0832 I/O地址
MOV A,#00H ;开始输出0V
DACL: MOVX @DPTR,A ;D/A转换
INC A ;升压
ACALL DELAY ;延时100ms/256:决定锯齿波的周期
AJMP DACL ;连续输出
DELAY:… ;延时子程序
十.串行通讯
了解:
MSC-51单片机串行接口工作模式的特点和应用场合
1.基本特征
(1)一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)与外设进行全双工的串行异步通信。P3.0是串行数据接收端RXD,P3.1是串行数据发送端TXD。
(2)4种工作方式
(3)2个控制寄存器,用来设置工作方式、发送接收状态、特征位、波特率等。
(4)一个数据寄存器SBUF作为接收发送的数据缓冲,两个数据缓冲器(SBUF)在物理上相互独立,在逻辑上却占用同一字节地址99H
(5)应用特点
两个中断标志,RI用于接收,TI用于发送。
发送/接收前都必须对RI/TI清零,
一帧数据发送/接收后,RI/TI自动置1,如要再发送/接收,必须用软件清零。
方式0和1:数据发送/接收完成后,置位RI/TI,请求中断。
方式2和3:数据接收完成后,视SM2和RB8的状态确定RI和是否请求中断。
RS-232C标准的基本内容和特点
1.RS232C是美国电子工业协会1962年公布,1969年修订的通用标准串行接口标准。
2.信号线
25芯,22根信号线,常用9根线。
最简方式3根线
RXD:数据接收线
TXD:数据发送线
GND:地线
例如PC机上的串口COM1、COM2
3.电平制
采用负逻辑,对应电平如下:
1 :-3V ~ -15V
0 :+3V ~ +15V
SPI,I2C总线的特点和总线构成。
SPI:Serial peripheral interface,由Motorola公司提出。
波特率可达到 50Mbps。
三线制 ,全双工,同步串行总线,速度比I2C总线快。
三线指:SCK:时钟线
MOSI (master output slave input): 从设备接收线
MISO (master input slave output): 从设备发送线
I2C:Inter-Integrated Circuit,由Philips公司,80年代提出的同步串行总线。
波特率: 0 - 400kbps。
双线制,半双工。
双线指:时钟线SCL和数据线SDA
掌握:
串行通讯的基本特点,帧格式、波特率的概念及其计算方法(要求熟练)
异步串行通信的特点:数据的传送以“Frame”为一个基本单位;
数据的传送可以是不连续的。
同步通信时A、B双方使用同一时钟信号驱动。
异步通信时A、B双方使用各自的时钟信号驱动,但时钟信号的频率相同。
2.波特率
单位:bps(bit per second)
定义:每秒钟传送的二进制位数。在计算机系统中也称为波特率。
数据位宽Td= 1 / Baudrate
两种校验方法(奇偶校验、校验和检验)的基本原理
1.奇偶校验法:
比对收、发双方的校验位是否一致。
有奇校验和偶校验两种。
校验过程是针对单个字节的。
只能检查部分错误,当一个字节中同时有偶数个bit出错时,无效。
当发送数据量较大时,发送的校验信息量也会较大。
2.校验和方法:
比对收、发双方的checkSUM是否相同。
校验是针对一个数据块的。(特列情况是一个字节)
可以发现一个字节中多个bit同时出错的问题。
校验信息量小,通常采取1或2个字节就可。
双机通讯的硬件连线方法(单片机-单片机,单片机-PC机)
数据收发程序编程(查询方式)
预用51单片机的UART传送数据,要求采用偶校验方法,波特率为9600bps,试选择UART的工作方式,并写出初始化代码。(fosc=6MHz)
多机通信的基本思想
系统中主机、从机均采用9位UART模式,利用TB8区分地址帧和数据帧
地址帧:TB8 = 1,
数据帧:TB8 = 0,
利用特性:SM2 = 1时, 接收方的UART要求 RB8 = 1 ,
才能激活RI,才能触发串口中断。
主机首先发“地址帧”,即地址码,也是要呼叫的从机ID号,
此时置 TB8 = 1 。
全体从机都会接收地址帧,并与自己的地址号(ID)比较,
若主机呼叫自己便回应,
并置SM2 = 0(切换到双机通信模式),准备接收数据。
主机若收到从机回应,便开始发送数据,此时置 TB8 = 0 ,连续发送数据,
直到数据发送完毕。
主从机一次通信结束后,主从机重置自己的 SM2 = 1。
主机可以再次呼叫其它从机,并开始新的数据传送过程。
十一.C8051F310单片机的重要新特性及其在实验3、4、5中的应用
参见C8051F310新特性讲解.pdf
1)理解Init_Device()配置函数的构成和作用。
2) 端口的使用方法
3)定时器的使用方法
4)WDT的作用和正确使用