微机系统及编程.ppt_第1页
微机系统及编程.ppt_第2页
微机系统及编程.ppt_第3页
微机系统及编程.ppt_第4页
微机系统及编程.ppt_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

1、0,2012年11月,主讲人:王红星,主修:机械制造及自动化,机械专业必修课,1,教学内容,0,课程准备,1,微机基础,3,微机系统接口扩展,2,微机系统结构及编程,4,微机系统通信接口,5,人机交互接口。微机系统和MCS-51单片机的内部结构如图2-1所示。除了中央处理器,单片机还集成了存储器、中断系统、定时器/计数器、并行输入输出接口和串口等外围设备,通过内部总线与中央处理器相连。3,第2讲微机系统与编程,4,1中央处理器,包括两部分:运算单元和控制器。MCS-51单片机的运算单元可以实现多种数据处理,并具有二进制数据和BCD码数据的处理能力,尤其是布尔运算能力。算术单元由算术逻辑单元AL

2、U、累加器a、寄存器b和程序状态字PSW组成。算术逻辑单元可以实现8位二进制数据的加、减、乘、除等算术运算,以及逻辑与、或、异或、清零、反相等逻辑运算,还可以实现数据传输、循环移位、测试跳转等功能。MCS-51单片机的算术逻辑单元也具有很强的位处理能力,可以对位变量进行数据传输、置位、清零、否定、测试跳转、逻辑“与”、“或”等操作。第二讲是微机系统和程序设计。5.累加器A是一个8位寄存器,是中央处理器中最常用的寄存器。在算术运算和逻辑运算指令中,累加器A一般用于存储操作数和运算结果,一些特殊的运算如移位和求逆只能对累加器A中的数据进行.寄存器b也是一个8位寄存器,主要用于实现与累加器a的乘法和

3、除法。在乘法中,寄存器b存储一个乘法器和乘积的高字节。6.程序状态字PSW中的每个位反映了中央处理器的当前工作状态,定义如下:Cy(PSW.7):进位标志(进位标志)AC(PSW.6):辅助进位标志(辅助进位标志)。F0(PSW.5):标志位0(标志0)。RS1(PSW.4)和RS0(PSW.3):寄存器组选择位。OV(PSW.2):溢出标志。PSW.1:位未定义。奇偶标志。控制器由指令寄存器、指令解码器、程序计数器、堆栈指针、数据指针DPTR等组成。本质上,控制器是一个复杂的定时控制电路。中央处理器从程序存储器中获取指令,并将其放入指令寄存器,然后用指令解码器对指令进行解码,并发出各种控制信

4、号,使计算机的各个硬件部分能够根据时钟信号的节拍相互协调和配合,最终实现各种功能。第二讲是微机系统和程序设计。9.程序计数器是一个16位寄存器,它控制程序的执行顺序。要执行的下一条指令的存储头地址总是存储在计算机中。指令执行后,中央处理器自动从PC机指向的下一条指令的内存地址中取出一个字节,然后PC机的值自动增加1,指向下一个内存位置。如果当前执行的指令改变了PC机的值,程序的运行方向也会改变,这就是所谓的程序跳转。当单片机复位时,PC机的值被清零,所以复位后执行的第一条指令总是存储在只读存储器中地址为0的存储单元中。10.堆栈是在内存中创建的存储区域,按照“先进先出”的原则进行管理。1.用于

5、子程序调用和返回过程中的断点保护和字段保护;2.用于主程序和子程序之间的参数传递。操作堆栈时,需要一个堆栈指针来指示堆栈的顶部位置。在MCS-51单片机中,堆栈指针SP是一个8位寄存器。当执行PUSH、ACALL、LCALL指令和响应中断(即调用中断服务子程序)时,sp的值将自动增加;当执行持久性有机污染物、可再生能源和RETI指令时,可再生能源的值将自动降低。当微控制器复位时,速度值为07H。第2讲微机系统与编程,第11页。数据指针DPTR是一个16位寄存器。MCS-51单片机外部地址总线的宽度为16位。当访问外部数据存储器或程序存储器时,DPTR可用于寻址。DPTR的高字节寄存器由DPH表

6、示,低字节寄存器由DPL表示。DPTR可以作为16位寄存器访问,也可以作为两个独立的8位寄存器操作。复位后的DPTR值为0000小时。在一些新型单片机中,为了提高C语言程序的执行效率,实现了双DPTR或多DPTR。第二讲是微机系统与编程,12,2。记忆,1。单片机存储器根据其功能可分为数据存储器和程序存储器;2.根据其位置,可将其分为片外存储器和片内存储器。3.在片内随机存取存储器中,划分出一个特殊区域来存储特殊功能寄存器,称为特殊功能寄存器区。在片上随机存取存储器中,具有特定地址的存储单元的每个二进制位都有一个位地址,这些存储单元构成一个位可寻址区域。片内随机存取存储器地址为00H1FH的存

7、储单元用作工作寄存器区。综上所述,根据其位置和功能,单片机的整个存储空间可以分为六个区域:内部程序存储区、外部程序存储区、低128字节的内部数据存储区(包括工作寄存器区和位寻址区)、高128字节的内部数据存储区、特殊功能寄存器区和外部数据存储区。MCS-51单片机的存储结构如图2-2所示。2。记忆,14。第二讲微机系统和程序设计,15。MCS-51单片机的程序存储器中有几个专用存储单元。地址为0000的单元存储微控制器复位后执行的第一条指令的第一个地址。此外,有五个单元地址对应于微控制器的五个中断源,称为中断服务程序入口地址,也称为中断向量,如表2-2所示。第二讲是微机系统和程序设计。16位寻

8、址区域中的每个二进制位都有一个独立的位地址,总共有128位。位地址范围为00H7FH,如表2-3所示。第二讲是微机系统和程序设计。17,2。特殊功能寄存器在单片机中起着非常重要的作用。单片机的各个硬件部件,如算术逻辑单元、并行输入输出端口、串口、定时器/计数器、中断系统等。具有相应的特殊功能寄存器。用户程序通过专用功能寄存器设置各个硬件组件,并通过专用功能寄存器获取各个设备的当前工作状态。如果你想使用单片机的功能,你必须熟悉相关的特殊功能寄存器。本质上,特殊功能寄存器是具有特殊功能的存储单元,它们分布在内部数据存储地址80H7FH的存储区域中,并通过直接寻址来访问。MCS-51单片机特殊功能寄

9、存器在存储器中的分布见表2-4。MCS-51特殊功能寄存器的具体功能和定义见表2-5。表2-5 MCS-51特殊功能寄存器的定义,第二讲微机系统与编程,20,MCS-51特殊功能寄存器的定义(续),第二讲微机系统与编程,21,3针微机系统功能。MCS-51系列单片机的基本型号主要采用40引脚双列直插式(DIP)封装,并定义了其引脚功能。第二讲微机系统与编程。22.单片机的40针可分为以下四类:1 .电源引脚。当单片机正常运行或编程验证时,VCC应接5V电源,VSS应接地(GND)。2.并行输入输出接口,有四个并行输入输出端口,分别是P0、P1、P2和P3,每个并行端口有8个引脚,共32个引脚。

10、3。时钟引脚XTAL1是内部反相振荡器放大器的输入端,XTAL2是内部反相振荡器放大器的输出端。第二讲微机系统与编程,23,4。特殊功能引脚,复位引脚RST。在两个机器周期内,RST引脚上出现的高电平将导致微控制器复位。常见的外部复位电路如图2-4所示。(a)上电复位电路(b)上电复位和手动复位电路图2-4上电复位电路,第二讲微机系统和编程,24,ALE/PROG引脚,ALE是数据锁存使能脉冲的输出信号,用于在访问外部存储器时锁存P0端口输出的低8位地址(A0A7),ALE脉冲的频率约为振荡器频率的1/6。对内部程序存储器进行编程时,此引脚输入编程脉冲信号(用作PROG功能)。PSEN引脚是外

11、部程序存储器选通信号。二、微机系统与编程,25,1。P1端口,4个输入输出端口,MCS-51有32个输入输出引脚,构成4个8位并行输入输出端口,分别称为P0端口、P1端口、P2端口和P3端口,特殊功能寄存器P0、P1、P2和P3是它们的端口锁存器。四个并行端口可以作为字节或位来操作。四个并行端口是双向端口,可以是输入或输出。在四个并行输入输出端口中,P1端口的功能最简单。图2-20为P1港1位结构示意图,P1港8个引脚结构相同。第二讲是微机系统与编程,26。锁存器的功能是锁存输出信息。P1端口的八个锁存器构成特殊功能寄存器P1,而V1场效应晶体管和上拉电阻构成输出驱动器。读取引脚信号和读取锁存

12、信号各自控制三态门。第二讲是微机系统和程序设计。当端口27用作输出时,要输出的数据(0或1)通过内部总线写入端口P1的每个引脚的锁存器。如果输出数据为0,反相输出端Q开启V1场效应晶体管,外部引脚出现低电平。如果输出数据为1,反相输出端将关闭V1场效应晶体管,并且由于内部上拉电阻,外部引脚将具有高电平。当P1端口用作输入时,P1端口工作在引脚读取状态。如果P1的端口锁存为0,反相输出端Q将保持V1场效应晶体管始终打开,P1.x引脚将被箝位在低电平,不能输入高电平。因此,在读取P1端口的引脚状态或P1的某个位之前,用户程序必须在相应的端口锁存器中写入1。正因为如此,P1港也被称为准双向港。第2讲

13、微机系统与编程,28,P2端口不仅可以用作通用输入输出端口,还可以用作高8位地址总线。图2-21是P2港1位结构示意图。图中模拟开关由内部控制信号控制,用于选择P2端口的工作状态。2。P2港,第二讲是微机系统与编程,29。当模拟开关在左边时,P2端口用作通用输入/输出。此时,工作原理与P1端口基本相同。当输出0时,场效应晶体管V1导通,外部引脚输出低电平。当输出为1时,V1关闭,由于内部上拉电阻,外部引脚输出高电平。输入时,端口锁存的值必须保持在1,这样高电平才能正常输入。输入也分为读引脚状态和读锁存状态,这与P1端口相同。当模拟开关位于右侧时,P2端口输出高8位的地址信息。地址总线是单向的,

14、只能输出,不能输入。第二讲是关于微型计算机系统和程序设计。除了用作通用输入/输出之外,端口30和P3各有第二个功能。详见表2-10。图2-22为P3 1号口钻头结构示意图。3。P3端口,图2-22 P3端口1位结构示意图,第二讲微机系统与编程,31和P3端口作为通用输入输出端口与P1端口相同。当P3端口的管脚使用其第二功能时,对应的锁存器必须是“1”;否则,图中与非门的输出始终为1,V1开启,引脚被箝位在低电平,因此无法正常工作。第二讲是微机系统和程序设计。端口32和P0可以在通用输入/输出模式下工作,并且可以作为数据总线a进行分时复用,4。P0端口,第二讲是微机系统与编程,33。当控制信号C

15、=0时,P0端口用作通用输入/输出(图2-23)。此时,图中与门的输出为0,V2场效应晶体管始终关闭。当输出电平低时,端口锁存器的内容为“0”,V1接通,V2断开,外部引脚处于低电平状态;当输出电平为高电平时,当端口锁存器的内容为“1”时,V1和V2均关断,外部引脚实际上处于浮动状态,因此需要额外的上拉电阻来获得高电平状态。当P0端口用作通用输入/输出的输出时,它是一个“开漏”输出。当用作输入时,端口锁存器的内容必须为“1”,P0端口在高阻抗输入状态下工作。输入也分为读引脚状态和读锁存状态,这与P1端口相同。第2讲微机系统与编程,34,当控制信号C=1时,端口P0被分时复用到数据总线和低位8位

16、地址总线。4个I/O端口驱动能力,P0端口、P1端口和P2端口可驱动4个LS TTL负载,即输出电流不小于400uA;端口P0的输出缓冲器可以驱动八个最小二乘TTL负载,当用作通用输入/输出时,它是一个“开漏”输出,需要一个外部上拉电阻,但当用作数据/地址总线时,不需要外部上拉电阻。二、微机系统与编程,35、二、微机系统与编程,2.2单片机C语言编程。单片机应用系统的编程可以用汇编语言或C语言实现。C语言具有良好的可读性、可移植性和基本的硬件操作能力,因此本课程主要研究单片机的C语言编程。单片机应用系统的c语言开发主要采用凯尔公司的uVision作为集成开发平台。软件设计是工作量中最大也是最重要的部分。设计任务是在总体系统设计和硬件设计的基础上,确定程序结构,划分功能模块,然后设计主程序和各模块程序,最后将它们连接成一个完整的应用程序。1.单片机程序的开发过程;1.程序的模块化设计,以独立功能和协作任务为特征。方法:整个程序分为模块,独立设计、调试和检查,运行正常后连接成一个整体。2.2单片机的C语言编程,37.2)绘制每个程序模块的详细流程图。方法:在具体编程之前,考虑可实现的方案,针对具体的模块功能绘制详细的流程图。简单的模块函数可以直接编写程序。常见问题:大多数人不想花时间画流程图,而是边思考边编程。因为没有对

温馨提示

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

评论

0/150

提交评论