单片机课程综述
- 格式:doc
- 大小:941.83 KB
- 文档页数:25
单片机原理及应用 课程综述
专业班级: 电气13-5班 姓 名:徐毅、周兵、李浩宇、赵国辉、依力斯特 一、课程综述 姓名: 徐毅 姓名: 周兵
本学期,我们在课程教学老师谢军老师与实验教学老师张亚老师的指导下,以MCS-51单片机为主要学习对象,由浅到深地了解和学习单片机极其应用系统,在将老师讲解与个人学习相结合基础上,我对本学期单片机极其应用系统的学习总结理解如下: 首先我们要了解什么是单片机。单片机又称单片微控制器,是指在一块芯片体上集成中央处理器CPU、随机存储器ROM或EPROM、定时器/计数器、中断控制器、以及串行和并行I/O接口等部件,构成一个完整微型计算机。目前,新型单片机内还有A/D及D/A转换器、高速输入/输出部件、DMA通道、浮点运算等特殊功能部件。它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 单片机特点及应用如下,单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。现在,这种单片机的使用领域已十分广泛。单片机的应用可分为单机应用和多机应用。单机应有主要用于测控系统、智能仪表、机电一体化产品、智能接口、智能民用产品等领域,是目前应用最多的方式。而多机应用又可分为功能集散系统、并行多机控制系统及局部网络系统。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。单片机经过几十年来的发展可总结为以下五个阶段: 1)、四位单片机:仅能用于简单控制,但价格便宜。 2)、低档8位单片机:不带串行接口,寻址范围一般在4KB内,其功能可满足一般工业控制和智能化仪器等的需要。 3)、高等8位单片机:带有串行接口,寻址范围可达64KB,有多级中断处理系统、16位定时器/计数器,其功能较强,是目前应用的主要产品。 4)、16位单片机:计算速度和控制功能大幅度提高,具有很强的实时处理能力。 5)、新一代单片机:在结构上才有双CPU或内部流水线,CPU位数有8位、16位、32位,时钟频率高达40MHz,片内带有PWM输出、监视定时器WDT、可编辑计数器阵列PCA、DMA传输、调制解调器等。芯片向高集成化、低功耗方向发展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量的应用。 其中,MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算 是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,在本学期的单片机课程教学中也是以MCS-51单片机作为代表进行理论基础学习。在查阅相关资料及老师的讲解,我将对MCS-51单片机的基本组成进行综合论述。 (1)、在基本组成方面: 经过总结了解到,首先其内部结构包含了:一个8位CPU,功能很强大,由运算器和控制器构成;4KB ROM或EPROM(8031中没有ROM);128字节RAM数据存储器;21个特殊功能寄存器SFR;4个8位并行I/O接口,其中P0、P2为地址线/数据线。可寻址64KB ROM和64KB RAM;一个可编程全双工串行接口;具有5个中断源,两个优先级,嵌套中断结构;两个16位定时器/计数器;一个片内振荡器及时钟电路。 运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。 控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,给PC装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时,PC才转到所需要的地方去。8051 CPU指定的地址,从ROM相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在CPU内部协调寄存器之间的数据传输、运算等操作。 存储器是单片机的又一个重要组成部分,每个存储单元对应一个地址,如256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00H~FFH)。存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。存储器的存储单元地址和存储单元的内容是不同的两个概念,不能混淆。 此外,存储器又分为程序存储器、和数据存储器和特殊功能寄存器三部分,程序存储器是控制计算机动作的一系列命令,单片机只认识由“0”和“1”代码构成的机器指令。 单片机的数据存储器由读写存储器RAM组成。其最大容量可扩展到64k,用于存储实时输入的数据。8051内部有256个单元的内部数据存储器,其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区。实际使用时应首先充分利用内部存储器,从使用角度讲,搞清内部数据存储器的结构和地址分配是十分重要的。因为将来在学习指令系统和程序设计时会经常用到它们。8051内部数据存储器地址由00H至FFH共有256个字节的地址空间,该空间被分为两部分,其中内部数据RAM的地址为00H~7FH(即0~127)。 而用做特殊功能寄存器的地址为80H~FFH,特殊功能寄存器(SFR)的地址范围为80H~FFH。在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。其中5个是双字节寄存器,它们共占用了26个字节。特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。 (2)、在单片机的指令系统方面: MCS-51单片机的指令系统是一个具有255种代码的集合,绝大多数指令包含两个基本部分:操作码和操作数。操作码表明指令要执行的性质;操作数说明参与操作的数据或数据所存放的地址。MSC-51单片机有包括:数据传送指令、算数运算指令、逻辑运算指令、控制转移指令、位操作指令111条,有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、相对寻址、变址寻址、位寻址7种寻址方式。在学习单片机的指令系统时候我们学习了一种跟机器打交道的比较实用的汇编语言,在这个学习过程是非常有趣的,你可要通过自己编写程序区控制单片机。通过设计可以用单片机制造一些电子产品输入自己设计的程序是它完成我们所需要的功能。 MCS-单片机作为最早的单片机其结构简单,容易较好的让我们初学者入门,而一切所以的后来的单片机的原理都是由MCS-拓展的,所以我们学习MSC-51为我们单片机打下坚实的基础。 (3)、汇编语言程序设计方面: 一般情况下,程序设计过程可分为以下几个步骤。 1)、分析问题,确定算法或接替思路; 2)、画流程图; 3)、编写程序; 4)、调试和修改; 汇编语言语句有两种基本类型:指令语句和伪指令语句。指令语句由上所述的五类指令组成伪指令语句(指示性语句)则是指那些不由CPU执行,只为汇编程序在汇编源程序是提供有关信息。伪指令语句除了所定义的具体数据要生成目标代码外,其他项均不生成目标代码。 汇编语言的基本格式:MCS-51汇编语言的四分段格式为:标号字段 、操作码字段 、操作数字段 、 注释字段,用汇编语言进行编程时,还要注意各个字段的语法及格式规则,以免造成不必要的麻烦。 在我看来,汇编语言程序设计是单片机学习中最复杂的部分,因此我们必须在熟练掌握各条指令的功能的基础上,通过各种实际程序,慢慢熟悉汇编语言的编写,需要耐心。 (4)、在中断系统方面: 所谓中断就是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中断的原程序的过程。采用中断技术之后的计算机,可以解决CPU与外设之间速度匹配的问题,使计算机可以及时处理系统中许多随机的参数和信息。同时,它也提高了计算机处理故障能力与应变的能力。 单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。中断学会后,就可以编制更复杂结构的程序。 在学习总结MCS-51单片机的同时,我们也充分用到了之前学习的专业基础课包括:电路基础、模拟电子技术、数字电路基础等课程,从而使我们再一次的对上述课程的巩固学习,从新的对知识梳理了一遍更加深刻了对知识的印象,了解到了知识串接的重要性。以上就是我通过本学期的学习,对单片机相关内容知识的一些基本总结与论述。