单片机第四章习题答案
- 格式:doc
- 大小:62.00 KB
- 文档页数:6
第4章习题答案1.MCS-51系列单片机能提供几个中断源、几个中断优先级?各个中断源的优先级怎样确定?在同一优先级中,各个中断源的优先顺序怎样确定?答:MCS-51系列单片机能提供5个中断源,2个中断优先级。
各个中断源的优先级是由特殊功能寄存器IP来确定,IP中和各个中断源对应位为1时,此中断源为高优先级,否则为低优先级。
在同一优先级中,各个中断源的优先顺序是由自然优先级来确定的。
2.简述MCS-51系列单片机的中断响应过程。
答:MCS-51系列单片机的中断响应过程是按照以下顺序执行的:开中断-----中断请求------中断判断-------中断响应-------中断返回。
3.MCS-51系列单片机的外部中断有哪两种触发方式?如何设置?对外部中断源的中断请求信号有何要求?答:MCS-51系列单片机的外部中断有电平触发和边沿触发两种方式。
是由特殊功能寄存器TCON中IT0,IT1的状态确定的,如:IT0为1时外部中断0为边沿触发方式,当INT0外部引脚出现下降沿时向CPU提出中断请求,否则为电平触发方式,当INT0外部引脚出现低电平时向CPU提出中断请求。
4.MCS-51单片机中断响应时间是否固定?为什么?答:MCS-51单片机中断响应时间不固定,因为当中断源向CPU提出中断请求时,CPU 正在执行的指令的指令周期是不一样的。
5.MCS-51单片机如果扩展6个中断源,可采用哪些方法?如何确定它们的优先级?答:一般可采取中断加查询方式,软件先查询到的为高优先级,最后查询到的为低优先级。
6.试用中断技术设计一发光二极管LED闪烁电路,闪烁周期为2s(方波)。
答:用定时器实现ORG 0000HAJMP STARTORG 00B0HAJMP INT-T0START MOV TMOD, #01HMOV TH0,#3CHMOV TL0,#0B0HMOV R0,#10SETB ET0SETB EASETB TR0SJMP $INT-T0:MOV TH0, #3CHMOV TL0,#0B0HDJNZ R0,END-PCPL P1.0MOV R0,#10END-P RETIEND7.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。
第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。
2.汇编语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。
(2)定义字节伪指令格式:[标号:] DB X1,X2, (X)功能:从指定地址开始,存放若干字节数据。
(3)字定义伪指令格式:[标号:] DW Y1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。
(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。
(5)赋值伪指令格式:标号 EQU 表达式功能:将表达式的值(数据或地址)赋给标号。
(6)位定义伪指令格式:[标号] BIT 位地址功能:将位地址赋给标号。
4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。
7.分析下列程序的功能。
X DATA 30HY DATA 32HMOV A,XJNB ACC.7,TRUECPL AADD A,#01HTRUE:MOV Y,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。
第四章习题1、何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。
MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。
2、80C51单片机有几个定时/计数器?它们由哪几个功能寄存器组成?怎样实现定时功能和计数功能?80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。
通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。
3、定时/计数器T0有几种工作方式?各自的特点是什么?M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重置定时/计数器113两个8位定时/计数器(只有T0有)4、定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式的初值应是多少?有四种方式。
方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。
如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。
5、设振荡频率为12MHz,如果要用定时器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别是多少?只能选择方式1,初值为65536-50000=155366、何为同步通信?何为异步通信?各自的特点是什么?异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。
特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。
同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。
习题1.C51特有的数据类型有哪些?答:C51特有的数据类型有位型bit、特殊位型sbit、8位特殊功能寄存器型sfr和16位特殊功能寄存器型sfr16。
2.C51中的存储器类型有几种,它们分别表示的存储器区域是什么?答:C51中的存储器类型有6种,分别表示的存储器区域是:data:直接寻址的片内RAM低128B,访问速度快bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问idata:间接寻址访问的片内RAM,允许访问全部片内RAMpdata:用Ri间接访问的片外RAM低256Bxdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAMcode:程序存储器ROM 64KB空间3.在C51中,bit位与sbit位有什么区别?答:bit位类型符用于定义一般的位变量,定义的位变量位于片内数据存储器的位寻址区。
定义时不能指定地址,只能由编译器自动分配。
sbit位类型符用于定义位地址确定的位变量,定义的位变量可以在片内数据存储器位寻址区,也可为特殊功能寄存器中的可位寻址位。
定义时必须指明其位地址,可以是位直接地址,也可以是可位寻址的变量带位号,还可以是可位寻址的特殊功能寄存器变量带位号。
4.在C51中,通过绝对地址来访问的存储器有几种?答:绝对地址访问形式有三种:宏定义、指针和关键字“_at_”。
5.在C51中,中断函数与一般函数有什么不同?答:中断函数是C51的一个重要特点,C51允许用户创建中断函数。
中断函数用interrupt m修饰符,m的取值为0~31,对应的中断情况如下:0——外部中断01——定时/计数器T02——外部中断13——定时/计数器T14——串行口中断5——定时/计数器T2中断函数需要注意如下几点。
(1)中断函数不能进行参数传递(2)中断函数没有返回值(3)在任何情况下都不能直接调用中断函数(4)如果在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同(5)C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容(6)C51编译器从绝对地址8m+3处产生一个中断向量(7)中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明6.按给定的存储类型和数据类型,写出下列变量的说明形式。
第4章部分习题答案作业:7、8、9、10、11、15、17、19、204.7设内部RAM 20H单元有两个非零的BCD数, 编写求两个BCD数的积并把积送入21H单元的程序。
ORG 1000HMOV A, 20HMOV B, A ; 保存SWAP AANL A, #0FH ;取高4位ANL B, #0FH ;取低4位MUL ABMOV B, #0AHDIV AB ;转换成BCD码的形式SWAP AORL A, BMOV 21H, ASJMP $END4.8已知从内部RAM BLOCK单元开始存放有一组带符号数,数的个数存放在LEN单元。
编写可以统计正数和负数个数并分别存入NUM和NUM+1单元的程序。
num org lOOOh data 30hlen data 20hblock data 40hmov rO, #blockmov num, #00h ;保存正数个数mov b, #00h ;保存负数个数loop: mov a, @r0inc rOjb acc.7, neginc numsjmp nextneg: inc bnext: djnz len, loopmov num+1, bsjmp $end 4.9设X为一无符号数,存放在内部RAM的VAX 单元,Y存放在FUNC单元。
编写满足如下关系的程序:X X>50Y =(5X 50> X > 202X X<20org 2000hvax data 20hfunc data 30hmov a, vaxcjne a, # 32h, complcompl: jc nextlmov func, asjmp donenextl: cjne a, #14h、comp2comp2: jc next2mov b, #05hmul abmov func, asjmp donenext2: clr crlc amov func, adone: sjmp $end4.10在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范围的任何位置。
《单片机原理与接口技术》习题解答第4章习题解答4-1.简述下列基本概念。
答指令:CPU根据人的意图来执行某种操作的命令。
指令系统:一台计算机所能执行的全部指令集合。
机器语言:用二进制编码表示,计算机能直接识别和执行的语言。
汇编语言:用助记符、符号和数字来表示指令的程序语言。
高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言。
4-2.什么是计算机的指令和指令系统?答见1题。
4-3.简述80C51汇编指令格式。
答操作码[目的操纵数][,源操作数]4-4.简述80C51的寻址方式和所能涉及的寻址空间。
答立即数寻址:程序存储器ROM。
直接寻址:片内RAM低128B和特殊功能寄存器。
寄存器寻址:R0~R7,A,B,C,DPTR。
寄存器间接寻址:片内RAM低128B,片外RAM。
变址寻址:程序存储器64KB。
相对寻址:程序存储器256B范围。
位寻址:片内RAM的20H~2FH字节地址,部分特殊功能寄存器。
4-5.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答 SFR:直接寻址,位寻址;片外RAM:寄存器间接寻址。
4-6.在80C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式及按顺序执行后的结果。
答 MOV A,40H 直接寻址MOV R0,A 寄存器寻址MOV P1,#0F0H 立即数寻址MOV @R0,30H 直接寻址MOV DPTR,#3848H 立即数寻址MOV 40H,38H 直接寻址MOV R0,30H 直接寻址MOV P0,R0 寄存器寻址MOV 18H,#30H 立即数寻址MOV A,@R0 寄存器间接寻址MOV P2,P1 直接寻址均为数据传送指令,结果(参见下图)为30H38H40H48H(18H)=30H,(30H)=38H,(38H)=40H (40H)=40H,(48H)=90HR0=38H,A=40H,P0=38H,P1=FOH,P2=FOH,DPTR=3848H 4-7.对80C51片内RAM高128B的地址空间寻址要注意什么?答用直接寻址,寄存器寻址,位寻址。
单片机第四章习题答案选择题1-5 BACAA, 6-10 BAADA, 11-14 CCAD问答题1.MCS-51系列单片机定时计数器的定时功能和计数功能有什么不同?分别应用在什么场合?答:当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。
定时器的定时时间与系统的振荡频率紧密相关,如果单片机系统采用12M晶振,则计数周期为:,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。
当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。
计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。
当需要准确计算时间时往往采用定时器的定时方式,而当要对一些外部事件计数时则采用定时器的计数方式。
2.软件定时与硬件定时的原理有何异同?答:软件定时是通过编写一段延时程序来实现定时,这段延时程序不完成任何操作,只是通过一些空操作浪费掉一段时间。
这样的软件定时往往浪费CPU的工作效率,并且定时不够准确,前面三章的各个任务中均采用了这种方法。
硬件定时是通过单片机的定时器来实现时间的计算,用户只需要对定时器的工作方式、初始值赋予合适的数值,启动定时器后,定时器将自动按照机器周期定时。
这种由定时器实现的定时方式,定时时间准确、CPU的工作效率高。
3.MCS-51单片机的定时计数器是增1计数器还是减1计数器?增1和减1计数器在计数和计算计数初值时有什么不同?答:MCS-51系列单片机的定时/计数器是增1计数器。
对于增1计数器,计数初值应等于最大计数值减去所需要的计数值。
而减1计数器,计数初值就等于所需要的计数值。
例如:假设需要计数50000次。
对于增1计数器的单片机,若采用方式1的定时器,最大计数值为65536,则初值应为:65536-50000=15536。
第4章 AT89S51汇编语言程序的设计与调试参考答案1.答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编过程的命令。
所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。
常用伪指令及其功能如下:ORG(ORiGin)汇编起始地址命令;END(END of assembly)汇编终止命令;EQU(EQUate)标号赋值命令;DB(Define Byte)定义数据字节命令;DW(Define Word)定义数据字命令;DS(Define Storage)定义存储区命令;BIT 位定义命令2.答:手工汇编:通过查指令的机器代码表(表3-2),逐个把助记符指令“翻译”成机器代码,再进行调试和运行。
这种人工查表“翻译”指令的方法称为“手工汇编”。
机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。
通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。
反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。
3.答:从1000H开始的各有关存储单元的内容(16进制)如下:4D 41 49 4E 12 34 30 0000 70 78 7F E4 F6 D8 FD75 81 07 024.在编写子程序时应注意以下问题:(1)子程序的第一条指令前必须有标号。
(2)主程序调用子程序,有如下两条子程序调用指令:①绝对调用指令ACALL addr11。
被调用的子程序的首地址与绝对调用指令的下一条指令的高5位地址相同,即只能在同一个2KB区内。
②长调用指令LCALL addr16。
addr16为直接调用的目的地址,被调用的子程序可放置在64KB程序存储器区的任意位置。
(3)子程序结构中必须用到堆栈,用来保护断点和现场保护。
(4)子程序返回时,必须以RET指令结束。
(5)子程序可以嵌套,但要注意堆栈的冲突。
5.答:参考程序如下:MOV A,45HANL A,#0FHORL A,#0FHMOV 45H,A6.答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,PC=8050H 7.答:参考程序如下:START:MOV R0,#30HMOV R2,#20HLOOP: MOV A,@R0CJNE A,#0AAH,NEXTMOV 51H,#01HLJMP EXITNEXT: INC R0DJNZ R2,LOOPMOV 51H,#00HEXIT: RET8.答:参考程序如下:START:MOV 41H,#0MOV R0,#20HMOV R2,#20HLOOP:MOV A,@R0JNZ NEXTINC 41HNEXT:INC R0DJNZ R2,LOOPRET9.答:参考程序如下:ORG 0100HMOV R2, #20H 要比较的数据字节数MOV A , #21HMOV R1 , ADEC R2MOV A , @R1LOOP: MOV R3,ADEC R1CLR CSUBB A,@R1JNC LOOP1MOV A,@R1SJMP LOOP2LOOP1: MOV A,R3LOOP2: DJNZ R2, LOOPMOV @R0,ARET10.答:(1)SP=SP+1=61H (61H)=PC的低字节=03HSP=SP+1=62H (62H)=PC的高字节=20H(2)PC=3456H(3)可以(4)2KB=2048 Byte11.答:可对程序做如下修改:ORG 0100HDEL: MOV R7, #200DEL1: MOV R6, #123 ;将原来的立即数125改为123DEL2: DJNZ R6, DEL2NOP ;增加的指令DJNZ R7, DEL1RET程序修改后的延时时间为:1+(1+123*2+1+2)*200+2=50003us=50.003ms。
单片机原理及应用第四章课后题答案单片机原理及应用第四章课后题答案16. MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突?解:数据存储器的读和写由和信号把握,而程序存储器由读选通信号把握,这些信号在规律上时序上不会产生冲突;程序存储器访问指令为MOVC,数据存储器访问指令为MO。
程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于二者访问指令不同,把握信号不同,所以两者虽然共处于同一地址空间,不会发生总线冲突。
18.某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,接受地址译码法,画出硬件连接图,并指出各芯片的地址范围。
解:硬件连接电路图如图4.18所示。
各芯片的地址范围为:2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH图4.18 4.18题硬件连接电路图21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B口按方式1输出。
解:程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR,#7F03HMOV A,#10010100BMO @DPTR,ASJMP $END25.使用8255A或者8155的B端口驱动红色和绿色发光二极管各4只,且红、绿发光二极管轮番发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写把握程序。
解:使用8255A,电路连接图如图4.25所示。
图4.25 4.25题硬件连接电路图其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。
设MCS-51单片机主频为12MHz。
程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR, #7FFFH ; 数据指针指向8255A把握口MOV A, #80HMO @DPTR, A ; 工作方式字送8255A把握口MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口MOV A, #0FH ; 置红色发光二极管亮LP1:MO @DPTR, A ; 置红色发光二极管亮LCALL DELAY ; 调用1S延时子程序CPL A ; 置发光二极管亮反色SJMP LP1 ; 循环执行DELAY: MOV R7,#10 ; 1s延时子程序 D1:MOV R6,#200D2:MOV R5,#248D3:NOPDJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RETEND接受定时器T0方式1中断实现1s定时。
第 4 章 单片机内部功能模块习题解答1. 什么是中断?中断有何优点?中断是指计算机在执行程序的过程中,由于计算机系统外界或内部发生某一紧急事件,要求CPU 暂时中止当前的工作转去处理所发生的紧急事件,待处理完后再回到原来被中止的地方,继续原来的工作的过程。
在计算机中引入中断技术具有以下优点:(1)可以提高CPU 的工作效率;(2)便于实时处理;(3)便于故障处理,提高系统的稳定性。
2. MCS-51单片机的中断系统有哪些功能部件组成?分别作什么用?MCS-51单片机的中断系统有4个与中断有关的特殊功能寄存器(TCON 、SCON ),中断允许控制寄存器IE ,中断优先级寄存器IP 和中断顺序查询逻辑等组成。
其功能分别为:TCON 用于寄存定时器T0、T1的溢出中断和外部0INT 、1INT 的中断请求及设置外部中断的触发方式;SVON 的低2位用于作串行发送和接收中断标志;IE 用于设置各中断源允许和禁止;IP 用于设置各中断源的优先级别;中断查询逻辑用于确定中断响应的次序。
3. MCS-51单片机有几个中断源?各中断标志如何产生,又如何清除?MCS-51有五个中断源,它们是:(1)外部中断0(0INT )中断,低电平有效。
通过P3.2引脚引入。
(2)外部中断1(1INT )中断,低电平有效。
通过P3.3引脚引入。
(3)定时/计数器0(T0)溢出中断。
(4)定时/计数器1(T1)溢出中断。
(5)串行口中断,当串行口完成一帧数据的发送和接收时,便请求中断。
中断标志位产生与复位:(1)外部中断0(0INT )中断标志:当外部中断0引脚0INT 上的电平由1变为0时,IE0由硬件置“1”,外部中断0请求中断。
在CPU 响应该中断时由硬件清0。
(2)外部中断1(1INT )中断标志:当外部中断1引脚1INT 上的电平由1变为0时,IE1由硬件置“1”,外部中断1请求中断。
在CPU 响应该中断时由硬件清0。
(3)定时/计数器0(T0)溢出中断标志:当T0从初值开始加1计数到产生溢出时,由硬件使TF0自动置“1”,并向CPU申请中断。
CPU响应中断进入中断服务程序后,硬件将TF0自动清零。
(4)定时/计数器1(T1)溢出中断标志:当T1从初值开始加1计数到产生溢出时,由硬件使TF1自动置“1”,并向CPU申请中断。
CPU响应中断进入中断服务程序后,硬件将TF1自动清零。
(5)串行口接收中断请求标志位:在串行口方式0中,每当接收到第8位数据时,由硬件将RI置“1”;在其它方式中,当接收到停止位的中间位时置位RI。
当CPU转入串行口中断服务程序时不复位RI,必须由软件来使RI清零。
串行口发送中断请求标志位。
在方式0中,每当发送8位数据时由硬件将TI置“1”;在其它方式中于停止位开始时置位。
TI也必须由软件来复位。
4. 中断响应时间是否确定不变,为什么?MCS-51单片机中断响应时间在不同情况下响应时间不同。
在每个机器周期的S5P2期间,外部中断0和外部中断1引脚的电平被锁存到TCON的IE0和IE1标志位,CPU在下一个周期才会查询这些值。
这时如果满足中断条件,下一条要执行的指令将是一条硬件长调用指令“LCALL”,使程序转移到中断源对应的矢量地址入口。
硬件长调用指令本身要花两个机器周期,这样从中断请求有效到开始执行中断服务程序的第一条指令,中间要隔三个机器周期,是最短的响应时间。
如果遇到中断受阻的情况,则中断时间会更长。
例如,一个同级或高优先级的中断正在执行,则附加的等待时间为1~3个周期,如果正在执行的指令是RETI指令或者是读写IE或IP指令,则附加的时间在5个机器周期之内。
因此如系统只有一个中断源,则响应时间在3~8机器周期。
5. MCS-51响应中断的条件是什么?CPU响应中断,CPU要进行哪些操作?不同的中断源的中断入口地址是多少?CPU响应中断的条件如下:(1)有中断源发出中断请求;(2)中断总允许位EA=1,即CPU开放中断;(3)申请中断的中断源的中断允许位为1,即没有被屏蔽。
MCS-51的CPU在每个机器周期的S5P2期间顺序采样各中断标志位,如有置位,只要以上条件满足,且下列三种情况都不存在,哪么,在下一周期的S1期间CPU响应中断。
否则,采样的结果被取消。
1) CPU正式在处理同级或更高优先级的中断。
2) 现行的机器周期不是所执行指令的最后一个周期。
3) 正在执行的指令是RETI或访问IE、IP指令。
CPU在执行RETI或访问IE、IP指令的指令后,至少需要执行一条其它指令后才会响应中断请求。
CPU 响应中断后,保护断点,硬件自动将(PC )压入堆栈,寻找中断源,中断矢量送入PC ,程序转向中断服务程序的入口地址。
各中断服务程序的入口地址:1INT =0013H , 0INT =0003H ,T1=001BH ,T0=000BH ,串行接口=0023H6. 什么是中断优先级?单片机对中断优先级的处理原则是什么?中断优先级是CPU 响应中断的先后顺序。
单片机对中断优先级的处理原则是:(1)低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源所中断;(2)一种中断源(不管是高优先级还是低优先级)一旦得到响应,与它同级的中断源不能再中断它。
当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。
其优先级排列如下:中断源 同级内的中断优先级外部中断0 最高定时器/计数器0溢出中断外部中断1定时器/计数器1溢出中断串行口中断 最低7. MCS-51的外部中断有哪两种触发方式?它们对触发脉冲或电平有什么要求?外部中断有电平触发和脉冲触发两种方式。
脉冲触发方式时,CPU 在每个机器周期采样1INT ,(0I N T )端,如果在一个周期中采样到高电平,在下一个周期中采样到低电平,则向CPU 请求中断。
电平触发方式时,只要CPU 检测到1INT ,0INT 端的输入端为低电平即向CPU 请求中断。
采用电平触发方式时,输入到1INT ,0INT 端的外部中断源必须保持低电平有效,直到该中断被响应。
采用脉冲触发方式时,中断请求信号的高电平状态和低电平状态都至少要维持一个周期以确保电平变化能被CPU 采样到。
8. 简述MCS-51单片机的中断响应过程。
CPU 在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC ,以便进入相应的中断服务程序。
一旦响应中断,CPU 首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC 值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。
对于有些中断源,CPU 在响应中断后会自动清除中断标志。
9. MCS-51单片机内部有几个定时/计数器?它们由哪些寄存器组成?MCS-51单片机内部有两个16位可编程的定时/计数器,简称定时器0(T0)和定时器1(T1)。
它们分别由方式寄存器TMOD、控制寄存器TCON和数据寄存器TH0、TL0,TH1、TL1组成。
10. MCS-51单片机的定时/计数器有哪几种工作方式?各有什么特点?MCS-51单片机的定时/计数器有四种工作方式:方式0:当TMOD中M1、M0设置为00时,定时器/计数器选定为工作方式0。
由TH0的8位和TL0的低5位组成一个13位计数器。
当TL0的低5位溢出时,向TH0进位;TH0溢出时,中断标志位TF0置位,并向CPU申请中断。
定时器操作完成与否,可通过软件查询TF0是否为1来判断或由定时器T0产生溢出中断来判断。
方式1:当TMOD中M1、M0设置为01时,定时器/计数器选定为工作方式1。
方式1的工作原理和方式0完全一样,唯一的区别是计数器的长度是16位,T0计数器由TH0(高8位)和TL0(低8位)构成。
方式2:当TMOD中M1、M0设置为10时,定时器/计数器选定为工作方式2。
方式2是能自动重装计数初值的8位计数器,在方式2中,16位计数器拆成两个8位计数器,低8位作计数器用,高8位用于保存计数初值。
当低8位计数产生溢出时,将TFi位置1,同时又将保存在高8位中的计数初值重新装入低8位计数器中,继续计数,循环重复不止。
方式3:当TMOD中M1、M0设置为11时,定时器/计数器选定为工作方式3。
方式3只适用定时器T0,T0在方式3下被拆成两个独立的8位计数器TH0和TL0。
T0工作方式3时,其中TL0使用原来T0的一些控制位和引脚,它们是:C/T,GATE,TR0,TF0和T0(P3.4)引脚INT0((P3.2)引脚。
此方式下的TL0除作8位计数器外,其功能和操作与方式0,方式1完全相同,可作计数也可作定时用。
方式3下的TH0,只可作简单的内部定时器功能。
它借用原定时器1的控制位和溢出标志位TR1和TF1,同时占用了T1的中断源。
TH0的启动和关闭仅受TR1的控制,TR1=1,TH0启动定时;TR1=0,TH0停止定时工作。
方式3下的T1仍可设置为方式0、方式1、方式2,用于任何不需要中断的场合。
11. 定时/计数器用作定时器方式时,其定时时间与哪些因素有关?作计数器时,对外界频率有何限制?定时/计数器用作定时器方式时,其定时时间与下列因素有关:晶体振荡器的振荡频率、机器周期、计数器的长度、定时器/计数器初值。
用作计数器时,对外部输入端T0、T1上高电平到低电平的跳变进行加1计数。
在计数状态下,每个机器周期的S5P2时刻采样外部输入。
当第一个机器周期采样为高电平、第二个周期为采样为低电平时,内部计数器加1。
由于确认一次由1至0的跳变要花两个机器周期,即24个振荡周期,故计数脉冲的频率不能高于振荡频率的1/24。
12. MCS-51单片机的时钟频率为12MHZ,编程使P1.0和P1.1分别输出周期为2 ms和500 us的方波。
解:采用方式0 500/2 us定时初值:X=213—250*10-6*106=8192-250=7492=1111100000110BT0低5位:00110B=06H T0高8位:=11111000B=F8HORG 1000HMOV R2,#04H ;R2为250us计数器,置入初值4CLR P1.0 ;P1.0输出低电平CLR P1.1 ;P1.1输出低电平MOV TMOD,#00H ;设置定时器T1工作于方式0LOOP2:MOV TH1,#0F8H ;定时初值MOV TL1 ,#06HSETB TR1 ;启动T1LOOP:JBC TF0,LOOP1 ;查询250us时间到?时间到转LOOP1SJMP LOOP ;时间未能到,转LOOP继续查询LOOP1:CPL P1.1 ;P1.1输出取反,形成周期为500us方波CLR TR1 ;关闭T1DJNZ R2,LOOP2 ;250 us计数器减1,到1 ms吗?未能到转LOOP2CPL P1.0 ;到1 ms,P1.0输出取反,形成周期为2 ms方波MOV R2,#04H ;重置250us计数器初值LJMP LOOP2 ;重复循环13. MCS-51单片机的串行口由哪些功能部件组成?各有什么作用?MCS-51单片机串行口主要由发送数据缓冲器SUBF、发送控制器、输出控制门、接收数据缓冲器SBUF、接收控制器、输入移位寄存器等组成。