1《单片机技术》考核说明责任教师:赵珩君《单片机技术》课程是一门在当今计算机领域中发展较快,用途十分广泛的计算机专业应用性技术课程。在教学过程中,要按照教学大纲规定,对于凡是在课程中要求掌握的知识点,均要求同学能够全面、深入地掌握所学内容,并能够举一反三,熟练解决相关问题。要求同学掌握的内容也是课程考试的主要内容。对于同学要理解的知识点,为课程的一般内容,要求同学能够理解所学习的内容,对所涉及的内容能够进行简单的分析和判断。对于本课程的次要内容要求学员能够加以了解,在这部分内容中所涉及的都是一些基本概念和简单叙述,知道了就行,没有进一步深入和拓展的要求。各章节的具体要求为:第一章单片机概述本章为了解内容。了解:单片机的概念,单片机的特点、发展概况及应用领域,典型单片机系列的基本情况。注意相关概念之间的联系和区别。第二章单片机芯片的硬件结构本章介绍的是MCS-51单片机的内部邮件结构,包括运算电路结构、控制电路结构和存储器结构等,它们是集成在一个芯片上的单片机硬件资源,构成了一个简单的计算机系统,因此在学习中应当从计算机系统的观点出发进行理解。这一章节是学习单片机的基础,也是学习《单片机技术》课程的重点章节。掌握内容单片机系统结构单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。通过对MCS-51单片机的系统逻辑结构图的学习来(书图2-1)掌握单片机的内部系统结构。MCS-51单片机芯片内部逻辑结构通过MCS-51单片机内部的逻辑结构图(书图2-2)掌握单片机内部的逻辑结构及各个部件的功能与特点。即:中央处理器(CPU)、内部数据存储器、内部程序存储器、定时器/计数器、并行I/O口、串行口、中断控制系统、时钟电路、位处理器、总线。MCS-51单片机的内部存储器2MCS-51单片机芯片内部有数据存储器和程序存储器两类存储器,即所谓的内部RAM和内部ROM。同学重点要掌握内部数据存储器的结构、用途、地址分配和使用特点。一是内部数据存储器的低128单元,它包括了寄存器区、位寻址区、用户RAM区,要掌握这些单元的地址分配、作用等。二是内部数据存储器高128单元,这是为专用寄存器提供的,地址范围为80H~FFH。所谓专用寄存器是区别于通用寄存器而言的,即这些寄存器的功能或用途已作了专门的规定,用于存放单片机相应部件的控制命令、状态或数据等。在这些专用寄存器中,重点要掌握以下寄存器的使用:程序计数器、累加器A、B寄存器、程序状态字(PSW)、数据指针(DPTR)。MCS-51的堆栈操作:堆栈是计算机的重要概念,要掌握以下几方面:1.堆栈的功用2.堆栈的设置3.堆栈指示器4.堆栈使用方式内部程序存储器80C51芯片内有4KROM存储单元,其地址为0000H~0FFFH,这就是我们所说的内部程序存储器(或简称“内部ROM”)。无论是片内或是片外存储器(对于无片内ROM的单片机),在程序存储器中有一组特殊的保留单元0000H~002AH,使用时应特别注意。系统的启动单元:0000H~0002H五个中断源的中断地址区:0003H~002AH0003H~000AH外部中断0000BH~0012H定时器/计数器00013H~001AH外部中断1001BH~0022H定时器/计数器10023H~002AH中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中本应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此一般也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。MCS-51单片机系统的存储器结构特点3单片机的存储器结构有两个重要的特点:一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。总的来说,由芯片内存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。其结构和存储空间分配如书图2-4所示。对于这一节,要掌握MCS-51单片机的四个物理空间(片内RAM、片内ROM、片外RAM、片外ROM),三个独立的逻辑空间(片内RAM空间:00H~FFH、片内外统一编址的ROM空间:0000H~FFFFH、片外RAM空间:0000H~FFFFH)的概念。MCS-51单片机并行输入/输出口电路单片机芯片内还有一项重要内容就是并行I/O口电路。MCS-51共有四个8位的并行双向I/O口,分别记作P0、P1、P2、P3,实际上它们已被归入专用寄存器之列。这四个口除了按字节寻址之外,还可以按位寻址,四个口合在一起共有32位。在单片机中,口是一个集数据输入缓冲、数据输出驱动及锁存等多项功能于一体的I/O电路。MCS-51的四个口在电路结构上是基本相同的,但它们又各具特点,因此在功能和使用上各口之间有一定的差异。在学习中必须要掌握各个口的用途。需要说明的是,虽然在大纲中将MCS-51单片机的引脚内容列为了解内容,这只是说,同学们不必去死记引脚的顺序及部分引脚的定义,但是,对于一些重要的引脚的功能和使用方法还是要求同学掌握的,如数据引脚和地址引脚P0口和P2口以及控制信号:如RD、WR、PSEN、EA等。理解内容MCS-51单片机时钟电路与时序时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。而时序所研究的则是指令执行中各信号之间的相互时间关系。要理解时钟电路的产生与作用,能根据外部所加入的晶体的振荡频率计算时序的定时单位。1.MCS-51的外部晶体的振荡频率范围:1.2MHz~12MHz,2.MCS-51时序的定时单位共有4个,依次是:拍节、状态、机器周期和指令周期。第三章MCS-51单片机指令系统本章介绍的是单片机的指令系统,包括指令的寻址方式、指令分类介绍。这一章节是单片机指令系统的学习基础。掌握内容MCS-51单片机指令的寻址方式掌握指令的7种寻址方式的作用以及不同寻址方式所查询的存储空间及范围,对于常用的指令,能够给出指令的寻址方式。41.寄存器寻址方式寄存器寻址方式的寻址范围包括:①寄存器寻址的主要对象是通用寄存器,共有四组共32个通用寄存器,但寄存器寻址只能使用当前寄存器组,因此指令中的寄存器名称只能是R0~R7。在使用本指令前,有时需通过对PSW中RS1、RS0位的状态设置,来进行当前寄存器组的选择。②部分专用寄存器。例如累加器A、B寄存器对以及数据指针DPTR等。2.直接寻址方式指令中操作数直接以单元地址的形式给出,就称之为直接寻址。例如指令:MOVA,3AH3.寄存器间接寻址方式寄存器寻址方式,寄存器中存放的是操作数,而寄存器间接寻址方式,寄存器中存放的则是操作数的地址,即操作数是通过寄存器间接得到的,因此称之为寄存器间接寻址。4.立即寻址方式所谓立即寻址就是操作数在指令中直接给出。为了与直接寻址指令中的直接地址相区别,在立即数前面加“#”标志。5.变址寻址方式变址寻址是为了访问程序存储器中的数据表格。MCS-51的变址寻址是以DPTR或PC作基址寄存器,以累加器A作变址寄存器,并以两者内容相加形成的16位地址作为操作数地址,以达到访问数据表格的目的。注意A中的数为无符号数。6.位寻址方式MCS-51有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。位寻址指令中可以直接使用位地址。7.相对寻址方式相对寻址方式是为解决程序转移而专门设置的,为转移指令所采用。在相对寻址的转移指令中,给出了地址偏移量(在MCS-51指令系统中以“rel”表示),把PC的当前值加上偏移量就构成了程序转移的目的地址。但这里的PC当前值是指执行完该转移指令后的PC值,即转移指令的PC值加上它的字节数。因此转移的目的地址可用如下公式表示:目的地址=转移指令地址+转移指令字节数+rel5偏移量rel是一个带符号的8位二进制补码数。所能表示的数的范围是-128~+127,因此相对转移是以转移指令所在地址为基点,向前最大可转移(127+转移指令字节数)个单元地址,向后最大可转移(128-转移指令字节数)个单元地址。对于偏移量的计算,大多可通过编译程序进行计算,在此,不要求同学计算偏移量。掌握常用指令的使用,理解一般指令的使用:对于常用指令,要掌握指令格式,了解指令的用途,并能正确选择指令进行简单程序的编制。常用指令一般包括:数据传送类指令(29条)算术运算类指令(24条)逻辑运算及移位类指令(24条)控制转移类指令(17条)位操作类指令(17条)例题:1.说明下列指令中源操作数采用的寻址方式。MOVR5,R7答案:寄存器寻址方式MOVA,55H直接寻址方式MOVA,#55H立即寻址方式JMP@A+DPTR变址寻址方式MOV30H,C位寻址方式MOVA,@R0间接寻址方式MOVXA,@R0间接寻址方式第四章MCS-51汇编语言程序设计掌握内容汇编语言的特点及其语句格式1.汇编语言的特点6汇编语言有如下特点:①助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。②使用汇编语言编程比使用高级语言困难。因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。③汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能直接管理和控制硬件设备。④汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用。2.汇编语言的语句格式MCS-51汇编语言的语句格式表示如下:〔<标号>〕:<操作码>〔<操作数>〕;〔<注释>〕即一条汇编语句是由标号、操作码、操作数和注释四个部分所组成,其中方括号括起来的是可选择部分,可有可无,视需要而定。编程:通过本章的学习,同学应能够正确使用指令系统中的常用指令,按照MCS-51单片机汇编语言指令格式设计一些简单的程序,如:无符号16位以内数据的加、减、乘、除及二转十、十转二、ASCII转换、数据的片内片外传送等简单程序。第五章单片机的中断与定时系统中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。掌握内容*中断源MCS-51是一个多中断源的单片机,以8OC51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。1.外中断外中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中断1。它们的中断请求信号分别由引脚INT0和INT1引人。外部中断请求有两种信号方式,即电平方式和脉冲方式.可通过有关控制位进行定义。2.定时中断定时中断是为满足定时或计数的需要而设置的。为此在单片机芯片内部有两个定时器/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当计数结构发生计数溢出时,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位,作为单片机接受中断请求的标志。由于这种中断请求是在单片机芯片内部发生的,因此无需在芯片上设置引人端。3.串行中断7串行中断是为串行数据传送的需要而设置的。每当串行口接收或发送完一组串行数据时,就产生一个中断请求。因为串行中断请求也是在单片机芯片内部自动发生的,所以同样不需在芯片上设置引人端。*中断控制这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。在MCS-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。1.定时器控制寄存器(TCON)该寄存器用于保存外部中断请求和以及定时器的计数溢出。寄存器地址88H,位地址SFH~88H。2.中断允许控制寄存器(IE)寄存器地址A8H,位地址AFH~A8H3.中断优先级控制寄存器(IP)MCS-51的中断优先级控制只