资源描述
2024/10/13周日1 1.1.1 单片机是什么样子单片机是什么样子 1.1.2 单片机的应用领域单片机的应用领域 1.1.3 MCS-51系列单片机系列单片机1.1 1.1 认识单片机认识单片机1.1.1 单片机是什么样子单片机是什么样子 单片微型计算机简称单片机(单片微型计算机简称单片机(Single Chip Microcomputer),又),又称微控制器(称微控制器(Microcomputer Unit)。它是将中央处理器(它是将中央处理器(cpu),存储器,输入),存储器,输入/输出单元,多种输出单元,多种I/O口和口和中断系统、定时器中断系统、定时器/计数器等功能部件全部集成到一块芯片上而构成的一计数器等功能部件全部集成到一块芯片上而构成的一个小而完善的计算机系统。个小而完善的计算机系统。单片微型计算机是单片微型计算机是20世纪世纪70年代初期发展起来的,它是微型计算机发年代初期发展起来的,它是微型计算机发展中的一个重要分支。不同生产厂家的不同型号的单片机,由于用途、功展中的一个重要分支。不同生产厂家的不同型号的单片机,由于用途、功能等的不同,具体的结构和性能也有较大的差异,但总的模块结构是一样能等的不同,具体的结构和性能也有较大的差异,但总的模块结构是一样的。的。2024/10/13周日3 方形的单片机有两种常见的封装形式,即方形的单片机有两种常见的封装形式,即PLCC封装封装和和TQFP封装封装。(a)PLCC 封装(b)TQFP封装2024/10/13周日4 对于对于MCS-51系列单片机,最常见的封装形式为系列单片机,最常见的封装形式为双列直插式双列直插式DIP封装封装。1.1.2 1.1.2 单片机的应用领域单片机的应用领域工业自动化工业自动化智能化仪表智能化仪表各种机器人各种机器人民用消费类电子产品民用消费类电子产品汽车、航空、导航和武器装备汽车、航空、导航和武器装备数据处理和通信设备数据处理和通信设备1.1.31.1.3MCS-51系列单片机系列单片机 MCS-51系列单片机分为系列单片机分为51和和52两个子系列,其中两个子系列,其中51子系列是基本型,而子系列是基本型,而52子系列则是增强型,以芯片型子系列则是增强型,以芯片型号的最末位数字为标志。号的最末位数字为标志。MCS-51系列单片机的分类如表系列单片机的分类如表1-1所示。所示。表1-1 MCS-51系列单片机的分类2024/10/13周日8n1.2.1 如何使用单片机如何使用单片机n1.2.2 KEIL VISION软件的使用软件的使用n1.2.3 PROTEUS软件的使用软件的使用n1.2.4 单片机最小系统单片机最小系统n1.2.5 发光二极管闪烁控制系统设计与制作发光二极管闪烁控制系统设计与制作1.2 1.2 让单片机动起来让单片机动起来2024/10/13周日9 单片机要工作需要构成单片机应用系统。单片机要工作需要构成单片机应用系统。单片机应用系统是指以单片机芯片为核心,再配以输单片机应用系统是指以单片机芯片为核心,再配以输入、输出、显示等外围接口电路和软件,能够实现一种入、输出、显示等外围接口电路和软件,能够实现一种或多种功能的应用系统。或多种功能的应用系统。单片机应用系统由硬件和软件两部分组成,二者相互单片机应用系统由硬件和软件两部分组成,二者相互依赖,缺一不可。依赖,缺一不可。软件部分是指编写的应用程序。完成汇编工作的开发环境目前软件部分是指编写的应用程序。完成汇编工作的开发环境目前常用的是常用的是Keil Vision软件。软件。硬件部分就需要购置元件,进行焊接硬件部分就需要购置元件,进行焊接。单片机仿真设计软件单片机仿真设计软件Proteus克服了这种限制。克服了这种限制。1.2.1 如何使用单片机如何使用单片机1.2.21.2.2KEIL VISION软件的使用软件的使用 Keil C51软件提供丰富的库函数和功能强大的集成软件提供丰富的库函数和功能强大的集成开发调试工具,全开发调试工具,全Windows界面。界面。其其基本使用方法基本使用方法如下:如下:1.双击桌面上的双击桌面上的Keil Vision 2图标图标,出现如图出现如图1-1所所示的屏幕。几秒后,出现编辑界面,如图示的屏幕。几秒后,出现编辑界面,如图1-2所示的所示的编辑界面及窗口分配。编辑界面及窗口分配。图图1-1 启动启动Keil c51时的屏幕时的屏幕图1-2 Keil Vision 2编辑界面及窗口分配2024/10/13周日122.2.点击点击ProjectProject菜单,选择弹出的下拉式菜单中的菜单,选择弹出的下拉式菜单中的New ProjectNew Project。接着弹出一个接着弹出一个WindowsWindows文件对话窗口,文件对话窗口,如图如图1-31-3所示。保存在:选择已建立的所示。保存在:选择已建立的lessonlesson文件文件夹中。夹中。图1-3 项目窗口3.3.单击保存,进入器件选择窗口。根据需要选择相应型单击保存,进入器件选择窗口。根据需要选择相应型号的器件,这里我们选择常用的号的器件,这里我们选择常用的AtmelAtmel公司的公司的AT89C51AT89C51单片单片机。机。4.4.项目建好,就可以为工程添加程序。点击项目建好,就可以为工程添加程序。点击“File”“File”中的中的“New.”“New.”,新建一个空白文档;这个空白文档就,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。在这里你可以进行编是让我们编写单片机程序的场所。在这里你可以进行编辑、修改等操作。如图辑、修改等操作。如图1-41-4所示。所示。2024/10/13周日14注意:注意:保存文件时保存文件时文件名必须有扩展名,如文件名必须有扩展名,如c程序程序扩展名为扩展名为.c,汇编程序扩展名为,汇编程序扩展名为.asm或或.am51。图1-4 新建文件2024/10/13周日155.保存程序文件后,将其添加到工程中。具体做法为:鼠标右击保存程序文件后,将其添加到工程中。具体做法为:鼠标右击“Source Group 1”,在弹出的菜单中选,在弹出的菜单中选“Add file to Group Source Group1”,弹出文件窗口,选择刚刚弹出文件窗口,选择刚刚保存的文件,按保存的文件,按ADD按钮,关闭文件窗,程序文件已加到项目中按钮,关闭文件窗,程序文件已加到项目中了。这时在了。这时在Source Group1文件夹图标左边出现了一个小文件夹图标左边出现了一个小+号,号,说明文件组中有了文件,点击它可以展开查看。如图说明文件组中有了文件,点击它可以展开查看。如图1-5所示。所示。图图1-5 添加文件添加文件2024/10/13周日166.向工程添加了源文件后,鼠标右击向工程添加了源文件后,鼠标右击“Target 1”,在,在弹出的菜单中选弹出的菜单中选“options for target Target 1”,在打,在打开的对话框中,选择开的对话框中,选择“Output”选项卡,在这个选项卡选项卡,在这个选项卡中,中,“Creat HEX File”选项前要打勾,按选项前要打勾,按“确定确定”退出退出,如如图图1-6所示。所示。图1-6 项目选项窗口2024/10/13周日177.源程序编译。从菜单的源程序编译。从菜单的“Project”中执行中执行“Rebuild all target files”(或者按下图红圈中的按钮),汇编、(或者按下图红圈中的按钮),汇编、连接、创建连接、创建Hex文件一气呵成文件一气呵成。图1-7 编译程序2024/10/13周日181.2.31.2.3PROTEUS软件的使软件的使用用 Proteus Proteus 是英国是英国LabcenterLabcenter公司开发的电路分析公司开发的电路分析与实物仿真软件。它运行于与实物仿真软件。它运行于WindowsWindows操作系统上,操作系统上,可以仿真、分析可以仿真、分析(SPICE)(SPICE)各种模拟器件和集成电路,各种模拟器件和集成电路,是目前最好的仿真单片机及外围器件的工具。是目前最好的仿真单片机及外围器件的工具。该软该软件具有以下特点:件具有以下特点:1)实现了单片机仿真和实现了单片机仿真和SPICE电路仿真相结合。电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、围电路组成的系统的仿真、RS232动态仿真、动态仿真、I2C调试器、调试器、SPI调试器、键盘和调试器、键盘和LCD系统仿真的系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。信号发生器等。2 2)支持主流单片机系统的仿真。目前支持的单片机类型有:支持主流单片机系统的仿真。目前支持的单片机类型有:6800068000系列、系列、80518051系列、系列、AVRAVR系列、系列、PIC12PIC12系列、系列、PIC16PIC16系列、系列、PIC18PIC18系列、系列、Z80Z80系列、系列、HC11HC11系列以及各种外围芯片。系列以及各种外围芯片。3 3)提供软件调试功能。在硬件仿真系统中具有全速、单步、提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如同时支持第三方的软件编译和调试环境,如Keil C51 Keil C51 uVision2uVision2等软件。等软件。4 4)具有强大的原理图绘制功能。具有强大的原理图绘制功能。5 5)具有具有PCBPCB设计绘制功能。设计绘制功能。2024/10/13周日192024/10/13周日20下面主要介绍下面主要介绍Proteus ISIS软件的工作环境和一些基本操作。软件的工作环境和一些基本操作。1.1.进入进入Proteus ISISProteus ISIS 双击桌面上的双击桌面上的ISIS 7 ProfessionalISIS 7 Professional图标或者单击屏图标或者单击屏幕左下方的幕左下方的“开始开始”“”“程序程序”“”“Proteus 7 Proteus 7 Professional”Professional”“ISIS 7 Professional”ISIS 7 Professional”,进入进入Proteus ISISProteus ISIS集成环境。集成环境。2.2.工作界面工作界面Proteus ISISProteus ISIS的工作界面是一种标准的的工作界面是一种标准的WindowsWindows界面,如界面,如图图1-81-8所示。包括:标题栏、主菜单、标准工具栏、绘图所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、对象选择按钮、预览对象方位控制按钮、仿真进工具栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。2024/10/13周日21图1-8 Proteus ISIS的工作界面2024/10/13周日223基本操作基本操作1)元件拾取元件拾取用鼠标左键单击对象选择按钮的用鼠标左键单击对象选择按钮的“P”按钮,弹出按钮,弹出“Pick Devices”(元件拾取元件拾取)对话框,如图对话框,如图1-9所示。所示。图图1-9 元件拾取对话框元件拾取对话框2024/10/13周日23元件拾取共有两种办法元件拾取共有两种办法:按类别查找和拾取元件按类别查找和拾取元件 直接查找和拾取元件直接查找和拾取元件2024/10/13周日242)编辑窗口视野控制编辑窗口视野控制 学会合理控制编辑区的视野是元件编辑和电路连接学会合理控制编辑区的视野是元件编辑和电路连接进行前的首要工作。进行前的首要工作。编辑窗口的视野平移可用以下方法:编辑窗口的视野平移可用以下方法:在原理图编辑区的蓝色方框内,把鼠标指针放置在原理图编辑区的蓝色方框内,把鼠标指针放置在一个地方后,按下在一个地方后,按下“F5”,则以鼠标指针为中心,则以鼠标指针为中心显示图形。显示图形。当图形不能全部显示出来时,按住当图形不能全部显示出来时,按住“Shift”键,键,移动鼠标指针到上、下、左、右边界,则图形自移动鼠标指针到上、下、左、右边界,则图形自动平移。动平移。快速显示想要显示的图形部分时,把鼠标指向左快速显示想要显示的图形部分时,把鼠标指向左上预览窗口中某处,并单击鼠标左键,则编辑窗上预览窗口中某处,并单击鼠标左键,则编辑窗口内图形自动移动到指定位置。口内图形自动移动到指定位置。2024/10/13周日25 编辑窗口的视野缩放用以下方法:编辑窗口的视野缩放用以下方法:先把鼠标指针放置到原理图编辑区内的蓝色框内,上下滚动先把鼠标指针放置到原理图编辑区内的蓝色框内,上下滚动鼠标滚轮即可缩放视野。如果没有鼠标滚轮,可使用图标鼠标滚轮即可缩放视野。如果没有鼠标滚轮,可使用图标来放大和缩小编辑窗口内的图形。来放大和缩小编辑窗口内的图形。放置鼠标指到编辑窗口内想要放大或缩小的地方,按放置鼠标指到编辑窗口内想要放大或缩小的地方,按“F6”(放放大大)或或“F7”(缩小缩小)放大或缩小图形,按放大或缩小图形,按“F8”显示整个图形。显示整个图形。2024/10/13周日263)元件位置的调整和参数的修改元件位置的调整和参数的修改 在编辑区的元件上单击鼠标左键选中元件在编辑区的元件上单击鼠标左键选中元件(为红色为红色),在选中的元件上再次单击鼠标右键则删除该元件,在选中的元件上再次单击鼠标右键则删除该元件,而在元件以外的区域内单击右键则取消选择。而在元件以外的区域内单击右键则取消选择。改变元件参数(以修改电阻参数为例):改变元件参数(以修改电阻参数为例):左键双击原理图编辑区的电阻左键双击原理图编辑区的电阻R1,弹出,弹出“Edit Component”(元件属性设置元件属性设置)对话框,把对话框,把R1的的Resistance(阻值阻值)由由10k改改为为1k。Edit Component(元件属性设置元件属性设置)对话框如图对话框如图1-10所示。所示。2024/10/13周日27图1-10 元件属性设置对话框2024/10/13周日284)线路连接。将鼠标指针靠近元件的一端,当鼠标的)线路连接。将鼠标指针靠近元件的一端,当鼠标的铅笔形状变为绿色时,表示可以连线了,单击该点,铅笔形状变为绿色时,表示可以连线了,单击该点,再将鼠标移至另一元件的一端,单击,两点间的线路再将鼠标移至另一元件的一端,单击,两点间的线路就画好了。如果要删除一根连线,右键双击连线即可。就画好了。如果要删除一根连线,右键双击连线即可。5)文件保存。鼠标单击)文件保存。鼠标单击“File”-“Save Design”菜菜单,出现文件保存对话框。选择要保存的文件夹,输单,出现文件保存对话框。选择要保存的文件夹,输入文件名,后缀为入文件名,后缀为.DSN。在设计过程中要养成不断存。在设计过程中要养成不断存盘的好习惯,以免突发事件而造成事倍功半的效果。盘的好习惯,以免突发事件而造成事倍功半的效果。下次打开时,可直接双击下次打开时,可直接双击“1.DSN”文件,或先运行文件,或先运行Proteus,再打开,再打开“1.DSN”文件。文件。2024/10/13周日291.2.4 单片机最小系统单片机最小系统 单片机最小系统,又称为最小应用系统,是指用单片机最小系统,又称为最小应用系统,是指用最小的元件组成的单片机可以工作的系统。对于最小的元件组成的单片机可以工作的系统。对于MCS-51单片机来说,其内部已经包含了一定数量单片机来说,其内部已经包含了一定数量的数据存储器和程序存储器,在外部只需增加电源的数据存储器和程序存储器,在外部只需增加电源电路、时钟电路和复位电路即可构成单片机的最小电路、时钟电路和复位电路即可构成单片机的最小系统。系统。电源电路:向单片机供电。电源电路:向单片机供电。时钟电路:单片机工作的时间基准,单片机的工作时钟电路:单片机工作的时间基准,单片机的工作速度。速度。复位电路:确定单片机工作的起始状态,完成单片复位电路:确定单片机工作的起始状态,完成单片机的启动过程。机的启动过程。2024/10/13周日301.2.5 发光二极管发光二极管闪烁控制系统设计与制作闪烁控制系统设计与制作设计要求:通过按键控制单片机的三个设计要求:通过按键控制单片机的三个I/O口口P1.5、P1.6和和P1.7,它们分别接发光二极管,它们分别接发光二极管LED1、LED2和和LED3,按键不按下三个发光二极管都不亮,按键,按键不按下三个发光二极管都不亮,按键按下使三个发光二极管同时亮、灭,时间间隔约按下使三个发光二极管同时亮、灭,时间间隔约10ms,构成最简单的发光二极管闪烁控制系统。,构成最简单的发光二极管闪烁控制系统。2024/10/13周日31硬件设计分析:该系统需要单片机最小系统、按键、硬件设计分析:该系统需要单片机最小系统、按键、三个发光二极管,硬件原理图如图三个发光二极管,硬件原理图如图1-11所示。所示。软件设计分析:软件主要就是编写源程序代码。结合软件设计分析:软件主要就是编写源程序代码。结合原理图,可以看到要使发光二极管点亮,需使单片机原理图,可以看到要使发光二极管点亮,需使单片机的的I/O口的口的P1.5、P1.6和和P1.7引脚输入高电平,间隔引脚输入高电平,间隔约约10ms后输出低电平,这样发光二极管就可以不断后输出低电平,这样发光二极管就可以不断的闪烁。的闪烁。2024/10/13周日32图1-11 发光二极管闪烁控制系统原理图#includesbit LED1=P15;sbit LED2=P16;sbit LED3=P17;sbit KEY=P10;void Delay()unsigned int i,j;for(i=0;i50;i+)for(j=0;j1200;j+);void main()LED1=0;LED2=0;LED3=0;while(1)KEY=1;if(KEY=0)LED1=1;LED2=1;LED3=1;Delay();LED1=0;LED2=0;LED3=0;Delay();2024/10/13周日332024/10/13周日34仿真效果图与实物图如下所示:仿真效果图与实物图如下所示:2024/10/13周日351.3.1 1.3.1 单片机的信号引脚单片机的信号引脚1.3.2 1.3.2 单片机的内部结构单片机的内部结构1.3.3 单片机的并行端口单片机的并行端口1.3.4 单片机的时钟与复位电路单片机的时钟与复位电路1.3 1.3 从外到内观察单片机从外到内观察单片机2024/10/13周日361.3.1 1.3.1 单片机的信号引脚单片机的信号引脚 MCS-51MCS-51单片机的封装单片机的封装形式有两种,一种是形式有两种,一种是4040只只引脚的双列直插式引脚的双列直插式(DIP)(DIP)封装,另一种是封装,另一种是4444只引脚只引脚的方形的方形PLCCPLCC封装。封装。MCS-51MCS-51单片机最常用的单片机最常用的4040引脚的引脚的双列直插封装方式双列直插封装方式。单片机信号引脚1、I/O口线4个个8位并行位并行 I/O 接口引脚接口引脚 P0.0P0.7、P1.0P1.7、P2.0P2.7和和 P3.0P3.7(1)I/O口线功能(2)单片机I/O口线为多功能引为多功能引脚,可自动切换用作数据总线、脚,可自动切换用作数据总线、地址总线、控制总线和或地址总线、控制总线和或I/O 接接 口外部引脚。口外部引脚。80C51(2)I/O引脚引脚uP0.0P0.7(3932脚脚):P0口的口的8位双向位双向I/O口线。口线。P0口即可作地址口即可作地址/数据总线使用,又可作通用的数据总线使用,又可作通用的I/O口使用。当口使用。当CPU访访问片外存储器时,问片外存储器时,P0口分时先作低口分时先作低8位地址总线,后作双向数据总线,位地址总线,后作双向数据总线,此时,此时,P0口就不能再作口就不能再作I/O口使用了。口使用了。uP1.0P1.7(18脚脚):P1口的口的8位准双向位准双向I/O口线。口线。P1口作为通用的口作为通用的I/O口使用。口使用。uP2.0P2.7(2128脚脚):P2口的口的8位准双向位准双向I/O口线。口线。P2口即可作为通用的口即可作为通用的I/O口使用,也可作为片外存储器的高口使用,也可作为片外存储器的高8位地址总位地址总线,与线,与P0口配合,组成口配合,组成16位片外存储器单元地址。位片外存储器单元地址。uP3.0P3.7(1017脚脚):P3口的口的8位准双向位准双向I/O口线。口线。P3口除了作为通用的口除了作为通用的I/O口使用之外,每个引脚还具有第二功能口使用之外,每个引脚还具有第二功能2024/10/13周日382、控制线(1)ALE/PROG(-)(30脚脚):地址锁存允许信号输出地址锁存允许信号输出/编程脉编程脉冲输入引脚。当冲输入引脚。当CPU访问片外存储器时,访问片外存储器时,ALE输出信号控制输出信号控制锁存锁存P0口输出的低口输出的低8位地址,从而实现位地址,从而实现P0口数据与低位地址口数据与低位地址的分时复用。当的分时复用。当8051上电正常工作后,自动在上电正常工作后,自动在ALE端输出频端输出频率为率为fosc/6的脉冲序列的脉冲序列(fosc代表振荡器的频率代表振荡器的频率)。该引脚的第二功能该引脚的第二功能PROG是对是对8751内部内部4KB EPROM编程写编程写入时,作为编程脉冲的输入端。入时,作为编程脉冲的输入端。2024/10/13周日40(2)VPP/EA(-)(31脚脚):外部程序存储器地址允许输入端:外部程序存储器地址允许输入端/编程电压输入端。编程电压输入端。当当EA(-)接高电平时,接高电平时,CPU执行片内执行片内ROM指令,但当指令,但当PC值超过值超过0FFFH时,将自动转去执行片外时,将自动转去执行片外ROM指令;当指令;当EA(-)接低电平时,接低电平时,CPU只执行片外只执行片外ROM指令。对于指令。对于8031,由于其无片内由于其无片内ROM,故其,故其EA(-)必须接低电平。必须接低电平。该引脚的第二功能该引脚的第二功能VPP是对是对8751片内片内EPROM编程写编程写入时,作为入时,作为21V编程电压的输入端。编程电压的输入端。(3)PSEN(-)(29脚脚):片外片外ROM读选通信号端。读选通信号端。在读片外在读片外ROM时,时,PSEN(-)有效,为低电平,以实现有效,为低电平,以实现对片外对片外ROM的读操作。的读操作。2024/10/13周日412.控制引脚控制引脚(4)RST/VPD(9脚脚):复位信号端和后备电源输入端。当当RST引脚保持两个机器周期的高电平后,就可以使引脚保持两个机器周期的高电平后,就可以使8051完成复位操作。该引脚的第二功能是完成复位操作。该引脚的第二功能是VPD,即备用,即备用电源的输入端,具有掉电保护功能。若在该引脚接电源的输入端,具有掉电保护功能。若在该引脚接+5V备用电源,在使用中若主电源备用电源,在使用中若主电源VCC掉电,可保护片内掉电,可保护片内RAM中的信息不丢失。中的信息不丢失。RESET+5V2001K30F F单片单片机机RST复位电路:(1)上电复位(2)外部信号复位2024/10/13周日423、电源及时钟引线(1)电源引脚)电源引脚 VCC(40脚脚):电源端,接:电源端,接+5V电源电源 VSS(20脚脚):接地端。:接地端。(2).时钟引脚时钟引脚 XTAL1(19脚脚):当使用芯片内部时钟,:当使用芯片内部时钟,接外部晶振和微调电容的一端。采用外部时钟接外部晶振和微调电容的一端。采用外部时钟 电路时,此引脚应接地。电路时,此引脚应接地。XTAL2(18脚脚):当使用芯片内部时钟时,:当使用芯片内部时钟时,接外部晶振和微调电容的另一端。使用外部接外部晶振和微调电容的另一端。使用外部时钟时,此引脚应接外部时钟的输入端。时钟时,此引脚应接外部时钟的输入端。2024/10/13周日434.定时器定时器/计数器计数器MCS-51单片机内部有两个16位的定时器/计数器,既可以做定时功能,又可以做计数功能。MCS-52单片机内部有3个16位的定时器/计数器,它增加了一个功能更加强大的16位定时器/计数器T2。5.中断控制系统中断控制系统MCS-51单片机内部具有5个中断源的管理控制功能,这些中断源可以分为2级中断优先级。6.串行通信接口串行通信接口MCS-51单片机内部有1个全双工的UART(通用串行收发器),可设置为多种工作模式。7.时钟电路时钟电路MCS-51单片机内部振荡电路配合外部晶振或外部输入的时钟信号,可产生时钟脉冲序列,控制CPU内部逻辑电路运行。1.3.2 单片机的内部结构单片机的内部结构MCS-51单片机内部具有以下基本特征:单片机内部具有以下基本特征:8 位的位的 CPU,片内有振荡器和时钟电路片内有振荡器和时钟电路 片内有片内有 128B/256B 数据存储器数据存储器RAM 片内有片内有 0KB/4KB/8KB 程序存储器程序存储器ROM 可寻址片外可寻址片外 64KB 数据存储器和片外数据存储器和片外64KB 程序存储程序存储器器 片内片内 21个特殊功能寄存器(个特殊功能寄存器(SFR)4个个8位位的并行的并行I/O口(口(P0-P3)1个全双工串行口(个全双工串行口(SIO/UART)2个个16位定时器位定时器/计数器(计数器(TIMER/COUNTER)可处理可处理 5个中断源,个中断源,两级两级中断优先级中断优先级 内置内置1个布尔处理器和个布尔处理器和1个布尔累加器个布尔累加器8051单片机的结构框图单片机的结构框图80C511.MCS51 CPU 中央处理器简称中央处理器简称CPU,是单片机的核心,是计算机的控制,是单片机的核心,是计算机的控制和指挥中心和指挥中心。它由运算器(它由运算器(ALU)和控制器两部分组成。)和控制器两部分组成。CPU内部结构:(1)运算器电路:)运算器电路:算术逻辑单元算术逻辑单元ALU、累加器累加器ACC、寄寄存器存器B、程序状态字、程序状态字PSW和和2个暂存器等个暂存器等。算术逻辑运算单元算术逻辑运算单元ALU(8位位):运算器用于实现算术和逻辑运算。运算器以运算器用于实现算术和逻辑运算。运算器以ALU为核心,基本的算为核心,基本的算术和逻辑运算均在其中操作,如加、减、乘、除、增量、减量、十进制术和逻辑运算均在其中操作,如加、减、乘、除、增量、减量、十进制数调整、比较、逻辑与、或、异或、求补循环移位数调整、比较、逻辑与、或、异或、求补循环移位和和位处理。位处理。等操作。等操作。操作结果的状态由程序状态字保存。操作结果的状态由程序状态字保存。2024/10/13周日48(2)控制器电路:)控制器电路:程序计数器程序计数器PC、PC+1寄存器寄存器、指令寄存器指令寄存器、指令译码器指令译码器、定时、定时与与控制电路等控制电路等,另外,另外,DPTR、SP指针也包含在控制部分指针也包含在控制部分。u 程序计数器程序计数器PC PC是控制器中最基本的寄存器。它是是控制器中最基本的寄存器。它是16位的地址寄存器,用于存放将要从位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,可寻址中读出的下一字节指令码的地址,可寻址64KB的程序存储器空间。的程序存储器空间。PC的的基本工作方式有:基本工作方式有:自动加自动加1。CPU从从ROM中每读一个字节,自动执行中每读一个字节,自动执行PC+1PC;执行转移指令时,执行转移指令时,PC会根据要求修改地址;会根据要求修改地址;执行调用子程序或发生中断时,执行调用子程序或发生中断时,CPU会自动将当前会自动将当前PC值压入堆栈,将子程值压入堆栈,将子程序入口地址或中断入口地址装入序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被;子程序返回或中断返回时,恢复原有被压入堆栈的压入堆栈的PC值,继续执行原顺序程序指令。值,继续执行原顺序程序指令。1.3.3 单片机的并行端单片机的并行端口口 MCS-51单片机具有单片机具有4个双向的并行个双向的并行I/O端端口,每个端口都是口,每个端口都是8位准双向口,共占位准双向口,共占32根引根引脚,表示为:脚,表示为:P0P3,它们具有系统规定的,它们具有系统规定的字节地址,每个口都包含一个锁存器、一个输字节地址,每个口都包含一个锁存器、一个输出驱动器和输入缓冲器。每个口均有一个出驱动器和输入缓冲器。每个口均有一个8位位锁存器,在上电复位后初态为全锁存器,在上电复位后初态为全“1”,使,使P0P3口均处于输入状态。口均处于输入状态。1.P0口口 P0口的字节地址口的字节地址80H,位地址,位地址8087H,口的各位,口的各位口线具有完全相同但又相互独立的逻辑电路。如图口线具有完全相同但又相互独立的逻辑电路。如图1-27所示,它包括所示,它包括1个输出锁存器、个输出锁存器、2个三态缓冲器、一个输个三态缓冲器、一个输出驱动电路和出驱动电路和1个输出控制端。个输出控制端。1)P0口作数据口作数据/地址总线使用地址总线使用在访问外部存储器时,在访问外部存储器时,P0口是一个真正的双向数据总线端口,并分时复口是一个真正的双向数据总线端口,并分时复用作为数据总线和低用作为数据总线和低8位地址总线。位地址总线。2)P0口作通用口作通用I/O端口使用端口使用P0口用作输出端口时外部必须接上拉电阻才能正确输出高电平;口用作输出端口时外部必须接上拉电阻才能正确输出高电平;P0口用作输入端口时,在进行输入操作前,应该先向该端口的输出锁存口用作输入端口时,在进行输入操作前,应该先向该端口的输出锁存器写器写“1”。2024/10/13周日50P0口:一个数据输出锁存器和两个三态数据输入缓冲器。一个多路转接电路MUX在控制信号的作用下,MUX可以分别接通锁存器输出或地址/数据线。当作为通用的I/O口使用时,内部的控制信号为低电平,封锁与门将输出驱动电路的上拉场效应管(FET)截止,同时使MUX接通锁存器Q端的输出通路。2024/10/13周日52P0口的位结构图2.P1口口 P1口的字节地址口的字节地址90H,位地址,位地址9097H,口的各位,口的各位口线具有完全相同但又相互独立的逻辑电路。口线具有完全相同但又相互独立的逻辑电路。P1口是一口是一个有内部上拉电阻的准双向口个有内部上拉电阻的准双向口。P1口只能作为通用的口只能作为通用的I/O口使用,所以在电路结构上和口使用,所以在电路结构上和P0口不同主要表现为:口不同主要表现为:1)它只传送数据,所以不需要多路转接开关它只传送数据,所以不需要多路转接开关MUX。2)因为只用来传送数据,因此输出电路中有上拉电阻,且上拉电阻和因为只用来传送数据,因此输出电路中有上拉电阻,且上拉电阻和场效应管共同组成了输出驱动电路。场效应管共同组成了输出驱动电路。P1口作为输出口使用时,外电路无需接上拉电阻。口作为输出口使用时,外电路无需接上拉电阻。P1口作为输入口使用时,应先向其锁存器写入口作为输入口使用时,应先向其锁存器写入“1”,使输出驱动电,使输出驱动电路的场效应管截止。路的场效应管截止。2024/10/13周日532024/10/13周日54P1口的位结构图口的位结构图3.P2口口 P2口的字节地址口的字节地址A0H,位地址,位地址A0A7H。P2口是口是8位准双向位准双向I/O口,具有两种功能。一是作通用口,具有两种功能。一是作通用I/O口用,口用,与与P1口相同。二是口相同。二是P2口作地址总线使用。当系统中接有口作地址总线使用。当系统中接有外部存储器时,外部存储器时,P2口用于输出高口用于输出高8位地址位地址A15 A8,与与P0口一起组成口一起组成16位地址总线。位地址总线。2024/10/13周日552024/10/13周日56P2口的位结构图2024/10/13周日574.P3口 P3口的字节地址口的字节地址B0H,位地址,位地址B0B7H。P3口是口是一个多用途的端口,也是一个准双向口,作为第一功一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同能使用时,其功能同P1口。当作第二功能使用时,每口。当作第二功能使用时,每一位功能定义如表一位功能定义如表1-2所示。所示。2024/10/13周日58P3口的位结构图2024/10/13周日59端口功能端口功能第二功能第二功能P3.0RXD,串行输入口,串行输入口P3.1TXD,串行输出口,串行输出口P3.2,外部中断,外部中断0输入口输入口P3.3,外部中断,外部中断1输入口输入口P3.4T0,定时器,定时器0外部输入外部输入P3.5T1,定时器,定时器1外部输入外部输入P3.6,外部数据存储器写选通信号输出,外部数据存储器写选通信号输出P3.7,外部数据存储器读选通信号输入,外部数据存储器读选通信号输入端口小结:(1)系统总线:地址总线(16位):P0(地址低8位)、P2口(地址高8位)数据总线(8位):P0口(地址/数据分时复用,借助ALE);控制总线(6根):P3口的第二功能和9、29、30、31脚;(2)供用户使用的端口:P1口、部分未作第二功能的P3口;(3)P0口作地址/数据时,是真正的双向口,三态,负载能力为8个LSTTL电路;P1P3是准双向口,负载能力为4个LSTTL电路。(4)P0P3在用作输入之前必须先写“1”,即:(P0)=FFH(P3)=FFH。2024/10/13周日621.单片机的时钟电路单片机的时钟电路时钟电路通常有两种方式:内部时钟方式和外部时钟方式。时钟电路通常有两种方式:内部时钟方式和外部时钟方式。1)内部时钟方式内部时钟方式:目前,目前,51系列单片机的晶振频率系列单片机的晶振频率fosc范围为范围为1.212MHz,其典,其典型值为型值为6MHz、11.0592MHz、12MHz等等XTAL1单片机单片机XTAL2 内部时钟方式内部时钟方式内部时钟方式内部时钟方式内部一个高增益反相放大器与片外石英晶体或陶瓷谐振器构内部一个高增益反相放大器与片外石英晶体或陶瓷谐振器构成了一个自激振荡器。成了一个自激振荡器。晶体振荡器的振荡频率决定单片机的时钟频率。晶体振荡器的振荡频率决定单片机的时钟频率。1.3.4 1.3.4 单片机的时钟与复位电路单片机的时钟与复位电路单片机的时钟与复位电路单片机的时钟与复位电路振荡源OSCillation2024/10/13周日632)外部时钟方式:外部时钟方式:外部振荡器输入时钟信号外部振荡器输入时钟信号。外部时钟方式就是把外部已有的时钟信号引入单片机内外部时钟方式就是把外部已有的时钟信号引入单片机内。这这样得到的时钟信号通过内部的时钟电路,经过分频,得到相应样得到的时钟信号通过内部的时钟电路,经过分频,得到相应的时钟信号的时钟信号外部时钟方式外部时钟方式外部时钟方式外部时钟方式1。.。XTAL1单片机单片机XTAL2 外部时钟源外部时钟源外部时钟源外部时钟源+5V+5V2.时序定时单位时钟周期:振荡频率的倒数。机器周期:完成一个基本操作所需要的时间。一个机器周期由12个时钟周期组成。指令周期:一条指令的执行时间。以机器周期为单位:可包含1个4个机器周期。思考题:设应用单片机晶振频率为12MHz,问机器周期为多少?指令周期分别为多少?fosc=12MHzMC=12/fosc=12/12MHz=1s3.典型指令时序MCS51采用定
展开阅读全文