单片机学习教程例课件

上传人:94****0 文档编号:193703420 上传时间:2023-03-11 格式:PPT 页数:38 大小:653KB
返回 下载 相关 举报
单片机学习教程例课件_第1页
第1页 / 共38页
单片机学习教程例课件_第2页
第2页 / 共38页
单片机学习教程例课件_第3页
第3页 / 共38页
点击查看更多>>
资源描述
例题解析例题解析MCS-51单片机内部结构单片机内部结构2.1 2.1 任务一任务一 单灯受控闪烁单灯受控闪烁2.1.1 2.1.1 硬件电路与工作原理硬件电路与工作原理2.1.2 2.1.2 控制程序控制程序2.1.3 2.1.3 源程序编辑、编译、下载源程序编辑、编译、下载2.1.4 2.1.4 相关知识相关知识返回主目录例题解析例题解析 例题解析例题解析例题解析例题解析 例题解析例题解析 例题解析例题解析ORG 0000HLJMP MAIN;跳转到;跳转到main程序位置程序位置ORG 0003H;X0中断中断CLR 20H.0RETIORG 000BH;T0中断中断LJMP DELAY MAIN:SETB 20H.0;置位;置位20HMOV TMOD,#01H;T0模式模式MOV TL0,#00H;T0初值初值MOV TH0,#4CHMOV B,#20 ;B寄存器初值寄存器初值SETB IT0;T0为边沿触发方式为边沿触发方式SETB EA;cpu开中断开中断 SETB EX0;外部中断允许;外部中断允许ORG、END等等伪指令将在核伪指令将在核心模块的单元心模块的单元三、四中详细三、四中详细讲解讲解 例题解析例题解析SETB ET0;T0中断允许中断允许SETB PX0;外部中断优先级为高;外部中断优先级为高MOV P1,#00H ;点灯;点灯 SETB TR0;T0计数允许计数允许BEGIN:JB 20H.0,SHOW;20H.0为为1转移转移MOV B,#250 SHOW:CJNE B,#00,$(5秒到)秒到)MOV A,P1 CPL A MOV P1,A ;P1取反,送出取反,送出 SJMP BEGINDELAY:MOV TL0,#00H MOV TH0,#4CH (20ms定时)定时)DJNZ B,LOOPMOV B,#20LOOP:RETIEND任务中假设单片任务中假设单片机外接的石英晶机外接的石英晶体振荡器的频率体振荡器的频率为为11.0592MHz 例题解析例题解析 1.1.打开模拟仿真软件进行程序的编辑、编译。打开模拟仿真软件进行程序的编辑、编译。1 1、正确选择单片机类型、正确选择单片机类型87518751或或80318031 2 2、正确选择编译器、正确选择编译器 3 3、选择模拟仿真功能、选择模拟仿真功能 4 4、打开或新建文件进行编辑、打开或新建文件进行编辑 5 5、编译、编译2.2.打开打开“ISPISP下载软件下载软件”将目标文件下载到将目标文件下载到ISP-4ISP-4实验开发实验开发板上的板上的AT89S51AT89S51单片机芯片,观察程序运行结果。单片机芯片,观察程序运行结果。1 1、编译成功后打开下载软件、编译成功后打开下载软件 2 2、选择好单片机、选择好单片机8989S51S51并测试并测试 3 3、打开编译生成的、打开编译生成的.BINBIN或或.HEXHEX文件文件 4 4、选择自动写完成擦除、写、读、校验过程、选择自动写完成擦除、写、读、校验过程 5 5、观看运行结果、观看运行结果例题解析例题解析 从刚才的任务中,我们看到发光二极管随着程序的运从刚才的任务中,我们看到发光二极管随着程序的运行,有规律的闪动,那么,现在我们来看看单片机是怎样行,有规律的闪动,那么,现在我们来看看单片机是怎样将程序中运行的结果送给发光二极管的。将程序中运行的结果送给发光二极管的。原来,原来,89S51单片机上有单片机上有4组组8位位I/O口:口:P0、P1、P2和和P3口,口,P1、P2和和P3为准双向口,为准双向口,P0口则为双向三态输入口则为双向三态输入输出口,他们在单片机中,主要承担了和单片机外部设备输出口,他们在单片机中,主要承担了和单片机外部设备打交道的任务,下面我们分别介绍这几个打交道的任务,下面我们分别介绍这几个I/O口:口:例题解析例题解析 P0口除了作普通口除了作普通的的I/O口,直接口,直接和外部设备打交和外部设备打交道外道外;还用作片还用作片外总线的地址总外总线的地址总线线AB0-AB7的低的低八位、数据总线。八位、数据总线。例题解析例题解析 P2口除了作普通口除了作普通的的I/O口,直接口,直接和外部设备打交和外部设备打交道外道外;还用作片还用作片外总线的地址总外总线的地址总线的高八位地址线的高八位地址线线AB8-AB15 注意:注意:P0口在作输出入口使用时,由于它无内部上拉电阻,为口在作输出入口使用时,由于它无内部上拉电阻,为了在口线上输出高电平并具有一定的驱动能力,必须外接上拉了在口线上输出高电平并具有一定的驱动能力,必须外接上拉电阻。作输入口使用时,为了防止口锁存器对输入口线的输入电阻。作输入口使用时,为了防止口锁存器对输入口线的输入信号造成影响,必须先往口锁存器写信号造成影响,必须先往口锁存器写1。同理,。同理,P2口作输入时,口作输入时,也必须先往口锁存器写也必须先往口锁存器写1。例题解析例题解析 P1口只用作普通口只用作普通输入输出口输入输出口注意:注意:和和P0、P2口一样,为防止口锁存器对输入口线造成影响,口一样,为防止口锁存器对输入口线造成影响,P1口作输入时,也必须先往口锁存器写口作输入时,也必须先往口锁存器写1。例题解析例题解析 P3口除了作普口除了作普通的通的I/O口(功口(功能和能和P1口一样)口一样)直接和外部设直接和外部设备打交道外备打交道外;还还具有第二功能。具有第二功能。P3.0 串行输入口串行输入口(RXD)P3.1串行输出口串行输出口(TXD)P3.2 外中断外中断0(INT0)P3.3 外中断外中断1(INT1)P3.5 定时定时/计数器计数器1的外部输入口的外部输入口(T1)P3.6 外部数据存储器写选通外部数据存储器写选通(WR)P3.4 定时定时/计数器计数器0的外部输入口的外部输入口(T0)P3.7 外部数据存储器读选通外部数据存储器读选通(RD)例题解析例题解析 从前面的任务中,我们还看到要控制灯闪烁,必须编制从前面的任务中,我们还看到要控制灯闪烁,必须编制程序,还必须将控制灯的相关数据预先存储,那么,在单片程序,还必须将控制灯的相关数据预先存储,那么,在单片机中的程序和数据是怎样保存的?原来,在单片机内部有程机中的程序和数据是怎样保存的?原来,在单片机内部有程序存储器和数据存储器,如果内部程序存储器和数据存储器序存储器和数据存储器,如果内部程序存储器和数据存储器的容量不够的话,还可以在单片机外部为它扩展,最大我们的容量不够的话,还可以在单片机外部为它扩展,最大我们可以将程序存储器空间总容量扩大到可以将程序存储器空间总容量扩大到64K,将数据存储器在,将数据存储器在片外再单独扩展片外再单独扩展64K,这样,以,这样,以89S51为例,数据存储器的总为例,数据存储器的总容量可达容量可达64K(片外)(片外)128字节(片内)。字节(片内)。MCS-51单片机的存储器组织结构,采用典型的哈佛结构,单片机的存储器组织结构,采用典型的哈佛结构,即程序存储器和数据存储器完全独立,拥有各自的寻址系统,即程序存储器和数据存储器完全独立,拥有各自的寻址系统,包括片内数据存储器与片外数据存储器都拥有自己独立的寻包括片内数据存储器与片外数据存储器都拥有自己独立的寻址系统。址系统。例题解析例题解析0 0F FF FF FF FH H0 0F FF FF FH H1EAROM 外外部部0EAROM 内内部部H0000 程序存储器程序存储器1000H1000HH00000 00 08 80 0H HRAM内内部部0 00 0F FF FH H能寄存器特殊功0 0F FF FF FF FH H)(外部外部K64RAM 数据存储器数据存储器H0000007FH例题解析例题解析用途:用途:存放程序及程序运行时所需的常数。存放程序及程序运行时所需的常数。寻址范围:寻址范围:00000000H FFFFH H FFFFH 容量容量6464KBKB,即地址长度:即地址长度:1616位位 1EA ,寻址内部寻址内部ROM;说明说明:当当PC值超过片内值超过片内ROM容量时会自动转向容量时会自动转向 外部存储器外部存储器空间。空间。0EA,寻址外部寻址外部ROM。EA说明说明:8031单片机单片机必须接低电平。必须接低电平。例题解析例题解析程序存储器中程序存储器中6 6个具有特殊含义的单元个具有特殊含义的单元 0000H 系统复位,系统复位,PC指向此处;指向此处;0003H 外部中断外部中断0入口入口 000BH T0溢出中断入口溢出中断入口 0013H 外中断外中断1入口入口 001BH T1溢出中断入口溢出中断入口 0023H 串口中断入口串口中断入口例题解析例题解析用途:用途:存放程序执行的中间结果和过程数据的存放程序执行的中间结果和过程数据的。物理上分为两大区域:物理上分为两大区域:00H 7FH即即128B用户用户RAM区。区。80H FFH即特殊功能寄存器区。即特殊功能寄存器区。组组通通用用寄寄存存器器区区第第0组组通通用用寄寄存存器器区区第第1组组通通用用寄寄存存器器区区第第2组组通通用用寄寄存存器器区区第第3)(位位地地址址位位寻寻址址区区FH7H00区区用用户户RAMH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7R0、R1、R2、R3、R4、R5、R6、R7即可位寻址,又可字节寻址即可位寻址,又可字节寻址数据缓冲区、堆栈区、工作数据缓冲区、堆栈区、工作单元单元例题解析例题解析位寻址区(位寻址区(20H2FH)16个字节。个字节。16*8=128位,每一位都有一个位地址,范围为:位,每一位都有一个位地址,范围为:00H7FH,位地址区也可作为一般的用户位地址区也可作为一般的用户RAM使用。使用。单单元元地地址址位位地地址址EH2FH2H20H21H77FH7H76EH7H75DH7H74CH7H73BH7H72AH7H71H79H70H78H07FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H08例题解析例题解析 寄存器寄存器 位地址位地址/位定义位定义 地址地址 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F0F0 B B F0HF0H E7E7 E6E6 E5E5 E4E4 E3E3 E2E2 E1E1 E0E0 ACCACC E0E0 D7D7 D6D6 D5D5 D4D4 D3D3 D2D2 D1D1 D0D0 PSWPSW CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV /P P D0HD0H BFBF BEBE BDBD BCBC BBBB BABA B9B9 B8B8 IPIP B8HB8H B7B7 B6B6 B5B5 B4B4 B3B3 B2B2 B1B1 B0B0 P3P3 P3.7P3.7 P3.6P3.6 P3.5P3.5 P3.P3.4 4 P3.3P3.3 P3.2P3.2 P3.1P3.1 P3.0P3.0 B0HB0H IEIE A8HA8H A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 P2P2 P2.7P2.7 P2.6P2.6 P2.5P2.5 P2.4P2.4 P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0 A0HA0H SBUFSBUF 9999H H 例题解析例题解析例题解析例题解析 程序计数器在物理上是独立的,它不属于特殊内部数据程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。存储器块中。PC是一个是一个16位的计数器,由两个八位寄存器位的计数器,由两个八位寄存器PCH和和PCL组成,用于存放一条要执行的指令地址,寻址范围为组成,用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加有自动加1功能,即完成了一条指令的执行后,其内容自功能,即完成了一条指令的执行后,其内容自动加动加1。PC本身并没有地址,因而不可寻址,用户无法对它进行本身并没有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序的执行顺序。以控制程序的执行顺序。例题解析例题解析 累加器累加器A是一个最常用的专用寄存器,大部分单操是一个最常用的专用寄存器,大部分单操作指令的一个操作数取自累加器,很多双操作数指令中作指令的一个操作数取自累加器,很多双操作数指令中的一个操作数也取自累加器。的一个操作数也取自累加器。加、减、乘、除法运算的指令,运算结果都存放于加、减、乘、除法运算的指令,运算结果都存放于累加器累加器A或寄存器或寄存器B中。中。大部分的数据操作都会通过累加器大部分的数据操作都会通过累加器A进行,它形象进行,它形象于一个数据运输中转站,在数据传送过程中,任何两个于一个数据运输中转站,在数据传送过程中,任何两个不能直接实现数据的传送单元之间,通过累加器不能直接实现数据的传送单元之间,通过累加器A中转,中转,都能送达目的。都能送达目的。例题解析例题解析 在乘除法指令中,乘法指令中的两个操作数分别取自在乘除法指令中,乘法指令中的两个操作数分别取自累加器累加器A和寄存器和寄存器B,其结果存放于,其结果存放于AB寄存器对中。除法寄存器对中。除法指令中,被除数取自累加器指令中,被除数取自累加器A,除数取自寄存器,除数取自寄存器B,结果商,结果商存放于累加器存放于累加器A,余数存放于寄存器,余数存放于寄存器B中。中。位序位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志位标志CYACF0RS1RS0OV-PCY 进位进位/借位标志;位累加器。借位标志;位累加器。AC 辅助进辅助进/借位标志;用于十进制调整。借位标志;用于十进制调整。F0 用户定义标志位;软件置位用户定义标志位;软件置位/清零。清零。OV 溢出标志;溢出标志;硬件置位硬件置位/清零。清零。P 奇偶标志;奇偶标志;A中中1的个数为奇数的个数为奇数 P=1;否则否则 P=0。例题解析例题解析 数据指针为数据指针为16位寄存器,编程时,既可以按位寄存器,编程时,既可以按16位寄存位寄存器来使用,也可以按两个器来使用,也可以按两个8位寄存器来使用,即高位字节位寄存器来使用,即高位字节寄存器寄存器DPH和低位字节和低位字节DPL。DPTR主要是用来保存主要是用来保存16位地址,当对位地址,当对64kB外部数据存外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令:条指令:MOVX A,DPTR MOVX DPTR,A 在访问程序存储器时,在访问程序存储器时,DPTR可用来作基址寄存器,可用来作基址寄存器,采用基址采用基址+变址寻址方式访问程序存储器,这条指令常用变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。于读取程序存储器内的表格数据。MOVC A,A+DPTR例题解析例题解析指明栈顶元指明栈顶元素的地址,素的地址,8位,可软件位,可软件设置初值,设置初值,复位时复位时SP=07H。例题解析例题解析 I/O口寄存器口寄存器P0、P1、P2和和P3分别是分别是MCS-51单片机的四单片机的四组组I/O口锁存器。口锁存器。MCS-51单片机中有两个单片机中有两个16位的定时位的定时/计数器计数器T0和和T1,它,它们由四个们由四个8位寄存器组成的,两个位寄存器组成的,两个16位定时位定时/计数器却是完计数器却是完全独立的。我们可以单独对这四个寄存器进行寻址,但不全独立的。我们可以单独对这四个寄存器进行寻址,但不能把能把T0和和T1当作当作16位寄存来使用。位寄存来使用。TMOD寄存器是一个专用寄存器,用于控制两个定时寄存器是一个专用寄存器,用于控制两个定时计数器的工作方式,计数器的工作方式,TMOD可以用字节传送指令设置其内可以用字节传送指令设置其内容,但不能位寻址容,但不能位寻址。例题解析例题解析 知道了单片机通过知道了单片机通过I/O口与外设打交道,也知道了单片口与外设打交道,也知道了单片机的程序与数据如何保存,到底单片机是如何运行程序的?机的程序与数据如何保存,到底单片机是如何运行程序的?原来单片机和其他微机一样,也拥有一个中央处理器原来单片机和其他微机一样,也拥有一个中央处理器(CPU)。)。例题解析例题解析 它通过单片机的内部总线,将单片机内部的各个部分:它通过单片机的内部总线,将单片机内部的各个部分:程序存储器程序存储器(ROM)、数据存储器、数据存储器(RAM)、定时、定时/计数器、并行计数器、并行接口、串行接口和中断系统等联系在一起接口、串行接口和中断系统等联系在一起。内部总线有三种内部总线有三种 数据总线:专门用来传送数据信息数据总线:专门用来传送数据信息。地址总线:专门用来传送地址信息,选中各操作单元。地址总线:专门用来传送地址信息,选中各操作单元。控制总线:专门用来传送控制总线:专门用来传送CPU各种控制命令,以便各种控制命令,以便CPU统一指挥协调工作。完成程序所要执行的各种功能。统一指挥协调工作。完成程序所要执行的各种功能。例题解析例题解析CPU执行程序一般包括两个主要过程执行程序一般包括两个主要过程 第一,就是从程序存储器中取出指令,指令的地址由第一,就是从程序存储器中取出指令,指令的地址由PC指针提供。指针提供。第二,就是执指过程,取出的指令代码首先被送到第二,就是执指过程,取出的指令代码首先被送到CPU中控制器中的指令寄存器,再通过指令译码器译码变成各中控制器中的指令寄存器,再通过指令译码器译码变成各种电信号,从而实现指令的各种功能。种电信号,从而实现指令的各种功能。执行执行 取指令取指令 分析分析 例题解析例题解析 现在我们知道了单片机怎样取指、执指,即怎样运行程现在我们知道了单片机怎样取指、执指,即怎样运行程序了。那么怎样才能保证序了。那么怎样才能保证CPU有序的工作?这就必须提到单有序的工作?这就必须提到单片机的两个非常重要的外围电路:单片机的时钟电路和复位片机的两个非常重要的外围电路:单片机的时钟电路和复位电路。电路。Pin19:时钟时钟XTAL1脚,片脚,片内振荡电路的输内振荡电路的输入端。入端。Pin18:时钟时钟XTAL2脚,片脚,片内振荡电路的输内振荡电路的输出端。出端。例题解析例题解析【振荡周期振荡周期】:单片机外接石英晶体振荡器的周期。如外:单片机外接石英晶体振荡器的周期。如外接石英晶体的频率若为接石英晶体的频率若为12MHz,这其振荡周期就是,这其振荡周期就是1/12微微秒。秒。【状态周期状态周期】:单片机完成一个最基本的动作所需的时间:单片机完成一个最基本的动作所需的时间周期。如扫描一次定时器周期。如扫描一次定时器T0引脚状态所需要的时间。一个引脚状态所需要的时间。一个状态周期状态周期2个振荡周期。个振荡周期。【机器周期机器周期】:单片机完成一次完整的具有一定功能的动:单片机完成一次完整的具有一定功能的动作所需的时间周期。如一次完整的读操作或写操作对应的作所需的时间周期。如一次完整的读操作或写操作对应的时间。一个机器周期时间。一个机器周期6个状态周期。个状态周期。【指令周期指令周期】:执行完某条指令所需要的时间周期,一般执行完某条指令所需要的时间周期,一般需要需要14个机器周期,如个机器周期,如MUL AB指令是四机器周期指令。指令是四机器周期指令。一个指令周期一个指令周期14个机器周期。个机器周期。例题解析例题解析ALE2S6S2S6S3S4S5S3S4S5S1S1S一个机器周期一个机器周期P1 P2P1 P22S1S6S1S单字节单周期指令例:INC A读操作码读操作码)读下一个操作码(丢弃读下一个操作码(丢弃3S4S5S单周期单字节指令时序单周期单字节指令时序例题解析例题解析 单片机工作时,除了需要时钟支持外,还必须有一个初单片机工作时,除了需要时钟支持外,还必须有一个初始状态,即单片机的复位状态。复位不改变始状态,即单片机的复位状态。复位不改变RAM(包括工(包括工作寄存器作寄存器R0-R7)的状态,)的状态,89S51的初始态如下表:的初始态如下表:Pin9:RESET复位复位信号脚,当信号脚,当89S51通通电,时钟电路开始电,时钟电路开始工作,在工作,在RESET引引脚上出现脚上出现24个时钟个时钟周期以上的高电平,周期以上的高电平,系统即初始复位。系统即初始复位。例题解析例题解析特殊功能寄存器特殊功能寄存器初始态初始态特殊功能寄存器特殊功能寄存器初始态初始态ACC00HB00HPSW00HSP07HDPH00HTH000HDPL00HTL000HIPxxx00000BTH100HIE0 xx00000BTL100HTMOD00HTCON00HSCONxxxxxxxxBSBUF00HP0-P31111111BPCON0 xxxxxxxB例题解析例题解析 在前面的任务中,我们还看到一个现象,只要按一下在前面的任务中,我们还看到一个现象,只要按一下S1键,发光管的闪动就停止键,发光管的闪动就停止5秒,这就相当于打断了原来既秒,这就相当于打断了原来既定的工作,等到定的工作,等到5秒延时一到,又恢复原来的工作。这就象秒延时一到,又恢复原来的工作。这就象我们平时通常所说的我们平时通常所说的“中断中断”。单片机中也有中断系统,。单片机中也有中断系统,它有它有5个中断源,它们能打断单片机原来的工作,直到中断个中断源,它们能打断单片机原来的工作,直到中断结束才能继续原来的工作。我们将在单元五中详细阐述。结束才能继续原来的工作。我们将在单元五中详细阐述。在前面的任务中,灯有规律的闪动和按键停在前面的任务中,灯有规律的闪动和按键停5秒,都离秒,都离不开时间。那么,这个时间我们在前面的程序中是怎样得不开时间。那么,这个时间我们在前面的程序中是怎样得到的?原来,在到的?原来,在89S51单片机中有两个定时器单片机中有两个定时器T0、T1,我,我们在前面也已经提到了,它在单片机中能够实现定时或计们在前面也已经提到了,它在单片机中能够实现定时或计数功能。详细的用法,在单元五进行讲解。数功能。详细的用法,在单元五进行讲解。例题解析例题解析 通过本次任务的分析,我们基本上知道通过本次任务的分析,我们基本上知道MCS-51单片机的单片机的结构,它由结构,它由CPU、程序存储器、数据存储器、并行输入输出、程序存储器、数据存储器、并行输入输出口、定时计数器、中断系统等构成,当然除了本次任务用到口、定时计数器、中断系统等构成,当然除了本次任务用到的以上资源外,的以上资源外,51单片机还有一个串行通讯口。单片机还有一个串行通讯口。单片机的引脚除了我们前面介绍的单片机的引脚除了我们前面介绍的4个并个并I/O口,两根时钟口,两根时钟引脚(引脚(18、19脚),一根复位引脚(脚),一根复位引脚(9脚),两根电源脚(脚),两根电源脚(40、20脚)外,还有以下一些引脚。脚)外,还有以下一些引脚。例题解析例题解析外部程序存储外部程序存储器读选通信号器读选通信号地址锁存信号地址锁存信号输出端输出端1/6fosc
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!