《单片机控制技术项目式课程》(第2版)课件 项目3 MCS-51系列单片机最小系统的设计_第1页
《单片机控制技术项目式课程》(第2版)课件 项目3 MCS-51系列单片机最小系统的设计_第2页
《单片机控制技术项目式课程》(第2版)课件 项目3 MCS-51系列单片机最小系统的设计_第3页
《单片机控制技术项目式课程》(第2版)课件 项目3 MCS-51系列单片机最小系统的设计_第4页
《单片机控制技术项目式课程》(第2版)课件 项目3 MCS-51系列单片机最小系统的设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

项目3MCS-51系列单片机最小系统的设计

了解MCS-51系列单片机的内部结构。理解MCS-51系列单片机存储器的分布和运用。理解MCS-51系列单片机最小系统的基本结构和原理。掌握MCS-51系列单片机最小系统的设计方法。能独立分析和解决电路设计中的问题。学习目标介绍MCS-51系列单片机的基本结构。介绍MCS-51系列单片机的存储器。介绍MCS-51系列单片机芯片。设计MCS-51系列单片机最小系统。工作任务任务3.1认识MCS-51系列单片机的内部结构任务3.2MCS-51系列单片机最小系统电路的设计项目拓展STC89C52实验板电路的设计项目小结项目3MCS-51系列单片机最小系统的设计时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器结构框图中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,高128个单元被专用寄存器占用,低128个单元供用户使用,用于存放可读写数据,运算的中间结果等。内部ROM:4KB的8位ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O口:4组8位的并行I/O口,既可用作输入,也可用作输出。串行口:一个全双工串行口。中断控制系统:5个中断源(外部中断2个,定时/计数中断2个,串行中断1个)时钟电路:用于产生单片机运行的时钟脉冲序列。任务3.1认识MCS-51系列单片机的内部结构3.1.1MCS-51系列单片机的基本结构 结构框图1

2

3

4

5

6

7

8

9

10111213141516171819

2040

39

38

37

36

35

34

33

32

313029282726252424222180318751805189C51片内RAM片内ROM256B4KB片外ROM可扩展64K片外RAM可扩展64K3.1.2MCS-51系列单片机的内部存储器1.程序存储器(ROM——只读存储器)

作用:存放设计人员编写的程序。

大小:MCS-51的单片机内部有4KROM。

编址范围:4KROM编址范围:0000H~0FFFH。外部扩展:

64KROM,编址范围:0000H~FFFFH。

程序存储器地址分配0000H0001H0002H(PC)0000H是程序执行的起始单元,

在这三个单元存放一条

无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位...0FFFH0FFEH程序存储器资源分布中断入口地址内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)EA=1EA=02.数据存储器(RAM)MCS—51系列单片机的内部数据存储器由读写存储器RAM组成,用于存储数据。它由RAM块和特殊功能寄存器(SFR)块组成。内部RAM大小:256个字节(256B),其中低128个单元是真正的内部RAM,可以被用来写入或读出数据。编址范围:00H~FFH。外部扩展RAM:64KB编址范围:0000H~FFFFH。0000HFFFFH(64K)内部外部数据存储器RAM00HFFH7FH80H(高128B)(低128B)RAM专用

寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器

11第3区18H~1FH

01第1区08H~0FHRS1RS0寄存器区片内RAM地址

00第0区00H~07H

10第2区10H~17H工作寄存器区选择位RS0、RS1PSW位地址

CYACF0RS1RS0OVF1P

00H—1FH,供用户编程使用,临时存放8位信息。共四组,每组8个单元,即8个寄存器当某一组被设定成工作寄存器组后,该组中的8个寄存器,从低地址到高地址就分别称为R0-R7,从而可以把它们用作通用寄存器,并可按寄存器寻址方式被访问。一旦工作寄存器组被指定后,另外三组寄存器则同其它数据RAM一样,只能按字节地址被予以读写。

(1)工作寄存器区00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区位寻址区(20H—2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H—7FH,位地址区也可作为一般RAM使用。(2)位寻址区00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区(3)数据缓冲区30H—7FH,即用户区,共80个单元。用于存放运算数据和结果。实际上不使用的位寻址的字节和不使用的工作寄存器区都可以用作数据缓冲区使用。00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区注意:堆栈一般开辟在这个区域又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。用户在编程时可以置数设定。离散地分布在RAM的高128个单元(80H-FFH)。注意:SFR的实际个数和单片机的型号有关,51单片机有21个。每个SFR占有一个RAM单元,它们分布在80H~FFH的地址范围内,没有被SFR占用的RAM单元实际并不存在,访问它们也是没有意义的。3.特殊功能寄存器(SFR)特殊功能寄存器一览表注意:凡是地址以“0”和“8”结尾的单元都是可位寻地址的,地址的范围是80H~FFH。

11个可以进行位寻址。☆特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。序号SFR地址SFR符号复位值功能说明1E0HACC00H累加器可位寻址2F0HB00HB寄存器可位寻址3D0HPSW00H程序状态字可位寻址480HP0FFHP0口锁存寄存器可位寻址581HSP07H堆栈指针682HDPL00H数据指针DPTR低8位783HDPH00H数据指针DPTR高8位887HPCON0XXX0000B电源控制寄存器988HTCON00H定时器控制寄存器可位寻址1089HTMOD00H定时器0和1的模式寄存器118AHTL000H定时器0低8位128BHTL100H定时器1低8位138CHTH000H定时器0高8位148DHTH100H定时器1高8位1590HP1FFHP1口锁存寄存器可位寻址1698HSCON00H串行口控制寄存器可位寻址1799HSBUFXXXXXXXXB串行口数据缓冲寄存器180A0HP2FFHP2口锁存寄存器可位寻址190A8HIE0X000000B中断允许控制寄存器可位寻址200B0HP3FFHP3口锁存寄存器可位寻址210B8HIPXX000000B中断优先级控制寄存器可位寻址几个特殊功能寄存器:(1)累加器(ACC或A):最常用的一个8位特殊功能寄存器。该寄存器可位寻址。几乎全部指令都可用它作为操作数,有些指令必须用它作为目标操作数。(2)B寄存器:一个8位特殊功能寄存器。乘除法指令必须用它作为其中的一个操作数。它也可作为普通RAM单元使用。(3)堆栈指针(SP):一个8位特殊功能寄存器。单片机复位时,SP为07H,它总是指向栈顶。它主要用在子程序调用、中断响应及返回中。(4)数据指针(DPTR):一个16位特殊功能寄存器,可分为两个8位寄存器,高8位为DPH,低8位为DPL。该寄存器主要用于存放程序存储器和片外数据存储器的地址。(5)程序状态字(PSW

):一个8位的特殊功能寄存器,位于单片机的特殊功能寄存器区,用来存放运算结果的一些特征。PSWCY——

进位/借位标志;位累加器(简称C)。AC——

半字节进位标志,辅助进/借位标志;用于十进制调整。F0——

用户定义标志位;软件置位/清零。RS1、RS0——寄存器区选择控制位。OV——

溢出标志;硬件置位/清零(注意溢出条件)。P——

奇偶标志;A中1的个数为奇数P=1;否则P=0。×——该位无定义。

P×OVRS0RS1

F0

AC

CYPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0程序计数器(PC):一个不属于特殊功能寄存器、物理上独立的寄存器。是一个16位寄存器,具有自动加1功能,总是存放将要被执行指令的首地址。单片机复位后,PC为0000H,单片机的应用程序应放在以程序存储器地址0000H开始的单元中。3.1.3MCS-51系列单片机内部存储器的读写控制1.任务要求编写一段程序,对单片机内部几个特殊功能寄存器进行读写,利用KeilC51软件的调试功能,观察程序运行后各存储单元的变化情况。2.任务分析根据任务要求,分别给P0口、程序状态字PSW和累加器ACC赋不同的值,同时将累加器ACC里的值读出存到变量dat中,通过调试观察P0、PSW、ACC和变量dat的值的变化。3.任务设计(1)程序设计//***************************************************************//宏定义,包含头文件#include<reg52.h>//***************************************************************//主程序main(){ unsignedchardat;//定义变量dat为无符号字符型

P0=0x00;//将P0口清0 PSW=0x80;//将0x80赋给PSW ACC=0xf0;//将0xf0传送到累加器ACC dat=ACC;//将累加器ACC的内容送给变量dat}(2)观察程序执行之后各存储器单元的变化

①在Keil下创建工程项目,输入源程序,并编译链接生成HEX文件。②在Keil的“Debug”菜单下选择“Start/StopDebugSession”子菜单,或者点击快捷图标,进入调试界面。③点击菜单View下的“MemoryWindow”命令,打开存储器窗口。存储器窗口用来显示系统中各种内存中的值,通过在Address后的编缉框内输入“字母:数字”即可显示相应内存值。例如键入C:0,即显示从0开始的ROM单元中的值。本程序的二进制代码。④点击菜单View下的“WatchWindows”命令,打开观察窗口,并将变量dat添加进去。⑤选择“Peripherals”菜单下的“I/O-Ports”,选中“Port0”后,会弹出P0的调试窗口,可以观察P0口每一位的电平状态。观察窗口P0调试窗口P0口的输出锁存器的状态P0口引脚状态⑥运行程序。采用单步运行方式,观察P0,PSW,ACC等相关寄存器以及变量dat的变化,运行结果如下图。任务3.2

MCS-51系列单片机最小系统电路的设计

3.2.1MCS-51系列单片机芯片介绍区分芯片引脚序号芯片表面会有一个凹进去的小圆坑,或用颜色标识的小标记,,这些标记所对应的就是芯片第1脚,然后逆时针数下去就是最后一个引脚。引脚定义与说明1)主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线2)外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin18):片内振荡电路的输出端3)控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位初始化。设计单片机应用系统时,这个引脚一定要连接相应复位电路。(Pin29):外部存储器读选通信号。PSEN有效(低电平)时,可实现对外部ROM单元的读操作。

ALE/(Pin30):地址锁存允许信号。在系统扩展时,ALE用于把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振的1/6固定频率输出的正脉冲,因此它可作为外部时钟或外部定时脉冲使用。/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。当电源发生故障,电压降低到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失。4)可编程输入/输出引脚(32根)

P0(Pin39~Pin32)P1(Pin1~Pin8)P2(Pin21~Pin28)P3(Pin10~Pin17)(兼做特殊功能口)P1P3P2P0

1.单片机复位的条件

在复位引脚RST(Pin9)持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。通常为了保证应用系统可靠地复位,复位电路应使引脚RST保持10ms以上的高电平。

3.2.2单片机复位电路的设计

2.单片机的复位电路常见复位电路有上电自动复位和按键手动复位两种,如图(a)、(b)所示。

(a)上电复位电路(b)按键复位电路图(a)为上电复位电路,在上电瞬间,由于电容上电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,它两端的电压上升,使得引脚RST上电压下降,最终使单片机退出复位状态。选择合理的充电常数,就能保证在RST端有2个机器周期以上的高电平,从而使单片机内部复位。C的推荐值是10μF,R的推荐值是10kΩ。图(b)是按键手动复位电路。开关未按下时,为上电复位电路,开关按下时,RST端通过电阻Rl与VCC电源接通,提供足够时间的复位电平,使单片机复位。

1.时钟电路设计两种方式产生时钟:内部振荡方式

外部时钟方式

(1)内部时钟电路利用单片机内部的振荡电路,并在XTALl和XTAL2两引脚间外接石英晶体(或陶瓷谐振器)和电容构成的并联谐振电路,使内部振荡器产生自激振荡。晶振可以在0~24MHz之间,不超过33MHz。外接石英晶体时,C1和C2一般取30pF±10pF;外接陶瓷谐振器时,Cl和C2一般取40pF±10pF。电容的大小对振荡器频率有微小的影响,可起频率微调的作用。3.2.3单片机时钟电路的设计

晶振类型:石英晶振、有源晶振

晶振:0~33MHz

(6MHz、12MHz、24MHz、33MHz、

11.0592MHz、22.1184MHz)

起振电容类型:瓷片电容、独石电容

起振电容:30±10pF

(20pF、22pF、27pF、30pF)

内部时钟电路

(2)外部时钟电路

外部方式的时钟电路如图,当有现成的时钟信号时,可直接将时钟从XTAL2接入,XTAL1接地即可。注:单片机系统中多采用内部时钟方式。2.时序

所谓时序是指各种信号的时间序列,它表明了指令执行中各种信号之间的相互关系。单片机本身就是一个复杂的时序电路,CPU执行指令的一系列动作都是在时序电路控制下一拍一拍进行的。为达到同步协调工作的目的,各操作信号在时间上有严格的先后次序,这些次序就是CPU的时序。51系列单片机以晶体振荡器的振荡周期(或外部引入的时钟信号的周期)为最小的时序单位。所以片内的各种微操作都是以振荡周期为时序基准。

(1)振荡周期(Tosc):又称节拍(用P表示),是指为单片机提供时钟脉冲信号的振荡源的周期。

Tosc=1/fosc

(2)状态周期:用S表示。每个状态周期为振荡周期的2倍,是振荡周期经二分频后得到的。

S=2P=P1+P2(3)机器周期(T机):CPU完成一个基本操作所需要的时间。一个机器周期包含6个状态周期S1~S6,也就是12个振荡周期。即:T机=12

×Tosc=12×1/fosc(4)指令周期:不同的指令,其执行时间各不相同,如果用占用机器周期多少来衡量的话,MCS-51单片机的指令可分为单周期指令、双周期指令及四周期指令。

例如,若fosc=12MHz,则一个振荡周期Tosc=1/12μs,状态周期S=1/6μs,机器周期T机=1μs,指令周期=1~4μs51单片机工作的三个基本条件:1.电源正常2.复位正常3.时钟正常3.2.4单片机最小系统电路的设计1.任务要求设计一个单片机可以正常工作的最简单电路,即单片机最小系统。要求使用STC89C52单片机进行设计,且晶振频率为12MHz。2.任务分析设计的最小系统应该具备电源电路、时钟电路和复位电路三个部分。时钟电路的设计可以采用内部时钟方式,而复位电路可以采用上电自动复位的方式。3.任务设计

(1)器件的选择单片机是本任务的主要芯片,选择STC89C52,石英晶体外接两只电容构成时钟电路,复位电路由电阻和电解电容组成,选择的器件清单如下:器件名称数量(只)STC89C52112MHz晶体130pF瓷片电容222uF电解电容110kΩ电阻1(2)电路图原理图设计复位电路时钟电路电源地注意:在具备上述3个电路的情况下,就构成了一个最简单的单片机最小系统,但是它没什么实际意义,因为它不能跟外界进行交流。实际应用中由用户根据需要来添加输出电路,同时配合各种输入、各种外设的使用,最终形成庞大的单片机系统。项目拓展STC89C52实验板电路的设计1.实验板最小系统的设计实验板的单片机最小系统电路原理图如附录B中所示。(1)电源电路①USB1是USB插座,通过USB连线连接到电脑可以给实验板供电以及进行串口通讯。②SW3为电源开关,LED10为电源指示灯。③TEMP1是一个可选配STC自动下载模块,如果没有选配该模块,需要用跳帽(短路块)短接TEMP1的第1、2脚,否则整个实验板不能供电。④J35、J36为电源插针,可以通过此插针向外部扩展模块提供+5V电压,也可以从外部电源引入+5V电压。⑤J38为直接使用+5V直流输入。注意:由于实验板是直接采用USB线通过电脑供电、通讯、下载一体的,所以使用时不需要外接电源只要将板子和电脑用USB线接上就行了;如果要接外接电源,一定要接+5V,否则可能会损坏单片机和主板上的芯片。单片机和扩展插座电源电路(2)时钟电路时钟电路的设计采用内部时钟方式,晶振可以拔插,在使用过程中,如果需要更换不同频率的晶振,一定要确保晶振的类型和特性参数基本相同。(3)复位电路阻容复位包含两种复位方式,低电平复位与高电平复位。由于

温馨提示

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

评论

0/150

提交评论