单片机基本原理_第1页
单片机基本原理_第2页
单片机基本原理_第3页
单片机基本原理_第4页
单片机基本原理_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

单片机基本原理第1页,共33页,2023年,2月20日,星期一对于内部有ROM的芯片,根据情况外部可以扩展ROM,但内部ROM和外部ROM共用64K存储空间,其中,片内程序存储器地址空间和片外程序存储器的低地址空间重叠。51子系列重叠区域为0000H—0FFFH,52系列重叠区域为0000H—1FFFH。EA高内低外片外ROMEA=0片外ROMEA=0片内ROMEA=1片外ROM0000HFFFFH0000H0FFFH1000HFFFFH片外ROMEA=0片内ROMEA=1片外ROM0000H1FFFH2000HFFFFH(a)片内无ROM(b)片内有4KROM(c)片内有8KROM第2页,共33页,2023年,2月20日,星期一2.程序存储器的7个特殊地址中断源入口地址外部中断00003H定时/计数器0000BH外部中断10013H定时/计数器1001BH串行口0023H复位后初始化引导程序0000H-0002H

MCS-51系列单片机复位后PC的内容为0000H,故单片机复位后将从0000H单元开始执行程序。程序存储器的0000H单元地址是系统程序的启动地址。这里用户一般放一条绝对转移指令。转到后面的用户程序。

6个中断源的地址之间仅隔8个单元,存放中断服务程序往往不够用,这是通常放一条绝对转移指令,转到真正的中断服务程序,真正的中断服务程序放到后面。第3页,共33页,2023年,2月20日,星期一二.数据存储器(用来存放中间结果和数据)从物理结构上分为片内数据存储器和片外数据存储器。1.片内数据存储器(MOV访问)MCS-51系列单片机的片内数据存储器除了RAM块外,还有特殊功能寄存器(SFR)块。对于51子系列,前者有128字节,编址为00H—7FH;后者也占128个字节,编址为80H—FFH;二者连续不重叠。片内数据存储器按功能分成以下几个部分:工作寄存器组区、位寻址区、一般RAM区和特殊功能寄存器区,其中还包含堆栈区。第4页,共33页,2023年,2月20日,星期一SFR00H1FH20H2FH30H7FH80HFFH80HFFH工作寄存器组区位寻址区一般RAM区工作寄存器组区

00H—1FH单元为工作寄存器组区,共32个字节。工作寄存器也称为通用寄存器,用于临时寄存8位信息。工作寄存器共有4组,称为0组、1组、2组和3组,每组8个,分别依次用R0~R7表示第5页,共33页,2023年,2月20日,星期一2.位寻址区

20H—2FH为位寻址区,共16字节,128位。这128位每位都可以按位方式使用,每一位都有一个位地址,位地址范围为00H—7FH字节单元地址D7D6D5D4D3D2D1D020H070605040302010021H0F0E0D0C0B0A090822H171615141312111023H1F1E1D1C1B1A191824H272625242322212025H2F2E2D2C2B2A292826H373635343332313027H3F3E3D3C3B3A393828H474645444342414029H4F4E4D4C4B4A49482AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A69682EH77767574737271702FH7F7E7D7C7B7A7978第6页,共33页,2023年,2月20日,星期一3.一般RAM区

30H—7FH是一般RAM区,也称为用户RAM区,共80字节,对于52子系列,一般RAM区从30H—FFH单元。另外,对于前两区中未用的单元也可作为用户RAM单元使用。4.堆栈区与堆栈指针堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。MCS-51单片机中,堆栈是用片内数据存储器的一段区域,在具体使用时应避开工作寄存器、位寻址区,一般设在2FH以后的单元,如工作寄存器和位寻址区未用,也可开辟为堆栈。为实现堆栈的先入后出、后入先出的数据处理,专门设置了一个堆栈指针SP,MCS-51单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以字节为单位。入栈时,SP指针的内容先自动加1,然后再把数据存入到SP指针指向的单元;出栈时,先把SP指针指向的单元的数据取出,然后再把SP指针的内容自动减1。复位时,SP的初值为07H,因此堆栈实际上从08H开始存放数据。第7页,共33页,2023年,2月20日,星期一5.特殊功能寄存器特殊功能寄存器(SFR)也称专用寄存器,专门用于控制、管理片内算术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工作,用户在编程时可以给其设定值,但不能移作它用。分布在80H—FFH地址空间,与片内数据存储器统一编址,除PC外,51子系列有18个特殊功能寄存器,其中3个为双字节,共占用21个字节;52子系列有21个特殊寄存器,其中5个为双字节,共占用26个字节。它们的分配情况如下:CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈指针SP(81H),数据指针DPTR(82H、83H)。并行接口:P0~P3(80H、90H、A0H、B0H)。串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF(99h),电源控制寄存器PCON(87H)。第8页,共33页,2023年,2月20日,星期一定时/计数器:方式寄存器TMOD(89H),控制寄存器TCON(88H),初值寄存器TH0、TL0(8CH、8AH)/TH1、TL1(8DH、8BH)。中断系统:中断允许寄存器IE(A8H),中断优先级寄存器IP(B8H)。定时/计数器2相关寄存器:定时/计数器2控制寄存器T2CON(CBH),定时/计数器2自动重装寄存器RLDL、RLDH(CAH、CBH),定时/计数器2初值寄存器TH2、TL2(CDH、CCH)。(仅52子系列有)特殊功能寄存器名称符号地址位地址与位名称D7D6D5D4D3D2D1D0P0口P080H8786858483828180堆栈指针SP81H数据指针低字节DPL82H数据指针高字节DPH83H定时/计数器控制TCON88HTF18FTR18ETF08DTR08CIE18BIT18AIE089IT088定时/计数器方式TMOD89HGATEC/TM1M0GATEC/TM1M0第9页,共33页,2023年,2月20日,星期一定时/计数器0低字节TL08AH定时/计数器0高字节TH08BH定时/计数器1低字节TL18CH定时/计数器1高字节TH18DHP1口P190H9796959493929190电源控制PCON97HSMODGF1GF0PDIDL串行口控制SCON98HSM09FSM19ESM09DREN9CTB89BRB89ATI99RI98串行口数据SBUF99HP2口P2A0HA7A6A5A4A3A2A1A0中断允许控制IEA8HEAAFET2ADESACET1ABEX1AAET0A9EX0A9第10页,共33页,2023年,2月20日,星期一P3口P3B0HB7B6B5B4B3B2B1B0中断优先级控制IPB8HPT2BDPSBCPT1BBPX1BAPT0B9PX0B8定时/计数器2控制T2CONC8HTF2CFEXF2CERCLKCDTCLKCCEXEN2CBTR2CAC/T2C9CP/RL2C8定时/计数器2重装低字节RLDLCAH定时/计数器2重装高字节RLDHCBH定时/计数器2低字节TL2CCH定时/计数器2高字节TH2CDH程序状态寄存器PSWD0HCD7ACD6F0D5RS1D4RS0D3OVD2D1PD0累加器AE0HE7E6E5E4E3E2E1E0寄存器BBF0HF7F6F5F4F3F2F1F0第11页,共33页,2023年,2月20日,星期一在表中,带有位名称或位地址的特殊功能寄存器,既能按字节方式处理,也能够按位方式处理。2.片外数据存储器(MOVX访问)

MCS-51单片机片内有128字节或256字节的数据存储器,当这些数据存储器不够时,可在外部扩展外部数据存储器,扩展的外部数据存储器最多64KB,地址范围为0000H—0FFFFH,通过DPTR作指针间接方式访问,对于低端的256字节,可用两位十六进制地址编址,地址范围为00H—0FFH,可通过R0和R1间接方式访问。另外,扩展的外部设备占用片外数据存储器空间,通过用访问片外数据存储器的方法访问。说明:第一,64K的程序存储器和64K的片外数据存储器地址空间都为0000H—0FFFFH,地址空间是重叠的,它们如何区分呢?MCS-51单片机是通过不同的信号来对片外数据存储器和程序存储器进行读、写的,片外数据存储器的读、写通过RD和WR信号来控制,而程序存储器的读通过PSEN信号控制,通过用不同的指令来实现,片外数据存储器用MOVX指令,程序存储器用MOVC指令。第12页,共33页,2023年,2月20日,星期一第二,片内数据存储器和片外数据存储器的低256字节的地址空间是重叠的,它们如何区分呢?片内数据存储器和片外数据存储器的低256字节通过不同的指令访问,片内数据存储器用MOV指令,片外数据存储器用MOVX指令。因此在访问时不会产生混乱。2.2MCS-51系列单片机的输入/输出接口

MCS-51系列单片机有4个8位的并行I/O接口:P0、P1、P2和P3口。它们是特殊功能寄存器中的4个。这4个口,既可以作输入,也可以作输出,既可按8位处理,也可按位方式使用。输出时具有锁存能力,输入时具有缓冲功能。第13页,共33页,2023年,2月20日,星期一一.P0口P0口是一个三态双向口,可作为地址/数据分时复用口,也可作为通用的I/O接口。它包括一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成.第14页,共33页,2023年,2月20日,星期一二.P1口

P1口是准双向口,它只能作通用I/O接口使用。P1口的结构与P0口不同,它的输出只由一个场效应管V1与内部上拉电阻组成输入输出原理特性与P0口作为通用I/O接口使用时一样,当其输出时,可以提供电流负载,不必像P0口那样需要外接上拉电阻。P1口具有驱动4个LSTTL负载的能力。第15页,共33页,2023年,2月20日,星期一三.P2口

P2口也是准双向口,它有两种用途:通用I/O接口和高8位地址线。它的1位的结构如图2.8,与P1口相比,它只在输出驱动电路上比P1口多了一个模拟转换开关MUX和反相器3。第16页,共33页,2023年,2月20日,星期一四.P3口P3口1位的结构如图2.9。它的输出驱动由与非门3、V1组成,输入比P0、P1、P2口多了一个缓冲器4。第17页,共33页,2023年,2月20日,星期一P3口除了作为准双向通用I/O口使用外,它的每一根线还具有第二种功能。P3口第二功能P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2INT0外部中断0请求输入端,低电平有效P3.3INT1外部中断1请求输入端,低电平有效P3.4T0定时/计数器0外部计数脉冲输入端P3.5T1定时/计数器0外部计数脉冲输入端P3.6WR外部数据存储器写信号,低电平有效P3.7RD外部数据存储器读信号,低电平有效第18页,共33页,2023年,2月20日,星期一当P3口作为第二功能时,锁存器的Q输出端必须为高电平,否则V1管导通,引脚将被箝位在低电平,无法实现第二功能。当锁存器Q端为高电平,P3口的状态取决于第二功能输出线的状态。单片机复位时,锁存器的输出端为高电平。P3口第二功能中输入信号RXD、INT0、INT1、T0、T1经缓冲器4输入,可直接进入芯片内部。当P3口作为通用I/O接口时,第二功能输出线为高电平,与非门3的输出取决于锁存器的状态。这时,P3是一个准双向口,它的工作原理、负载能力与P1、P2口相同。第19页,共33页,2023年,2月20日,星期一2.3MCS-51系列单片机的外部引脚及片外总线2.3.1外部引脚P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VpdP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL2XTAL1VssVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0123456789101112141516171819204039383736353433323130292827262524232221803180518751RXDTXDINT0INT1T0T1WRRDP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7PSENEAALERST用户I/O控制总线(CB)锁存器A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0地址总线数据总线(AB)(DB)VccVssVccVss第20页,共33页,2023年,2月20日,星期一一.输入/输出引脚(1)P0口(39~32脚):P0.0~P0.7统称为P0口。在不接片外存储器与不扩展I/O口时,作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。(2)P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用。(3)P2口(21~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。(4)P3口(10~17脚):P3.0~P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。第21页,共33页,2023年,2月20日,星期一二.控制线(1)ALE/PROG(30脚):地址锁存信号输出端。ALE在每个机器周期内输出两个脉冲。(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。(3)RST/VPD(9脚):RST即为RESET,VPD为备用电源。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。(4)/VPP(31脚):EA为片外程序存储器选用端。该引脚低电平时,选用片外程序存储器,高电平或悬空时选用片内程序存储器。三.主电源引脚VCC(40脚):接+5V电源正端。VSS(20脚):接+5V电源地端。第22页,共33页,2023年,2月20日,星期一四.外接晶体引脚XTAL1、XTAL2(19、18脚):当使用单片机内部振荡电路时,这两个引脚用来外接石英晶体和微调电容,如图2-10(a)。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,XTAL1引脚接地,XTAL2接片外振荡脉冲输入(带上拉电阻);对于CHMOS单片机,XTAL2引脚接地,XTAL1接片外振荡脉冲输入(带上拉电阻),如图2-11(b)和(c)。XTAL1XTAL2外部振荡信号XTAL1XTAL2VccVssR外部振荡信号XTAL2XTAL1VccVssR(a)内部时钟方式(b)HMOS工艺外接时钟(c)CHMOS工艺外接时钟第23页,共33页,2023年,2月20日,星期一2.3.2片外总线结构一.地址总线地址总线宽度为16位,寻址范围都为64KB。由P0口经地址锁存器提供低8位(A7~A0),P2口提供高8位(A15~A8)而形成。可对片外程序存储器和片外数据存储器寻址。二.数据总线数据总线宽度为8位,由P0口直接提供。三.控制总线控制总线由第二功能状态下的P3口和4根独立的控制线RST、EA、ALE和PSEN组成。第24页,共33页,2023年,2月20日,星期一2.4MCS-51系列单片机的工作方式2.4.1复位方式在时钟电路工作以后,当外部电路使得RST端出现2个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位有两种方式:上电复位和按钮复位。如图所示。VccRSTVssMCS-51VccRSTVssMCS-511k1k200(a)上电复位电路(b)按钮复位电路第25页,共33页,2023年,2月20日,星期一特殊功能寄存器初始内容特殊功能寄存器初始内容A0000HTCON00HPC0000HTL000HB00HTH000HPSW00HTL100HSP07HTH100HDPTR0000HSCON00HP0~P3FFHSBUFXXXXXXXXBIPXX000000BPCON0XXX0000BIE0X000000BTMOD00H第26页,共33页,2023年,2月20日,星期一2.4.2程序执行方式2.4.3单步执行方式所谓单步执行,是指在外部单步脉冲的作用下,使单片机一个单步脉冲执行一条指令后就暂停下来,再一个单步脉冲再执行一条指令后又暂停下来。它通常用于调试程序、跟踪程序执行和了解程序执行过程。单片机没有单步执行中断,MCS-51单片机的单步执行也要利用中断系统完成。MCS-51的中断系统规定,从中断服务程序中返回之后,至少要再执行一条指令,才能重新进入中断。将外部脉冲加到INT0引脚,平时让它为低电平,通过编程规定INT0为电平触发。那么,不来脉冲时INT0总处于响应中断的状态。在INT0的中断服务程序中安排下面的指令:PAUSE0:JNBP3.2,PAUSE0;若INT0=0,不往下执行PAUSE1:JBP3.2,PAUSE1;若INT0=1,不往下执行RETI;返回主程序执行下一条指令第27页,共33页,2023年,2月20日,星期一2.4.4节电方式一.HMOS单片机的掉电方式HMOS芯片本身运行功耗较大,这类芯片没有设置低功耗运行方式。为了减小系统的功耗,设置了掉电方式,RST/Vpd端接有备用电源,即当单片机正常运行时,单片机内部的RAM由主电源Vcc供电,当Vcc掉电,Vcc电压低于RST/Vpd端备用电源电压时,由备用电源向RAM维持供电,保证RAM中数据不丢失。这时系统的其它部件都停止工作,包括片内振荡器。二.CHMOS的节电运行方式HMOS的芯片运行时耗电少,有两种节电运行方式:待机方式和掉电保护方式。以进一步降低功耗,它们特别适用于电源功耗要求低的应用场合。第28页,共33页,2023年,2月20日,星期一2.4.5编程和校验方式一.EPROM编程HMOS器件8751,内部集成4KB的EPROM编程如下:编程时时钟频率应定在4~6MHz的范围内,各引脚的接法如下:P1口和P2口的P2.3~P2.0提供12位地址,P1口为低8位。P0口输入编程数据。P2.6~P2.4以及PSEN为低电平,P2.7和RST为高电平。以上除RST的高电平为2.5V,其余的均为TTL电平。EA/Vpp端加电压为21V的编程脉冲,不能大于21.5V,否则会损坏EPROM。ALE/PROG端加宽度为50ms的负脉冲作写入信号,每来一次负脉冲,则把P0口的数据写入到由P1和P2口低四位提供的12位地址指向的片内EPROM单元。第29页,共33页,2023

温馨提示

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

评论

0/150

提交评论