单片机接口技术及应用课件_第1页
单片机接口技术及应用课件_第2页
单片机接口技术及应用课件_第3页
单片机接口技术及应用课件_第4页
单片机接口技术及应用课件_第5页
已阅读5页,还剩1175页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机接口技术及应用2022/11/281单片机接口技术及应用2022/11/261整体概述THEFIRSTPARTOFTHEOVERALLOVERVIEW,PLEASESUMMARIZETHECONTENT第一部分整体概述第一部分第一章 概述

学习目标:1.掌握数制及其转换方法。2.了解数据表示方法及其编码。3.了解单片机基础知识。2022/11/283第一章 概述学习目标:2022/11/263一、什么是单片机?单片机就是单片微型计算机,是将计算机的中央处理器(CPU)、存储器(ROM,RAM)、输入/输出(I/O)接口等集成在一小块硅片上的微型机。1.1

单片机的发展及特点2022/11/284一、什么是单片机?1.1 单片机的发展及特点2022/11/单片机组成框图RAMI/O接口电路CPU时钟定时器/计数器ROM2022/11/285单片机组成框图RAMI/O接口CPU时钟定时器/ROM20二、单片机发展史单片机属于微型机,微型计算机的发展形成两大分支:1、独立使用式微机(PC机):PC机系统全力实现海量高速数据处理,兼顾控制功能。2、嵌入式微机单片机:单片机系统全力满足测控对象的测控功能,兼顾数据处理能力。

单片机作为工业控制和数据处理的计算机,它的结构与指令功能都是按照工业控制要求设计的,也被称为“微控制器”、“微处理器”(Micro-controller,Micro-processor)。主要有:4位、8位、16位、32位等2022/11/286二、单片机发展史单片机属于微型机,微型计算机的发展形成两大分单片机发展概况1976-1978初级8位单片机IntelMCS-48系列1978-1983高档8位单片机IntelMCS-51系列:-51子系列:8031/8051/8751-52子系列:8032/8052/8752低功耗型80C31高性能型80C252廉价型89C2051/10511983-90年代初

16位单片机IntelMCS-96系列8098/8096、80C198/80C19690年代初-至今

16位单片机高档32位单片机2022/11/287单片机发展概况1976-1978初级8位单片机Intel三、单片机的特点及应用突出特点——存储器结构

计算机有两种存储结构:哈佛结构:程序存储器和数据存储器分开。普林斯顿结构:程序存储器和数据存储器合并。单片机采用哈佛结构体系2022/11/288三、单片机的特点及应用突出特点——存储器结构2022/采用哈佛体系结构采用面向控制的指令系统引脚功能服用片内RAM作寄存器类型齐全功能通用具有三高优势(集成度高、可靠性高、性价比高)。三、单片机的特点及应用2022/11/289采用哈佛体系结构三、单片机的特点及应用2022/11/269三、单片机的特点及应用单片机主要应用于工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等。特别适合于嵌入式微型机应用系统。单片机开发系统有单片单板机和仿真器。实现单片机应用系统的硬、软件开发。2022/11/2810三、单片机的特点及应用单片机主要应用于工业检测与控制、计算机1946-1958第一代电子管计算机。磁鼓存储器,机器语言、汇编语言编程。1958-1964第二代晶体管计算机。磁芯作主存储器,磁盘作外存储器,开始使用高级语言编程。1964-1971第三代集成电路计算机。使用半导体存储器,出现多终端计算机和计算机网络。1971-第四代大规模集成电路计算机。出现微型计算机、单片微型计算机,外部设备多样化。1981-第五代人工智能计算机。模拟人的智能和交流方式。一、发展概况1.2

计算机基础知识2022/11/28111946-1958第一代电子管计算机。磁鼓存储器,机器语言二、计算机发展趋势微型化─便携式、低功耗巨型化─尖端科技领域的信息处理,需要超大容量、高速度智能化─模拟人类大脑思维和交流方式,多种处理能力系列化、标准化─便于各种计算机硬、软件兼容和升级网络化─网络计算机和信息高速公路多机系统─大型设备、生产流水线集中管理(独立控制、故障分散、资源共享)2022/11/2812二、计算机发展趋势微型化─便携式、低功耗2022/11/2三、微型计算机系统组成微型计算机系统硬件微型计算机(主机)微处理器(CPU)软件外围设备运算器控制器存储器(内存)RAMROM外部设备辅助设备输入设备(键盘、扫描仪、语音识别仪…)输出设备(显示器、打印机、绘图仪、…)辅助存储器(磁带、磁盘、光盘)输入/输出接口(PIO、SIO、CTC、ADC、DAC…)(I/O接口)总线(AB、DB、CB)系统软件(操作系统,编辑、编译程序,故障诊断,监控程序…)应用软件(科学计算,工业控制,数据处理…)程序设计语言(机器语言、汇编语言、高级语言)电源电路时钟电路2022/11/2813三、微型计算机系统组成微型计算机系统硬件微型计算机微处理器软运算器:实现算术运算或逻辑运算包括:算术逻辑单元ALU、累加器A、暂存寄存器TR、标志寄存器F或PSW、通用寄存器GR四、微型计算机组成中央处理器CPU

运算器和控制器集成在一个芯片上控制器:中枢部件,控制计算机中的各个部件工作包括:指令寄存器IR、指令译码器ID、程序计数器PC、定时与控制电路2022/11/2814运算器:实现算术运算或逻辑运算四、微型计算机组成中央处理器存储器:记忆,由存储单元组成。

包括:ROM、RAM总线BUS:在微型计算机各个芯片之间或芯片内部之间传输信息的一组公共通信线。包括:数据总线DB:双向,宽度决定了微机的位数。地址总线AB:单向,决定CPU的寻址范围。控制总线CB:单向I/O接口:数据输入输出。

包括:输入接口、

输出接口2022/11/2815存储器:记忆,由存储单元组成。总线BUS:在微型计算机各个五、计算机主要技术指标字长:

CPU能并行处理二进制的数据位数

8位机、16位机、32位机和64位机。内存容量:存储单元能容纳的二进制数的位数

容量单位:1K=210=1024,1M=220=1KK

8K、64K、16M、64M。运算速度:CPU处理速度

时钟频率、主频、每秒运算次数 6MHz、12MHz、24MHz、100MHz、300MHz。内存存取时间:内存读写速度

50nS、70nS、200nS。2022/11/2816五、计算机主要技术指标字长: CPU能并行处理二进制的数据位一、进位计数制使用有限个基本数码来表示数据,按进位的方法进行计数称为进位计数制。包含两大要素:基数和位权基数:用来表示数据基本数码的个数J,≧此数后必须进位。

位权:数码在表示数据时所处的数位所具有的固定值Ji。简称“权”。1.3

数制及其转换2022/11/2817一、进位计数制1.3 数制及其转换2022/11/26171、

十进制D符号集:0~9规则:逢十进一。 例1234.5=1×103+2×102+3×101+4×100+5×10-1加权展开式以10为基数,各位系数为0~9。

10310210110010-1位权 一般表达式:ND=dn-1×10n-1+dn-2×10n-2+…+d0×100+d-1×10-1+…2、二进制B符号集:0、1规则:逢二进一。

3、十六进制H符号集:0~9、A~F规则:逢十六进一。

2022/11/28181、十进制D2、二进制B3、十六进制H2022/11/261、十进制用于计算机输入输出,人机交互。二进制为机器中的数据形式。十六进制用于表示二进制数。2、不同进位制数以下标或后缀区别,十进制数可不带下标。如:101、101D、101B、101H、101H二、进位计数制的说明2022/11/28191、十进制用于计算机输入输出,人机交互。二、进位计数制的说明1、十进制数转换成二、十六进制数整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。1. 39转换成二进制数

39=100111B 2 391(b0) 2 191(b1)291(b2) 240(b3) 220(b4) 211(b5) 0

2.208转换成十六进制数

208=D0H16208余01613余13=DH 0三、不同进位计数制之间的转换2022/11/28201、十进制数转换成二、十六进制数整数转换法1. 39转换成十进制数转换成二、十六进制数小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。举例:

2.0.625转换成十六进制数0.625×16=10.0

0.625=0.AH3.208.625转换成十六进制数208.625=D0.AH1.0.625转换成二进制数

0.625 ×2 1.2501(b-1) ×2 0.500(b-2) × 2 1.0 1(b-3)0.625=0.101B2022/11/2821十进制数转换成二、十六进制数小数转换法2.0.625转换成先展开,然后按照十进制运算法则求和。

举例:1011.1010B=1×23+1×21+1×20+1×2-1

+1×2-3=11.625DFC.8H=13×162+15×161+12×160+8×16-1

=3580.52、其他进制数转换成十进制数2022/11/2822先展开,然后按照十进制运算法则求和。 举例:2、其他进制最高位为符号位,0表示“+”,1表示“-”。 数值位与真值数值位相同。原码表示简单直观,但0的表示不唯一,加减运算复杂。2、反码正数的反码与原码相同负数的反码符号不变,数值按位取反有符号数通常使用三种表示方法:1、原码

机器中,数的符号用“0”、“1”表示。

最高位作符号位

“0”表示“+”,“1”表示“-”。1.4

带符号数的表示方法2022/11/2823最高位为符号位,0表示“+”,1表示“-”。有符号数通常使3、补码正数的补码表示与原码相同。 负数补码的符号位为1,数值位等于反码加1。补码表示的优点: 0的表示唯一,加减运算方便。

Y-X=Y+[-X]补

计算机中的数均采用补码表示!2022/11/28243、补码正数的补码表示与原码相同。 补码表示的优点:例:求十进制数876的BCD码[876]BCD=100001110110

1、BCD码

二进制代码表示的十进制数。8421BCD码1.5

编码2022/11/2825例:求十进制数876的BCD码1、BCD码

二进制代码表示2、美国标准信息交换码ASCII码,用于计算机与计算机、计算机与外设之间传递信息。2022/11/28262、美国标准信息交换码ASCII码,用于计算机与计算机、计算位:Bit数据最小单位字节:Byte8位二进制数定义为一字节字长:组成计算机一个字的位数

8位机其一个存储单元表示0-255范围的数 8位机、16位机、32位机和64位机。1.6

数据单位及存储形式2022/11/2827位:Bit数据最小单位1.6 数据单位及存储形式20第二章

单片机的硬件结构2.1

单片机整体结构2.2

外部引脚功能2.4

定时/计数器2.3

存储器组织2022/11/2828第二章 单片机的硬件结构2.1 单片机整体结构2.2 外部2.1

单片机整体结构第二章

单片机的硬件结构2022/11/28292.1 单片机整体结构第二章 单片机的硬件结构2022/12.1MCS-51单片机整体结构

硬件配置基本配置:1.8位CPU2.片内ROM/EPROM、RAM3.片内并行I/O接口4.片内16位定时器/计数器5.片内中断处理系统6.片内全双工串行I/O口不同型号MCS-51单片机CPU处理能力和指令系统完全兼容,只是存储器和I/O接口的配置有所不同。2022/11/28302.1MCS-51单片机整体结构 硬件配置基本配置:MCS-51单片机内部结构2022/11/2831MCS-51单片机内部结构2022/11/2631一、中央处理器CPU主要指运算器、控制器

决定单片机的主要性能指标:字长、运行速度、数据处理能力,中断和实时控制能力。2022/11/2832一、中央处理器CPU2022/11/26321、运算器进行算术和逻辑运算,8位主要包括算术逻辑单元ALU、累加器ACC、暂存器、程序状态字PSW、B寄存器主要任务:算术运算逻辑运算位操作数据处理利用程序状态寄存器PSW表述当前运行状态2022/11/28331、运算器2022/11/26331)算术逻辑单元ALU

即加法器,是核心部件,进行算术逻辑运算,其中乘(MUL)、除(DIV)运算是执行时间最长的指令。2)累加器ACC

累加器ACC是最常用的专用寄存器。进入ALU作算术操作和逻辑操作的操作数很多来自ACC,操作的结果也常送回ACC。

3)B寄存器

是ACC的辅助寄存器,在乘除时,ACC不够用便使用B寄存器。2022/11/28341)算术逻辑单元ALU2022/11/26342、控制器

控制器是CPU的大脑中枢,它以定时控制逻辑为中心,按照人们预先给定的计算步骤,即预先编写好的已经输入到计算机存储器中的程序发出一系列控制信号,控制计算机各个部件的工作,如运算、存储等。

包括指令寄存器IR、指令译码器ID、数据指针DPTR、程序计数器(指针)PC、堆栈指针SP、以及控制电路(时序电路、中断控制部件、微操作控制部件)。2022/11/28352、控制器2022/11/26351)程序计数器PC(程序指针)

16位的地址指针,专门用来控制指令执行顺序的寄存器,其中的内容总是下一条要执行的指令的地址。可以对64K字节的程序存储器直接寻址。

复位时,PC=0000H,使程序从0单元开始执行。通常单片机每取一个字节机器码,PC就自动加1,从而保证了指令的顺序执行。

转移指令可强行改变PC的内容。2022/11/28362022/11/26362)时序

指按照指令功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路完成某种操作。

CPU需要一个时钟,在XTAL1和XTAL2上接石英晶体和微调电容构成振荡器。频率为4~12MHz2022/11/28372)时序2022/11/26373)指令寄存器IRID是8位寄存器,用于存放从ROM中取出的指令码。而且每条指令的第一个字节一定是操作码,其后的指令码可以是操作数或操作码。指令译码器IDID可以对指令码进行译码,即判断出存放的是操作命令(操作码)还是操作数(操作数可以是操作地址或立即操作数),以进行下面的工作。这些工作是自动完成的。2022/11/28383)指令寄存器IR2022/11/26384)微操作控制部件

逻辑门电路,将ID信号和时序向片内各部件送高低电平。中断控制部件自动完成“中断申请”、“中断相应”、“恢复断点”等工作。2022/11/28394)微操作控制部件2022/11/2639二、内部RAM单片机内部数据RAM共256字节。分为低128B和高128B地址空间。低128B地址空间的RAM常称为片内RAM;高128B地址空间的RAM称为特殊功能寄存器SFR。但SFR18个寄存器只占用了21B供用户使用。其他的107B系统保留。2022/11/2840二、内部RAM2022/11/26402022/11/28412022/11/26411)片内RAM(00~7FH)工作寄存器区:(32B)字节地址:00H~1FH位寻址区:(16B)字节地址:20H~2FH位地址为:00H~7FH数据缓冲区:(80B)字节地址:00H~7FH一般使用30H~7FH2022/11/28422022/11/2642三、片内ROM

ROM用于存放程序、原始数据及表格。

8051:片内4K掩膜ROM8031:片内ROM8751:片内4KEPROM2022/11/2843三、片内ROM2022/11/2643四、定时器/计数器MCS-51系列单片机典型产品8051等单片机内部有2个可编程的16位定时器/计数器T0、T1最大计数脉冲个数:1~655362022/11/2844四、定时器/计数器2022/11/2644五、并行I/O口

MCS-51系列单片机有4个8位并行I/O口:P1、P2、P3共占了32根I/O引脚单片机扩展时,这些I/O引脚又作为扩展总线用。P0口作为地址/数据总线,分时输出低8位地址和传送8位数据;P2口作为高8位地址总线;P3口也具有第二功能。这是由接口的特殊结构所决定的。2022/11/2845五、并行I/O口2022/11/2645六、串行口

完成单片机和其他计算机或通讯设备之间的串行数据通讯。

MCS-51系列P3口的RXD(P3.0)和TXD(P3.1)构成2022/11/2846六、串行口2022/11/2646中断系统是计算机的重要指标之一。

某人看书 执行主程序 日常事务电话铃响 中断信号如INT=0

中断请求暂停看书

暂停执行主程序中断响应书中作记号当前PC入栈 保护断点电话谈话 执行中断程序 中断服务继续看书 返回主程序 中断返回日常事务程序中断服务程序七、中断系统日常生活中的中断与计算机中断的比较:2022/11/2847中断系统是计算机的重要指标之一。 日常事务程序中断服务程序七2022/11/28482022/11/2648八、布尔处理器

MCS-51单片机内含有一个布尔处理器,是单片机CPU中运算器的一个重要组成部分。

它实际上是一个完整的1位微处理器,这个1位机有自己的CPU、位寄存器、I/O口和指令集。可提供17条位操作指令,硬件有自己的“累加器”(进位位C)和自己的位寻址RAM和I/O空间,所以是一个独立的位处理机。MCS-51单片机把8位机和1位机复合在一起,发挥各自的长处,这是它的一大优点。2022/11/2849八、布尔处理器2022/11/26492.2

外部引脚功能第二章

单片机的硬件结构2022/11/28502.2 外部引脚功能第二章 单片机的硬件结构2022/11

MCS-51系列单片机采用40个引脚的双列直插式塑料封装的芯片。共可分为四个部分:1、电源2个2、外接晶体振荡器2个3、控制信号引脚4个4、I/O引脚32个2022/11/28512022/11/2651一、主电源引脚VDD:接+5V电源VSS:接地端一般VDD和VSS之间应接高频和低频滤波电容。

2022/11/2852一、主电源引脚2022/11/2652二、外接晶体振荡器引脚XTAL1:芯片内部振荡电路(单级反相放大器)输入端XTAL2:芯片内部振荡电路(单级反相放大器)输出端

振荡频率为晶振频率(1.2~12MHz),另外需两个30pF左右的电容以微调频率2022/11/2853二、外接晶体振荡器引脚2022/11/26531、接石英晶体和微调电容2、接外部时钟MCS-51单片机的振荡器有内部和外部两种方式。2022/11/28541、接石英晶体和微调电容2、接外部时钟MCS-51时序:时间的先后顺序,控制器按照指令功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路,完成某种操作。机器周期=12个时钟周期(振荡周期)有6个状态(S1~S6),一个状态为2个振荡周期,分为P1和P2节拍,一般算术和逻辑指令发生在P1期间,寄存器之间的传输发生在P2期间。设单片机工作在12M晶振,则时钟周期为1/12微秒,一个机器周期=12×1/12=1微秒一些指令完成较快用一个机器周期;一些较慢,用2个机器周期;有两个指令(MUL、DIV)用4个机器周期。指令周期:执行一条指令的时间。(单周期指令,双周期指令等)2022/11/2855时序:时间的先后顺序,控制器按照指令功能发出一系列在时间上有三、控制信号1、RST/VPD:复位/掉电时内部RAM的备用电源输入端复位端RST:启动时,需要复位,使CPU各部件处于确定的初始状态。

正常工作状态(振荡器稳定),该引脚上出现持续24个振荡周期(即两个机器周期)以上的高电平,单片机就可完成系统复位操作。2022/11/2856三、控制信号2022/11/2656MCS-51复位后内部寄存器状态特殊功能寄存器初始状态特殊功能寄存器初始状态ACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPL00HTL100HDPH00HSCON00HP0~P30FFHSBUP不定IPXXX00000BPCON0XXXXXXXBIE0XX00000BTMOD00HPC0000H2022/11/2857MCS-51复位后内部寄存器状态特殊功能寄存器初始状态特殊功备用电源输入端VPD:

当无VCC时使用,使内部RAM供电以实现掉电保护。2022/11/2858备用电源输入端VPD:2022/11/26582、ALE/PROG:地址锁存允许/编程脉冲输入。①ALE:地址锁存允许信号片外存储器作数据存取时,ALE为低8位地址锁存允许输出信号,在其下降沿将从P0口输出的低8位地址锁存到地址锁存器。以1/6振荡频率(即1/2机器周期)周期性输出②PROG:在对8751片内EPROM编程时,编程脉冲由此输入。2022/11/28592、ALE/PROG:地址锁存允许/编程脉冲输入。2022/3、EA/VDD:访外允许/编程电压输入①、8031中EA必须接地。8051/8751中

EA=1,单片机使用片内ROM/EPROM(由PC值决定);EA=0,单片机片内程序存储器失效,而使用片外程序存储器。②、VDD对8751片内EPROM编程时,此脚接编程电压。(+21V~+25V)2022/11/28603、EA/VDD:访外允许/编程电压输入2022/11/264、PSEN:外部程序存储器读选通信号它与ALE配合,使P0口完成地址线和数据线的功能。当访问片内ROM、RAM时无效。2022/11/28614、PSEN:外部程序存储器读选通信号2022/11/265、四个8位并行I/O口MCS-51单片机有4个8位并行I/O口,共占了32根I/O引脚,单片机扩展时,这些I/O引脚又作为扩展总线用。其中P0口作为地址/数据总线,分时输出低8位地址和传送8位数据;P2口作为高8位地址总线;P3口也具有第二功能。这是由接口的特殊结构所决定的。每一个口都包含一个锁存器,一个输出驱动器和两个(P3口为3个)输入缓冲器。各口的结构也有些差异,下面分别介绍。2022/11/28625、四个8位并行I/O口MCS-51单片机有4个8位并行一、并行I/O口的功能结构(一)P1口1、接口结构图2.15接口结构中锁存器起输出锁存作用,8位锁存器组成特殊功能寄存器P1。2022/11/2863一、并行I/O口的功能结构(一)P1口1、接口结构图2.15一、并行I/O口的功能结构(一)P1口2、接口功能

P1口只有一种功能——通用输入输出接口。2022/11/2864一、并行I/O口的功能结构(一)P1口2、接口功能一、并行I/O口的功能结构(二)P2口

P2口一位结构如下图所示,与P1相比,多了一个多路开关MUX,因此P2具有双重功能:通用I/O口和高8位地址总线口。1、接口结构2022/11/2865一、并行I/O口的功能结构(二)P2口P2口(二)P2口(1)地址总线单片机扩展时,“控制”信号使MUX打向右边,内部的地址线经反相器与输出驱动器相连,于是内部“地址”信号可以由P2口引脚输出,此地址信号为高8位地址。2、接口功能一、并行I/O口的功能结构2022/11/2866(二)P2口(1)地址总线2、接口功能一、并行I/O口的功能(二)P2口(2)通用I/O接口作为通用I/O口时,“控制”信号使MUX打向左边,这时P2口电路结构与P1口相同,其功能和用法亦与P1口相同,负载能力也相同。2、接口功能一、并行I/O口的功能结构2022/11/2867(二)P2口(2)通用I/O接口2、接口功能一、并行I/O口(三)P3口

P3口一位的结构如下图所示,与P1口相比多了一个与非门和一个输入缓冲器,所以它除了可作为一般I/O口外,还具有第二功能。1、接口结构一、并行I/O口的功能结构2022/11/2868(三)P3口P3口一位的结构如下图所示,与P(三)P3口(1)通用I/O接口作为通用I/O接口时,“第二功能输出”线为“1”,接口的电路结构与P1口相同,所以功能和用法均与P1相同。2、接口功能一、并行I/O口的功能结构2022/11/2869(三)P3口(1)通用I/O接口2、接口功能一、并行I/O口(三)P3口(2)第二功能当P3口作为第二功能使用时,各位定义如下2、接口功能P3.0RXD(串行输入通道)P3.1TXD(串行输出通道)P3.2INT0(外中断0输入端)P3.3INT1(外中断1输入端)一、并行I/O口的功能结构2022/11/2870(三)P3口(2)第二功能2、接口功能P3.0RX(三)P3口2、接口功能P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存贮器写选通)P3.7RD(外部数据存贮器读选通)可见有些信号为输出,有些信号为输入,为使第二功能信号能顺畅的输入或输出,该口锁存器的状态必须为“1”。一、并行I/O口的功能结构2022/11/2871(三)P3口2、接口功能P3.4T0(定时器0外部输(四)P0口1、接口结构

P0口的一位的结构如下图所示。其中输出驱动电路由一对FET(场效应管)组成,其工作状态由输出控制电路控制。P0口可作为通用I/O接口,也可作为地址/数据总线口。一、并行I/O口的功能结构2022/11/2872(四)P0口1、接口结构P0口的一位的结构如(四)P0口2、接口功能(1)地址/数据总线这时“控制”信号为1,多路开关MUX向上,地址/数据信号反相后经多路开关送到下一个场效应管的栅极。如果地址/数据信号为1,则下一个场效应管截止上一个场效应管导通,引脚为高电平;若地址/数据信号为0,则下一个场效应管导通上一个场效应管截止,引脚为低电平,即地址/数据信号可顺利的到达引脚。一、并行I/O口的功能结构2022/11/2873(四)P0口2、接口功能(1)地址/数据总线一、并行I/O口(四)P0口2、接口功能(2)通用I/O接口此时“控制”信号为“0”,多路开关MUX向下,输出驱动器处于开漏状态,故需外接上拉电阻,这种情况下,电路结构与P1相同,所以也是一个准双向口,当要作为输入时,必须先向口锁存器写“1”。一、并行I/O口的功能结构2022/11/2874(四)P0口2、接口功能(2)通用I/O接口一、并行I/O口2022/11/28752022/11/26752022/11/28762022/11/26762.3

存储器组织第二章

单片机的硬件结构2022/11/28772.3 存储器组织第二章 单片机的硬件结构2022/11/一、存储器空间分类根据作用分类:

程序存储器ROM

数据存储器RAM根据位置分类:片内存储器片外存储器

构成了4个结构独立的存储器空间2022/11/2878一、存储器空间分类根据作用分类:构成了4个结构独立的存储器空1、片内程序存储器(片内ROM)2、片内数据存储器(片内RAM)3、片外ROM扩展4、片外RAM扩展

8051、8751有4KB的片内ROM(0000H~0FFFH)共有256B00~7FH:128B片内RAM80H~FFH:18个特殊功能寄存器(占21B)最多64K片外ROM,地址为0000H~FFFFH或者1000H~FFFFH地址:0000H~FFFFH注:8051、8751芯片根据EA状态2022/11/28791、片内程序存储器(片内ROM)8051、8751有4KB2022/11/28802022/11/2680MCS-51(8051)存储结构如图所示2022/11/2881MCS-51(8051)存储结构如图所示2022/11/26片内外统一编址的64KB的程序存储器地址空间片内片外的程序存贮器在同一逻辑空间中,地址从0000H~FFFFH,共有64K字节范围片内256B数据存储地址空间片内数据存贮器为00H~FFH

片外64KB的数据存储器地址空间

片外为0000H~FFFFH

从用户使用的角度,即从逻辑上划分3个存储器地址空间:2022/11/2882片内外统一编址的64KB的程序存储器地址空间从用户使用的角0000HFFFFH0000HFFFFHROM内RAM外RAM00HFFH寄存器区位寻址区数据缓冲区SFR20H30H80HE0HA2022/11/28830000HFFFFH0000HFFFFHROM内RAM外RA二、区分四个独立空间的方法1、使用MOV、MOVX、MOVC三个不同的指令分别区分片内RAM、片外RAM和ROM2、片外ROM使用控制信号PSEN

片外RAM使用控制信号RD、WR3、EA引脚接地,从片外ROM开始

0000H~0FFFH位于片外ROMEA引脚接高电平,从片内ROM开始

0000H~0FFFH位于片内ROM4、ROM和片外RAM一定要用16位地址片内RAM和SFR,只能使用8位地址2022/11/2884二、区分四个独立空间的方法1、使用MOV、MOVX、MOVC三、程序存储器ROM最多为64K,用于存放程序和表格使用PC作为程序地址指针编址方式:片内、片外ROM统一编址(0000H~FFFFH)片内(如有,4K)为低地址(0000H~0FFFH),片外为高地址加电复位后,PC=0000H,当PC超出片内,则会自动转向片外ROMEA引脚控制PC值(8031和8051不同)MOVC用来读取ROM中存放的表格常数分为两个部分:1、系统使用区:其中0000H~0002H为系统复位入口,其中必有一条存放PC的跳转指令(转至主程序);0003H~002AH为各个中断源处理程序使用2、用户使用区:其余地址空间2022/11/2885三、程序存储器ROM最多为64K,用于存放程序和表格2022四、片内RAM单片机的数据存储器分为片内RAM和片外RAM,两者单独编址(片内为00~FFH,片外为0000~FFFFH)。一般需要外部扩展时才使用最多64K的片外RAM。通常将单片机256B的内部数据存储器RAM分为两个部分,一个是片内RAM(占128B),一个是特殊功能寄存器SFR(占另外128B的21B)。片内RAM的128B地址为00~7FH,可分为四个大区:工作寄存器区、位寻址区、数据缓冲区、堆栈区2022/11/2886四、片内RAM单片机的数据存储器分为片内RAM和片外RAM,2022/11/28872022/11/2687

片内RAM工作寄存器区:字节地址:00H~1FH位寻址区:字节地址:20H~2FH位地址为:00H~7FH数据缓冲区/堆栈区:字节地址:00H~7FH一般使用30H~7FH2022/11/28882022/11/2688RAM空间分配示意图2022/11/2889RAM空间分配示意图2022/11/26892022/11/28902022/11/26901、工作寄存器区00~1FH单元,共32B,常用来存放操作数和中间结果,可以使用指令系统中有工作寄存器的专用指令,多为单字节指令,执行速度快,方便。分为4个寄存器区:

0区:00~07H1区:08~0FH2区:10H~17H3区:18~1FH每个区有8个单元,都用R0~R7编号。在任何时刻CPU只能使用其中一个区(当前寄存器组),即将这个区的8个单元作为工作寄存器,其他区仍是一般的RAM。具体使用哪个区,由程序状态寄存器PSW中的RS1、RS0两位的状态来决定。2022/11/28911、工作寄存器区00~1FH单元,共32B,常用来存放操作数2、位寻址区20H~2FH,共16个单元,128位。为布尔处理区各有自己的位地址,统一编址为00H~7FH(1个地址代表1位)既可以字节寻址,也可以位寻址。有17条位操作指令,常进行置位(SETB)、清零(CLR)、取反(CPL)2022/11/28922、位寻址区20H~2FH,共16个单元,128位。20223、数据缓冲区30H~7FH用户RAM区,用于存放运算数据和结果。2022/11/28933、数据缓冲区30H~7FH2022/11/26934、堆栈区用户可以指定内部RAM的最高若干字节作为堆栈区(至7FH),指针为SP例:MOVSP,#5FH则从60~7FH单元为堆栈区2022/11/28944、堆栈区用户可以指定内部RAM的最高若干字节作为堆栈区(至堆栈堆栈是在片内RAM中临时开辟的暂存区;作用:保护现场、保护断点针对:子程序调用、中断操作在响应中断或子程序调用时,发生入栈操作,入栈的是16位的PC值,PSW值并不自动入栈。特点:先进后出,后进先出指令:入栈PUSH,出栈POP堆栈区每个单元不能按字节任意访问,PUSH和POP都是对堆栈的栈顶单元进行的。为了指示栈顶的地址,必须使用堆栈指针SP。SP始终指向堆栈最后压入或即将弹出的数据单元,即指向栈顶。SP实际为一个8位寄存器,它的内容是栈顶存储单元的地址。2022/11/2895堆栈堆栈是在片内RAM中临时开辟的暂存区;2022/11/2进栈PUSH:先SP+1再写入数据例:PUSHACC初始SP=2FHSP+1即现在SP=30H,然后将ACC的内容写入30H单元出栈POP:先读数据再SP-1进栈、出栈有两种方式:1、自动方式:执行子程序、中断响应时。2、指令方式:PUSH、POP关于进栈和出栈2022/11/2896进栈PUSH:先SP+1再写入数据关于进栈和出栈2022/1关于堆栈区的划定为保护足够的寄存器内容,需要堆栈有一定的深度,即有足够的容量。原则上堆栈区可以是片内RAM任意区域,只要SP赋予不同的初值,则SP~7FH都是堆栈区。但具体应用时栈区设置应和RAM的分配统一考虑,工作寄存器和位寻址区域分配好后再指定堆栈区域。系统复位后,SP=07H,则实际堆栈从08H开始。通常SP设在30H以后,即在用户RAM(30H~7FH)之间开辟。例MOVSP,#3FH

即40H~7FH为堆栈区2022/11/2897关于堆栈区的划定为保护足够的寄存器内容,需要堆栈有一定的深度5、特殊功能寄存器SFR反映单片机的状态,存储对定时器、中断、串行口、I/O口等的控制设定,使这些控制具有可编程性。共18个,其中3个16位的寄存器,故占用21B,分布于80H~FFH,可读可写,可视为专用RAM。均可以进行字节寻址,其中有11个可以位寻址(字节地址能被8整除)2022/11/28985、特殊功能寄存器SFR反映单片机的状态,存储对定时器、中断特殊功能寄存器位地址2022/11/2899特殊功能寄存器位地址2022/11/26991、ACC地址为0E0H,8位累加器,在指令中用A表示,可以位寻址2、B寄存器地址为0F0H,8位,可位寻址,主要用于乘除法,也可以作为一个通用的8位数据缓冲单元。3、SP地址为81H,8位堆栈指针,只能字节寻址,复位值为07H。4、数据指针DPTR16位寄存器,包括两个8位寄存器DPL和DPH,地址分别为82H和83H。只能字节寻址。也可以作为两个8位寄存器来处理。用于访问外部RAM时作为地址指针,也可访问ROM中的表格常数。5、I/O端口P0~P3为引脚P0~P3引脚的锁存器。可位寻址。2022/11/281001、ACC2022/11/261006、其他:串行口数据缓冲器SBUF;串行口控制寄存器SCON;定时/计数器T0、T1;定时/计数器方式控制TMOD;中断允许寄存器IE;定时器控制TCON;电源方式控制PCON。7、程序状态寄存器PSW(下面具体研究)2022/11/281016、其他:2022/11/26101注:SFR中的寄存器都有复位值,用到的寄存器在复位后应考虑到是否重新赋值;SFR可视为专用RAM,有11个可以位寻址(可以由布尔处理器控制),共21单元,其余107单元用户不能使用;8052另有3个SFR,占据5个单元。2022/11/28102注:SFR中的寄存器都有复位值,用到的寄存器在复位后应考虑到五、程序状态寄存器PSW地址0D0H,PSW是一个8位寄存器,可位寻址,它包含了许多程序状态信息。其各位的含义如图所示:其中PSW.1位系统保留,用户不能使用。

PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0

Cy

AC

FORS1RS0

OV

P2022/11/28103五、程序状态寄存器PSW地址0D0H,PSW是一个8位寄存器

Cy

AC

FORS1RS0

OV

P进位标志Cy:算术逻辑指令时,最高位D7有进(借)位,则Cy=1,否则Cy=0;在布尔处理器中,它起着“位累加器”的作用。17条布尔处理指令多数是针对CY来完成的。程序中写成C。2022/11/28104CyACFORS1RS0OVP进位标志Cy:2

辅助进位标志AC:加(减)法运算时,如果低半字节的最高位D3有进(借)位,则AC=1,否则AC=0;AC在作BCD码运算而进行二~十进制调整时有用。

Cy

AC

FORS1RS0

OV

P2022/11/28105辅助进位标志AC:CyACFORS1RS0OV用户标志FO:是用户定义的一个状态标志。可通过软件对它置位、清零;在编程时,也常测试其状态进行程序分支。

Cy

AC

FORS1RS0

OV

P2022/11/28106用户标志FO:CyACFORS1RS0OVP2

Cy

AC

FORS1RS0

OV

P工作寄存器区选择位RS1、RS0:可借软件置位或清零,以选定4个工作寄存器区中的一个区投入工作。RS1RS0寄存器区00第0区01第1区10第2区11第3区2022/11/28107CyACFORS1RS0OVP工作寄存器区选择溢出标志OV:作有符号数加法、减法时由硬件置位或清除,以指示运算结果是否溢出。

Cy

AC

FORS1RS0OV

P2022/11/28108溢出标志OV:CyACFORS1RS0OVP20奇偶标志P:每执行一条指令,单片机都能根据A中1的个数的奇偶自动令P置位或清零:奇为1,偶为0。此标志对串行通信的数据传输非常有用,通过奇偶校验可检验数据传输的正确与否。

Cy

AC

FORS1RS0OV

P2022/11/28109奇偶标志P:CyACFORS1RS0OVP202第二章

单片机的硬件结构2.4

定时/计数器2022/11/28110第二章 单片机的硬件结构2.4 定时/计数器2022/11在测控技术中,往往需要定时检测某个参数,或按一定的时间间隔来进行某种控制。还有一些控制是按对某种事件的计数结果进行的。因此几乎所有单片机内部都设置了定时/计数器,以简化微机测控系统的设计。

MCS-51系列单片机典型产品8051等有两个16位定时器/计数器T0,T1;8052等单片机有三个16位定时器/计数器T0、T1和T2。它们都可以用作定时器或外部事件计数器。2022/11/28111在测控技术中,往往需要定时检测某个参数,或一、工作原理定时器/计数器实际上是加1计数器当它对外部事件进行计数时,由于频率不固定,此时称之为计数器;当它对内部固定频率的机器周期进行计数时称之为定时器。

+1计数器溢出中断脉冲控制开关2022/11/28112一、工作原理定时器/计数器实际上是加1计数器+1计数器溢出计数原理每输入一个脉冲,计数器加1,当加到计数器各位都为1时,再输入一个脉冲,计数器各位全变为0,溢出,中断标志置1(SFR中TCON的TF0、TF1),从而向CPU申请中断。由预置计数值就可以算出从加1计数器启动到计满溢出所需的时间,即定时时间。8位-256;13位-8192;16位-655362022/11/28113计数原理2022/11/26113对外部脉冲计数时,当脉冲有一个高电平到低电平“1”-“0”跳变时,计数器加1,且在每个机器周期的S5P2采样外部输入,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。由于识别一个从1到0的负跳变信号需要两个机器周期(24个振荡周期),所以最高的计数频率为系统时钟频率的1/24;两个输入脉冲的最小间隔应不小于两个机器周期。又因为一个机器周期对信号采样一次,因此输入信号的电平宽度至少应持续一个机器周期。2022/11/28114对外部脉冲计数时,当脉冲有一个高电平到低电平“定时原理输入脉冲不是外部脉冲源,而是一个晶体振荡器的脉冲源。2022/11/28115定时原理2022/11/26115对于16位计数器,最大定时时间是216个脉冲的时间。则定时时间△T=(216-X)*TT:输入脉冲周期,T=12/fµs(f为晶振频率1.2~12MHz)如为12MHz,则T=1µsX:计数器初值(有程序输入)对于12MHz晶体,T=1µs,最大定时△T=65.536ms;对于6MHz晶体,T=2µs,最大定时△T=131ms常使用:X=216-△T/T2022/11/28116对于16位计数器,最大定时时间是216个脉冲的时间。2022例:系统时钟频率为12MHz,要产生1ms定时,求初值XT=12/12=1µs若为16位计数器X=X=216-1000/1=64536=0FC18H若为13位计数器X=X=213-1000/1=8192-1000=7192=1C18H不能采用8位计数器2022/11/28117例:2022/11/26117二、与定时/计数器有关的SFR它是由6个专用寄存器构成的:其中TH0、TL0构成16位计数器T0,TH1、TL1构成16位计数器T1,而TMOD、TCON为两个定时器共用,用来选择工作方式和控制启停。2022/11/28118二、与定时/计数器有关的SFR它是由6个专用寄存器1、计数器T0、T1各有2个8位计数器,构成2个16位计数器

T0:TH0、TL0T1:TH1、TL1不可以位寻址,只能按字节分两条指令读写16位码,而不能用一条指令读写双字节。例:X初值为64536=0FC18HMOVTH0,#0FCHMOVTH1,#18H2022/11/281191、计数器T0、T1各有2个8位计数器,构成2个16位计数器T0与T1有两种功能:(由C/T决定)

计数:T0对P3.4/T0管脚送入的脉冲计数;T1对P3.5/T1管脚送入的脉冲计数。C/T=1

定时:每个机器周期使之加1,初值的大小决定定时时间的长短C/T=0复位值均是00HT0有4种工作方式:方式0、方式1、方式2、方式3T1有3种工作方式:方式0、方式1、方式2前3种工作方式完全相同其功能及工作方式由TMOD和TCON来决定2022/11/28120T0与T1有两种功能:(由C/T决定)2022/11/2612、方式寄存器TMOD8位SFR,地址为89H不可位寻址低4位用于控制T0,高4位用于控制T1,含义相同。T1T02022/11/281212、方式寄存器TMOD8位SFR,地址为89HT1T0202M1、M0:工作方式选择位C/T:定时或计数功能选择位

=1:外部计数工作方式,对P3.4、P3.5脉冲计数

=0:定时方式,每一个机器周期加1T1T02022/11/28122M1、M0:工作方式选择位T1T02022/11/26122GTAE:门控位

=1:借用P3.2、P3.3参与启动和停止T0、T1

只有该引脚与TCON中TCON.4(TR0)、

TCON.6(TR1)都为高电平,才启动T0、T1=0:T0、T1的运行与否只取决于TCON中

TCON.4(TR0)、TCON.6(TR1)T1T02022/11/28123GTAE:门控位T1T02022/11/261233、定时/计数器控制寄存器TCON8位寄存器,可位寻址低4位用于外部中断INT0、INT1控制高4位用于T0、T1控制TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89882022/11/281243、定时/计数器控制寄存器TCON8位寄存器,可位寻址TCOTR0(TCON.4):T0的运行控制位当GATE=0时,TR0=0则T0停止运行;TR0=1时T0允许运行TF0(TCON.5):T0溢出兼中断申请标志T0溢出时,TF0=1并提出中断申请,CPU响应中断申请后,TF0自动清零TR1、TF1同TR0、TF0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89882022/11/28125TR0(TCON.4):T0的运行控制位TCONTF1TR1三、定时/计数器工作方式定时器T0有四种工作方式:方式0、方式1、方式2和方式3。定时器T1有三种工作方式:方式0、方式1、方式2。两者前3种工作方式相同以T0为例讲解2022/11/28126三、定时/计数器工作方式定时器T0有四种工作方式:2022/方式0:13位定时/计数器TMOD的M1、M0都写入0TH08位和TL0低5位组成13位加1计数器,TL0的低5位向TH0进位溢出值:213=8192=1FFFH

溢出后:TF0=1,中断申请控制T0的启动和停止:

GATE=0时,定时器的启停仅由TRX控制

GATE=1时,定时器的启停还受到INTX引脚电平的控制。2022/11/28127方式0:13位定时/计数器2022/11/26127例:f=12MHz,要产生1ms定时,求计数初值。T=12/f=1µsX=213-1000/1=7192=1C18H

取13位,低5位送TL0:18H;高8位送TH0:0EOHMOVTH0,#0E0HMOVTL0,#18H2022/11/28128例:2022/11/26128注:此种方式与MCS-48系列兼容,如果不是为了兼容的目的,一般不用方式0.方式0的全部功能,方式1都可以代替。如果要重复定时或计数,则须重新设置时间常数初值2022/11/28129注:2022/11/26129方式1:16位定时/计数器

TH0的8位和TL0的8位组成16位加1计数器最大计数脉冲个数:1~65536(216)

最长定时时间(晶振12MHzT=1s):1s~65536×T=65.54ms溢出值:216=65536=0FFFFH方式1和方式0唯一不同的就是位数,其他控制方式和用法均相同。2022/11/28130方式1:16位定时/计数器2022/11/26130例:f=12MHz,要产生1ms定时,求计数初值。T=12/f=1µsX=216-1000/1=64536=0FC18H低8位送TL0:18H;高8位送TH0:0FCHMOVTH0,#0FCHMOVTL0,#18H2022/11/28131例:2022/11/26131方式2:可自动重装初值的8位定时/计数器与方式0和方式1不同处:只使用TL0做8位计数器,最大计数值255;最大定时时间(晶振12MHz时):256sTH0为初值寄存器。当TL0计满溢出时,置位TF0,并将TH0的内容(即时间常数初值)重新装入TL0中。TH0中自身初值不变。用于需要重复定时和计数的场合。2022/11/28132方式2:可自动重装初值的8位定时/计数器2022/11/26方式3:只适用于T0M0=M1=1,TL0、TH0各自是一个8位计数器。TL0:定时或计数,使用T0的控制位TF0、TR0TH0:只能定时,借用T1的控制位TF1、TR1如果企图将T1置为方式3(M1=M0=1),则将使T1停止计数,与清“0”TR1的效果相同。但此时T1仍可工作于方式0、1或2定时或计数,但TR1、TF1被TH0占用,一般T1作为串口的波特率发生器,或不需要中断的场合。2022/11/28133方式3:只适用于T02022/11/26133例:由P1.0输出方波信号,周期为2ms,设fosc=12MHz。2ms解:每隔1ms改变一次P1.0的输出状态,即形成方波,用T0非门控方式1定时。

计算时间常数:X=216-t/T=216–(1/1000)/10-6=65536-1000=64536=0FC18H

ORG 0000H

AJMP MAIN

ORG 000BH

;T0中断硬件入口地址

AJMP PT0INT

;跳到中断服务程序

ORG 0030HMAIN:

MOV TMOD,#01H

;中断方式

MOV TL0,#18H

;计数初值

MOV TH0,#0FCH

SETB EA

;开放总中断

SETB ET0

;开放T0中断

SETB TR0

;启动定时器

HERE: SJMP HERE

;等待中断,相当于执行其它任务

PT0INT: MOV TL0,#18H;中断服务程序;置初值

MOV TH0,#0FCH

CPL P1.0

;取反,产生方波

RETI

;中断返回2022/11/28134例:由P1.0输出方波信号,周期为2ms,设fosc=12M第三章 指令系统3.1

指令格式与分类3.2

寻址方式3.3

指令系统3.4程序设计2022/11/28135第三章 指令系统3.1指令格式与分类3.2 寻址方式3.第三章 指令系统3.1

指令格式与分类2022/11/28136第三章 指令系统3.1 指令格式与分类2022/11/26指令是指计算机能够识别和执行的操作命令指令系统是一台计算机所具有的全部指令的集合指令系统很大程度上决定了计算机处理问题的能力和使用的快捷每一种CPU都有其独立的指令系统MCS-51系列单片机指令系统共有111条指令MCS-51指令系统的功能十分强大,它把体现单片机的各种功能的寄存器组织在统一的地址空间中,MCS-51指令系统在其存储空间、时间的利用率及工作效率方面都是较高的。2022/11/28137指令是指计算机能够识别和执行的操作命令2022/11/261单字节49条单周期46条双字节45条双周期45条三字节17条四周期2条2022/11/28138单字节49条单周期一、助记符:(指令助记符)由助记符组成的指令系统成为汇编语言助记符与二进制码(机器码)有对照表共42个助记符,组成111条指令,形成33种功能数据传送类指令29条算术运算类指令24条逻辑运算类指令24条控制转移类指令17条位操作类指令17条2022/11/28139一、助记符:(指令助记符)由助记符组成的指令系统成为汇编语言二、指令格式

操作码操作数操作码表示该指令的操作功能,即指令做什么操作(又被称作操作符、功能助记符)操作数是指指令操作所需要的数或数存放的地址,即对什么数进行操作2022/11/28140二、指令格式操作码操作数202标号:操作码

操作数1,操作数2,操作数3;[注释]LOOP:MOVA,R0

;将R0的内容送A注:白色的内容不是必须的标号:该指令的符号地址,有字母-数字串组成注释:中英文均可2022/11/28141标号:操作码操作数1,操作数2,操作数3;[注释]20数据操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论