




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学好单片机的步骤学好单片机的步骤2.2.利用学习板或实验箱练习编写程序,利用学习板或实验箱练习编写程序,学单片机先学单片机先要从编程序开始,遇到不会的再问或查书要从编程序开始,遇到不会的再问或查书( (这时你这时你才会真正理解书中所讲的内容才会真正理解书中所讲的内容) )。 3.3.在网上搜索些资料在网上搜索些资料练习单片机外围电路设计练习单片机外围电路设计。焊。焊好后自己调试,熟悉硬件设计过程。好后自己调试,熟悉硬件设计过程。 1.1.通过教材和参考书大概通过教材和参考书大概了解单片机的基本结构,了解单片机的基本结构,大概了解就行,具体细节先不用深究。大概了解就行,具体细节先不用深究。 4.
2、4. 自己设计具有特定功能的产品,这时你已经是自己设计具有特定功能的产品,这时你已经是高手了。高手了。要相信自己要相信自己! !第第1 1章章 5151第第2 2章章 第第3 3章章 第第4 4章章 第第5 5章章 第第6 6章章 第第7 7章章 5151单片机的扩展技术单片机的扩展技术 第第8 8章章 单片机的典型外围接口技术单片机的典型外围接口技术课堂授课内容课堂授课内容第一章第一章 5151单片机的基本结构与工作原理单片机的基本结构与工作原理本章重点:本章重点:单片机的概念及其内部结构(掌握)单片机的概念及其内部结构(掌握)5151单片机的存储器结构单片机的存储器结构特殊功能寄存器特殊功
3、能寄存器SFR SFR 5151单片机的引脚及功能单片机的引脚及功能 输入输出端口结构及负载能力和接口要求输入输出端口结构及负载能力和接口要求一、单片机的基本概念一、单片机的基本概念微型计算机微型计算机一个电路板主要外设主要外设主板与主板与CPU运 算 器控 制 器CPU存 储 器输输入入接接口口电路电路输输入入设设备备输输出出设设备备输输出出接接口口电路电路硬件系统软软件件系系统统+运 算 器控 制 器CPU存 储 器输输入入接接口口电电路路输输入入设设备备输输出出设设备备输输出出接接口口电电路路硬件系统CPU输输入入设设备备输输出出设设备备软软件件系系统统+硬件系统输输入入接接口口设设备备
4、输输出出接接口口设设备备运 算 器控 制 器存 储 器l单片机,即单片微型计算机(Single-chip computer ,SCM ),是将CPU、存储器(RAM、ROM) 、I/O接口电路、定时器/计数器、中断控制器等组成微型计算机的主要功能部件,全部集成在一块芯片中,构成一个完整的微型计算机。 C P U 存 储 器定 时 器 / 计 数 器 中 断 系 统P0-P3TxDRxD TINT并行I/O口串行I/O口单片机应用系统单片机应用系统单单片片机机接口接口电路电路及外及外设等设等单片机应用系统由单片机应用系统由硬件硬件和和软件软件组组成成硬件是硬件是应用系统的基础应用系统的基础软件是
5、在硬件的基础上软件是在硬件的基础上对其资源对其资源进行合理调配和使用进行合理调配和使用,从而完成,从而完成应用系统所要求的任务,二者相应用系统所要求的任务,二者相互依赖,缺一不可互依赖,缺一不可51单片机基本特性8 8 位的位的 CPUCPU, 片内有振荡器和时钟电路片内有振荡器和时钟电路, ,工作频率为工作频率为 1 112MHz12MHz(Atmel 89CxxAtmel 89Cxx为为0 024MHz24MHz)片内有片内有 128/256128/256字节字节 RAMRAM片内有片内有 4K/8K4K/8K字节字节 程序存储器程序存储器ROMROM可寻址片外可寻址片外 64K64K字节
6、字节 数据存储器数据存储器RAMRAM可寻址片外可寻址片外 64K64K字节字节 程序存储器程序存储器ROMROM片内片内 21/2621/26个个 特殊功能寄存器特殊功能寄存器(SFRSFR)4 4个个8 8位位 的并行的并行I/OI/O口口(PIOPIO)1 1个个 全双工串行口全双工串行口(SIO/UARTSIO/UART)2/32/3个个1616位位 定时器定时器/ /计数器计数器(TIMER/COUNTERTIMER/COUNTER)可处理可处理 5/65/6个个中断源,中断源,两级两级中断优先级中断优先级内置内置1 1个个布尔处理器布尔处理器和和1 1个个布尔累加器布尔累加器(Cy
7、Cy)5151指令集含指令集含 111111条指令条指令家用电器;家用电器;工业过程控制;工业过程控制;仪器仪表;仪器仪表;智能接口;智能接口; 航空、汽车等领域。航空、汽车等领域。二、单片机的应用二、单片机的应用单片机技术的应用遍布国民经济与人民生活的各个领域三、三、CPUl主要功能:主要功能:产生各种控制信号,去控制存储器、输入输出端产生各种控制信号,去控制存储器、输入输出端口的数据传送、数据的算术运算、逻辑运算以及位操作处理等。口的数据传送、数据的算术运算、逻辑运算以及位操作处理等。 (一一)运算器运算器 组成:运算器由算逻运算部件组成:运算器由算逻运算部件ALU、累加器、累加器Acc、
8、暂存器、程序、暂存器、程序状态字寄存器状态字寄存器PSW、BCD码运算调整电路等组成码运算调整电路等组成 。实现。实现+、算术运算,与、或、非、异或算术运算,与、或、非、异或 逻辑运算、循环移位、位处理。逻辑运算、循环移位、位处理。(二二)控制器控制器组成:组成:由程序计数器由程序计数器PC、指令寄存器、指令译码器、数据指、指令寄存器、指令译码器、数据指针针DPTR、定时控制与条件转移逻辑电路等组成。、定时控制与条件转移逻辑电路等组成。功能:功能:对来自存储器中的指令进行译码,通过定时控制电路,对来自存储器中的指令进行译码,通过定时控制电路,在规定的时刻发出各种操作所需的全部内部和外部控制信号
9、,在规定的时刻发出各种操作所需的全部内部和外部控制信号,协调各功能元件的工作,完成指令所规定的功能。协调各功能元件的工作,完成指令所规定的功能。 特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器计数器一切一切分支分支/ /跳转跳转/ /调用调用/ /中断中断/ /复位复位 等操作的等操作的本质本质就是就是: :改变改变 PC PC 值值总指向下一条指令所在首地址总指向下一条指令所在首地址( (当前当前PCPC值值) ) 1程序计数器程序计数器PC(Program Counter) 一个一个16位的专用寄存器,用来存放下一条指令的地址。位的专用寄存器,用来存放下一
10、条指令的地址。它具有自动加它具有自动加1的功能。的功能。 2指令寄存器指令寄存器 一个一个8位的寄存器,用于暂存待执行的指令,等待译码。位的寄存器,用于暂存待执行的指令,等待译码。3指令译码器指令译码器 对指令寄存器中的指令进行译码,分析它的功能,并根对指令寄存器中的指令进行译码,分析它的功能,并根据功能产生相应的电信号。据功能产生相应的电信号。4数据指针数据指针DPTR 是一个是一个16位的位的专用地址指针寄存器。它主要用来存放专用地址指针寄存器。它主要用来存放16位位地址,作间址寄存器使用。地址,作间址寄存器使用。DPTR也可以拆成两个独立也可以拆成两个独立8位寄位寄存器,即存器,即DPH
11、(高高8位字节位字节)和和DPL(低低8位字节位字节),分别占据,分别占据83H和和82H两个地址。两个地址。5.定时控制部件与时序定时控制部件与时序 功能:功能:在规定的时刻发出各种操作所需的全部内部和外部在规定的时刻发出各种操作所需的全部内部和外部的控制信号,协调各功能元件工作,完成指令所规定的功的控制信号,协调各功能元件工作,完成指令所规定的功能。能。主要任务:主要任务:产生一个工作时序,其工作需要时钟电路提供产生一个工作时序,其工作需要时钟电路提供一个工作频率。一个工作频率。 第二节 51单片机的存储器结构51单片机单片机的存储器空间分布的存储器空间分布特点:特点:在在51单片机的内部
12、集成了单片机的内部集成了4K/8K程序存储器程序存储器和和256B数据存储器数据存储器,同时还可以使用片外的程序存,同时还可以使用片外的程序存储器和数据存储器,储器和数据存储器,其扩展能力都是其扩展能力都是64K。从从物理结构物理结构的角度讲,的角度讲,51单片机的存储系统可以单片机的存储系统可以分为四个存储空间:分为四个存储空间:即片内即片内ROM,RAM和片外和片外ROM、RAM。从从逻辑上逻辑上讲(即用户编程的角度讲)讲(即用户编程的角度讲)51单片机的单片机的存储系统又可分为存储系统又可分为三个存储空间三个存储空间。即片内即片内RAM,片外片外RAM和片内、外的程序存储器和片内、外的程
13、序存储器ROM。FFFFH0000H可寻址可寻址片外片外RAMRAM 64K字节字节7FH00H片内片内 RAMRAM 128字节字节FFH80H 数据存储器数据存储器FFFFH0000H可寻址可寻址片外片外ROMROM 64K字节字节FFFH000H片内片内 ROMROM4K 字节字节 程序存储器程序存储器51单片机的内存结构单片机的内存结构物理上分为:物理上分为:4个空间,即片内个空间,即片内ROM、片外、片外ROM 片内片内RAM、片外、片外RAM逻辑上分为逻辑上分为: : 3个空间,个空间, 即程序内存(片内、外)统一编址即程序内存(片内、外)统一编址 MOVC 数据存储器(片内)数据
14、存储器(片内) MOV 数据存储器(片外)数据存储器(片外) MOVX程序存储器程序存储器寻址范围:寻址范围:0000H FFFFH 容量容量64KB,即即地址长度:地址长度:16位位 1EA ,寻址内部,寻址内部ROM;0EA ,寻址外部,寻址外部ROM。 当当PC值超过片内值超过片内ROM容量时会自动转向容量时会自动转向 外部存储器空间。外部存储器空间。作作 用:用: 存放程序及程序运行时所需的常数。存放程序及程序运行时所需的常数。 0000H 系统复位,系统复位,PC指向此处指向此处 0003H 外部中断外部中断0入口入口 000BH T0溢出中断入口溢出中断入口 0013H 外中断外中
15、断1入口入口 001BH T1溢出中断入口溢出中断入口 0023H 串口中断入口串口中断入口 002BH T2溢出中断入口溢出中断入口 注意:注意: 7个单元被保留用于特定的程序入口地址(中个单元被保留用于特定的程序入口地址(中断服务程序入口地址)。编程者是不能随便使用的。断服务程序入口地址)。编程者是不能随便使用的。由于系统复位后的由于系统复位后的PC内容为内容为0000H,故系统,故系统从从0000H单元开始取指令,执行程序。它是系统的单元开始取指令,执行程序。它是系统的启动地址。一般在该单元设置启动地址。一般在该单元设置转移指令转移指令,使之转向,使之转向用户主程序处。因此,用户主程序处
16、。因此,0000H0002H单元被保留单元被保留用于用于初始化初始化。51单片机存储器配置(片内RAM)片内片内RAMRAM 128 128字节(字节(0000H7FHH7FH);); 片内片内RAMRAM前前3232个单元是工作寄存器区个单元是工作寄存器区(00(00H1FH)H1FH) 片内片内RAMRAM有有128128个可按位寻址的位,占个可按位寻址的位,占1616个单元。个单元。 位地址编号为:位地址编号为:00H7FH00H7FH,分布在,分布在20H2FH20H2FH单元单元片内片内2121个特殊功能寄存器个特殊功能寄存器( (SFRSFR) )中:地址号能被中:地址号能被8 8
17、整除整除的的 SFRSFR中的各位中的各位也可也可按位寻址按位寻址可寻址片外可寻址片外RAMRAM 64K 64K字节字节 (00000000HFFFFHHFFFFH)存储器配置(片内RAM)片内片内RAMRAM 128128字节字节(0000H H7FH7FH)0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址8080H HFFHFFH所有的所有的RAMRAM区区( (包括包括位位寻址区、工作寄存器寻址区、工作寄存
18、器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器片内片内RAMRAM前前3232个单元是个单元是工作寄存器区工作寄存器区 (00(00H H1FH)1FH)0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区存储器配置(片内RAM)0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H
19、00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区00FH10H17H18H片内片内RAMRAM前前3232个单元是个单元是工作寄存器区工作寄存器区 (00(00H H1FH)1FH)存储器配置(片内RAM)0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :0000H H7FH 7FH 分布在分布
20、在: :2020H H2FH2FH单元单元存储器配置(片内RAM)0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 3
21、4 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :0000H H7FH 7FH 分布在分布在: :2020H H2FH2FH单元单元存储器配置(片内RAM)特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器SFRSFR(专用寄存器)(专用寄存器) 特殊用途寄存器的集合。特殊用途寄存器的集合。专用于专用于控制、选择、管控制、选择、
22、管理、存放理、存放单片机内部各部分的工作单片机内部各部分的工作方式、条件、状方式、条件、状态、结果态、结果的寄存器的寄存器。不同的不同的SFRSFR管理不同的硬件模块,负责不同的功管理不同的硬件模块,负责不同的功能能各司其职各司其职换言之:要让单片机实现预订的功能,必须有相应换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,的硬件和软件,而软件中最重要的一项工作就是对而软件中最重要的一项工作就是对SFRSFR写命令(要求)写命令(要求)。特殊功能寄存器不能特殊功能寄存器不能作为作为普通的普通的RAMRAM存储单元来使用。存储单元来使用。只只有在编程中根据需要,进行一些特定功能的设定,或
23、者是从有在编程中根据需要,进行一些特定功能的设定,或者是从中查寻相关部件的状态时,才能进行读、写操作。中查寻相关部件的状态时,才能进行读、写操作。如中断方如中断方式的设定、定时器工作模式的设定,查询串行口发送或接收式的设定、定时器工作模式的设定,查询串行口发送或接收是否结束等等。是否结束等等。有有2121个个SFRSFR 已知的已知的P0P0、P1P1、P2P2、P3P3等四个等四个8 8位位I/OI/O口口分别由名为分别由名为P0P0、P1P1、P2P2、P3P3四个四个SFRSFR代表。代表。堆栈指针寄存器堆栈指针寄存器 SPSP(Stack Pointer): Stack Pointer
24、): 总是指总是指向栈顶向栈顶, ,压栈时先压栈时先 (SP)+1 (SP)+1 然后数据进栈;弹栈然后数据进栈;弹栈时数据先出栈时数据先出栈 然后然后( (SP)-1SP)-1。累加器累加器 ACC:ACC:一个被众多指令用得最频繁的特殊一个被众多指令用得最频繁的特殊功能寄存器功能寄存器( (如:运算、数据传输如:运算、数据传输) )。副累加器副累加器 B B: :一个经常与一个经常与 ACCACC 配合在一起使用的配合在一起使用的特殊功能寄存器特殊功能寄存器( (如:乘法、除法如:乘法、除法) ),此外,它也,此外,它也经常当作普通寄存器使用。经常当作普通寄存器使用。特殊功能寄存器(P0P
25、3,SP,A,B)程序状态字寄存器程序状态字寄存器 PSWPSW:CYACF0RS0OVPRS1PSW.7PSW.0CYCY(PSW.7)(PSW.7)进位进位/ /借位标志位借位标志位。若在加减运算过程中如果。若在加减运算过程中如果操作结果最高位有进位或借位,则操作结果最高位有进位或借位,则CY=1CY=1;否则;否则=0=0。它也。它也是是布尔处理器布尔处理器的的位累加器位累加器,可用于布尔操作。,可用于布尔操作。ACAC(PSW.6)(PSW.6)半进位半进位/ /借位标志位。借位标志位。若在加减运算若在加减运算过程中,过程中,D3D3位向位向D4D4位发生了进位或借位,则位发生了进位或
26、借位,则AC=1,AC=1,否则否则=0=0。机器在执行。机器在执行“DA ADA A”指令时指令时自自动动要判断这一位,我们可以暂时不关心它。要判断这一位,我们可以暂时不关心它。F0 F0 (PSW.5)(PSW.5)可由用户定义的标志位。可由用户定义的标志位。PSW.6 PSW.5特殊功能寄存器(PSW)程序状态字寄存器程序状态字寄存器 PSWPSW(续)(续):CYACF0RS0OVPRS1PSW.7PSW.0RS1RS1(PSW.4)(PSW.4)、RS0RS0(PSW.3)(PSW.3)工作寄存器组选择位工作寄存器组选择位。RS1RS1,RS0 = 0 1 RS0 = 0 1 则选择
27、了工作寄存器组则选择了工作寄存器组 1 1 区区R0R0R7R7分别分别代表代表08H 08H 0FH0FH单元。单元。RS1RS1,RS0 = 1 0 RS0 = 1 0 则选择了工作寄存器组则选择了工作寄存器组 2 2 区区 R0R0R7R7分别分别代表代表10H 10H 17H17H单元。单元。RS1RS1,RS0 = 1 1 RS0 = 1 1 则选择了工作寄存器组则选择了工作寄存器组 3 3 区区R0R0R7R7分别分别代表代表18H 18H 1FH1FH单元。单元。PSW.4 PSW.3RS1RS1,RS0 = 0 0 RS0 = 0 0 则选择了工作寄存器组则选择了工作寄存器组
28、0 0 区区R0R0R7R7分别分别代表代表00H 00H 07H07H单元。单元。片内片内RAMRAM前前3232个单元个单元(00(00H H1FH)1FH)是工作寄存器区是工作寄存器区 ( (由由PSWPSW中的中的RS1,RS0RS1,RS0决定决定) )0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄
29、存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区0 程序状态字寄存器程序状态字寄存器 PSWPSW(续)(续):CYACF0RS0OVPRS1PSW.7PSW.0OV OV (PSW.2)(PSW.2)溢出标志位。溢出标志位。 OV(PSW.2) OV(PSW.2) 溢出标志位溢出标志位: : 判断符号数加减法运算判断符号数加减法运算时是否有溢出时是否有溢出. OV. OV的结果可以用一个算法来表示的结果可以用一个算法来表示: : OV=C6OV=C6异或异或C7C7 其中其中: C7: C7为为D7D7的进借位的进借位, C6 , C6 为为D6D6的进借位的进借位,OV=1,OV
30、=1表明有溢出。表明有溢出。PSW.1 PSW.1 未定义未定义。P P (PSW.0)(PSW.0)奇偶标志位。奇偶标志位。 P=1P=1表示累加器中表示累加器中“1”1”的个数的个数为奇数为奇数 P=0P=0表示累加器中表示累加器中“1”1”的个数的个数为偶数为偶数 CPUCPU随时监视着随时监视着ACCACC中的中的“1”1”的个数的个数, ,并反映在并反映在PSWPSW中中PSW.2PSW.1【举例举例】:有两个数:有两个数0FH和和F8H,试将两数相加,试将两数相加 MOV A,#0FH ;将立即数;将立即数0f h 送累加器送累加器A ADD A,#0F 8H ;A的内容与立即数的
31、内容与立即数0f8h相加,结果送相加,结果送A 0000 1111 运算结果:运算结果:A=07H,CY=1, + 1111 1000 OV=0(因为(因为C7 =1, C6 =1) Cy1 0000 0111 AC=1,P=1 如何根据如何根据PSW来分析运算结果是否正确?是否有溢出?来分析运算结果是否正确?是否有溢出? 1、若数据为无符号数。即、若数据为无符号数。即15+248=263=107H 既既CY=1,A=07H。 2、若数据为有符号数。即、若数据为有符号数。即+15 +(-8)=+7=07H,OV=0表明无溢出表明无溢出堆栈: 在在片内片内RAMRAM中,常常要指定一个专门的区域
32、来存放某些中,常常要指定一个专门的区域来存放某些特别的特别的数据数据, ,它遵循它遵循顺序存取顺序存取和和后进先出后进先出( (LIFO/FILOLIFO/FILO)的的原则原则, ,这个这个RAMRAM区区叫叫堆栈堆栈。功用功用:1 1)子程序调用)子程序调用和和中断服务中断服务时时CPUCPU自动将当前自动将当前PCPC 值值压栈保存,返回时自动将压栈保存,返回时自动将PCPC值弹栈。值弹栈。2 2)保护现场)保护现场/ /恢复现场恢复现场3 3)数据传输)数据传输0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH普通普通RAM区区位寻
33、址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存放在此初始初始 SP复位后复位后 SP=07HSP=07H,数据进栈时:数据进栈时:首先首先SP+1SP+1指向指向08H08H单元,第一个放进堆栈单元,第一个放进堆栈的数据将放进的数据将放进08H08H单元,然后单元,然后SPSP再自再自动增动增 1 1,仍指着栈顶,仍指着栈顶堆栈区由特殊功能寄存器堆栈区由特殊功能寄存器堆栈指针堆栈指针SPSP管理管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安
34、排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。SFR从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶0000H H2020H H2FH2FH7FH7FH1FH1FH3030H H8080H HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区 SP栈顶栈顶当前要出栈的数据当前要出栈的数据数据数
35、据出栈出栈SP-1指向下一个指向下一个将要出栈的数据将要出栈的数据初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。从堆栈取出数据时从堆栈取出数据时:取出的数据是取出的数据是最近放进去的一个数据,也就是当最近放进去的一个数据,也就是当前栈顶的数据。然后前栈顶的数据。然后SPSP再自动减再自动减1 1,仍指着栈顶仍指着栈顶0000H H2020H H2FH2FH7FH7
36、FH1FH1FH3030H H8080H HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SP-1 指向新的栈指向新的栈顶顶,也就是下一个也就是下一个将要出栈的数据将要出栈的数据数据数据出栈出栈初始初始 SP堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在堆栈区可以安排在 RAMRAM区任意位置,一般不安排在区任意位置,一般不安排在工作寄存器区和可按位寻址的工作寄存器区和可按位寻址的RAMRAM区,通常区,通常放在放在RAMRAM区的区的靠后靠后的位置。的位置。5151单片机的片内单片机的片内 、片外数据存储器示意图、片外数
37、据存储器示意图特殊功能寄存器SFR通用数据存储器80H7FH00HFFH片内数据存储器 片外数据存储器256B个字节 64KB个字节片外数据存储器64KB0000HFFFFH注意:1,访问片内访问片内RAM20H存储单元;存储单元;MOV A,20H2,访问片外访问片外RAM存储单元;存储单元; MOV R0,#20hMOVX A,R03,尽管片内与片外的尽管片内与片外的RAM单元单元 的的00H-FFH地址相重叠但由地址相重叠但由于指令的不同不会发生地址于指令的不同不会发生地址混乱。混乱。单片机的引脚定义从一片集成电路的角度去认识单片机认识单片机的引脚MCS-51MCS-51单片机单片机40
38、40脚脚VccVcc, , GNDGND 2 2XTAL1XTAL1, , XTAL2XTAL2 2 2RESETRESET 1 1EAEA/Vpp/Vpp 1 1ALEALE/PROG /PROG 1 1PSENPSEN 1 1P0.0P0.0P0.7 P0.7 8 8 P1.0P1.0P1.7 P1.7 8 8 P2.0P2.0P2.7 P2.7 8 8 P3.0P3.0P3.7 P3.7 8 8单片机的引脚(电源端)VccVcc, GND, GND: : 正电源端与接地端(正电源端与接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)不同的单不同的单片机可以允许不同的工作电压
39、,不同的单片机表现出的功片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。耗也不同。单片机的引脚(晶振端)VccVcc, GND: , GND: 正电源端与接地端(正电源端与接地端(+5V/3.3V/2.7V)+5V/3.3V/2.7V)不同的单不同的单片机可以允许不同的工作电压,不同的单片机表现出的功片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。耗也不同。XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入片内振荡电路输入/ /输出端输出端单片机的引脚(晶振端)VccVcc, GND:, GND:正电源端与接地端正电源端与接地端 (+5(+5V/3
40、.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入片内振荡电路输入/ /输出端输出端10103030pfpfx2x2XTAL1XTAL1XTAL2XTAL2通常通常外接一个外接一个晶振两个电容晶振两个电容XTAL2XTAL2XTAL1XTAL1外部时钟外部时钟NC单片机的引脚(晶振端)VccVcc, GND:, GND:正电源端与接地端(正电源端与接地端(+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端CPUCPU总是按
41、照一定的时钟节拍与时序工作:总是按照一定的时钟节拍与时序工作:振荡周期振荡周期/ /时钟周期:时钟周期: 晶振频率晶振频率foscfosc(或外加频率)的倒数(或外加频率)的倒数状态周期:状态周期:2 2个时钟周期个时钟周期(很少用到此概念)(很少用到此概念)机器周期:机器周期:6 6个状态周期个状态周期= =1212个振荡周期个振荡周期指令周期指令周期: : 执行一条指令所需的机器周期数执行一条指令所需的机器周期数牢牢记住牢牢记住: 振荡周期振荡周期 = = 晶振频率晶振频率foscfosc的倒数;的倒数; 1 1个机器周期个机器周期 = 12= 12个振荡周期;个振荡周期; 1 1个指令周
42、期个指令周期 = 1= 1、2 2、4 4个机器周期个机器周期单片机的引脚(复位端)VccVcc, GND: , GND: 电源端电源端 (+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端RESET: RESET: 复位端(正脉冲有效,宽度复位端(正脉冲有效,宽度 2 2个机器周期)个机器周期)复位使单片机进入某种确定的复位使单片机进入某种确定的初始状态初始状态: PC PC值归零(值归零(0000H0000H);); 各个各个SFRSFR被赋予初始值:被赋予初始值: P0P0P3
43、= 0FFHP3 = 0FFH,Acc = 0Acc = 0,B = 0B = 0,TH0=0TH0=0,TL0=0TL0=0,TH1=0TH1=0,TL1=0TL1=0,SP=7SP=7,PSW=0 PSW=0 退出处于节电工作方式的停顿状态、退出一切退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,程序进程、退出程序的死循环,从头开始从头开始。单片机的引脚(复位端)VccVcc, GND: , GND: 电源端电源端 (+5V/3.3V/2.7V)+5V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、
44、输出端RESET: RESET: 复位端(正脉冲有效复位端(正脉冲有效)PC与SFR复位状态表寄存器复位状态寄存器复位状态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H单片机的引脚(复位端)+5V10uF10KVccRSTGND上电复位上电复位10uF10KVccRSTGND手动手动&上电复位上电复位1KVccVcc, GND: , GND: 电源端电源端 (+
45、5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端RESET: RESET: 复位端复位端 (正脉冲有效,持续两个机器周期高电平(正脉冲有效,持续两个机器周期高电平)+5V单片机的引脚(EA端)VccVcc, GND: , GND: 电源端电源端 (+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输出端RESET: RESET: 复位端复位端 (正脉冲有效,宽度(正脉冲有效,宽度 8
46、 8 mSmS)EA/VppEA/Vpp: : 寻址外部寻址外部ROMROM控制端控制端/ /编程电源输入端。编程电源输入端。 低电平有效低电平有效,片内,片内无无ROMROM时时必须必须接地接地; 片内片内有有ROMROM时时可以可以接高电平接高电平, 也可以也可以接低电平接低电平; 对片内对片内ROMROM编程时编程正电源加到此端。编程时编程正电源加到此端。单片机的引脚(ALE端)VccVcc, GND: , GND: 电源端电源端 (+5+5V/3.3V/2.7V)V/3.3V/2.7V)XTAL1, XTAL2: XTAL1, XTAL2: 片内振荡电路输入、输出端片内振荡电路输入、输
47、出端RESET: RESET: 复位端复位端 (正脉冲有效,宽度(正脉冲有效,宽度 8 8 mSmS)EA/VppEA/Vpp: : 寻址外部寻址外部ROMROM控制端控制端/ /编程电源输入端。编程电源输入端。ALE/PROG: ALE/PROG: 地址锁存允许地址锁存允许/ /编程脉冲输入端。编程脉冲输入端。 P0P0口寻址外部低口寻址外部低8 8位地址位地址时时接外部锁存器接外部锁存器G G端;端; ALEALE端端平时会输出周期正脉冲平时会输出周期正脉冲:f f fosc/6fosc/6 ; 对片内对片内ROMROM编程时编程脉冲由此端加入。编程时编程脉冲由此端加入。 单片机的引脚(P
48、SEN端)PSENPSEN:寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部EPROMEPROM的的 读控制端读控制端(OEOE)低有效。低有效。单片机单片机锁存器锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM单片机的引脚(PSEN端)PSENPSEN:寻址外部程序存储器时选通外部寻址外部程序存储器时选通外部EPROMEPROM的的 读控制端读控制端(OEOE)低有效。低有效。单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同特点:特点:4个并行个并行I/O口口:P0,P1,P2,P
49、3 均可作为准双向均可作为准双向I/O口使用;口使用;P0口口:访问片外扩展存储器时,复:访问片外扩展存储器时,复用为用为低低8位地址线和数据线位地址线和数据线;P2口口:高高8位地址线位地址线;P1口:双向口:双向I/O口;口;P3口:第二功能口。口:第二功能口。单片机的引脚(P1口)P1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口口(内置内置了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻
50、内部上拉电阻21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 1 时时110截截止止=1单片机的引脚(P1口)P1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口口(内置内置了上拉电阻)了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输出出数据数据 = 0 时时001=0导导通通单片机的引脚(P1口)P
51、1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口(口(内置内置了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要先对其用时要先对其 写写“1 1”。21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线Vcc引脚引脚P1.X内部上拉电阻内部上拉电阻输输入入数据时,要先对其写数据时,要先对其写“1”110截截止止单片机的引脚单片机的引脚(P1P1口)口)P1.0P1.0P1.7: P1.7: 准双向准双向I/OI/O口(口(内置内置了上拉电阻了上拉电阻) 输出时一切照常,输出时一切照常,仅在作仅在作输入口输入口用时要
52、先对其用时要先对其 写写“1 1”。简单测控实例原理图P1.3作输入端口光路通畅,光路通畅,R亮亮 2K 光路阻断,光路阻断,R暗暗 400K R亮亮 250K JOB3: CLR P1.1 ;JOB3: CLR P1.1 ;亮绿灯亮绿灯REDO: REDO: SETB P1.3SETB P1.3 ;P1.3;P1.3作输入口必先置作输入口必先置1 1CHECK:JNB P1.3,CHECK ;CHECK:JNB P1.3,CHECK ;检测检测通道是否被阻断?通道是否被阻断?LOOP: LOOP: ; ;有入侵者,有入侵者,报警!报警!AJMP REDO ;AJMP REDO ;再跳回去检测
53、再跳回去检测红外防盗报警红外防盗报警P1.3P1.3口口用于输入状态检测的用于输入状态检测的语句语句: 红外线光路通畅时,红外线光路通畅时,P1.3P1.3端端低电平低电平红外线光路阻断时,红外线光路阻断时,P1.3P1.3端端高电平高电平单片机的引脚(P0口)P0.0P0.0P0.7: P0.7: 准双向准双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部存储器时寻址外部存储器时分时分时作为作为双向双向8 8位数据口位数据口和和输出低输出低8 8位位地址地址复用口复用口;不接存储器时可不接存储器时可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q
54、读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34Vcc21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制引脚引脚P0.X34控制控制=0 时时,此脚作,此脚作输入口输入口(事先必须对它写(事先必须对它写“1”)00100截截止止截截止止=0Vcc单片机的引脚(P0口)P0.0P0.0P0.7: P0.7: 准双向准双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部存储器寻址外部存储器时分时作为时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位
55、位地址地址复用口;不接外部存储器时可作为复用口;不接外部存储器时可作为8 8位位准双向准双向I/OI/O口口使使用。用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(1)输出地址输出地址/数据数据 =0 时时1011=0导导通通截截止止=0Vcc单片机的引脚(P0口)P0.0P0.0P0.7: P0.7: 准双向准双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部存储器时分时作为寻址外部存储器时分时作为双向双向8 8位数据
56、口位数据口和和输出低输出低8 8位位地址地址复用口;不接外部存储器时可作为复用口;不接外部存储器时可作为8 8位位准双向准双向I/OI/O口口使使用。用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口:(2)输出地址输出地址/数据数据 =1 时时1100=1截截止止导导通通=1Vcc单片机的引脚(P0口)P0.0P0.0P0.7: P0.7: 双向双向I/O I/O (内置(内置场效应管场效应管上拉)上拉) 寻址外部程序存储器时分时作为寻址外部程
57、序存储器时分时作为双向双向8 8位数据口位数据口和和输出输出低低8 8位地址位地址复用口;不接外部程序存储器时可作为复用口;不接外部程序存储器时可作为8 8位位准双准双向向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =1读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址地址/数据数据 控制控制=1引脚引脚P0.X34控制控制=1时,此脚作地址时,此脚作地址/数据数据复用口复用口: (3)输入数据时,输入指令将使引脚与内部总线直通输入数据时,输入指令将使引脚与内部总线直通Vcc单片机的引脚(P0口)P0.0P0.0P0.7: P0.7: 准双向准双向I/O I/O (内置(内置场
58、效应管场效应管上拉)上拉) 寻址外部存储器时分时作为寻址外部存储器时分时作为双向双向8 8位数据口位数据口和和输出低输出低8 8位位地址地址复用口;不接外部存储器时可作为复用口;不接外部存储器时可作为8 8位位准双向准双向I/OI/O口口使使用。用。单片机的引脚(P2口)P2.0P2.0P2.7: P2.7: 准双向准双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部存储器时寻址外部存储器时输出高输出高8 8位地址位地址;不接外部存储器时不接外部存储器时可可作为作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚读锁存器读锁存器写锁写锁存器存器内部
59、内部总线总线地址高地址高8位位 控制控制引脚引脚 P2.X3内部上拉电阻内部上拉电阻Vcc21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口: 输出输出=1时时110截截止止3内部上拉电阻内部上拉电阻11Vcc=1=0单片机的引脚(P2口)P2.0P2.0P2.7: P2.7: 准双向准双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部存储器时寻址外部存储器时输出高输出高8 8位地址位地址;不接外部存储器时;不接外部存储器时可作为可作为8 8位位准双
60、向准双向I/OI/O口口使用。使用。21DQCK/Q读引脚读引脚 =0读锁存器读锁存器写锁写锁存器存器内部内部总线总线地址高地址高8位位 控制控制 引脚引脚P2.X控制控制=0时,此脚作通用时,此脚作通用输出口输出口:输出输出=0时时001导导通通3内部上拉电阻内部上拉电阻00Vcc=0=0单片机的引脚单片机的引脚(P2P2口)口)P2.0P2.0P2.7: P2.7: 准双向准双向I/O I/O (内置了上拉电阻)(内置了上拉电阻) 寻址外部存储器时寻址外部存储器时输出高输出高8 8位地址位地址;不接外部存储器时;不接外部存储器时可作为可作为8 8位位准双向准双向I/OI/O口口使用。使用。21DQ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国流程编排行业市场深度研究与战略咨询分析报告
- 2025至2030中国汽车零件清洁剂和除油剂行业市场深度研究与战略咨询分析报告
- 2025至2030中国桥梁防腐行业产业运行态势及投资规划深度研究报告
- 2025年牙克石市四上数学期末统考试题含解析
- 中等教育多媒体教学在提高学生信息素养中的应用研究考核试卷
- 2025年忻州市神池县六上数学期末质量检测试题含解析
- 新蔡县2025年数学三上期末经典试题含解析
- 疏散演练应急演练宣传材料考核试卷
- 2025年合规经理资格认证考试题库(附答案)
- 2026届萨迦县数学四上期末调研模拟试题含解析
- 配电改造技术方案
- DB11T 381-2023 既有居住建筑节能改造技术规程
- 2023年咸阳市乾县社区工作者招聘考试真题
- 医院医疗技术备案登记表
- 湖南省工业互联网发展白皮书
- 团队主管的职责课件
- 蔡司三坐标-高级培训教程
- 缺血性脑卒中静脉溶栓护理
- Web前端技术PPT完整全套教学课件
- 高校学生公寓管理规范
- JJG 971-2019液位计
评论
0/150
提交评论