ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:347.17KB ,
资源ID:8889503      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8889503.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机期末复习资料完全版.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机期末复习资料完全版.docx

1、单片机期末复习资料完全版主要复习知识点:第一章 微机计算机系统的基本知识1.单片机就是在一片硅片上集成了中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口的微型计算机系统,该系统不带外部设备。从组成和功能上看,它已经具备了计算机系统的基本属性,所以也可以称其为单片微型计算机,简称单片机。2.微型处理器是单片机的核心。它主要由三部分组成:寄存器阵列、运算器和控制器、3.程序计数器PC,专门用于存放现行指令的16位地址。CPU就是根据PC中的地址到ROM中读取程序指令。每当取出现行指令一个字节后,PC就自动加1,PC+1PC,当遇到转移指令或子程序时,PC内容会被指定的地址取

2、代,实现程序转移。PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器。(PC的功能与作用)4.运算器用来完成算术运算和逻辑运算操作,是处理信息的主要部件。运算器主要由累加器A、状态寄存器PSW、算术运算单元ALU组成。累加器A,用来存放参与算术运算和逻辑运算的一个操作数和运算结果。状态字寄存器,用来保存ALU操作运算的条件标志,如进位标志、奇偶标志等。算术运算单元ALU,由加法器和其他逻辑电路组成,其基本功能是进行加法和移位运算,由此实现其他各种算术和逻辑运算。5.控制器是分析和执行指令的部件,控制器只要由程序计数器PC、指令寄存器和指令译码器 组成。6.总线是用于传送信息的公

3、共途径。总线可以分为数据总线、地址总线、控制总线。7.数据总线DB:数据线D0D7共8位,由P0提供,分时输送低8位地址(通过地址锁存器锁存)和8位数据信息。数据总线是双向的,可以从CPU输出,也可以从外部输入到CPU。8.地址总线AB:地址线A0A15共16位,P2口提供高8位地址A8A15,P0口经地址锁存器提供低8位地址A0A7。片外存储器可寻址范围达到64KB(即65536字节)。9.控制总线CB:控制总线由P3口的第二功能P3.6、P3.7H和3根独立的控制线ALE、和组成。10.存储器是用来存储数据和程序的部件。按其功能来分,存储器可以分为随机存储器(RAM)和只读存储器(ROM)

4、两大类。11.RAM:可以随机写入读出,读写速度快,读写方便。缺点是电源断电后,被存储的信息会丢失。RAM主要用于存放各种数据。12.ROM:一般用来存放固定的数据和程序。其特点是信息写入后,能长期保存,不会因断电而 丢失。所谓“只读”指不能写入。13.(基本了解)ROM的5种不同形式:MaskROM(淹膜ROM) OTPROM EPROM EPROM FlashROM14.单片机程序设计语言可分为三类:机器语言、汇编语言和高级语言机器语言:机器语言是计算机可以识别和直接执行的语言,它由一组二进制代码组成,不同的微处理器机器语言也不同。汇编语言:用助记符替代机器语言中的操作码,用十六进制数代替

5、二进制数。计算执行时,必须将汇编语言翻译成机器语言。汇编语言和机器语言一样,微处理器不同,汇编语言也不同,即不同的微处理器采用不同的汇编语言。思考与练习: 1.1什么是单片机?答:单片机就是在一片硅片上集成了中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口的微型计算机系统,该系统不带外部设备。从组成和功能上看,它已经具备了计算机系统的基本属性,所以也可以称其为单片微型计算机,简称单片机。 1.2单片机的基本组成有哪些?答:单片机由中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口组成。第二章 单片机的硬件结构(重点复习)15.(简答题)80C51单

6、片机有4个8位的双向并行输入/输出(I/O)端口,称为P0口、P1口、P2口和P3口。P0口:P0口是一个双功能的8位并行I/O口,可用作输入/输出端口,又可作地址/数据总线分时传输时低8位地址和8位数据。P1口:P1口是单一功能的并行I/O口,只用作通用的数据输入/输出口。P2口:P2口是一个双功能的8位并行I/O,可用作通用的输入/输出口,又可用作高8位地址总线。P3口:P3口是一个双功能的8位并行I/O口,它的第一功能是通用输入/输出口,作第二功能用时,各引脚定义如下:P3.0:RXD串行口输入;P3.1:TXD串行口输出;P3.2:外部中断0输入;P3.3:外部中断1输入;P3.4:T

7、0定时/计数器0外部计数脉冲输入;P3.5:T1定时/计数器1外部计数脉冲输入;P3.6:片外数据存储器写选通讯号输出;P3.7:片外数据存储器读选通讯号输出。16.基本时序单位单片机的时序单位有:振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个 状态周期包含2个振荡周期。机器周期:1个机器周期由6个状态周期即12个振荡周期组成。是计算机执行一种基本操作(如取指令,读存储器,写存储器等)的时间单位。指令周期:执行一条指令所需的时间。一个指令周期由14个机器周期组成,依据指令不同而不同。 4种时序单位中,

8、振荡周期和机器周期是单片机内计算其他时间值(例如,波特率、定时器的定时时间等)的基本时序单位。 例:单片机外接晶振频率fosc= 12MHZ时的各种时序单位:振荡周期=1/fosc=1/12MHZ=0.0833us;状态周期=2/fosc=2/12MHZ=0.167us;机器周期=12/fosc=12/12MHZ=1us;指令周期=(14)机器周期=14us 。 17.MCS-51的存储器结构与常见的微型计算机的配置方法不同,采用哈佛结构它将程序存储器和数据存储器分开,各有自己的寻址方式、控制信号和功能。程序存储器用来存放程序、始终要保留的表格、常数。数据存储器存放程序运行中所需要的数据和结果

9、(常数和变量)。18.从物理空间(实际结构)看,MCS-51有四个存储器地址空间: 片内数据存储器、片外数据存储器、片内程序存储器、片外程序存储器19. 从逻辑上(使用角度)看,MCS-51有三个存储器空间:片内、片外统一编址的程序存储器,片外数据存储器,片内数据存储器20.程序存储器中的几个特殊地址的使用:地址 用途0000H 复位操作后的程序入口0003H 外部中断0服务程序入口000BH 定时器0中断服务程序入口0013H 外部中断1服务程序入口001BH 定时器1中断服务程序入口0023H 串行口中断服务程序入口21.外部数据存储器作用:用于存放随机读写的数据。外部数据存储器包括两部分

10、空间:外部RAM 扩展的I/O口地址内部数据存储器(单元数少,但最复杂)特殊功能寄存器空间,离散分布,作数据缓冲器、标志位等22.程序存储器与外部数据存储器的比较相同:地址线A15A0不同:访问的指令不同,读写信号不同。访问程序寄存器的指令为MOVC指令,访问外部数据存储器的指令为MOVX指令;程序寄存器:只读,PSEN作为外部ROM读信号;外部数据存储器:可读写,RD作为读信号,WR作为写信号。23.工作寄存器区的选择RS1:程序状态寄存器PSW的D4位;RS0:程序状态寄存器PSW的D3位;RS1 RS0寄存器区R0R7所占单元的地址0 00区00H07H0 11区08H0FH1 02区1

11、0H17H1 13区18H1FH复位时,自动选中0区。一旦选中其中一个区,其它三区只能作为普通RAM单元使用,而不能作为工作寄存器使用。设置多个工作寄存器区可以方便保护现场。24.字节地址与位地址在使用上如何区别?例: MOV C,20H MOV A,20H 位操作指令 MOV C,20H 位地址只有1bit(小圆区域)字节操作指令 MOV A,20H 字节地址共8bit(大椭圆区域)25.位地址空间组成及位地址表示法 内部数据存储器的20H2FH共16个单元可按位寻址,128位;例1:位地址 1EH= 23H . 6即字节单元23H的D6位 专用寄存器地址能被8整除的可按位寻址。例2: 位地

12、址 D4H= D0H . 4= PSW. 4= RS126.特殊功能寄存器的地址分配(名称必须记住)27.累加器ACC:累加器为8位的寄存器,是程序中使用最频繁的寄存器,是用于存放中间结果和数据传送的渠道。程序状态字寄存器PSW:PSW也称为标志寄存器CY:进/借位标志。CY=1,有进/借位 ;CY=0,无进/借位。AC:辅助进位标志,反映高半字节与低半字节之间的进/借位。AC=1有进/借位;AC=0无进/借位 。F0:用户标志位RS1,RS0:工作寄存器的控制位OV:溢出标志位。有溢出 OV=1,无溢出OV=0。P:奇偶标志位。运算结果有奇数个“1”,P=1;偶数个“1”,P=0。D1:无效

13、位,一般不用。数据指针DPTR:数据指针DPTR是一个16位的专用寄存器,DPTR主要用来存放16位地址。PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器。27.访问不同的存储器空间使用不同的指令:程序存储器,使用MOVC指令;外部数据存储器,使用MOVX指令;内部数据存储器,使用MOV指令;特殊功能寄存器,使用MOV指令;位地址空间,使用MOV、SETB、CLR等指令。28.堆栈是在单片机内部RAM中从某个选定的存储单元开始划定的一个地址连续的区域。堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式,主要用于子程序调用及返回和中断处理断点的

14、保护和返回。SP用来指示堆栈所处的位置。当数据堆入栈区后,SP的值也自动随之变化。51单片机属于向上生长型堆栈(即向高地址方向生成)。29.用一个称为堆栈指针SP的特殊功能寄存器来给出栈顶存储单元的地址。堆栈指针SP中存储的总是堆栈栈顶存储单元的地址,即堆栈指针SP总是指向堆栈栈顶。30.向上生长型堆栈出栈入栈的操作原则是“先进后出”或“后进先出”。31.实现复位操作,必须使RST引脚(9)保持两个机器周期以上的高电平。32.复位是单片机的初始化操作,其主要功能是程序计数器PC值变为0000好,使单片机从0000H开始执行程序。上电复位后,RAM的内容是随机的。寄存器 初始状态 寄存器 初始状

15、态PC 0000H ACC 00H PSW 00H SP 07H 思考与练习:2.1 51单片机内部包括哪些主要部件?答:51单片机包括中央处理器CPU、数据存储器RAM、只读存储器ROM、并行输入输出口P1P3口、串行口、并行口、定时/计数器、中断系统及特殊功能寄存器等8个部件。2.2 80C51单片机的存储器有哪几种类型?可以划分为哪几个部分?答:80C51单片机的存储器按功能可以划分为两大类:随机存储器(RAM)和只读存储器(ROM)。可以划分为以下五部分:片内程序存储器、片外程序存储器、片内数据存储器、特殊功能寄存器、片外数据存储器。 2.3 80C51如何确定和改变当前工作寄存器区?

16、答:在选择工作寄存器区时,可通过对特殊功能寄存器中的程序状态寄存器PSW的RS1和RS0的状态设置,来选择哪一组工作寄存器作为当前的工作寄存器组。单片机复位时,当前工作寄存器默认为0组。 2.4 位地址和字节地址如何区分?位地址00H7FH与片内RAM的字节地址编址相同,容易混淆。区分方法:在80C51的指令系统中,有专门的位操作指令和字节操作指令来区分。(位操作指令 MOV C,20H 位地址只有1bit;字节操作指令 MOV A,20H 字节地址共8bit)。 2.6 PC在执行指令过程中,起什么作用?答:PC在执行指令过程中,PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄

17、存器。第三章 51单片机的指令系统33.计算机所有的指令集合称为该计算机的指令系统。34.指令是基本格式:标号: 操作码 目的操作数 ,源操作数 ;注释标号:指令的符号地址;操作码:规定指令的操作功能,是指令格式中唯一不能空缺的部分;操作数:用于给指令的操作提供数据或地址。把左边的操作数称为目的操作数,右边的操作 数称为源操作数;注释:注释是对语句或程序段功能的说明。注释用“:”开头,可空缺。35.按指令的功能分类:数据传送指令(28条)、算术运算类指令(24条)、逻辑运算与移位类指令(25条)、控制转移类指令(17条)、位操作类指令(17条)。36.寻址方式立即寻址指令中跟在操作码后面的数据

18、就是实际参与运算的操作数,称为立即数。MCS-51指令系统中允许使用8位和16位立即数,立即数之前加“#”予以标识。例:MOV A,#6DH MOV A,#3AH MOV DPTR,#0DFFFH MOV 40H,#30HMOV A,#60H MOV DPTR,#3400H MOV 30H,#40H直接寻址指令中包含了操作数的地址,该地址直接给出了参加运算或传送的单元的地址。 直接寻址可访问两种地址空间: 特殊功能寄存器SFR(又叫做专用寄存器) 内部数据存储器RAM中的128个字节单元。例:MOV A,52H MOV A,P1 MOV 30H,20H MOV P0,P1寄存器寻址把指定的某一

19、可寻址的工作寄存器R0R7或A,B(乘、除指令中),DPTR,的内容作为操作数。例:MOV 53H,A MOV B,A MOV 20H,R1 MOV P0,R0寄存器间接寻址指令指定的某一寄存器的内容作为操作数地址。可用来间接寻址的寄存器有R0、R1和数据指针DPTR,前面加表示间接寻址。可访问内部RAM或外部数据存储器。堆栈指针SP在执行指令中也起到寄存器间接寻址的作用,但它不出现在指令表达形式中。实现间接寻址的地址指针:(1)Ri(R0、R1):寻址对象为片内RAM的128个单元;(1)DPTR:寻址对象为外部数据存储器 。例:MOV A,R0 MOV B,R1 MOVX A,DPTR P

20、USH 20H POP ACC MOV R0,A MOVX A,R1 MOVX DPTR,A变址寻址基址寄存器(DPTR或PC):存放基准地址;变址寄存器(A):存放偏移量;基址寄存器的内容与变址寄存器的内容的和为可寻址单元的地址。该类寻址方式用于访问程序存储器,对查表访问特别有用。注意:A中内容为无符号数。例:MOVC A,A+DPTR MOVC A,A+PC JMP A+DPTR位寻址采用位寻址方式的操作数是8位二进制数中的某1位,指令中给出的是位址。寻址对象:片内数据存储器位寻址区中,位地址为00H7FH的128位11个可位寻址的特殊功能寄存器中的82个有效可寻址位。例:MOV C,3A

21、H SETB PSW,4 MOV C,00H MOV C,20H思考与练习: 3.4下列哪些指令是非法指令,并改正。CJNE A,#30H,ABC ;合法CJNE A,30H,ABC ;合法CJNE 30H,A,ABC ;非法CJNE A,30H,ABCCJNE R7,#30H,ABC ;合法CJNE R5,#30H,ABC ;合法CJNE A,R4,ABC ;非法不存在这种格式CJNE A,R4,ABC ;非法不存在这种格式(CJNE A,#data,rel/CJNE A,direct,rel/CJNE Ri,#data,rel/CJNE Rn,#data,rel)DJNZ ACC,ABC

22、;合法DJNZ 30H,ABC ;合法(DJNZ Rn,rel/DJNZ direct,rel)INC DPTR ;合法(INC A/INC direct/INC Ri/INC Rn/INC DPTR)MOV A,R3 ;合法MOVX A,DPTR ;非法MOVX A,DPTR (MOVX A,DPTR/MOVX A,Ri/MOVX DPTR,A/MOVX Ri,A)DEC DPTR ;非法不存在这种格式(DEC A/DEC direct/DEC Ri/DEC Rn)JB 70H ;非法不存在这种格式(JB bit,rel)ADDC B,DIRECT1 ;非法不存在这种格式(ADDC A,#d

23、ata/ADDC A,direct/ADDC A,Ri/ADDC A,Rn) 3.5指出源操作数的寻址方式。MOV A,#30H (立即寻址)MOV A,B (直接寻址)MOV P0,P1 (直接寻址) DIV AB (寄存器寻址)MOVC A,A+DPTR (变址寻址)MOV 30H,A (寄存器寻址)PUSH 30H (直接寻址)PUSH B (寄存器寻址)POP ACC (寄存器间接寻址) 3.7写出下列程序执行的结果。(40H)=FFHMOV 50,#40H ;(50H)=40HMOV R1,#50H ;R1=50HMOV A,R1 ;A=40HMOV R0,A ;R0=40HMOV

24、60H,R0 ;(60H)=FFHMOV 30H,60H ;(30H)=FFH 3.9分析下面程序执行的结果。MOV SP,#2FH ;SP=2FHMOV A,#30H ;A=30HMOV B,#31H ;B=31HPUSH A ;SP=30H,(30H)=30HPUSH B ;SP=31H,(31H)=31HPOP A ;SP=30H,A=31HPOP B ;SP=2FH,B=30H 3.10分析执行下列程序后A和标志位C,AC,OV及P的结果。MOV A,#0DH ;A=0DHMOV R7,#3DH ;R7=3DHADD A,R7 ;A=4AH,C=0,AC=1,OV=0,P=1第四章 5

25、1单片机的汇编语言程序设计37.伪指令:在对汇编语言进行翻译的过程中,需要提供一些有关汇编的信息指令。这些指令在汇编时起到控制作用,但其自身不产生机器代码。伪指令就是汇编程序能够识别的汇编命令,它是程序员发给汇编程序的命令,只在汇编过程中起作用,它不是单片机要执行的指令,所以没有机器码。起始伪指令ORG(ORIGIN)格式:ORG功能:出现在源程序的开头,用于规定目标程序存放的起始地址。例:程序如下: ORG 0000H START:MOV A,#20H ADD A,#08H MOV 20H,A HERE:SJMP HERE结束伪指令END(END OF ASSEMBLY)格式:END功能:汇

26、编终止命令,本命令用于终止源程序的汇编工作。例:程序如下: ORG 0000H START:MOV A,#20H ADD A,#08H MOV 20H,A HERE:SJMP HERE END赋值伪指令EQU(EQUATE)格式:EQU功能:本命令用于给标号赋值。例:程序如下:PP EQO R0 QQ EQU 30H MOV A,PP ;把R0中的值送给A MOV B,QQ ;把30H中的值送给直接地址F0H定义字节伪指令DB(DEFINE BYTE)格式:DB功能:定义字节命令,本命令用于从指定的地址开始,在程序存储器的连续单元中定义字节数据。例:程序如下:ORG 0000H TAB:DB

27、00H,45H,67H,78H DB 78H,58H,90H,57H 汇编后结果:(0000H)=00H (0001H)=45H (0002H)=67H (0003H)=78H (0004H) =78H (0005H)=58H (0006H)=90H (0007H)=57H定义字伪指令DW(DEFINE WORD)格式:DW功能:定义数据字命令,本命令用于从指定地址开始,在程序存储器的连续单元中定义16位的数据字。该命令将字数据表中的数据依从左到右的顺序存放在指定的存储单元中,数据字的高8位放在低地址单元,低8位放在高地址单元。例:程序如下:ORG 0030H TAB:DW 6789H,345

28、6H DW 1234H,5678H 汇编后的结果:(0030H)=67H,(0031H)=89H (0032H) =34H,(0033H)=56H (0034H) =12H,(0035H)=34H (0036H) =56H,(0037H)=87H位定义命令BIT格式:BIT功能:本命令用于给字符名称赋以位地址。例:程序如下:AQ BIT P0.0 DEF BIT P1.0汇编结果:把P0.0的位地址赋给AQ,把P1.0的位地址赋给DEF。38.程序设计举例:【例4-2】设在片内RAM中,20H和21H单元各存放有一个8位数据,要求拼装一个新字节并送30H保存,其低5位取自20H单元中的低5位,

29、高3位取自21H单元中的低3位。实现程序如下:MOV 30H,20H ;20H单元中的数据送入30H单元ANL 30H,#00011111B ;屏幕高3位MOV A,21H ;21H单元中的数据送入ASWAP A ;将A中的数据高低3位交换,循环左移4次RL A ;将A中数据再循环左移1次ANL A,#11100000B ;屏蔽A中数据的低5位ORL 30H,A ;完成拼装【例4-6】设在外部RAM的3个连续存储单元ST1/ST2和ST3中,ST1和ST2存放着两个不带符号的二进制数,请找出其中的大数并存在ST3中。程序如下:START:CLR C ;进位位清0 MOV DPTR,#ST1 ;

30、设置数据指针 MOVX A,DPTR ;取第一个数 MOV R7,A ;暂存R7 INC DPTR ;数据指针加1 MOVX A,DPTR ;取第二个数 SUBB R7 ;比较两数的大小 JNC BIG1 ;第二个数大转移 XCH A,R7 ;第一个数大送ABIG0: INC DPTR ;数据指针加1 MOVX DPTR,A ;存大数 RETBIG1: MOVX A,DPTR ;第二个数送A【例4-11】有一数据块从片内RAM的30H单元开始存入,设数据块长度为10个单元。根据下式:求出Y的值,将Y值存入31H单元。程序如下: ORG 1000H MOV A,30H ;取数 JB ACC.7,NEG ;负数,转NEG JZ ZERO ;为零,转ZERO ADD A,#02H ;为正数,求X+2 AJMP SAVE ;转到SAVE,保存数据ZERO:MOV A,#64H ;数据为零,Y=100 AJMP SAVE ;转到SAVE,保存数据NEG:DEC ACPL A ;求|X|SAVE:MOV 31H,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1