
⑤苏开装大学 单片机技术及应用 (讲义) 3 顾筠编 2018年11月
单片机技术及应用 (讲义) 顾筠 编 2018 年 11 月


前言与目录 单片机面向控制,在各种机电、电子产品或机电技术中得到广泛应用。单片机误 程融合了数字电子技术、控制技术、软件编程等知识与技能。 本误程围绕MCS-51系列单片机进行学习,课程主要包括有关单片机的基本枚念 和基本知识,单片机的组成结构,寻址方式、指令系统和程序设计方法,单片机内部 I/O接口单元及应用,外围设备与接口等。 通过本谋程的学习,要求: 1.理解单片机相关的基础知识,单片机最小系统: 2.掌握MCS-51的寻址方式和指令系统: 3.掌握单片机程序设计方法: 4。理解单片机接口应用方法:并行口、中断系统、定时计数器、串行口: 5.了解常用外设的接口方法和程序设计方法:AD和D/A按口、I.FD显示。 本讲义依据单片机的功能应用划分成单元,共有10个单元的学习内容。 第1单元单片机基础概述 第2单元单片机组成结构 第3单元单片机的存储器 第4单元单片机指令系统 第5单元单片机程序设计 第6单元并行接口 第7单元中断系统 第8单元定时器/计数器 第9单元申行接口 第10单元外由设备与接口 每个单元都设置有习题,供同学们思考练习,以巩固学习内容
单片机技术及应用 (讲义) 顾筠 编 2017 年 1 月 前言与目录 单片机面向控制,在各种机电、电子产品或机电技术中得到广泛应用。单片机课 程融合了数字电子技术、控制技术、软件编程等知识与技能。 本课程围绕 MCS-51 系列单片机进行学习,课程主要包括有关单片机的基本概念 和基本知识,单片机的组成结构,寻址方式、指令系统和程序设计方法,单片机内部 I/O 接口单元及应用,外围设备与接口等。 通过本课程的学习,要求: 1.理解单片机相关的基础知识,单片机最小系统; 2.掌握 MCS-51 的寻址方式和指令系统; 3.掌握单片机程序设计方法; 4.理解单片机接口应用方法:并行口、中断系统、定时计数器、串行口; 5.了解常用外设的接口方法和程序设计方法:A/D 和 D/A 接口、LED 显示。 本讲义依据单片机的功能应用划分成单元,共有 10 个单元的学习内容。 第 1 单元 单片机基础概述 第 2 单元 单片机组成结构 第 3 单元 单片机的存储器 第 4 单元 单片机指令系统 第 5 单元 单片机程序设计 第 6 单元 并行接口 第 7 单元 中断系统 第 8 单元 定时器/计数器 第 9 单元 串行接口 第 10 单元 外围设备与接口 每个单元都设置有习题,供同学们思考练习,以巩固学习内容

草片机技米及应用 第9单元 串行接口 【导言】 本单元主要讲述串行通信的基本机念和RS-232标准。介细MCS-51单片机串行口的功 能特性及应用方法, 【学习目标】 掌:有关毕行通信的的基本概念。 MCs51的串行口功能特性, RS-232C标准. 理解:半行口的应用。 【学习重点和难点】 1.重点:半行通信的的基本概念, 2.难点:半行口的应用编程。 【学习内容】 9.1半行通讯方式概述 9.2MCS-51卡行接口的组成 9,3串行接口的工作方式 9,4串行通信RS-232C标准 9,5串行口的应用
单片机技术及应用 1 第 9 单元 串行接口 【导言】 本单元主要讲述串行通信的基本概念和 RS-232 标准,介绍 MCS-51 单片机串行口的功 能特性及应用方法。 【学习目标】 掌 握:有关串行通信的的基本概念。 MCS-51 的串行口功能特性。 RS-232C 标准。 理 解:串行口的应用。 【学习重点和难点】 1.重点:串行通信的的基本概念。 2.难点:串行口的应用编程。 【学习内容】 9.1 串行通讯方式概述 9.2 MCS-51 串行接口的组成 9.3 串行接口的工作方式 9.4 串行通信 RS-232C 标准 9.5 串行口的应用

第9草元中行接口 单片机与外界的信息父换通常有并行和中行两种通讯方式,前面主要介绍了MCS-S1单 片机的并行接口,并行通讯方式是由并行接口米实观的。本单元将介绍MCS-51单片机的串 行通讯方式。 9.1 串行通讯方式概述 串行通讯方式是指·条信息的各位数据被逐位顺序传送的通讯方式。单片机的串行通讯 方式可以通过毕行接口来实现。根据通讯信息发送和接收的形式不同,卡行通讯方式可分为: 全双工、半双工、单工三种。信息雕够同时进行双向传送的,称为全双工:信息能够双向传 送,但不能同时进行的,称为半双工:信愿只能单方向传送的,则称为单工。根据传送方式 的不同申行道讯还可分为:异步道讯方式和同步通讯方式两种。 1,异步通讯方式 异步通讯方式是按字符传送的,典型异步通讯格式如图91所示。在字符中“0”为起始 位,表示字符开始,由低位向高位逐位传送数据,当出现“1”时表示字符结束。在一字符 信息中,包含1位起始位,5一8位数据位和1位停止位,一个字符又称为一航信息。其“异 步”的含义在于:每一顿内部各位均采用固定的时间何隔,但每一航之可的时间问两是随机 的,而按收瑞完全靠每一航的起始位及停止位来识别字符传送的是新字符还是字符己结京。 这种方式的特点是数据传送的可常性较高,能及时发现带误,但通讯效率较低, 第n个字荷 停止:位 0D00D1 2时D4D5%mP10 起始位 数据位 段险位 图91典型异岁通讯路式 2.同步通讯方式 同步通讯方式是按数据块进行传送的,数据块巾有特殊的同步字符作为数据块的起始 符,后面跟着数据字符半,最后是检验字符,同步字符块的作用是使发送与接收双方取得同 步。共型的同步通讯格式如图92所示。使用同步通讯方式时,为了保证接收正确无误,发 送时除了传送数据外,还将时钟信号同时传送。这种方式的特点是可以实现高速度、大容 量的数据传送, 开始 站束 问步字抢 爱据块 校验 同步字符 图2伟行同步通讯格式 2
第 9 单元 串行接口 2 单片机与外界的信息交换通常有并行和串行两种通讯方式,前面主要介绍了 MCS-51 单 片机的并行接口,并行通讯方式是由并行接口来实现的。本单元将介绍 MCS-51 单片机的串 行通讯方式。 9.1 串行通讯方式概述 串行通讯方式是指一条信息的各位数据被逐位顺序传送的通讯方式。单片机的串行通讯 方式可以通过串行接口来实现。根据通讯信息发送和接收的形式不同,串行通讯方式可分为: 全双工、半双工、单工三种。信息能够同时进行双向传送的,称为全双工;信息能够双向传 送,但不能同时进行的,称为半双工;信息只能单方向传送的,则称为单工。根据传送方式 的不同串行通讯还可分为:异步通讯方式和同步通讯方式两种。 1.异步通讯方式 异步通讯方式是按字符传送的,典型异步通讯格式如图 9-1 所示。在字符中“0”为起始 位,表示字符开始,由低位向高位逐位传送数据,当出现“1”时表示字符结束。在一字符 信息中,包含 1 位起始位,5~8 位数据位和 1 位停止位,一个字符又称为一帧信息。其“异 步”的含义在于:每一帧内部各位均采用固定的时间间隔,但每一帧之间的时间间隔是随机 的,而接收端完全靠每一帧的起始位及停止位来识别字符传送的是新字符还是字符已结束。 这种方式的特点是数据传送的可靠性较高,能及时发现错误,但通讯效率较低。 第 n 个字符 停止位 … P 1 0 D0 D1 D2 D3 D4 D5 D6 D7 P 1 0 起始位 数据位 校验位 图 9-1 典型异步通讯格式 2.同步通讯方式 同步通讯方式是按数据块进行传送的,数据块中有特殊的同步字符作为数据块的起始 符,后面跟着数据字符串,最后是检验字符,同步字符块的作用是使发送与接收双方取得同 步。典型的同步通讯格式如图 9-2 所示。使用同步通讯方式时,为了保证接收正确无误,发 送时除了传送数据外,还需将时钟信号同时传送。这种方式的特点是可以实现高速度、大容 量的数据传送。 开始 结束 同步字符 数据块 校验 同步字符 图 9-2 串行同步通讯格式

草作机技米及应用 2,波特率 波特率是串行通讯中的一·个重要指标,它反映了串行通讯的速度和对传拾通道的要求, 被特率越高,要求传输通道的颊带就越宽。波特率定义为每秒钟传送二进制数码的位数,在 异步通讯中,被特率为每秒传送的字符数和每个字符位数的乘积。例如。如果每秒传送的速 率为1S0字符秒,而每一个字符包含10位(包括1个起始位,7个数据也,1个奇得校验位 和1个停止位),则被特率为 150字符/秒×10位/字符-1500位/秒-1500波特 一般异步通讯的波特率在s0一9600波特之间. 9.2 MCS-51串行接口的组成 MCS-51的串行接口,是一个全双工的异步串行证讯接口,可以同时发送和接收数据, 能方便地与共他计算机或串行传送信息的外围设备实现双机、多机通信。 书行接口主要由发送颈据缓冲器、接收数据缓冲器、发送控制器、接收控制器、输入控 (门、输入移位将存器和两个特殊功陛寄存器(串行口控制寄存器SCON、电源控制将存器 PCON)等组成。串行接口的组成框图9-3所示。 IXD P3.I) 控制门 特率发生 发送控制器 串行中断 接收拉制景 移位奇存器 RXD P3.0) 图3弗行接口的组成把阁 1。发送、接收数掘缓冲器 发送、楼收数据缓冲器也是特殊功能寄存器。这两个缓冲器共用一个符号SBUF,共用 3
单片机技术及应用 3 2.波特率 波特率是串行通讯中的一个重要指标,它反映了串行通讯的速度和对传输通道的要求, 波特率越高,要求传输通道的频带就越宽。波特率定义为每秒钟传送二进制数码的位数,在 异步通讯中,波特率为每秒传送的字符数和每个字符位数的乘积。例如,如果每秒传送的速 率为 150 字符/秒,而每一个字符包含 10 位(包括 1 个起始位,7 个数据位,1 个奇偶校验位 和 1 个停止位),则波特率为 150 字符/秒 10 位/字符=1500 位/秒=1500 波特 一般异步通讯的波特率在 50~9600 波特之间。 9.2 MCS-51 串行接口的组成 MCS-51 的串行接口,是一个全双工的异步串行通讯接口,可以同时发送和接收数据, 能方便地与其他计算机或串行传送信息的外围设备实现双机、多机通信。 串行接口主要由发送数据缓冲器、接收数据缓冲器、发送控制器、接收控制器、输入控 制门、输入移位寄存器和两个特殊功能寄存器(串行口控制寄存器 SCON、电源控制寄存器 PCON)等组成。串行接口的组成框图 9-3 所示。 图 9-3 串行接口的组成框图 1.发送、接收数据缓冲器 发送、接收数据缓冲器也是特殊功能寄存器。这两个缓冲器共用一个符号 SBUF,共用 控制门 TXD (P3.1) 波 特 率 发 生 器 T1 串行中断 发送控制器 TI 接收控制器 RI 移位寄存器 + RXD (P3.0)

第9单元率行接口 一个地址9H,发送数据缓冲器只能写入,不能读出:按收数据缓冲器只能读出,不能写入。 并由指令来确定是发送寄存器,还是接收寄存器。 2.串行口控制诗行器SCON 串行口控制寄存器SCON是串行口特功能将存器,字节地址为98H,位地址是9FH 98H,可以位寻址,其功能主要用来定义中行口的工作方式,进行发送、接收控制和监视岸 行口的工作欢态。 SCDN寄存器的格式如下表9-】所示: 表9 I SCON帝存器的格式 位序号 D7 D6 D5 DI D3 D2 DI DO 位符号 SMD SMI SM2 REN 18 KH8 2 ①SM0、SM】为串行口工作方式选择位,由软件置位或清零,内容见表9-3。 ②REN为允许接收信号控制位。 当REN-1时,允许接收信号:当REN-O时,禁止按收信号。 ③TB8为发送的第9位数据位。 ④RB8为接收的第9位数据位。 ③T1、R为中断标志位,T为发送中新,RI为按收中断。 @SM2为多机通信控制位. 3.电源控制寄存器CON 电源控刚寄存器PCON是串行口的另特殊功能寄存器,字节地址为87H,它的主要功 能是参与对申行口的控制 CON寄存器的格式如下表92: 表92PCON寄存卷的格式 位序号 D7 D6 D5 D D3 D2 DI DO 位符号 SMOD GF1 GFO D IDL PCON寄存器不能进行位寻址。℃ON的最高位SMOD是串行口被特率系数控制位,当 8MOD-1时,串行口被特率增加一倍:当SMOD-0时,系统复位,其余各位与串行口无关。 9.3 串行接口的工作方式 串行接口有4种工作方式,由串行口工作方式选择位SM0、SM1决定,见表93
第 9 单元 串行接口 4 一个地址 99H,发送数据缓冲器只能写入,不能读出;接收数据缓冲器只能读出,不能写入。 并由指令来确定是发送寄存器,还是接收寄存器。 2.串行口控制寄存器 SCON 串行口控制寄存器 SCON 是串行口特殊功能寄存器,字节地址为 98H,位地址是 9FH~ 98H,可以位寻址。其功能主要用来定义串行口的工作方式,进行发送、接收控制和监视串 行口的工作状态。 SCON 寄存器的格式如下表 9-1 所示: 表 9-1 SCON 寄存器的格式 位序号 D7 D6 D5 D4 D3 D2 D1 D0 位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI ①SM0、SM1 为串行口工作方式选择位,由软件置位或清零,内容见表 9-3。 ②REN 为允许接收信号控制位。 当 REN=1 时,允许接收信号;当 REN=0 时,禁止接收信号。 ③TB8 为发送的第 9 位数据位。 ④RB8 为接收的第 9 位数据位。 ⑤TI、RI 为中断标志位,TI 为发送中断,RI 为接收中断。 ⑥SM2 为多机通信控制位。 3.电源控制寄存器 PCON 电源控制寄存器 PCON 是串行口的另一特殊功能寄存器,字节地址为 87H,它的主要功 能是参与对串行口的控制。 PCON 寄存器的格式如下表 9-2: 表 9-2 PCON 寄存器的格式 位序号 D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD --- --- --- GF1 GF0 PD IDL PCON 寄存器不能进行位寻址。PCON 的最高位 SMOD 是串行口波特率系数控制位,当 SMOD=1 时,串行口波特率增加一倍;当 SMOD=0 时,系统复位。其余各位与串行口无关。 9.3 串行接口的工作方式 串行接口有4种工作方式,由串行口工作方式选择位 SM0、SM1 决定,见表 9-3

单岸机故术及应用 表93串行接口的工作方式 SMO SMI 工作方式 功色 波特帝 0 为式0 移位常存些方式,用于并行10书展 12 方式1 8位通用异步接攻器/发送墨 可变 0 方式2 9位通用异少接收器/发沃墨 CB2或C64 1 方式3 9位通用异步按收器发送墨 可变 表中为单片机时钟频率。 1.工作方式0 在工作方式0下,半行接口为同步移位寄存器方式,用于并行扩晨1O接口.数器从RXD 引脚上发送或按收,同步移位脉冲由TXD省输出。一航信息出8位数据姐成,低位在前, 工作方式0的被特率齿定不变,为fos心12. 工作方式0的数据发送由一条写发送寄存器(SB指令开始,写信号同时启动发送控制 器SEND),领据从RXD缓逐位串行输出。发送完毕后,发送控制器恢复原状,由硬件置TI-O, 写入SBUF Ss P2 SEND RXD数暴验出) DeV/Di\/D:VDs\/D4\/Ds\/DoV/Dis 与入SBLF TX移位林冲 工中盘) a发送时序 置RN= R按收中断) RECEIVE RX①数据给入】 1111111 TXD移位脉冲 ∏TTT冂T (b)接收时序 图94工作方式0时序电路图 工作方式0的接收在满足REN-】和R-0后,就会启动一个按收全过程,数据从RXD
单片机技术及应用 5 表 9-3 串行接口的工作方式 SM0 SM1 工作方式 功能 波特率 0 0 方式 0 移位寄存器方式,用于并行 I/O 扩展 fosc/12 0 1 方式 1 8 位通用异步接收器/发送器 可变 1 0 方式 2 9 位通用异步接收器/发送器 fosc/32 或 fosc/64 1 1 方式 3 9 位通用异步接收器/发送器 可变 表中 fosc 为单片机时钟频率。 1.工作方式0 在工作方式0下,串行接口为同步移位寄存器方式,用于并行扩展 I/O 接口。数据从 RXD 引脚上发送或接收,同步移位脉冲由 TXD 端输出,一帧信息由 8 位数据组成,低位在前。 工作方式 0 的波特率固定不变,为 fosc/12。 工作方式 0 的数据发送由一条写发送寄存器(SBUF)指令开始,写信号同时启动发送控制 器(SEND),数据从 RXD 端逐位串行输出。发送完毕后,发送控制器恢复原状,由硬件置 TI=0。 图 9-4 工作方式 0 时序电路图 工作方式 0 的接收在满足 REN=1 和 RI=0 后,就会启动一个接收全过程。数据从 RXD D0 D1 D2 D3 D4 D5 D6 D7 (b) 接收时序 置 REN=1 TXD(移位脉冲) RECEIVE RI(接收中断) RXD(数据输入) D0 D1 D2 D3 D4 D5 D6 D78 写入 SBUF (a) 发送时序 TI(中断) TXD(移位脉冲) RXD(数据输出) SEND 写入 SBUF S6 P2

第9苹元串行接口 端逐位输入,按收完毕后,各控制位复位,当再次接收时,需用软件置R=0。工作方式0的 时序如图94所示。 2.工作方式1 在工作方式1下,单行接▣为8位通用异步通讯方式。数#从RXD端接收,从TX①端 发送,一航信息由10位组成:1位起始位,8位数据位,】位停止位。工作方式1的波特率 是可变的,它由定时器计数器TI或T2的溢出率及SMOD位决定。 2S度D 公式如下:波特率= 32×(定时器计数器溢出幸) 定时器计数器T或T,的溢出率与所采用的定时券的工作方式有关。 工作方式1的数据发送由一条写发送寄存器(SBF指令开始,数据从TXD端输出,时 序如图95(a)所示。 工作方式1的接收由采样RXD端的负跳变开始,到R=1结束。接收时序如图9-5(b) 所示。 人SBUF SEND I (a》发送时序 位样 BLALL RI 接收时序 图年5工作方式1的时序电路图 3,工作方式2和工作方式3 在工作方式2、3下,卡行接口为9位通用异步通讯方式。发送或按收一帧信息出11位 组成:1位起始位,8位疑据位,1位可偏程位,1位停止位。工作方式2和3的操作完全一 样,所不同的只是被特率,其中工作方式2的波特率是因定的,为f32或✉64: 工作方式2、3的数据发送也由一条写发送寄存卷($BUF)指令开始,数据从TXD端
第 9 单元 串行接口 6 端逐位输入,接收完毕后,各控制位复位,当再次接收时,需用软件置 RI=0。工作方式 0 的 时序如图 9-4 所示。 2.工作方式 1 在工作方式 1 下,串行接口为 8 位通用异步通讯方式。数据从 RXD 端接收,从 TXD 端 发送,一帧信息由 10 位组成:1 位起始位,8 位数据位,1 位停止位。工作方式 1 的波特率 是可变的,它由定时器/计数器 T1 或 T2 的溢出率及 SMOD 位决定。 公式如下:波特率= 32 2 SMOD (定时器/计数器 T1溢出率) 定时器/计数器 T1或 T2的溢出率与所采用的定时器的工作方式有关。 工作方式 1 的数据发送由一条写发送寄存器(SBUF)指令开始,数据从 TXD 端输出,时 序如图 9-5(a)所示。 工作方式 1 的接收由采样 RXD 端的负跳变开始,到 RI=1 结束。接收时序如图 9-5(b) 所示。 图 9-5 工作方式 1 的时序电路图 3.工作方式 2 和工作方式 3 在工作方式 2、3 下,串行接口为 9 位通用异步通讯方式。发送或接收一帧信息由 11 位 组成:1 位起始位,8 位数据位,1 位可编程位,1 位停止位。工作方式 2 和 3 的操作完全一 样,所不同的只是波特率,其中工作方式 2 的波特率是固定的,为 fosc/32 或 fosc/64。 工作方式 2、3 的数据发送也由一条写发送寄存器(SBUF)指令开始,数据从 TXD 端 位采样 RI (b) 接收时序 写入 SBUF SEND TI (a) 发送时序

单岸机执米及应用 输出,在启动发送之前,必须把发送的第9位数值装入SCON寄存器的TB8位中。启动后, 中行接按口会自动把TB8取出,装入第9位数据位,发送出去,每发送完一航信息由硬件置 T门-1。时序如图96《a)所示。 工作方式2、3的接收由采样RXD端的负跳变开始,到R=I结束。时序如图9-6〔b) 所示。 方式3的被特率由定时器T1或T2的溢出率及SMOD决定,其计算公式与方式1相同。 TXD ()发送时序 RXD 位采样 I 开 图96工作方式2,3时序电路图 9.4 串行通信RS-232C标准 MCS-51系列单片机有一个全双工的串行通信口,可以实现多机通信等功能。MCS-1 的串行口输入,输出均为T电平。低高电平为3-8V左右,低电平为03V左右。这种以 TTL电平传送数据信息的形式,抗干扰能力差,传输距离近,只有几米的范围。一般较远距 离的通信采用标准串行通信接口。 串行通信接口标准有RS-232C、RS-422A、RS-449等. 7
单片机技术及应用 7 输出,在启动发送之前,必须把发送的第 9 位数值装入 SCON 寄存器的 TB8 位中。启动后, 串行接口会自动把 TB8 取出,装入第 9 位数据位,发送出去,每发送完一帧信息由硬件置 TI=1。时序如图 9-6(a)所示。 工作方式 2、3 的接收由采样 RXD 端的负跳变开始,到 RI=1 结束。时序如图 9-6(b) 所示。 方式 3 的波特率由定时器 T1 或 T2 的溢出率及 SMOD 决定,其计算公式与方式 1 相同。 图 9-6 工作方式 2、3 时序电路图 9.4 串行通信 RS-232C 标准 MCS-51 系列单片机有一个全双工的串行通信口,可以实现多机通信等功能。MCS-51 的串行口输入、输出均为 TTL 电平,既高电平为 3~8V 左右,低电平为 0.3V 左右。这种以 TTL 电平传送数据信息的形式,抗干扰能力差,传输距离近,只有几米的范围。一般较远距 离的通信采用标准串行通信接口。 串行通信接口标准有 RS-232C、RS-422A、RS-449 等。 RXD (b) 接收时序 位采样 RI (a) 发送时序 起停DTS写EBI01234567始止入8N8 D位SBUF TXD