版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、單片機期末複習資料主要复习知识点:第一章微机计算机系统的基本知识1单片机就是在一片硅片上集成了中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口的微型计算机系统,该系统不带外部设备。从组成和功能上看,它已经具备了计算机系统的基本属性,所以也可以称其为单片微型计算机,简称单片机。2微型处理器是单片机的核心。它主要由三部分组成:寄存器阵列、运算器和控制器、3程序计数器PC,专门用于存放现行指令的16位地址。CPU就是根据PC中的地址到ROM中读取程序指令。每当取出现行指令一个字节后,PC就自动加1,PC+1-PC,当遇到转移指令或子程序时,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。&地址总线AB:地址线A0A15共16位,P2口提供高8位地址A8A15,P0口经地址锁存器提供低8位地址A0A7。片外存储器可寻址范围达到64KB(即65536字节)。9. 控制总线CB:控制总线由P3口的第二功能P3.6、P3.7H和3根独立的控制线ALE、EA和PSEN组成。10. 存储器是用来存储数据和程序的部件。按其功能来分,存储器可以分为随机存储器(RAM)和只读存储器(R
4、OM)两大类。11. RAM:可以随机写入读出,读写速度快,读写方便。缺点是电源断电后,被存储的信息会丢失。RAM主要用于存放各种数据。12. ROM:一般用来存放固定的数据和程序。其特点是信息写入后,能长期保存,不会因断电而丢失。所谓“只读”指不能写入。13. (基本了解)ROM的5种不同形式:MaskROM(淹膜ROM)OTPROMEPROME2PROMFlashROM14. 单片机程序设计语言可分为三类:机器语言、汇编语言和高级语言 机器语言:机器语言是计算机可以识别和直接执行的语言,它由一组二进制代码组成,不同的微处理器机器语言也不同。 汇编语言:用助记符替代机器语言中的操作码,用十六
5、进制数代替二进制数。计算执行时,必须将汇编语言翻译成机器语言。汇编语言和机器语言一样,微处理器不同,汇编语言也不同,即不同的微处理器采用不同的汇编语言。思考与练习:> 1.1什么是单片机?答:单片机就是在一片硅片上集成了中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口的微型计算机系统,该系统不带外部设备。从组成和功能上看,它已经具备了计算机系统的基本属性,所以也可以称其为单片微型计算机,简称单片机。> 1.2单片机的基本组成有哪些?答:单片机由中央处理器、随机存储器、只读存储器、中断系统、定时/计数器和多种I/O口组成。第二章单片机的硬件结构(重点复习)15
6、. (简答题)80C51单片机有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口,它的第一功能是通用输入/输出口,作第二功能用时,各引脚定义如下:(l)P3.0:RXD串行口输入;P3.1:TXD串行口输出;P3.2:外部中断0输入
7、;P3.3:外部中断1输入;P3.4:TO定时/计数器0外部计数脉冲输入;P3.5:T1定时/计数器1外部计数脉冲输入;(7)P3.6:片外数据存储器写选通讯号输出;P3.7:片外数据存储器读选通讯号输出。16. 基本时序单位单片机的时序单位有:振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个状态周期包含2个振荡周期。机器周期:1个机器周期由6个状态周期即12个振荡周期组成。是计算机执行一种基本操作(如取指令,读存储器,写存储器等)的时间单位。指令周期:执行一条指令所需的时间。一个指令周期由14个机器周
8、期组成,依据指令不同而不同。4种时序单位中,振荡周期和机器周期是单片机内计算其他时间值(例如,波特率、定时器的定时时间等)的基本时序单位。例:单片机外接晶振频率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服务程序入口-3-001BH定时器1中断服务程序入口0023H串行口中断服务程序入口21. 外部数据存储器作用:用于存放随机读
10、写的数据。外部数据存储器包括两部分空间:外部RAM扩展的I/O口地址内部数据存储器(单元数少,但最复杂)特殊功能寄存器空间,离散分布,作数据缓冲器、标志位等22. 程序存储器与外部数据存储器的比较相同:地址线A15A0不同:访问的指令不同,读写信号不同。访问程序寄存器的指令为MOVC指令,访问外部数据存储器的指令为MOVX指令;程序寄存器:只读,PSEN作为外部ROM读信号;外部数据存储器:可读写,RD作为读信号,WR作为写信号。23. 工作寄存器区的选择RS1:程序状态寄存器PSW的D4位;RS0:程序状态寄存器PSW的D3位;RS1RS0寄存器区R0R7所占单元的地址000区00H07H0
11、11区08H0FH102区10H17H113区18H1FH复位时,自动选中0区。一旦选中其中一个区,其它三区只能作为普通RAM单元使用,而不能作为工作寄存器使用。设置多个工作寄存器区可以方便保护现场。24. 字节地址与位地址在使用上如何区别?例:MOVC,20HMOVA,20H地如t:505n-4Q工3心AK工nAX2IMIFIElitIS9AISis21312-Ita©21HOF-DT3nr'rmN純OSSosF07亠02L-L位操作指令MOVC,20H位地址只有1bit(小圆区域)字节操作指令MOVA,20H字节地址共8bit(大椭圆区域)25. 位地址空间组成及位地址表
12、示法内部数据存储器的20H2FH共16个单元可按位寻址,128位;例1:位地址1EH=23H.6即字节单元23H的D6位专用寄存器地址能被8整除的可按位寻址。例2:位地址D4H=DOH.4=PSW.4=RSI26特殊功能寄存器的地址分配(名称必须记住)名務垃體址EDRETHEGHISFOBF7HFOH1PSWDQHDTEDOH吐指针SIHEPTR隸据指针0口D80H-8YH8OH1口L90H97E9001P2口2AOH口3BOHB7BBOHIP中断优先级寄存骞B8®BEH.B8H章IE中斷允许告存軽ASBAFHASH1M0D定时心藏器方式控制89H*ICCW定时At藏器控制呂8H8F
13、H8KRUN)定时产计報器0倚毡宇节)acauo定Bt/tmso(低检字节)&AH1H1定牆位宇节)SDHHA定DVtt報器匸(超字节)SHR*5CCW串行趣谦控制98HSFH98RSHUF串行数据蠶冲垂99KPCOH电海控制87H注H标*号的寄存器可技字节和位寻址27累加器ACC:累加器为8位的寄存器,是程序中使用最频繁的寄存器,是用于存放中间结果和数据传送的渠道。程序状态字寄存器PSW:PSW也称为标志寄存器(1)CY:进/借位标志。CY=1,有进/借位;CY=0,无进/借位。AC:辅助进位标志,反映高半字节与低半字节之间的进/借位。AC=1有进/借位;AC=O无进/借位。-6-F
14、0:用户标志位RS1,RSO:工作寄存器的控制位0V:溢出标志位。有溢出OV=1,无溢出0V=0。P:奇偶标志位。运算结果有奇数个“1”,P=1;偶数个“1”,P=0。D1:无效位,一般不用。 数据指针DPTR:数据指针DPTR是一个16位的专用寄存器,DPTR主要用来存放16位地址。 PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器。27. 访问不同的存储器空间使用不同的指令:程序存储器,使用MOVC指令;外部数据存储器,使用MOVX指令;内部数据存储器,使用MOV指令;特殊功能寄存器,使用MOV指令;位地址空间,使用MOV、SETB、CLR等指令。28. 堆栈是在单片机内
15、部RAM中从某个选定的存储单元开始划定的一个地址连续的区域。堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式,主要用于子程序调用及返回和中断处理断点的保护和返回。SP用来指示堆栈所处的位置。当数据堆入栈区后,SP的值也自动随之变化。51单片机属于向上生长型堆栈(即向高地址方向生成)。29. 用一个称为堆栈指针SP的特殊功能寄存器来给出栈顶存储单元的地址。堆栈指针SP中存储的总是堆栈栈顶存储单元的地址,即堆栈指针SP总是指向堆栈栈顶。30. 向上生长型堆栈出栈入栈的操作原则是“先进后出”或“后进先出”。31实现复位操作,必须使RST引脚(9)保持两个机器周期以
16、上的高电平。32. 复位是单片机的初始化操作,其主要功能是程序计数器PC值变为0000好,使单片机从0000H开始执行程序。上电复位后,RAM的内容是随机的。寄存器初始状态寄存器初始状态PC0000HACC00HPSW00HSP07H思考与练习:2.1 51单片机内部包括哪些主要部件?答:51单片机包括中央处理器CPU、数据存储器RAM、只读存储器ROM、并行输入输出口P1P3口、串行口、并行口、定时/计数器、中断系统及特殊功能寄存器等8个部件。2.2 80C51单片机的存储器有哪几种类型?可以划分为哪几个部分?答:80C51单片机的存储器按功能可以划分为两大类:随机存储器(RAM)和只读存储
17、器(ROM)。可以划分为以下五部分:片内程序存储器、片外程序存储器、片内数据存储器、特殊功能寄存器、片外数据存储器。> 2.380C51如何确定和改变当前工作寄存器区?答:在选择工作寄存器区时,可通过对特殊功能寄存器中的程序状态寄存器PSW的RS1和RSO的状态设置,来选择哪一组工作寄存器作为当前的工作寄存器组。单片机复位时,当前工作寄存器默认为0组。> 2.4位地址和字节地址如何区分?位地址00H7FH与片内RAM的字节地址编址相同,容易混淆。区分方法:在80C51的指令系统中,有专门的位操作指令和字节操作指令来区分。(位操作指令MOVC,20H位地址只有1bit;字节操作指令M
18、OVA,20H字节地址共8bit)。> 2.6PC在执行指令过程中,起什么作用?答:PC在执行指令过程中,PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器。第三章51单片机的指令系统33. 计算机所有的指令集合称为该计算机的指令系统。34. 指令是基本格式:标号:操作码目的操作数,源操作数;注释标号:指令的符号地址;操作码:规定指令的操作功能,是指令格式中唯一不能空缺的部分;操作数:用于给指令的操作提供数据或地址。把左边的操作数称为目的操作数,右边的操作数称为源操作数;注释:注释是对语句或程序段功能的说明。注释用“:”开头,可空缺。35. 按指令的功能分类:数据传送指令
19、(28条)、算术运算类指令(24条)、逻辑运算与移位类指令(25条)、控制转移类指令(17条)、位操作类指令(17条)。36. 寻址方式立即寻址指令中跟在操作码后面的数据就是实际参与运算的操作数,称为立即数。MCS-51指令系统中允许使用8位和16位立即数,立即数之前加“#”予以标识。例:MOVA,#6DHMOVA,#3AHMOVDPTR,#0DFFFHMOV40H,#30HMOVA,#60HMOVDPTR,#3400HMOV30H,#40H直接寻址指令中包含了操作数的地址,该地址直接给出了参加运算或传送的单元的地址。直接寻址可访问两种地址空间:特殊功能寄存器SFR(又叫做专用寄存器)内部数据
20、存储器RAM中的128个字节单元。例:MOVA,52HMOVA,P1MOV30H,20HMOVP0,P1寄存器寻址把指定的某一可寻址的工作寄存器R0R7或A,B(乘、除指令中),DPTR,的内容作为操作数。例:MOV53H,AMOVB,AMOV20H,R1MOVP0,R0寄存器间接寻址指令指定的某一寄存器的内容作为操作数地址。可用来间接寻址的寄存器有RO、R1和数据指针DPTR,前面加表示间接寻址。可访问内部RAM或外部数据存储器。堆栈指针SP在执行指令中也起到寄存器间接寻址的作用,但它不出现在指令表达形式中。实现间接寻址的地址指针:(1)Ri(RO、R1):寻址对象为片内RAM的128个单元
21、;(1)DPTR:寻址对象为外部数据存储器。例:MOVA,ROMOVB,R1MOVXA,DPTRPUSH20HPOPACCMOVR0,AMOVXA,R1变址寻址MOVXDPTR,A基址寄存器(DPTR或PC):存放基准地址;变址寄存器(A):存放偏移量;基址寄存器的内容与变址寄存器的内容的和为可寻址单元的地址。该类寻址方式用于访问程序存储器,对查表访问特别有用。注意:A中内容为无符号数。例:MOVCA,A+DPTRMOVCA,A+PCJMPA+DPTR位寻址采用位寻址方式的操作数是8位二进制数中的某1位,指令中给出的是位址。寻址对象:片内数据存储器位寻址区中,位地址为00H7FH的128位11
22、个可位寻址的特殊功能寄存器中的82个有效可寻址位。例:MOVC,3AHSETBPSW,4MOVC,OOH思考与练习:MOVC,20H3.4下列哪些指令是非法指令,并改正。CJNEA,#30H,ABC;合法CJNEA,30H,ABC;合法CJNE30H,A,ABC;非法CJNEA,30H,ABCCJNER7,#30H,ABC;合法CJNER5,#30H,ABC;合法CJNEA,R4,ABC;非法f不存在这种格式CJNEA,R4,ABC;非法一不存在这种格式(JNEA,#data,rel/CJNEA,direct,rel/CJNERi,#data,rel/CJNERn,#data,rel)DJNZ
23、ACC,ABC;合法DJNZ30H,ABC;合法(DJNZRn,rel/DJNZdirect,rel)INCDPTR;合法(INCA/INCdirect/INCRi/INCRn/INCDPTR)MOVA,R3;合法MOVXA,DPTR;非法MOVXA,DPTR(MOVXA,DPTR/MOVXA,Ri/MOVXDPTR,A/MOVXRi,A)DECDPTR;非法f不存在这种格式(DECA/DECdirect/DECRi/DECRn)JB70H;非法f不存在这种格式JBbit,rel)ADDCB,DIRECT1;非法f不存在这种格式(ADDCA,#data/ADDCA,direct/ADDCA,R
24、i/ADDCA,Rn)>3.5指出源操作数的寻址方式。MOVA,#30H(立即寻址)MOVA,B(直接寻址)MOVP0,P1(直接寻址)DIVAB(寄存器寻址)MOVCA,A+DPTR(变址寻址)MOV30H,A(寄存器寻址)PUSH30H(直接寻址)PUSHB(寄存器寻址)POPACC(寄存器间接寻址)>3.7写出下列程序执行的结果。(40H)=FFHMOV50,#40H;(50H)=40HMOVR1,#50H;R1=50HMOVA,R1;A=40HMOVR0,A;R0=40HMOV60H,R0;(60H)=FFHMOV30H,60H;(30H)=FFH>3.9分析下面程序
25、执行的结果。MOVSP,#2FH;SP=2FHMOVA,#30H;A=30HMOVB,#31H;B=31HPUSHA;SP=30H,(30H)=30HPUSHB;SP=31H,(31H)=31HPOPA;SP=30H,A=31HPOPB;SP=2FH,B=30H>3.10分析执行下列程序后A和标志位C,AC,OV及P的结果。MOVA,#0DH;A=0DHMOVR7,#3DH;R7=3DHADDA,R7;A=4AH,C=0,AC=1,OV=0,P=1第四章51单片机的汇编语言程序设计37. 伪指令:在对汇编语言进行翻译的过程中,需要提供一些有关汇编的信息指令。这些指令在汇编时起到控制作用,
26、但其自身不产生机器代码。伪指令就是汇编程序能够识别的汇编命令,它是程序员发给汇编程序的命令,只在汇编过程中起作用,它不是单片机要执行的指令,所以没有机器码。起始伪指令ORG(ORIGIN)格式:标号:ORG地址功能:出现在源程序的开头,用于规定目标程序存放的起始地址。例:程序如下:ORG0000HSTART:MOVA,#20HADDA,#08HMOV20H,AHERE:SJMPHERE结束伪指令END(ENDOFASSEMBLY)格式:标号:>END<表达式功能:汇编终止命令,本命令用于终止源程序的汇编工作。例:程序如下:ORG0000HSTART:MOVA,#20HADDA,#0
27、8HMOV20H,AHERE:SJMPHEREEND赋值伪指令EQU(EQUATE)格式:字符名称EQU赋值项功能:本命令用于给标号赋值。例:程序如下:PPEQOR0QQEQU30HMOVA,PP;把R0中的值送给AMOVB,QQ;把30H中的值送给直接地址F0H定义字节伪指令DB(DEFINEBYTE)格式:标号:DB8位数表功能:定义字节命令,本命令用于从指定的地址开始,在程序存储器的连续单元中定义字节数据。例:程序如下:ORG0000HTAB:DB00H,45H,67H,78HDB78H,58H,90H,57H汇编后结果:(0000H)=00H(0001H)=45H(0002H)=67H
28、(0003H)=78H(0004H)=78H(0005H)=58H(0006H)=90H(0007H)=57H定义字伪指令DW(DEFINEWORD)格式:标号:DW16位数表功能:定义数据字命令,本命令用于从指定地址开始,在程序存储器的连续单元中定义16位的数据字。该命令将字数据表中的数据依从左到右的顺序存放在指定的存储单元中,数据字的高8位放在低地址单元,低8位放在高地址单元。例:程序如下:ORG0030HTAB:DW6789H,3456HDW1234H,5678H汇编后的结果:(0030H)=67H,(0031H)=89H(0032H)=34H,(0033H)=56H(0034H)=12
29、H,(0035H)=34H(0036H)=56H,(0037H)=87H位定义命令BIT格式:字符名称BIT位地址功能:本命令用于给字符名称赋以位地址例:程序如下:AQBITP0.0DEFBITP1.0汇编结果:把P0.0的位地址赋给AQ,把P1.0的位地址赋给DEF。38. 程序设计举例:【例4-2】设在片内RAM中,20H和21H单元各存放有一个8位数据,要求拼装一个新字节并送30H保存,其低5位取自20H单元中的低5位,高3位取自21H单元中的低3位。实现程序如下:MOV30H,20H;20H单元中的数据送入30H单元ANL30H,#00011111B;屏幕高3位MOVA,21H;21H
30、单元中的数据送入ASWAPA;将人中的数据咼低3位父换,循环左移4次RLA;将人中数据再循环左移1次ANLA,#11100000B;屏蔽A中数据的低5位ORL30H,A;完成拼装【例4-6】设在外部RAM的3个连续存储单元ST1/ST2和ST3中,ST1和ST2存放着两个不带符号的二进制数,请找出其中的大数并存在ST3中。程序如下:START:CLRC;进位位清0MOVDPTR,#ST1;设置数据指针MOVXA,DPTR;取第一个数MOVR7,A;暂存R7INCDPTR;数据指针加1MOVXA,DPTR;取第二个数SUBBR7;比较两数的大小JNCBIG1;第二个数大转移XCHA,R7;第一个
31、数大送ABIG0:INCDPTR;数据指针加1MOVXDPTR,A;存大数RET-13-BIG1:MOVXA,DPTR;第二个数送A【例4-11】有一数据块从片内RAM的30H单元开始存入,设数据块长度为10个单元。根据下式:X+2X>0Y=100X=0|X|X<0求出Y的值,将Y值存入31H单元。程序如下:ORG1000HMOVA,30H;取数JBACC.7,NEG;负数,转NEGJZZERO;为零,转ZEROADDA,#02H;为正数,求X+2AJMPSAVE;转到SAVE,保存数据ZERO:MOVA,#64H;数据为零,Y=100AJMPSAVE;转到SAVE,保存数据NEG
32、:DECACPLA;求|x|SAVE:MOV31H,A;保存数据SJMP$;暂停-16-;送数据表首地址;置处理次数;取数据;最高位置1;送回;地址加1;未处理完返回【例4-13】在外部RAM首地址为table的数据表中,有10个字节的数据,编程将每个字节的最高位无条件的置1。实现程序如下:MOVDPTR,#tableMOVR7,#OAHLOOP:MOVXA,DPTRORLA,#10000000BMOVXDPTR,AINCDPTRDJNZR7,LOOPSJMP$【例4-20】编写一程序,实现下图中逻辑运算电路。其中P3.1、Pl.l、P1.0分别是单片机端口线上的信息,RS0、RS1是PSW寄
33、存器的两个标志位,30H、31H是两个位地址,运算结果由P1.0输出。RS5答:程序如下:MAXEQU2AHSMAX:MOVR0,#20HMOVMAX,R0MOVR7,#7LOOP:INCR0MOVA,R0CJNEA,MAX,NEXTNEXT:JCLOP1程序如下:ORG0000HMOVC,P3.1ANLC,P1.1CPLCMOV20H,C;暂存数据MOVC,30HORLC,/31HANLC,RS1ANLC,20HANLC,RS0MOVP1.0,C;输出结果SJMP$思考与练习:4.5编程:把内部RAM20H单元开始有8个数,试找出其中最大的数,送入MAX单元。;置数据区首地址;读第一个数暂作
34、最大数;置数据长度(N-1);指向下一个数;读下一个数;数值比较,在C中产生大小标志;C=1,表明A值小,转MOVMAX,A;C=O,表明A值大,大数送MAXLOP1:DJNZR7,LOOP;判数据比完否?未完比较下一个RET;数据比完,退出循环4.11编程实现逻辑运算:Y=G(H+C)+D(E+X)答:假设各个变量,对应的计算机引脚如下两式:Y=G(H+C)+D(E+X)P1.0=P1.1*(P1.2+P1.3)+P1.4*(P1.5+P1.6)程序如下MOVC,P1.2;取来HORLC,P1.3;或上CANLC,P1.1;与上GMOVPSW.5,C;暂时存放MOVC,P1.5;取来EORL
35、C,P1.6;或上XANLC,P1.4;与上DORLC,PSW.5;或上前面结果MOVP1.0,C;输出到Y第五章51单片机的中断系统39. 51单片机共有5个中断源,2个中断优先级,可以实现两级中断嵌套。40. 中断源就是引起中断的来源,也可认为是中断的原因。51单片机提供了5个中断源:两个外部中断请求INTO和INT1,两个片内计数器/定时器中断T0和T1,另一个为片内串行口中断。41. 外部中断源:表TCON寄存器位结构位置D7D6D5D4D3D2D1D0位地址8F8E8D8C8B8A8988位符号TF1TR1TF0TR0IE1IT1IE0IT0IT0是INT0触发方式控制位,即选择外部
36、中断0是电平触发方式还是下降沿触发方式,此位可由软件置位和复位;IE0是INT0中断下降沿请求标志位;IT1和IE1分别为外部中断1的触发方式控制位和下降沿中断请求标志位。42. 内部中断源:(1) 定时器/计数器中断源 TF0是片内定时器/计数器0溢出时中断申请标志位。 TF1是片内定时器/计数器1溢出时中断申请标志位,功能与TF0相同。(2)串行口中断:表SCON寄存器位结构:位置D7D6D5D4D3D2D1D0位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENIB8RB8TIRI TI是串行口发送完毕中断标志位。当TI=1时,就向CPU申请中断,表示数据
37、发送完毕; RI是串行口接收完毕中断标志位。RI=1表示串行口接收器向CPU申请中断。43. 计算机中断系统中有两种不同类型的中断:一种称为非屏蔽中断,另一种称为可屏蔽中断。对非屏蔽中断,用户不能用软件方法加以禁止,一旦有中断申请,CPU必须予以响应。但对可屏蔽中断,用户则可以通过软件方法来控制是否允许某中断源的中断。51系列单片机的5个中断源都是可屏蔽中断的。44. 表中断允许寄存器IE的位结构位置D7D6D5D4D3D2D1D0位地址AFHADHACHABHAAHA9HA8H位符号EAESET1EX1ET0EX0EA是CPU中断总允许位。当EA=1时,开放中断,而每个中断是开放还是屏蔽分别
38、由各自的允许位确定。EA=0,禁止所有中断,不论其他为是否为1。ES是串行口中断允许位。ES=1,允许串行口的接收和发送中断;ES=0,禁止串行口中断。ET1是开放或禁止定时器1溢出中断位。ET1=0则禁止定时器1中断,置位则开启其中断。EX1是外部中断1的中断允许位。EX1=0,则禁止外部中断1中断,EX=1,则开启其中断。ET0是开放或禁止定时器0溢出中断位。ET0=0则禁止定时器0中断,置位则开启其中断。EX0是外部中断0的中断允许位。EX0=0,则禁止外部中断0中断,置位则开启其中断。45. 表中断优先级寄存器IP的位结构位置D7D6D5D4D3D2D1D0位地址BDHBCHBBHBA
39、HB9HB8H位符号PSPT1PX1PT0PX0 PS:串行口优先级设定位。PS=1时,则编程为高优先级。 PT1:定时器1优先级设定位。PT1=1时,则编程为高优先级。 PX1:外部中断1优先级设定位。PX1=1时,则编程为高优先级。 PTO:定时器0优先级设定位。PT0=1时,则编程为高优先级。 PX0:外部中断0优先级设定位。PX0=1时,则编程为高优先级。46. 单片机对中断优先级的处理原则:(l)CPU同时接收到几个相同优先级的中断请求时,首先响应优先权最高的中断请求;低优先级中断可以被高优先级中断所中断;中断不能被与它同级和比它低级的中断所中断;当同一级中断同时申请中断时,按单片机
40、系统内部硬件查询顺序确定优先级,用户无法自行更改。47. 各中断源的入口地址:(熟记)中断源入口地址外部中断00003H定时器/计数器T0000BH外部中断10013H定时器/计数器T1001BH串行口中断0023H48. 中断响应条件: 相应的中断是开放的; 没有同级的中断或更高级别的中断正在处理; 正在执行的指令必须执行完最后1个机器周期 若正在执行RETI,或正在访问IE或IP寄存器,则必须执行完当前指令的下一条指令。后方能响应中断。49. 设置中断的初始化工作:单片机中断系统初始化包括设置堆栈、选择中断触发方式(对外中断而言)、开中断、设置中断优先级等,对定时器/计数器还要对运行控制位
41、TR置位。50. 中断服务程序的编写:在中断入口地址处设置一条跳转指令,转移到中断服务程序的实际入口处;保护现场;中断服务主体程序;若是外中断电平触发方式,应有中断信号撤除操作;若是串行收发中断,应有对RI、TI清0指令;恢复现场;中断返回。思考与练习:5.7简述中断初始化过程。-19-答:设置堆栈指针SP;定义中断优先级(IP);选择外中断触发方式(TCON);开放相应中断允许(IE):安排好等待中断或中断发生前主程序应完成的操作内容,如设置计数器、串行口的有关参数等。5.8中断服务程序的设计要考虑哪些因素?答:在中断入口地址处设置一条跳转指令,转移到中断服务程序的实际入口处;保护现场;中断
42、服务主体程序;若是外中断电平触发方式,应有中断信号撤除操作;若是串行收发中断,应有对RI、TI清0指令;恢复现场;中断返回。第六章51单片机的定时器/计数器51. 定时器/计数器结构框图QhtW口4从图中可以看出,51计数器是一个加1计数器,其计数源来自两个,一个是端口T0的外部中断源,另一个是系统振荡器的12分频,“计数源开关”可实现两个计数源的转换,另一个开关为“控制开关”,用来决定加1计数器的开启。这两个模拟开关都是位开关,通过对特殊功能寄存器(TMOD与TCON)的对应位置1或清0来实现开关功能。52. 所谓计数是指对外部事件进行的计数。计数功能的实质就是对外部输入脉冲进行计数。53.
43、 定时功能实际上也是通过计数器的计数来实现的。此时的计数脉冲源是通过对振荡器12分频得到,即一个机器周期产生一个计数脉冲,换句话说就是每个机器周期计数器加1,因此计数频率为振荡频率的1/12。54.16位计数器,它的最大值为65535(16进制数为0FFFFH),加1计数器不断进行对脉冲个数的累加,最终会达到这个最大值,如果此时计数器再加1,就会使16位计数器的值变为0,并使中断标志位TFx置1,触发中断,这就是定时器/计数器的“溢出”。55. 定时方式寄存器TMOD的位结构位置D7D6D5D4D3D2D1D0位地址GATEc/TM1M0GATEc/TM1M0位符号定时器T1定时器T0GATE
44、选通控制位。当GATE=0时,由寄存器TCON中的运行控制位TRx启动定时器X;当DATE=1时,只有外中断请求信号INTx为高电平且TRx置位时,才启动定时器X。C/T定时方式或计数方式选择位。c/T=o为定时器工作方式;c/T=i为计数器工作方式。M1M0工作方式选择位。O当M1M0=00时,为方式013位定时器/计数器工作方式;O当M1M0=01时,为方式116位定时器/计数器工作方式;O当M1M0=10时,为方式2常数自动装入的8位定时器/计数器工作方式;O当M1M0=11时,为方式3仅适用于定时器T0,为两个8位定时器/计数器工作方式。在方式3时,定时器T1停止计数。56. 定时控制
45、寄存器TCON既参与中断控制又参与定时控制。TF0定时器0计数溢出标志位。TR0定时器0运行控制位。TR=0,关闭定时器/计数器0,反之则开启。TF1定时器1计数溢出标志位。TR1定时器1运行控制位。57. 定时器/计数器初值计算(1)计数初值计算:方式0:X=213S方式1:X=216S方式2或方式3:X=28S(其中X值计数初值,即时间常数;S指输入脉冲数)(2)定时初值计算:定时时间t=S*T=(2n-X)*12/fosc(其中t指计满溢出时间;S指输入脉冲数;T指MM机器周期;2n指计数器位数;X指计数初值即时间常数;fosc指振荡频率)定时方式0计数初值乂=213t*fosc/12定
46、时方式1计数初值乂=216t*fosc/12定时方式2或3计数初值乂=28t*fosc/1258. 定时器/计数器初始化步骤:(1)根据定时器/计数器的工作方式,设置TMOD;(2) 计算定时器/计数器的初值,写入TO(THO、TL0),T1(TH1、TL1);(3) 设置IE、IP,以开放相应的中断和设定中断优先级;(4) 使TR0/TR1置位,启动定时/计数器。59. 定时器/计数器的工作方式:。方式0:此时的计数器是一个13位寄存器结构;。方式1:方式1是16位计数结构的工作方式;。方式2:方式2与方式0、1的区别除了计数位数不一样外(方式2是8位计数结构),最显著的区别就是计数器计数溢
47、出时,能够自动装载初值。思考与练习:>6.7已知单片机系统时钟频率为6MHz,利用定时器0控制P2.1口,使其输出周期为60ms,占空比为2:1的方波。答:设定时间基准为20ms,即定时时间为20ms。则定时初值X=216-1/T机=216-20*10-3*6*106/12=55536=D8F0H高电平的软件计数为2,低电平的软件计数为1.主程序如下:ORG0000HPUSHACCLJMPMAINMOVTH0.#D8HORG000BHMOVTL0,#0F0HLJMPINT0DJNER2,EXITMAIN:SETBP2.1CPLP2.1MOVR2,#02HJNBP2.1MOVTMOD,#0
48、1HMOVR2,#02HMOVTH0,#D8HSJMPEXITMOVTL0.#0F0HL1:MOVR2.#01HSETBET0POPACCSETBEAPOPPSWSETBTR0EXIT:RETISJMP$ENDINT0:PUSHPSW>6.9利用定时器定0,循环点亮8个发光二极管,每个持续时间0.5s。试画出电路图并编写程序。-22-答:假设单片机晶振频率为12MHZ,那么模式1最多能定时65.526ms,对于1秒的定时,必须设置一个软件计数器,进行软硬结合进行定时。假定让定时器定时50ms,软件计数器R7初值为10,这样定时中断10次就是0.5秒,0.5秒后才让P1闪一次,如此循环。0
49、RGSJMPORGSJMPORGMAIN:MOVMOVMOVSETBMOVMOVSJMPIS0_T0:M0VMOVDJNZMOVMOVRLNEXT:RETIEND定时器定时50ms。则定时初值为这里假设晶振频率为12MHZ,0000HMAIN000BHISO_T00030HTMOD,#01HTH0,#3CHTL0,#0B0HTR0R7,#10A,#01H$TH0,#3CHTL0,#0B0HR7,NEXTR7,#10P1,AAT二216-50000us/1us二65536-50000二15536二3CB0H0第八章单片机的系统扩展60. 常用于程序存储器的芯片种类有ROM、EPROM、E2PRO
50、M.FLASH等,其中ROM是不可擦除的,一般用于大批量生产产品,而其他三个是可以擦除再写的,EPROM是用紫外线擦除,E2PROM和FLASH是用电擦除。61. 常用的EPROM芯片有:2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。62. 常用的SRAM型号有6116(2KX8位)、6264(8KX8位)及62256(32KX8位)。63. 常用专用扩展接口有8255和8155.8255是Intel公司生产的一种通用的可编程并行接口电路;8155也是一种可编程的并行接口芯片。64. 工作方式:8255A的工
51、作方式是通过读/写控制逻辑和方式控制字选择来实现的。8255A有三种工作方式,即方式0、方式1和方式2。(1)工作方式0:基本的输入/输出方式方式0是一种基本是输入/输出方式。在此方式下,输出具有锁存功能,输入没有锁存。只有选通和读信号有效后,输入信号才能取消,否则会造成输入数据丢失。(2)工作方式1:应答式输入/输出工作方式A口和B口的输入数据或输出数据都可以被锁存。(3)工作方式2:应答式双向输入/输出工作方式65.8255A作为主机与外设交换信息的桥梁,一方面与主机相连,另一方面还要和外设相连。66控制字设置(基本了解)控制字有方式选择控制字和C口置位/清零控制字。这两个控制字都是写入到8255A的控制寄存器中的,它们之间通过判断控制字最高位D7的值来区分。当D7=1时,控制字为工作方式控制字;当D7=0时,控制字为C口置位/复位控制字。工作方式控制字潇口cCF半部)E=输入端口E1=制人=输出方式诜提0=右式。1二力式)谕口C4半都11=输入=輸出岀话口丸1=输八G=辅ittl审式应TVO=方式CIOL=克述11X=方式它H°5,叫°3Idi叫无关位选择0123456701010101BO00'11001100001111B2置疇顫志位图SM3端口C按位餉复位控制字67
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狐狸的烦恼课件
- 肾透析护理技术规范分享
- 分级护理健康教育实施要点
- 离婚女方财产协议书
- 租房押金变更协议书
- 租赁合同合同变更协议
- 租赁宅基修路协议书
- 窗口争吵调解协议书
- 签夫妻忠诚协议书
- 糖尿病签约协议书
- 音乐推广合同范本
- 年度得到 · 沈祖芸全球教育报告(2024-2025)
- DB11∕T 2192-2023 防汛隐患排查治理规范 市政基础设施
- 贵州省防雷检测专业技术人员资格参考试题库(含答案)
- 住院患者身体约束护理团标精神科保护性约束实施及解除专家共识
- 小学五年级家长会语文老师的课件
- AI在药物研发中的应用
- 危险化学品-危险化学品的运输安全
- 2023建筑结构弹塑性分析技术规程
- 教学查房(针灸科)
- 新人教版七至九年级英语单词表
评论
0/150
提交评论