




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2第一章 单片机概述1-1单片机的历史及发展概述单片机的历史及发展概述1-2单片机的应用单片机的应用1-3单片机的开发和开发工具单片机的开发和开发工具1-1 单片机的发展概况单片机的概念单片机的概念单片机:将微处理器单片机:将微处理器(CPU)、存储器、存储器、I/O接口电路和相接口电路和相应实时控制件集成在一块芯片上,称其为单片微型计算应实时控制件集成在一块芯片上,称其为单片微型计算机,简称单片机。机,简称单片机。4 单片机的发展历史和发展趋势4位单片机 (1971-1974) 低档8位单片机 (1974-1978) 高档8位单片机 (1978-1982) 16位单片机 (1982-1990
2、) 新一代单片机 (90年代以来)发展趋势发展趋势: : 单片机在集成度、单片机在集成度、 功能、功能、 速度、速度、 可靠性、可靠性、 应用领域等全方位向更高水平发展。应用领域等全方位向更高水平发展。 51-2 1-2 单片机的应用单片机的应用应用特点应用特点体积小:基本功能部件满足要求体积小:基本功能部件满足要求可靠性高:可靠性高:BUSBUS大多在内部;易采取电磁屏蔽大多在内部;易采取电磁屏蔽功能强:实时响应速度;功能强:实时响应速度;I/OI/O直接操作直接操作使用方便:硬件设计简单;提供开发工具资料使用方便:硬件设计简单;提供开发工具资料性能价格比高:电路板小;接插件少性能价格比高:
3、电路板小;接插件少易产品化:研制周期短易产品化:研制周期短6机电一体化:电脑缝纫机机电一体化:电脑缝纫机智能仪表:测量仪智能仪表:测量仪实时控制:汽车实时控制:汽车家电:电冰箱、洗衣机、(家电:电冰箱、洗衣机、(MOTOROLAMOTOROLA)网络通信:通信协议集成其中网络通信:通信协议集成其中计算机外设:键盘、打印机计算机外设:键盘、打印机保健保健 产品:按摩器产品:按摩器多机应用多机应用应用:应用: 量大面广量大面广71-3 1-3 单片机的开发和开发工具单片机的开发和开发工具一、一、单片机应用系统开发条件单片机应用系统开发条件单片机芯片单片机芯片开发工具开发工具资料手册资料手册8二、单
4、片机应用系统的开发过程二、单片机应用系统的开发过程系统需求调查;系统需求调查;可行性分析;可行性分析;系统方案设计;系统方案设计;系统建造;系统建造;系统调试;系统调试;系统方案局部修改、再调试;系统方案局部修改、再调试;生成正式产品。生成正式产品。9三、单片机应用系统设计的基本原则与方法二、一般设计方法确定系统功能与性能确定系统功能与性能确定系统基本结构确定系统基本结构硬件设计硬件设计软件设计软件设计1)1)任务确定任务确定2) 2) 软件结构设计软件结构设计一、设计原则: 可靠性高可靠性高 性能价格比高性能价格比高 操作简便操作简便 设计周期短设计周期短10四、四、单片机应用系统的调试单片
5、机应用系统的调试11RS232单 片 机在线仿真器仿真器应用系统EPROM读出/固化器计算机五、五、单片机开发系统单片机开发系统一、通用型单片机开发系统一、通用型单片机开发系统二、软件模拟开发系统二、软件模拟开发系统第二章 MCS51单片机的结构内部结构存储器的配置I/O口的应用功能时序及电路2-1 MCS - 51单片机的内部结构单片机的内部结构(80C51) 存储器存储器I/O接口接口CPU总线控制器总线控制器14说明:中央处理机中央处理机CPU () 存储器存储器: 片内数据存储器片内数据存储器RAM () 片内程序存储器片内程序存储器EPROM()I/O接口接口: 4个个8位并行口位并
6、行口() 个串行个串行I/O接口。接口。 个个16位定时器位定时器/计数器。计数器。个中断源个中断源级优先权的中断系统级优先权的中断系统MCSMCS5151系列部分单片机配置一览表系列部分单片机配置一览表 162-2 中央处理器中央处理器CPU 中央处理器是单片机中央处理器是单片机内部的核心部件内部的核心部件, 它决定了单它决定了单片机的主要功能特性。片机的主要功能特性。 它由它由运算部件运算部件和和控制控制部件部件两大部分组成。两大部分组成。17一、运算器 运算部件是以算术逻辑单元ALU为核心, 加上累加器A、 寄存器B、 暂存器TMP1和TMP2、 程序状态寄存器PSW及专门用于位操作的布
7、尔处理机组成的, 它能操作。18用户关心算术逻辑单元算术逻辑单元ALUALU 2. 2. 累加器累加器ACCACC:8 8位位,专门存放操作数或运算结果。 3. 3. 寄存器寄存器B B :8位,专门为乘除法而设置的寄存器。4. 4. 程序状态字程序状态字PSWPSW(Programe State WordPrograme State Word)POVRS0RS1F0ACCyD7 D6 D5 D4 D3 D2 D1 D0PSW19程序状态字PSWCACF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0进位标志位进位标志位辅助进
8、位标志位用户自定义标志位溢出标志位溢出标志位奇偶标志位奇偶标志位寄存器区选择寄存器区选择3 3区区1 11 12 2区区0 01 11 1区区1 10 00 0区区0 00 020二、控制器 控制部件是控制部件是单片机的神经中枢单片机的神经中枢, , 它包括定时和控制电路、它包括定时和控制电路、 指令寄存器、指令寄存器、 译码器以及信息译码器以及信息传送控制等部件。传送控制等部件。 CPUCPU执行指令时执行指令时, , 由程序存储器中读取的指令代码送入指令由程序存储器中读取的指令代码送入指令存储器存储器, , 经译码器译码后由定时与控制电路经译码器译码后由定时与控制电路发出相应的控制信发出相
9、应的控制信号号, , 完成指令所指定的操作。完成指令所指定的操作。21MCS-51MCS-51单片机的存储器结构为单片机的存储器结构为哈佛结构哈佛结构,既:程序存储器和数,既:程序存储器和数据存储器分开寻址。据存储器分开寻址。从物理结构上可分为从物理结构上可分为: : 片内、片内、 片外程序存储器片外程序存储器 片内、片内、 片外数据存储器片外数据存储器 4 4个部分个部分仪表中的存储器资源:仪表中的存储器资源: 2-3 存储器和特殊功能寄存器存储器和特殊功能寄存器 一、一、MCS51单片机存储器分类及配置单片机存储器分类及配置22 从寻址空间分布可分为从寻址空间分布可分为: 程序存储器程序存
10、储器 内部数据存储器内部数据存储器 外部数据存储器外部数据存储器 3大部分大部分从功能上可分为从功能上可分为: 程序存储器程序存储器 外部数据存储器外部数据存储器 5大部分。大部分。重点重点重点重点24二、程序存储器计算机的工作是按照事先编制好的程序命令一条条循序执行的计算机的工作是按照事先编制好的程序命令一条条循序执行的, , , , 它由只它由只读存储器读存储器ROMROM或或EPROMEPROM组成。组成。 程序运行的入口地址程序运行的入口地址 MCS51MCS51单片机程序存储器中有复位和中断源共单片机程序存储器中有复位和中断源共7 7个固定的入个固定的入口地址口地址, , 用户不能更
11、改。用户不能更改。25MCS51单片机复位、单片机复位、 中断入口地址中断入口地址0000H0000H单元开始取指单元开始取指令来执行程序。令来执行程序。26三、内部数据存储器 MCS51系列单片机的内部数据存储器由读写存储器RAM组成, 用于存储数据。 内部数据存储器RAM块共分为工作寄存器区、工作寄存器区、 位寻址区和位寻址区和数据缓冲区数据缓冲区3 3个部分个部分。 271、工作寄存器和RAM地址对照表 282、位寻址区293、数据缓冲区 30H-7FH是数据缓冲区, 也即用户RAM区, 共80个单元。 用户RAM区又可分为数据区和堆栈区 MCS51单片机堆栈区不是固定的,且堆栈属向上生
12、长型, 为了避开工作寄存器区和位寻址区, 一般设在30H以后的范围内。 堆栈区堆栈区数据区数据区30H7FH四、特殊功能寄存器SFR SFR又称为专用寄存器。 它专用于控制、 管理单片机内算术逻辑部件、 并行I/O口锁存器、 串行口数据缓冲器、 定时器/计数器、 中断系统等功能模块的工作。 97H电源控制电源控制0B8H中断优先级控制中断优先级控制99H串行数据缓冲器串行数据缓冲器0B0H口口398H串行控制串行控制0A0H口口28BH定时器定时器/计数器计数器1(低字节)(低字节)90H口口180H定时器定时器/计数器计数器1(高字节)(高字节)80H口口08AH定时器定时器/计数器计数器0
13、(低字节)(低字节)83H和和82H数据指针数据指针8CH定时器定时器/计数器计数器0(高字节)(高字节)81H堆栈指针堆栈指针88H定时器定时器/计数器控制计数器控制0D0H程序状态字程序状态字89H定时器定时器/计数器方式控制计数器方式控制0F0HB寄存器寄存器0A8H允许中断控制允许中断控制0E0H累加器累加器地址地址名称名称地址地址名称名称IPP3P2P1P0DPTRSPPSWBACC标识符标识符PCONSBUFSCONTL1TH1TL0TH0TCONTMODIE标识符标识符31说明:PC: 程序地址寄存器(),始终指向下一条指令的内存地址。 访问范围:00000FFFFHACC: 累
14、加器(8 8位位),专门存放操作数或运算结果。B : 8位,专门为乘除法而设置的寄存器。SP: 堆栈指针(8位),始终指向堆栈的栈顶位置。 遵循“先进后出”的原则。 DPTR: 数据地址指针(16位),存放程序存储器或外部数据存储器的 地址。可分DPH和DPL两个独立8位寄存器。32程序状态字PSWCACF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0进位标志位进位标志位辅助进位标志位用户自定义标志位溢出标志位溢出标志位奇偶标志位奇偶标志位寄存器区选择寄存器区选择3 3区区1 11 12 2区区0 01 11 1区区1 10
15、 00 0区区0 00 033思考: 访问内部数据存储器与外部数据存储器的区别?1、地址不同。访问内部数据存储器访问内部数据存储器 MOV指令指令访问外部数据存储器访问外部数据存储器 MOVX指令指令内部数据存储器的地址为内部数据存储器的地址为8位(位(00H-7FH)外部数据存储器的地址为外部数据存储器的地址为16位(位(0000H-FFFFH)2、访问内、访问内/外部存储器使用的指令不同。外部存储器使用的指令不同。34思考:什么叫哈佛结构?程序存储器用来存放什么?程序运行的入口地址是什么?内部数据存储器分为哪几个部分?位寻址区有多少个位?堆栈指针SP有多少位?堆栈是向(大、小)地址生长?3
16、52-4 输入/输出口(I/O口)四个四个(P0、P1、P2、P3)双向双向8位位I/O口,共口,共32根根I/O口线。口线。每个每个I/O线均由锁存器,输出电路和输入缓冲器组成。所以每个线均由锁存器,输出电路和输入缓冲器组成。所以每个I/O既既可作输入又可作输出;每一条口线可独立用作输入又可用作输出。可作输入又可作输出;每一条口线可独立用作输入又可用作输出。36 一、I/O口的应用功能P0:系统扩展 一般I/O口(输出时,需接上拉电阻)P1: 专供用户使用的I/O口P2: 系统扩展 通用I/O口P3: 功能口,每位独立定义 通用I/O口37二 、 I/O的负载能力P0可驱动8个LSTTL负载
17、P1-P3可驱动4个LSTTL负载。38三、I/O的特点1. P0口:口: P0P0口是一个三态双向口,可作为口是一个三态双向口,可作为地址地址/ /数据分时复数据分时复 用口用口,也可作为,也可作为通用通用I/OI/O接口。接口。 39(1)地址/数据分时复用功能 当P0口作为地址/数据分时复用总线时,可分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输出数据。1(2)通用I/O接口功能 在输出数据时,由于T1截止,输出级是漏极开路电路,要使1信号正常输出,必须外接上拉电阻必须外接上拉电阻。R“1”“0”截止 P0口作为通用I/O口使用时,是准双向口。其特点是在输入数据时,应先把
18、口置应先把口置1(1(写写1)1),此时锁存器的Q端为0,使输出级的两个场效应管T1、T2均截止,引脚处于悬浮状态,才可作高阻输入。412. P1口口 P1口只有一种通用输入输口只有一种通用输入输出出I/O接口功能接口功能。 不需要外接电阻不需要外接电阻;但;但P1口口是准双向口,其特点是在输入数据是准双向口,其特点是在输入数据时,应先把口置时,应先把口置1(写1)使输出级的使输出级的场效应管场效应管V1截止,引脚处于悬浮截止,引脚处于悬浮状态,才可作高阻输入。状态,才可作高阻输入。423、P2口 P2口也是一准双向口。 它具有通用I/O接口或高8位地址总线输出两种功能。当作为准双向通用I/O
19、接口使用时, 其工作原理与P1相同。434、P3口 当当P3P3口作为通用口作为通用I/OI/O接口时接口时, , 第第2 2功能输出线为高电平功能输出线为高电平, , 使与非门使与非门3 3的的输出取决于口锁存器的状态。输出取决于口锁存器的状态。 在这种情况下在这种情况下, P3, P3口仍是口仍是1 1个准双向口个准双向口, , 它的工作方式、它的工作方式、 负载能力均与负载能力均与P1P1、 P2P2口相同。口相同。 当P3口作为第2功能使用时,其锁存器Q端必须为高电平, 否则V1管导通, 引脚被箝位在低电平, 无法输入或输出第2功能信号。 当Q端为高电平时, P3口的口线状态就取决于第
20、2功能输出线的状态。 44 P3口第二功能表口第二功能表452-5 外部引脚说明1 1主电源引脚主电源引脚 VCC:接+5V VSS:接地2 2外接晶体引脚外接晶体引脚 XTAL1、XTAL23 3输入输入 / / 输出引脚输出引脚 P0-P3P0-P3口口4 4控制线控制线(1)ALE/PROG:地址锁存有效信号输出PSEN:片外程序存储器读选通信号RST/VPD:RST即为RESET,VPD为备用电源(4)EA/VPP(31脚):片外程序存储器选用端462-6 单片机工作的基本时序 1. 机器周期和指令周期机器周期和指令周期 (1) 振荡周期振荡周期: 也称时钟周期, 是指为单片机提供时钟
21、脉冲信号的振荡源的周期。 (2) 状态周期状态周期: 每个状态周期为时钟周期的 2 倍, 也称S状态,是振荡周期经二分频后得到的。 (3) 机器周期机器周期: 一个机器周期包含 6 个状态周期S1S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 (4) 指令周期指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。 261、2、447思考:外接晶振为12 MHz时, MCS51单片机的4个时间周期的具体值为多少?答: 振荡周期=1/12 s; 状
22、态周期=1/6 s; 机器周期=1 s; 指令周期=1-4 s。482. MCS - 51 的典型时序(1)单周期指令时序)单周期指令时序49(2)双周期指令时序双周期指令时序 50访问外部RAM的双指令周期外部数据存储器的外部数据存储器的寻址和数据选通寻址和数据选通513. 复位电路 (b) 开关复位电路 (a)上电复位电路52复位后内部寄存器状态 在RST/VPD端持续给出2个机器周期的高电平个机器周期的高电平就可以完成复位操作。堆栈指针堆栈指针SPSP=07H=07HP0-P3=FFHP0-P3=FFH其余寄存器均为其余寄存器均为0 0532-7 定时器/计数器一、定时器一、定时器/ /
23、计数器计数器的结构的结构T1T0T0、T1的控制的控制54说明:两个两个1616位定时器位定时器/ /计数器计数器T0T0、T1T1定时器/计数器的工作方式及控制由TMODTMOD寄存器和寄存器和TCON寄存器完成。55二、基本功能定时功能时,每个机器周期定时器加1。计数功能时,在外部事件相应输入脚(T0和T1)产生负跳变,计数器加1。K1K2可预置初值的可预置初值的计数器计数器中断请求功能选择启动控制内部时钟脉冲(定时)TX 外部输入脉冲(计数)溢出信号计数脉冲计数初值56三、方式和控制寄存器1、 定时器定时器/计数器的方式寄存器计数器的方式寄存器TMOD C/T=1, 为计数器方式; C/
24、T = 0, 为定时器方式。GATE=1, 外部启动定时器 /计数器; GATE=0, 程序启动定时器 /计数器。 57 M1M0工作方式控制位工作方式控制位 T0 分成分成两个独立的两个独立的 8 位位计数器计数器, T1 在方式在方式 3 时停止工作时停止工作 31 1自动重装入初值的自动重装入初值的 8 位位计数器计数器 21 016 位位定时器定时器/计数器计数器 10 113 位位定时器定时器(TH的的 8 位和位和TL的低的低 5 位)位) 00 0说说 明明方式方式M1 M0 M1 M0 582、 定时器定时器/计数器控制寄存器计数器控制寄存器TCONIT0IE0IT1IE1TR
25、0TF0TR1TF1与中断有关与中断有关T0运行控制位: “1”启动T0; “0”关闭T0。由软件进行设置。T0定时器/计数器溢出中断标志位。 当T0计数溢出时,由硬件置位硬件置位,在允许中断的情况下,向CPU发出中断请求信号,CPU响应中断转向中断服务程序时,由硬件自动硬件自动将该位清零将该位清零。59三、定时器三、定时器/计数器的工作方式计数器的工作方式1、方式0( 13位定时/计数器)计数外部脉冲个数:计数外部脉冲个数:1 18192(28192(21313) )定时时间定时时间(T=1(T=1 s)s):1 1 s s 8.19ms8.19ms602 2、方式、方式1 1( 1616位
26、定时位定时/ /计数器)计数器)16位位613、 方式方式2 2(自动恢复初值自动恢复初值8 8位位定时定时/ /计数器计数器)4 4、方式、方式3(3(两个两个 8 位独立计数器位独立计数器) )63四、计算时间常数X(初值) 加法计数器是计满溢出时才申请中断, 所以在给计数器赋初值时, 不能直接输入所需的计数值, 而应输入的是计数器计数的最大值与这一计数值的差值。 初值X的计算方法: 其中:方式0:n=13;方式1:n=16;方式2、3 n=8 T=12晶振频率=机器周期 64例 :计算定时1 ms对应的初值, 设单片机晶振频率为 12 MHz,方式1。解解: X = M定时时间定时时间/
27、T 机器周期机器周期=1212 MHz= 1 s 所以:所以: X = 2161ms/1 s =FC17H 例:若晶振频率为例:若晶振频率为6MHz,6MHz,试计算试计算MCS-51MCS-51单片机定时单片机定时/ /计数器计数器的最小定时时间和最大定时时间。的最小定时时间和最大定时时间。解:先确定机器周期:解:先确定机器周期:机器周期机器周期 T=12T=126 MHz= 2 s6 MHz= 2 s 计算最小定时时间:计算最小定时时间: 对于定时器的几种工作方式来说对于定时器的几种工作方式来说, ,最小定时时间都是一样最小定时时间都是一样的,即:的,即:X = MX = M定时时间定时时
28、间/T/T T Tminmin=(M-XM-X)T =1T =12s=2s2s=2s 计算最大定时时间:计算最大定时时间: 在方式在方式1 1下的定时时间最长下的定时时间最长, ,则最大定时时间为则最大定时时间为 Tmax= Tmax= (M-XM-X)T=T=( 2 21616- 0- 0) 2s =131ms2s =131ms五、定时器/计数器的初始化定时定时/ /计数器在使用之前需要进行初始化。计数器在使用之前需要进行初始化。初始化编程包括:初始化编程包括: 要能正确写入控制字;要能正确写入控制字; 能进行计数初值的计算。能进行计数初值的计算。一般情况下一般情况下,包括以下几个步骤:包括
29、以下几个步骤:(1)(1)确定工作方式,即对确定工作方式,即对TMODTMOD寄存器进行赋值。寄存器进行赋值。(2)(2)计算计数初值计算计数初值, ,并写入寄存器并写入寄存器TH0TH0、TL0TL0或或TH1TH1、TL1TL1中。中。(3)(3)根据需要根据需要, ,置位置位ETxETx允许允许T/CT/C中断。中断。(4)(4)置位置位EAEA使使CPUCPU开中断开中断( (需要时需要时) )。(5)(5)置位置位TRxTRx启动计数。启动计数。67思考题1 1、MCS-51MCS-51单片机有几个定时单片机有几个定时/ /计数器?计数器?2 2、定时、定时/ /计数器的核心是计数器
30、的核心是1 1个(加个(加1 1、减、减1 1)计数器)计数器, ,它的输入脉冲有两个它的输入脉冲有两个来源来源: :一个是(一个是( ), ,另一个是另一个是( )( )。 3 3、定时、定时/ /计数器有几种工作方式?如何选择和设定?计数器有几种工作方式?如何选择和设定?4 4、MCS-51MCS-51单片机定时单片机定时/ /计数器在使用之前需要进行初始化,在编程时主计数器在使用之前需要进行初始化,在编程时主要注意两点:第一(要注意两点:第一( );第二();第二( )。)。68中断的定义 计算机在程序执行过程中,当出现硬件或软件请求时,处理器暂时停止正在执行的程序,转去对请求进行处理,
31、处理完后,回到程序断点位置继续执行。断点主程序中断服务程序有中断请求对外设进行处理继续执行返回断点中断源:任何能够引发中断事件的来源2-8 MCS-51单片机的中断系统单片机的中断系统69一、 MCS-51单片机的中断系统结构IEIPTCON的高的高4位位SCON的低的低2位位采用中断技术的优点(1)可方便地处理随机事件(实时处理、故障处理)。(2)提高处理器的使用效率和提高计算机的工作速度。1、5个中断源2 2个外部中断源信号个外部中断源信号2 2个定时器个定时器T0T0、T1T1溢出中断请求溢出中断请求1 1个串行口数据发送、接收结束中断请求个串行口数据发送、接收结束中断请求712 2、中
32、断请求中断请求寄存器(寄存器(TCONTCON、 SCON SCON中的部分标志)中的部分标志)中断请求标志位:中断请求标志位: TF1TF1、TF0TF0、IE1IE1、IE0IE0、RI RI 、TITI登记各中断源请求信号:登记各中断源请求信号:=1=1,有中断请求;,有中断请求; =0=0,无中断请求。,无中断请求。CPUCPU响应中断后,响应中断后,TITI,RIRI标志必须软件清零标志必须软件清零, ,其余中断标志其余中断标志 自动清零自动清零 。外部中断触发方式选择位:外部中断触发方式选择位:IT0IT0、IT1IT1 =1=1:负边沿触发中断请求;:负边沿触发中断请求;=0=0
33、:低电平触发中断请求。:低电平触发中断请求。723 3、中断允许控制(、中断允许控制(IE)EX0ET0EX1ET1ESXXEA (MSB)(LSB)中断允许控制位:中断允许控制位: =1 =1 开中断;开中断;=0 =0 关中断。关中断。 总允许开关总允许开关源允许开关源允许开关例:允许CPU响应INT0的中断请求SETB EX0 SETB EA734、2级中断的优先级控制(IP)对于每1个中断源,均可通过对IP的设置来确定其优先等级。置1为高优先级,清0为低优先级。PX0PT0PX1PT1PSXXX(MSB)(LSB)1111ESXX1中断允许控制位:中断允许控制位: =1 =1 开中断;
34、开中断;=0 =0 关中断。关中断。 2、允许中断源的中断优先次序为、允许中断源的中断优先次序为: T0 INT1 INT0 T1 高级别高级别 低级别低级别01100XXXPX0PT0PX1PT1PSXXX75二、中断响应的条件、过程1.1.中断响应的条件中断响应的条件 单片机响应中断的条件为中断源有请求单片机响应中断的条件为中断源有请求( (中断允许寄存器中断允许寄存器IEIE相应相应位置位置1)1),且,且CPUCPU开中断开中断( (即即EA=1)EA=1)。2.2.中断响应过程中断响应过程 单片机一旦响应中断,单片机一旦响应中断,自动自动转到各中断源对应的中断转到各中断源对应的中断服
35、务程序的服务程序的入口地址入口地址执行中断服务程序。执行中断服务程序。 各中断源中断服务程序的入口地址中断源中断源入口地址入口地址外部中断外部中断00003HT0中断中断000BH外部中断外部中断10013HT1中断中断001BH串行口中断串行口中断0023H3 3、中断返回、中断返回中断返回指令:中断返回指令: RETIRETI= RET= RET指令指令 + + 通知通知CPUCPU中断服务已结束。中断服务已结束。77思考题1、MCS-51单片机的中断源有几个?分别是什么?各中断源单片机的中断源有几个?分别是什么?各中断源所对应的中断服务程序的入口地址是什么?所对应的中断服务程序的入口地址
36、是什么?2、寄存器、寄存器IE、IP和和TCON的全称是什么?作用是什么?的全称是什么?作用是什么?2-9 MCS-51单片机的串行口一、一、MCS-51MCS-51串行口的结构串行口的结构 发送器发送器接收器接收器79说明:、 MCS-51单片机内部有1个功能很强的全双工串行口。2、发送器:并串数据格式转换,添加标识位和校验位,一帧数据发送结束,设置发送结束标志,申请中断。3、接收器:串并数据格式转换,删除标识位和校验位,保存有效数据,设置接收结束标志,申请中断。4、控制器:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。5、串行口数据缓
37、冲器SBUF SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。80二、串行口控制1、串行口控制寄存器、串行口控制寄存器SCON RIRI TITIRB8RB8TB8TB8RENRENSM2SM2SM1SM1SM0SM0 D7 D6 D5 D4 D3 D2 D1 D0 SM0、SM1:串行口工作方式串行口工作方式选择选择位。位。SM2:多机控制位,用于多机通多机控制位,用于多机通讯讯。REN:允允许许接收控制位,接收控制位,REN=1,允允许许接收;接收;REN=0,禁止接收。禁止接收。TB8:发发送的第送的第9位位数数据位,可用作校据位,可用作校验验位和地址位和地址/数数据
38、据标识标识位。位。RB8:接收的第接收的第9位位数数据位或停止位。据位或停止位。TI:发发送中送中断标断标志,志,发发送一送一帧结帧结束,束,TI=1,必必须软须软件件清清零。零。RI:接收中接收中断标断标志,接收一志,接收一帧结帧结束,束,RI=1,必必须软须软件件清清零。零。812、 电源控制寄存器PCONSMODGF1GF0PDIDL D7 D6 D5 D4 D3 D2 D1 D0 PCON的最高位SMOD是串行口波特率系数控制位。SMOD=1时,波特率增大一倍。其余各位与串行口无关。82三、串行接口的工作方式831、方式0为同步移位寄存器方式,用于扩展并行I/O接口,波特率是固定的。(
39、1) 方式方式 0 输出输出805184(1) 方式方式 0 输入输入852、方式1、2、3共性问题写入SBUF采样(a) 发送时序图TXD数据输出TID0D1D2D3D4D5D6D7停止位起始位RXD输入数据(b) 接收时序图D0D1D2D3D4D5D6D7停止位起始位RI检测负跳变RXDRXD:接收数据端。:接收数据端。 TXD TXD:发送数据端。:发送数据端。发送:写入发送:写入SBUFSBUF,同时启,同时启动发送,一帧发送结束,动发送,一帧发送结束,TI=1TI=1。 接收:接收:REN=1REN=1,允许接收。,允许接收。将接收数据装入将接收数据装入SBUFSBUF,并使,并使R
40、I=1RI=1。863、方式、方式1、2、3差别差别数据位不同。数据位不同。 波特率可变、固定。波特率可变、固定。 方式方式1 1、3 3波特率:波特率:B=(2B=(2SMODSMOD/32)/32)T1T1溢出率溢出率。 方式方式2 2波特率:波特率: B=(B=(2 2SMODSMOD /64)/64)foscfosc874、波特率的选择、波特率的选择88思考题:51系列单片机主要有哪些部分组成?各自作用是什么?89903-1 MCS-51指令格式及寻址方式 1.1.标号:标号: 指令的符号地址指令的符号地址2.2.操作码:指明指令功能。操作码:指明指令功能。3.3.操作数:指令操作对象
41、操作数:指令操作对象 ( (立即数、寄存器、存储器立即数、寄存器、存储器) )4.4.注释行:说明指令在程序中的作用。注释行:说明指令在程序中的作用。 操作码和操作数是指令主体。操作码和操作数是指令主体。标号:标号:操作码操作码 操作数操作数1 1,操作数,操作数2 2 ;注释;注释91二、寻址方式 寻址方式寻址方式, , 就是寻找操作数地址的方式。就是寻找操作数地址的方式。 寻址方式的多少是反映寻址方式的多少是反映指令系统优劣的主要指标之一。指令系统优劣的主要指标之一。 在 MCS -51单片机指令系统中, 有以下7种寻址方式: (1) 立即寻址; (2) 直接寻址; (3) 寄存器寻址;
42、(4) 寄存器间接寻址; (5) 基址寄存器加变址寄存器间接寻址; (6) 相对寻址; (7) 位寻址。 921、立即寻址 立即寻址方式是指操作数包含在指令字节中。立即寻址方式是指操作数包含在指令字节中。 跟在跟在指令操作码后面的数就是参加运算的数指令操作码后面的数就是参加运算的数, , 该操作数称为立该操作数称为立即数。即数。 立即数有一字节和二字节两种。立即数有一字节和二字节两种。例如:例如: MOV A, 3AH;将立即数将立即数3AH传送到累加器传送到累加器A中中 MOV DPTR, 0DFFFH“#”表示为立即数932、直接寻址 指令中直接给出操作数所在的指令中直接给出操作数所在的存
43、储器地址,以供取数或存数,以供取数或存数的寻址方式称为直接寻址。的寻址方式称为直接寻址。 例:例: MOV A,40H ;把片内把片内RAMRAM地址为地址为40H40H单元的内容送到单元的内容送到A A中。中。直接寻址方式中可以访问 3 种存储器空间: (1) 内部数据存储器的低 128 个字节单元(00H7FH); (2) 特殊功能寄存器; (3) 位地址空间。 943、寄存器寻址 在该寻址方式中在该寻址方式中, 参加操作的数存放在寄存器里。参加操作的数存放在寄存器里。 寄存器包括8个工作寄存器R0R7, 累加器A, 寄存器B、数据指针DPTR和布尔处理器的位累加器C。例: MOVA,R0
44、 ;把寄存器R0中的内容传送到累加器A中954、寄存器间接寻址 在这种寻址方式中在这种寻址方式中, , 寄存器的内容为操作数的寄存器的内容为操作数的地址。例:例: MOV A,R0 ;将以工作寄存器将以工作寄存器R0R0中的内容为地址的中的内容为地址的 片内片内RAMRAM单元的数据传送到单元的数据传送到A A中去中去注意:注意: 寄存器间接寻址只能使用寄存器R0、R1作为地址指针,寻址内部RAM区的数据。 为间址符965、基址加变址寻址 这种寻址方式用于这种寻址方式用于访问程序存储器中的数据表格访问程序存储器中的数据表格, , 它以它以基址寄存器基址寄存器DPTRDPTR或或PCPC的内容为
45、基本地址的内容为基本地址, , 加上变址寄存器加上变址寄存器A A的的内容作为操作数的地址。内容作为操作数的地址。例如: MOVC A, DPTR+A 976、相对寻址 相对寻址是以当前程序计数器相对寻址是以当前程序计数器PCPC值加上指令规定的偏值加上指令规定的偏移量移量rel , rel , 而构成实际操作数地址的寻址方法。而构成实际操作数地址的寻址方法。 它用于访问程序存储器它用于访问程序存储器, , 常出现在相对常出现在相对转移指令中。中。 目的地址目的地址 = = 当前当前PCPC值值 + rel + rel 987、位寻址 位寻址是在位操作指令中直接给出位操作数的地址,位寻址是在位
46、操作指令中直接给出位操作数的地址,可以对片内可以对片内RAMRAM中的中的128位和特殊功能寄存器和特殊功能寄存器SFRSFR中的中的93位进行寻址。进行寻址。例如: SETB PSW.3 ; (PSW.3)1 比较:比较:MOV C,40H;C 40HMOV A,40H;A 40H位地址位地址字节地址字节地址99 7 种寻址方式及使用空间 100三、指令分类 按指令的功能, MCS-51 指令系统可分为下列 5 类,共计111条指令: (1) 数据传送;(2) 算术运算;(3) 逻辑运算;(4) 位操作;(5) 控制转移。 四、符号的约定意义RnRn: 当前选定的寄存器区中的当前选定的寄存器
47、区中的 8 8 个工作寄存器个工作寄存器R0-R7, n=0-7R0-R7, n=0-7。 Ri Ri: 当前选定的寄存器区中的当前选定的寄存器区中的 2 2 个寄存器个寄存器R0R0、 R1, i=0 R1, i=0、1 1。DirectDirect: 8 8位内部位内部RAMRAM单元的地址单元的地址(00H-7FH)(00H-7FH)或特殊功能寄存器地址。或特殊功能寄存器地址。datadata:指令中的指令中的 8 8 位常数。位常数。 data16data16:指令中的指令中的 16 16 位常数。位常数。 Addr16Addr16: 16 16 位的目的地址位的目的地址, , 用于用
48、于LJMP, LCALLLJMP, LCALL指令。指令。Addr11Addr11: 11 11位的目的地址位的目的地址, , 用于用于AJMP, ACALLAJMP, ACALL指令。指令。RelRel: 8 8 位带符号的偏移量字节位带符号的偏移量字节, , 用于所有条件转移指令中。用于所有条件转移指令中。 BitBit: 内部数据内部数据RAMRAM或特殊功能寄存器中的可直接寻址位。或特殊功能寄存器中的可直接寻址位。1023-2 数据传送类指令 传送类指令不影响PSW(除P位)。103数据传送类指令一览表数据传送类指令一览表104数据传送类指令一览表数据传送类指令一览表105例:顺序执行
49、下列指令序列,求每一步执行结果。MOV A,#30HMOV 4FH,AMOV R0,#20HMOV R0,4FHMOV 21H,20H;A= 30H;(4FH)= 30H;R0= 20H;(20H)= 30H;(21H)= 30H解解2 2: MOV R0MOV R0,#60H #60H MOV A MOV A,R0R0解解1 1: MOV A,60HMOV A,60H例:用两种寻址方式将片内例:用两种寻址方式将片内RAM 60HRAM 60H单元的数据传送给累加器单元的数据传送给累加器A A。 例:若在外部程序存储器中TAB单元开始依次存放0-9的平方值,数据指针DPTR=3A00H,用查表
50、指令取得2003H单元的数据后,要求保持DPTR中的内容不变。ORG2000HTAB:DB 00,01,04,09,81H;平方表MOV A,#03H;A03HPUSH DPH;保护DPTR高8位入栈PUSH DPL;保护DPTR低8位入栈MOV DPTR,#TAB;确定表首地址(基地址)MOVC A,A+DPTR;A(TAB+03H)POP DPL ;弹出DPTR低位POP DPH ;弹出DPTR高位执行结果:A09H,DPTR=3A00H。107例:内部内部RAM 2AH和和2BH单元中存放的单元中存放的ASCII码码, 转换为压缩的转换为压缩的BCD码码存放在存放在20H单元中。单元中。
51、 MOVA,#0;A=0MOVR1, #2BH; R1=2BHMOVR0,#2AH ; R0=2AHXCHD A, R1;A=05HSWAP A ;A=50HXCHD A, R0;A=58HXCHA, 20H ;(20H)=58H2BH35H2AH38HXX20HXX58H1083-3 算术运算类指令 一、一、 加、减法指令加、减法指令影响相应标志位例:设双字节数例:设双字节数 X X 存在片内存在片内RAM 41HRAM 41H、40H40H单元,单元,Y Y存在存在42H42H、43H43H单元,编程求单元,编程求 Z=X+YZ=X+Y,并存入片内,并存入片内RAMRAM单元单元44H44
52、H、45H45H、46H46H。片片 内内R A M地地 址址内内 容容4 6 HZH4 5 HZM4 4 HZL4 3 HYH4 2 HYL4 1 HXH4 0 HXLADDSADDS:MOV MOV A A,40H40HADD ADD A A,42H42HMOV 44HMOV 44H,A AMOV AMOV A,41H41HADDC AADDC A,43H43HMOV 45HMOV 45H,A AMOV AMOV A,#0#0ADDC AADDC A,#0#0MOV 46HMOV 46H,A ARETRET;取被加数低字节;取被加数低字节;加上加数低字节;加上加数低字节;保存和的低字节;保
53、存和的低字节;取被加数高字节;取被加数高字节;加上加数高字节;加上加数高字节;保存和的高字节;保存和的高字节;求高字节进位;求高字节进位;子程序结束;子程序结束111二、十进制调整指令和乘、除法指令DA A ; 对A寄存器加加6调整例:例:MOV A, 36HADD A, 45HDA A 0 0 1 1 0 1 1 0 360 1 0 0 0 1 0 1 450 1 1 1 1 0 1 1 7B0 0 0 0 0 1 1 0 06+1 0 0 0 0 0 0 1 81DA ADA A加加6 6调整调整112MUL AB ; BA=AMUL AB ; BA=AB B 若乘积大于FFH,则溢出标志
54、OV置1,否则OV清零。乘法指令执行后进位标志CY总是零,即CY=0。DIV AB ; AADIV AB ; AAB B之商,之商,BABAB B之余数之余数 进位标志位CY和溢出标志位OV均被清零。若B中的内容为0时,溢出标志OV被置1,即OV=1,而CY仍为0。例例: : 利用除法指令把累加器利用除法指令把累加器A A中的中的8 8位二进制数转换为位二进制数转换为BCDBCD数数, , 并以压缩形式存放在内部并以压缩形式存放在内部RAMRAM区区M M1 1、 M M2 2单元中。单元中。MOV B, 64H ; 除数除数100 送送BDIV AB ; 得百位数得百位数 MOV M1, A
55、 ; 百位数存于百位数存于M1中中MOV A, 0AH ; 取除数取除数10 XCH A, B ; 上述余数与除数交换上述余数与除数交换DIV AB ; 得十位数和个位数得十位数和个位数SWAP A ; 十位数存于十位数存于A的高的高4位位ADD A, B ; 组成压缩组成压缩BCD数数MOV M2, A ; 十、十、 个位压缩个位压缩BCD数存数存M2 若上述程序执行前: A =A8H (168), 则执行后: (M1)=01H, (M2)=68H。1143-4 逻辑运算及移位类指令逻辑运算及移位类指令115逻辑操作指令表116117例:例: A=01B,表示随机状态,为表示随机状态,为1或
56、或0,执行下述一组指令执行后,执行下述一组指令执行后A的值如何的值如何? XRL A,#0C0H;将累加器;将累加器A的内容的内容D7、D6取取反反 ORL A,#03H;将累加器;将累加器A的内容的内容D1、D0置置1ANL A,#0E7H;将累加器;将累加器A的内容的内容D4、D3清清0 解解 :执行上述指令后,:执行上述指令后,A=100011B。思考:思考:如何将累加器如何将累加器A A中的数据高中的数据高4 4位清位清0 0,低位不变?,低位不变? 如何将寄存器如何将寄存器R2R2中的数据奇数位取反,偶数位不变?中的数据奇数位取反,偶数位不变?118例例: 设设A=43H, CY=0
57、, 则执行指令则执行指令: RL A ; A=86H, CY=0 RLC A ; A=0CH, CY=1RR A ; A=06H, CY=1 RRC A ; A=83H, CY=0 1193-5 控制转移类指令一、无条件转移指令一、无条件转移指令120二、条件转移指令121例例: 将片外将片外RAM首地址为首地址为DATA1的一个数据块传送到片内的一个数据块传送到片内RAM首地址首地址为为DATA2的存储区中,当数据块中有的存储区中,当数据块中有0时停止传送。时停止传送。MOV R0,#DATA1 ;R0作为外部数据块的地址指针MOV R1,#DATA2 ;R1作为内部数据块的地址指针LOOP
58、: MOVX A,R0 ;取外部RAM数据送入AJZ HEREJZ HERE ;数据为零则终止传送 MOV R1,A ;数据传送至内部RAM 单元 INC R0 ;修改指针,指向下一数据地址 INC R1 SJMP LOOP ;循环取数HEREHERE: MOV R7,#0 122例:例: 当从P1口输入数据为01H 时,程序继续执行,否则等待,直到P1口出现01H。 MOV A,#01H ;立即数01H送AWAIT: CJNE A,P1,WAIT ;P101H,则等待 MOV R0,#2 .123例 : 将内部RAM中从DATA单元开始的 10 个无符号数相加, 相加结果送SUM 单元保存。
59、设相加结果不超过8位二进制数, 则相应的程序如下: 解: MOV R0, 0AH ; 给 R0 置计数器初值 MOV R1, DATA ; 数据块首址送R1 CLR A ; A清零LOOP: ADD A, R1 ; 加一个数 INC R1 ; 修改地址, 指向下一个数 DJNZ R0, LOOP ; R0 减 1, 不为零循环 MOV SUM, A ; 存 10 个数相加和124三、子程序调用与返回指令 (1) RET 指令必须作子程序的最后一条指令;RETI指令必须作中断服务程序的最后一条指令。 (2) RET指令只能恢复返回地址RETI指令除恢复断点地址外,还恢复CPU响应中断时硬件自动保
60、护的现场信息。执行RETI指令后,将清除中断响应时所置位的优先级状态触发器,使得已申请的同级或低级中断申请可以响应。1263-6布尔操作类指令 MCS-51在硬件上设置了一个独立的布尔处理器也称为位处理机有自己相应的累加器,即进位标志位CY。有自己的存储器空间,即内部RAM的位寻址区的128位和特殊功能寄存器SFR中的可位寻址的寄存器中93位。128例:将位地址20H的一位数传送到位地址30H中:MOV C,20H MOV 30H,CXX129例:使仪表蜂鸣器间断发声的程序。例:使仪表蜂鸣器间断发声的程序。 N1:CLR P2.3;BEEP响响 CALLDELAY1;延时延时 SETB P2.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住家保姆协议合同范例
- 公司担保服务合同标准文本
- 劳动合同标准文本正规
- 水暖管道系统工程预算编制与控制考核试卷
- 下店扶持合同标准文本
- 滚动轴承的知识产权保护与专利策略考核试卷
- 债务转让房产合同标准文本
- 信鸽教练聘用合同标准文本
- 2050租房合同标准文本
- 买车抵押合同标准文本
- 婚内忠诚协议书范本电子版
- 2024年安徽省初中(八年级)学业水平考试初二会考生物试卷真题
- 2024年重庆市重庆市选调生考试(公共基础知识)综合能力题库含答案
- 国开2024《人文英语4》边学边练参考答案
- 质量手册(质量保证手册,压力容器)
- 20210年中考英语复习:阅读理解信息归纳摘录考题汇编(含答案)
- 6.1 感知数字媒体技术-【中职专用】高一信息技术同步课堂(高教版2021·基础模块下册)
- MOOC 信号与系统-西安邮电大学 中国大学慕课答案
- 新疆维吾尔自治区普通高校学生转学申请(备案)表
- 二人合伙投资生意合同
- 拒绝早恋主题班会 课件(34张)2023-2024学年主题班会
评论
0/150
提交评论