单片机原理及接口技术答案.docx

上传人:牧羊曲112 文档编号:3346566 上传时间:2023-03-12 格式:DOCX 页数:43 大小:58.26KB
返回 下载 相关 举报
单片机原理及接口技术答案.docx_第1页
第1页 / 共43页
单片机原理及接口技术答案.docx_第2页
第2页 / 共43页
单片机原理及接口技术答案.docx_第3页
第3页 / 共43页
单片机原理及接口技术答案.docx_第4页
第4页 / 共43页
单片机原理及接口技术答案.docx_第5页
第5页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机原理及接口技术答案.docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术答案.docx(43页珍藏版)》请在三一办公上搜索。

1、单片机原理及接口技术答案第一单元 1-1除了单片机这一名称外,单片机还可称为和。参P1 1-2单片机与普通微型计算机的不同之处在于其将、和三部分,通过内部连接在一起,集成于一块芯片上。参P1 1-38051与8751的区别是。参P6A. 内部数据存储单元数目不同B. 内部数据存储器的类型不同 C. 内部程序存储器的类型不同 D. 内部寄存器的数目不同 1-4在家用电器中使用单片机应属于微计算机的。参P3 A. 辅助设计应用B. 测量、控制应用C. 数值计算应用D. 数据处理应用 1-5微处理器、微计算机、微处理机、CPU、单片机、之间有何区别?参P1、参P12 答:微处理器、微处理机和CPU它

2、们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。嵌入式微处理器相当于通用计算机中的CPU。与单片机相比,单片机本身就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的中央处理器。为了满足嵌入式应用的1 特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各

3、种增强。 1-6MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?参P6答:MCS-51系列单片机的基本型芯片分别为:8031、8051和8751。它们的差别是在片内程序存储器上。8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。 1-7为什么不应将51系列单片机称为MCS-51系列单片机?参P6答:因为MCS-51系列单片机中的“MCS”是Intel公 司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。1-8AT89S51单片机相当于MCS-5

4、1系列单片机中哪一种型号的产品?参P7答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。 1-9嵌入式处理器家族中的单片机、DSP、嵌入式微处理器各有何特点?它们的应用领域有何不同?参P12答:单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。 DSP是一种非常擅长于高速实现各种数字信号处理运算的嵌入式处理器。由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。广泛地

5、用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。2 与单片机相比,DSP具有的实现高速运算的硬件结构及指令和多总线,DSP处理的算法的复杂度和大的数据处理流量以及片内集成的多种功能部件更是单片机不可企及的。嵌入式微处理器的基础是通用计算机中的CPU,它的地址总线数目较多能扩展较大的存储器空间,所以可配置实时多任务操作系统(RTOS)。RTOS是嵌入式应用软件的基础和开发平台。正由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作

6、。因此,广泛地应用在移动计算平台、媒体手机、工业控制和商业领域、电子商务平台、信息家电以及军事上的应用。 1-10什么是嵌入式系统?参P14答:广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。但多数人把 “嵌入”嵌入式微处理器的系统,称为“嵌入式系统”。 目前“嵌入式系统”还没有一个严格和权威的定义。目前人们所说的“嵌入式系统”,多指后者。 第二单元 2-1AT89S51单片机的片内都集成了哪些功能部件?参P16答:AT89S51单片机的片内都集成了如下功能部件:1个微处理器;128个数据存储器单元 ;4K Flash程序存储器;4个8位可

7、编程并行I/O口;1个全双工串行口;2个16位定时器/计数器;1个看门狗定时器;一个中断系统,5个中断源,2个优先级;26个特殊功能寄存器,1个看门狗定时器。 3 2-2说明AT89S51单片机的EA引脚接高电平或低电平的区别。P19答:当EA脚为高电平时,单片机读片内程序存储器中的内容,但在PC值超过0FFFH时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000HFFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器。 2-3在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。参P36 2-4AT89S51的

8、机器周期等于个时钟振荡周期。参P36 2-5. 64K程序存储器空间中有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。参P2324 答:64K程序存储器空间中有5个特殊单元分别对应于5个中断源的中断服务程序入口地址,见下表: 4 表 5个中断源的中断入口地址 2-6. 内部RAM中,位地址为40H、88H的位,该和。参P28 2-7片内字节地址为2AH单元最低位的位地的最低位的位地址为88H。参P28 2-8若A中的内容为63H,那么,P标志位的2-9A判断下列说法是否正确。使用AT89S51存储器。参P29B区分片外程序存储器看其位于地

9、址范围的低端还是高端。参O口工作在输入方式,必须事先预置为1。DPC可以看成是程序存储器的地址指针。2-10. AT89S51单片机复位后,R4所对应的存址 入口地中断源 位所在字节的字节地址分别为0003H 外部中断0 (INT0) 址是。参P22 且引脚EA=1时,仍可外扩64KB的程序和片外数据存储器的最可靠的方法是P29C在AT89S51中,为使准双向的I 参P22 储单元的地址为,因上电时0013H 外部中断1 (INT1) 001BH 定时器1 (T1) 0023H 串行口 PSW=组工作寄存器区。参P24 2-11判断以下有关PC和DPTR的结论是否正确。 A指令可以访问寄存器D

10、PTR,而PC不能用指令访问。参P22、P27 5 B它们都是16位寄存器。 C在单片机运行时,它们都具有自动加1的功能。参P22 DDPTR可以可以分为2个8位的寄存器使用,但PC不能。P27 2-12. 内部RAM中,可作为工作寄存器区的单元地址为 2-13判断下列说法是否正确。 AAT89S51中特殊功能寄存器就是片内RAM中的一部分。参P24 B片内RAM的位寻址区,只能供位寻址使用,而不能进行字节寻址。参P27、P24 CAT89S51共有26个特殊功能寄存器,SP它们的位都是可用软件设置的,因此,是可以进行位寻址的。参P25D称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM

11、无关。参P26 2-14在程序运行中,PC的值是: A当前正在执行指令的前一条指令的地址。B当前正在执行指令的地址。 C当前正在执行指令的下一条指令的首地址。D控制器中指令寄存器的地址。 2-15. 通过堆栈操作实现子程序调用时,首先把的内容入栈,以进行断点保护。调用子程序返回时,再进行出栈保护,把保护的断点送回到KB。参P22 2-17AT89S51的4个并行双向口P0P3的驱动能力各为多少?要想获得较大的输出驱动能力,采用低电平输出还是使用高电平输出?P0口每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。当P0口的某位为高电平时,可提供400 A的电

12、流;当P0口的某位为低电平时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任何一个口要想获得较大的驱动能力,只能用低电平输出。 2-18当AT89S51单片机运行出错或程序陷入死循环时,如何摆脱困境?参P36 按下复位按钮 2-19. 判断下列说法是否正确。APC是一个不可寻址的特殊功能寄存器。参P22 B单片机的主频越高,其运算速度越快。参P34 C在AT89S51单片机中,1个机器周期等于1s。参P36 D特殊功能寄存器SP内存放的是栈顶首地址单元的内容。参P26 2-20. 判断下列说法是否正确。参P39 AAT89S51单片机进入空闲模式,CPU停止工作。参P3

13、9 BAT89S51单片机不论是进入空闲模式还是掉电运行模式后,片内RAM和SFR中的内容均保持原来的状态。参P39 CAT89S51单片机进入掉电运行模式,CPU和片内的外围电路均停止工作。参P40 DAT89S51单片机掉电运行模式可采用响应中断方式来退出。参P40 7 3-1判断以下指令的正误。参P6164 MOV 28H, R2; DEC DPTR; INC DPTR; CLR R0; CPL R5; MOV R0,R1; F0,Acc.3; PUSH DPTR; MOV F0,C; MOV MOVX A,R1; MOV C,30H; RLC R0。 3-2判断下列说法是否正确。 A.

14、立即数寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中。参P45 B.指令周期是执行一条指令的时间。参P36 C.指令中直接给出的操作数称为直接地址。参P45 D.内部寄存器Rn可作为间接寻址寄存器。参P45 3-3在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。P45 3-4访问SFR,可使用那些寻址方式?参P44 只能使用直接寻址方式 3-5指令格式是由和组成,也可仅有组成。P43,P63,P64 3-6. 假定累加器A中的内容为30H,执行指令参P45 1000 H:MOVC 后,把程序存储器单元的内容送入累加器A中。 A,A+PC 8 3-7在AT89S51中

15、,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。参P22,参P27 3-8在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的。参P45 *3-9下列程序段的功能是什么?参P48 PUSH Acc PUSH B POP Acc POP B BPOP AccPUSH BAccPOP BPUSH AccPOP DPHFFH52HSP-1SPPOP DPLFFH51HSP-1SP(SP)=50H答:A的内容与B的内容互换。 *3-10已知程序执行前有=02H,=52H,=FFH,=FFH,下述程序执行后,=,=,=,=。

16、9 , ) POP DPH ;=52H,=FFH,=FFH,=51H POP DPL ;=51H,=FFH,=FFH,=50H MOV DPTR,#4000H RL A ;=4000H ; 原来=02H,左移一位后=04H ;=04H, ;=30HA,=30H MOV B,A MOVC A,A+DPTR 50H30HPUSH Acc MOV A,B INC A 52H50H;=51H,=30H ; =04H ; =05H (SP)+1SPPUSH AccPUSH Acc51H(SP)+1SPPCHPCL50H30H52H51H50H(SP)-1(SP)-1SPSPMOVC A,A+DPTR ;

17、 =50HA,=50H PUSH Acc RET ;=50H, =52H ;=50H, =51H, =30H, =50H ORG 4000H 10 DB 10H,80H,30H,50H,30H,50H 答:=50H,=50H,=30H,=50H,5030H *3-11写出完成如下要求的指令,但是不能改变未涉及位的内容。 把Acc.3,Acc.4, Acc.5和Acc.6清零。 把累加器A的中间4位清零。 把Acc.2和Acc.3置1。 答:ANL A,#87H ;(A)10000111 ANL A,#0C3H ;(A)11000011 ORL A,#0CH ;(A)00001100 *3-12

18、假定=83H, =17H, =34H, 执行以下指令后,=00000011 ORL 17H,A ;0011010000000011=0011011117H,=00110111 XRL A,R0 ; 0000001100110111=00110100A CPL A ;=11001011 12答:=0CBH。 11 。 ) 假定=83H, =17H, =34H, 执行以下指令后,=。 ANL A,#17H ; 1000001100010111=00000011A, ;=00000011 ORL 17H,A ;00110100 00110100 )00000011 0011011100000011=

19、00110111 10000011) 00010111 0000001117H,;=00110111 00000011 )00110111 00110100XRL A,R0 ; 0000001100110111=00110100A ; CPL A ;=11001011 答:=0CBH。 3-13假设=55H,=0AAH,在执行指令“ANL A,R3”后,=,=。 答:=00H,=0AAH。 3-14如果=507BH,=32H,=50H, =5FH, =3CH,则执行下列指令后,=, =, =。 POP DPH ;=3CH, =31H 12 POP DPL ;=5FH, =30H POP SP

20、;=50H POP DPH3CH32H(SP)-1SPPOP DPL5FH31H(SP)-1SPPOP SP50H30H29H答:=3CH,=5FH,=50H 3-15假定=60H, =30H, =70H, 则执行下列指令后,=。 PUSH Acc ;=30H, =61H PUSH B ;=70H, =62H PUSH B70H62H(SP)+1SPPUSH Acc30H61H(SP)+1SP60H答:=62H,=30H,=70H。 3-17对程序存储器的读操作,只能使用。参P49 A.MOV指令 B.PUSH指令 C. MOVX指令 D. MOVC指令 3-18以下指令中,属于单纯读引脚的指

21、令是。参P59 A. MOV P1,A B. ORL P1,#0FH C. MOV C,P1.5 D. ANL P1,#0FH. 13 , = ) ) 3-19为什么对基本型的51子系列单片机,其寄存器间接寻址方式中,规定R0 或R1的内容不能超过7FH,而对增强型的52子系列单片机,R0或R1的内容就不受限制。参P24,参P8答:基本型的51子系列单片机,由于其片内RAM的地址范围为00H7FH,而80HFFH为特殊功能寄存器区,而对特殊功能寄存器寻址,只能使用直接寻址方式。对片内RAM寻址,当使用寄存器间接寻址是采用R0或R1作为间接寻址的,因此R0或R1的内容不能超过7FH。 增强型的5

22、2子系列单片机,片内RAM的地址范围为00HFFH,因此作为间接寻址寄存器的R0或R1的内容就不受限制。4-1说明伪指令的作用。“伪”的含义是什么?常用伪指令有那些?其功能如何?参P7072 答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编 ORG过程的命令。所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。常用伪指令及其功能如下:汇编起始地址命令;END(END of assembly)汇编终止命令;EQU标号赋值命令;DB定义数据字节命令;DW定义数据字命令;DS定义存储区命令;BIT 位定义命令。 4-2 解释下列术语:参P727

23、3 手工汇编 机器汇编 反汇编 答:手工汇编:通过查指令的机器代码表,逐个把助记符指令“翻译”成机器代码,再进行调试和运行。这种人工查表“翻译”指令的方法称为“手工汇编”。 14 机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。 反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。 *4-3下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么? ORG 1000H 1234H 3000H TAB1 EQU TAB2 EQU DB DW “MAIN” TAB1, TAB2,70H 答:从1000

24、H开始的各有关存储单元的内容(16进制)如下: 4D 41 49 4E 12 34 30 00 00 70 78 7F E4 F6 D8 FD 75 81 07 02 4-4设计子程序时应注意那些问题?参P7373 在编写子程序时应注意以下问题: 15 子程序的第一条指令前必须有标号。 主程序调用子程序,有如下两条子程序调用指令: 绝对调用指令ACALL addr11。被调用的子程序的首地址与绝对调用指令的下一条指令的高5位地址相同,即只能在同一个2KB区内。 长调用指令LCALL addr16。addr16为直接调用的目的地址,被调用的子程序可放置在64KB程序存储器区的任意位置。 子程序结

25、构中必须用到堆栈,用来保护断点和现场保护。 子程序返回时,必须以RET指令结束。 子程序可以嵌套,但要注意堆栈的冲突。 4-5试编写一个程序,将内部RAM中45H单元的高4位清0,低4位置1。 答:参考程序如下: MOV A,45H ANL A,#0FH ;高4位清0 ORL A,#0FH ;低4位置1 MOV 45H,A 16 解法2: MOV A,#0FH MOV 45H,A ;高4位清0,低4位置1 *4-6SP=42H, (41H)=FFH,=FFH,A=SP = 已知程序执行前有A=02H ,下述程序执行后,(41H) = ,(42H)= ,PC= 。 POP DPH ;= FFH,

26、SP=41H POP DPL ;=FFH ,SP=40H MOV DPTR,#3000H ;DPTR=3000H RL A ;=04H MOV B, A ;=04H MOVC A,A+DPTR ;=50H PUSH Acc ;(41H)=50H,SP=41H MOV A,B ;=04H INC A ;=05H MOVC A,A+DPTR ;=80H PUSH Acc ;(42H)=80H,SP=42H 17 RET ;=8050H,SP=40H ORG 3000H DB 10H,80H,30H,80H,50H,80H 答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,P

27、C=8050H 4-7试编写程序,查找在内部RAM的30H50H单元中是否有0AAH这一数据。若有,则将若未找到,则将51H单元置为“00H”。 答:参考程序如下: START: MOV R0,#30H ;内部RAM的首地址 MOV R2,#20H ;要查找的数据字节数 LOOP: MOV A,R0 ;从内部RAM取数 CJNE A,#0AAH,NEXT ;判断是否为“AA” MOV 51H,#01H ;是 “AA” 将51H单元置为 “01H” LJMP EXIT NEXT: INC R0 ;指向内部RAM的下一单元 DJNZ R2,LOOP ;循环次数控制 18 51H单元置为01H”;

28、“ MOV 51H,#00H RET ;若未找到,则将51H单元置为“00H” EXIT: 4-8试编写程序,查找在20H40H单元中出现“00H”这一数据的次数,并将查到的结果存入41H单元。 答:参考程序如下: START: MOV 41H,#0 MOV R0,#20H MOV R2,#20H LOOP: MOV A,R0 JNZ NEXT INC 41H ;在内部;“00H”这一数据的次数 NEXT: INC R0 ;指向内部 DJNZ R2,LOOP RET ;内部RAM的首地址 ;数据字节数 ;从内部RAM取数 ;判断是否为0 RAM的20H40H单元中出现 RAM的下一单元 ;循环

29、次数控制 19 *4-9在内部RAM的21H单元开始存有一组单字节无符号数,数据长度为20H,编写程序,要求找出最大数存入MAX单元。 答:参考程序如下: ORG 0100H MOV R2, #20H ;要比较的数据字节数 MOV A , #21H ;内部RAM的首地址 MOV R1 , A DEC R2 ; ;数据长度减1 ;从内部RAM的首地址取数 MOV A , R1 LOOP: MOV R3,A ;送R3保存 DEC R1 CLR C SUBB A,R1 JNC LOOP1 MOV A,R1 20 SJMP LOOP2 LOOP1: MOV A,R3 LOOP2: DJNZ R2, L

30、OOP MOV R0,A RET *4-10若SP=60H,标号LABEL所在的地址为3456H,LCALL指令的地址为2000H,执行如下指令: 2000H LCALL LABEL 后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?参P58 答:SP=SP+1=61H (61H)=PC的低字节=03H (62H)=PC的高字节=20H SP=SP+1=62H PC=3456H 不可以 2KB2048 Byte 21 *4-11对例4-14中的程序进行修改,使其精确延时50ms。 答:可对

31、程序做如下修改: ORG 0100H MOV R7, #200 MOV R6, #123 DJNZ R6, DEL2 NOP DJNZ R7, DEL1 ;增加的指令 ;将原来的立即数125改为123 DEL: DEL1: DEL2: RET 程序修改后的延时时间为:1+(1+123*2+1+2)*200+2=50003us=50.003ms 5-1外部中断1的中断入口地址为H。定时器1的中断入口地址为。参P93 *5-2若= 00010100B,则优先级最高者为。最低者为。参P92 5-3 中断服务子程序与普通子程序有哪些相同和不同之处?答:RETI指令在返回的同时清除相应的优先级触发器,以

32、允许下次中断,而RET指令则没有这个操作。除了这一点两条指令不同外,其它操作都相同。参P59 5-4下列说法正确的是。P89 22 A各中断源发出的中断请求信号,都会标记在AT89S51的IE寄存器中 B各中断源发出的中断请求信号,都会标记在AT89S51的TMOD寄存器中 C各中断源发出的中断请求信号,都会标记在AT89S51的IP寄存器中 D各中断源发出的中断请求信号,都会标记在AT89S51的TCON与SCON寄存器中 5-5 AT89S51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对外部中断请求的响应?参P94答:在一个单一中断的系统里,AT89S51单片机对外部中

33、断请求的响应时间总是在38个机器周期之间。在下述三种情况下,AT89S51将推迟对外部中断请求的响应:AT89S51正在处理同级或更高优先级的中断。所查询的机器周期不是当前正在执行指令的最后一个机器周期。 正在执行的指令是RETI或是访问IE或IP的指令。 如果存在上述三种情况之一,AT89S51将丢弃中断查询结果,将推迟对外部中断请求的响应。 5-6中断查询确认后,在下列各种AT89S51单片机运行情况下,能立即进行响应的是。参P94A当前正在进行高优先级中断处理B当前正在执行RETI指令 C当前指令是DIV指令,且正处于取指令的机器周期D当前指令是MOV A,R3 23 5-7AT89S5

34、1单片机响应中断后,首先由硬件自动生成一条长调用指令LCALL,执行该指令的过程包括:首先把内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向中的中断地址区。参P93 *5-8编写外部中断1为下跳沿触发的中断初始化程序段。参P9091 答: 参考程序段如下: SETB IT1 SETB EX1 SETB EA 5-9在AT89S51的中断请求源中,需要外加电路实现中断撤销的是。参P9596 A电平方式的外部中断请求 B下跳沿触发的外部中断请求 C外部串行中断 D定时中断 *5-10中断响应需要满足哪些条件?参P93 24 答:一个中断源的中断请求被响应,必须满足以下必

35、要条件:总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 该中断源的中断允许位=1,即该中断被允许。无同级或更高级中断正在被服务。 5-11下列说法正确的是、 )。 A同一级别的中断请求按时间的先后顺序响应 B同一时间同一级别的多中断请求,将形成阻塞,系统无法响应 C低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求D同级中断不能嵌套 *5-12某系统有三个外部中断源1、2、3,当某一中断源发出的中断请求使INT1引脚变为低电平时,2、1,1100H,1200H。便要求CPU进行处理,它们的

36、优先处理次序由高到低为3、中断处理程序的人口地址分别为1000H,试编写主程序及中断服务子程序。答:参见电路如图5-10,参考程序如下: ORG 0000H LJMP MAIN ORG 0013H LJMP INT_EX1 25 ORG 0030H CLR IT0 ;采用电平触发,低电平有效中断 ;允许外部中断1 MAIN: SETB EX1 SETB EA ;插入一段用户程序 WAIT: MOV PCON,#01H ;单片机进入休眠方式等待中断 NOP LJMP WAIT ;以下为外部中断1服务子程序 INT_EX1: JB P1.2,NEXT1 LJMP INT_IR3 ;跳转到NEXT1

37、: JB P1.1,NEXT2 ;判断是不是 LJMP INT_IR2 ;跳转到NEXT2: LJMP INT_IR1 ;跳转到 ORG 1000H ;判断是不是3号中断 3号中断处理程序 2号中断 2号中断处理程序 1号中断处理程序 26 INT_IR3: 相应中断处理程序 RETI ;中断返回 ORG 1100H INT_IR2: 相应中断处理程序 RETI ;中断返回 ORG 1200H INT_IR1: 相应中断处理程序 RETI ;中断返回 第6章 AT89S51的定时/计数器 参考答案 6-1下列说法正确的是。参P90,参P102103 A特殊功能寄存器SCON,与定时器计数器的控

38、制无关 对 B特殊功能寄存器TCON,与定时器计数器的控制无关 错 C特殊功能寄存器IE,与定时器计数器的控制无关 错 D特殊功能寄存器TMOD,与定时器计数器的控制无关 错 27 *6-2如果采用的晶振频率为3MHZ,定时器计数器工作在方式0、1、2下,其最大定时时间各为多少?答:因为机器周期: Tcy= 所以定时器/计数器工作方式0下,其最大定时时间为 Tmax=213410-6(s)=81924(ms)=32768(ms)=32.768(ms) 1212=4(ms)fOSC3106所以定时器/计数器工作方式1下,其最大定时时间为 Tmax=216410-6(s)=655364(ms)=2

39、62144(ms)=262.144(ms) 所以定时器/计数器工作方式2下,其最大定时时间为 Tmax=28410-6(s)=2564(ms)=1024(ms)=1.024(ms) 6-3定时器/计数器用作定时器模式时,其计数脉冲由谁提供?定时时间与哪些因素有关?参P102 答:定时/计数器作定时器模式时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。 6-4定时器/计数器用作计数器模式时,对外界计数频率有何限制?参P107 28 答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。

40、6-6. 定时器/计数器的工作方式2具有什么特点?适用于哪些应用场合?答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。参P105 6-8. 一个定时器的定时时间有限,如何使用两个定时器的串行定时来实现较长时间的定时? 答:方法1,在第一个定时器的中断程序里关闭本定时器的中断程序,设置和打开另一个定时器;在另一个定时器的中断程序中关闭本定时中断,设置和打开另一个定时器。这种方式的定时时间为两个定时器定时时间的和。方法2,一个作为定时器,在定时中断后产生一个外部计数脉冲,另一个定时器工作在计数方式。这样两个定时器的定时时间为一个定时器的定时时间乘以另一个定时

41、器的计数值。 6-9. 当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭?参P106答:控制信号C/T和M1 M0。定时器T1的启动是工作于方式0、1、2。定时器T1的关闭是工作于方式3。 *6-10定时器计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?答:采用方式1定时工作方式。最大脉冲宽度为131.072ms。 *6-12. THX与TLX是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满之后才能刷新?参P101答:THx与TLx (x=0,1)是由特殊功能寄存器构成的计数

42、器,其内容可以随29 时用指令更改,更改后的新值是立即刷新。但在读THx、TLx的值时,应该先读THx值,后读TLx,再读THx。若两次读得THx相同,则可确定读得的内容正确。若前后两次读得的THx有变化,再重复上述过程。 7-1帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。参P123 7-2在串行通信中,收发双方对波特率的设定应该是的。参P128 7-3下列选项中,是正确的。 (A) 串行口通信的第9数据位的功能可由用户定义。参P127 (B) 发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。 (C) 串行通信帧发送时,指令把TB8位的状态送入发送S

43、BUF中。参P125 串行通信接收到的第9位数据送SCON寄存器的RB8中保存。参P125 串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。参P128 7-4通过串行口发送或接收数据时,在程序中应使用:参P132135 MOVC指令 MOVX指令MOV指令 XCHD指令 7-5串行口工作方式1的波特率是:参P128 (C) 固定的,为fosc/32。固定的,为fosc/16。 可变的,通过定时器/计数器T1的溢出率设定。固定的,为fosc/64。 30 7-6在异步串行通信中,接收方是如何知道发送方开始发送数据的?参P123124 答:当接收方检测到RXD端从1到0的跳变时就

44、启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。 7-7串行口有几种工作方式?(参P120)有几种帧格式?(参P121,P123124)各种工作方式的波特率如何确定?参P128答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD/32定时器T1的溢出率,方式2的波特率=2SMOD/64fosc,方式3的波特率=2SMOD/32定时器T1的溢出率 *7-8假定串行口发送的字

45、符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“B”的帧格式?答:字符“B”的ASCII码为“42H”(既0BH+37H),帧格式如下: 数字(09)H的ASCII码为(09)+30H,数字(AHFH)的ASCII码为(AF)+37H。 请画出传送字符“C”的帧格式? 起始位01000011校验位停止位031 7-9为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若已知时钟频率,串行通信的波特率,如何计算装入T1的初值? 参P128答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了执行重装参数的指令所带来的时间误差。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号