新编单片机原理与应用课后答案汇总_第1页
新编单片机原理与应用课后答案汇总_第2页
新编单片机原理与应用课后答案汇总_第3页
新编单片机原理与应用课后答案汇总_第4页
新编单片机原理与应用课后答案汇总_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业习题一参考答案1-1 假设某CPU含有16根地址线,8根数据线,那么该CPU的最大寻址能力为多少KB? 答:CPU的最大寻址能力为:1-2 在计算机里,一般具有哪三类总线?请说出各自的特征(包括传输的信息类型、单向传输还是双向传输)。答:1、数据总线,双向,输入输出数据信息;2、地址总线,单向,输出地址信息;3、控制总线,具体到某一根控制线为单向,输入或者输出控制信息;1-3 MCS-51系列单片机时钟周期、机器周期与指令周期这三者关系如何?CISC指令系统CPU所有指

2、令周期是否均相同?答:时钟周期即为振荡周期,由外接晶振频率或外部输入的时钟频率决定,机器周期由12个时钟周期(或6个)构成,指令周期由14个机器周期构成;指令周期因具体指令不同而不同;1-4 计算机字长的含义是什么?MCS-51单片机的字长是多少?答:计算机字长是指CPU一次能够处理的信息位长度;MCS-51单片机的字长是8位。1-5 ALU单元的作用是什么?一般能完成哪些运算操作?答:ALU单元的作用是进行算术逻辑运算;算术运算主要是加、减、乘、除,逻辑运算主要是与、或、非、异或等。1-6 CPU内部结构包含了哪几部分?单片机(MCU)芯片与通用微机CPU有什么异同?答:CPU主要包括算术逻

3、辑单元ALU、控制单元CU和内部寄存器;单片机(MCU)芯片是在通用CPU的基础上增加存储器、定时器/计数器、通信接口以及各种接口电路等构成。1-7 在单片机系统中常使用哪些存储器?答:包括程序存储器ROM和数据存储器RAM。1-8 指令由哪几部分组成?答:一般由操作码和操作数组成,部分指令只有操作码而无操作数。1-9、什么是汇编语言指令?为什么说汇编语言指令比机器语言指令更容易理解和记忆?通过什么方式可将汇编语言程序转化为机器语言程序?答:【1】用助记符表示的指令【2】因为在汇编语言指令中每条操作码、操作数都是用特定符号表示;而机器语言中的操作码和操作数均用二进制表示,没有明显特征【3】可通

4、过专门的软件或手工查表方式1-10、汇编语言程序和汇编程序这两个术语的含义是否相同?答:两者含义不同;1.汇编语言程序指由汇编语言指令构成的程序; 2.汇编程序指将完成汇编语言指令转换为机器语言指令的程序1-11、什么是寻址方式?对于双操作数指令来说,为什么不需要指定操作结果存放位置?答:【1】确定指令中操作数所在存储单元地址的方式 【2】在现代计算机系统中,对于双操作数指令,一般将指令执行后的结果放在第一个操作数(即目标操作数),这样可以减少指令码的长度1-12、指出下列指令中每一操作数的寻址方式?答:【1】目标操作数为寄存器寻址,源操作数为立即数寻址【2】目标操作数为直接寻址,源操作数为寄

5、存器寻址【3】目标操作数为直接寻址,源操作数为直接寻址【4】目标操作数为直接寻址,源操作数为寄存器间接寻址【5】寄存器寻址注:在单片机中,问到指令的寻址方式,既要答目标操作数的寻址方式,也要答源操作数的寻址方式,这与微机不同,请切记!1-13、单片机的主要用途是什么?新一代8位单片机芯片具有哪些主要技术特征?列举目前应用较为广泛的8位、32位单片机品种。答:【1】数值计算,能实时监测系统的输入量,控制系统的输出量,从而实现自动控制功能,主要面向工业控制等【2】可参考23页【3】可参考2122页习题二参考答案2-1 80C54、80C32、87C54、89C54 CPU有什么不同?在由80C32

6、芯片组成的应用系统中引脚是如何连接的?为什么要这样连接?答:略2-2 8XC5X,如89C52单片机内部含有哪几类存储器?各自的容量分别是多少?答:包括程序存储器8K和数据存储器256B。2-3 8XC5X 系列CPU 共有多少根I/O引脚?在什么情况下,不能将P0口作为通常意义上的输入/输出引脚使用?答:共有I/O引脚32根;在P0作为地址数据总线端口使用时就不能作为普通I/O口使用。2-4 简述P1口的内部结构。为什么将P1口引脚作为输入引脚使用前,一定要向P1口锁存器相应位写入“1”?答:主要由两个三态门、一个D型锁存器、一个MOS管和一个上拉电阻构成;P1作为输入引脚使用时一定要先写入

7、“1”,其目的是使内部MOS管处于截止状态,避免MOS管对输入信号构成影响。2-5 根据8XC5X 系列CPU P1P3口结构,如果用P1.x引脚驱动NPN三极管,则最大集电极电流ICMAX为多少?(假设取100)。答:假设内部上拉电阻的阻值为,三极管发射结正向导通电压为,则:基极电流:集电极电流:2-6 地址/数据分时复用的含义是什么?8XC5X P0口与存储器,如62256相连时,两者之间需要接什么功能的芯片,才能锁存低8位地址信息?试画出8XC5X与SRAM 62256芯片(作数据存储器使用)之间的连接图。答:地址/数据分时复用是指总线既可作为数据线,也可作为地址线,但是具体到某一时刻只

8、能作为数据线或者地址线;与62256相连时,在存储芯片和单片机芯片之间必须加锁存芯片,如74LS373等,用来锁存低8位地址信息;连接电路图(见课本,略)2-7 8XC5X单片机CPU复位后,使用了哪一工作寄存器区?其中R1对应的物理存储单元地址是什么?答:8XC5X单片机CPU复位后,使用了工作寄存器区0;此时R1对应的物理存储单元的地址为01H。2-8 如果希望工作寄存器组中R0对应的物理存储单元为10H,请写出系统复位后,实现这一要求的指令。答:SETBCS1CLRCS02-9 说出访问下列寄存器或存储空间可以使用的寻址方式,并举例:(1) 8XC5X系列内部RAM前128字节。答:直接

9、和寄存器间接寻址。(2) 8XC52/54/58系列内部RAM后128字节。答:寄存器间接寻址(3) 特殊功能寄存器。答:直接寻址。(4) 外部数据存储器。答:寄存器间接寻址2-10 8XC5X CPU的机器周期与时钟周期是什么关系?如果晶振频率为12MHz,则一个机器周期是多少微秒?答:1)、12个时钟周期构成1个机器周期。2)、1uS2-11 8XC5XX2 CPU的机器周期与时钟周期是什么关系?为什么说当CKCON寄存器为01H时,时钟频率为6MHz的8XC5XX2系统运行速度与时钟频率为12MHz的8XC5X系统的运行速度相同?答:可以选择“机器周期/12时钟”或“机器周期/6时钟”。

10、当CKCON寄存器为01H时,时钟频率为6MHz的的8XC5XX2机器周期为:。而时钟频率为12MHz的8XC5X系统的机器周期为:。2-12 在晶振输出端X2引脚应观察到什么样的波形?当晶振频率较低时,如何使X2引脚输出为理想状态下的波形?答:方波。2-13 分析MCS-51写外部数据存储器写时序,说明为什么可使用74LS573或74LS373芯片扩展MCS-51的输入口,而不能扩展输出口。请画出使用两片74LS373芯片扩展MCS-51的输入口、使用两片74LS237扩展输出口的电路图(假设系统中无需扩展外部存储器)。答:使用边沿触发器作为输出锁存器时可以可靠的锁存输出数据。2-14 8X

11、C5X CPU复位后内部RAM各单元的内容是否改变?程序计数器PC的值是什么?答:否。此时PC=0000H.2-15 MCS-51单片机通过什么指令读/写外部数据存储器?通过什么引脚选通外部数据存储器?答:使用MOVX读写外部数据存储器。通过或者.2-16 画出由一片80C32 CPU、一片27128EPROM和一片6264 SRAM组成的单片机应用系统,要求给出有关信号的连接以及各自存储空间的地址范围。答:略2-17 在图2-7所示的电路中,假设驱动引脚为P1.0,则执行了如下程序段后,累加器Acc的内容为什么?这又说明了什么?SETB P1.0JB P1.0,NEXT1MOV A,#0AA

12、HSJMP EXITNEXT1:MOV A,#55HEXIT:NOP答:Acc的内容为AAH。因为JB P1.0, NEXT1是根据P1.0的电平进行判断转移,如果P1.0引脚的电平为高则转移。因为三极管导通时P1.0引脚被钳位到低电平。习题三参考答案3-1 MCS-51内部RAM低128字节支持哪些寻址方式?请写出用不同寻址方式将内部RAM 30H单元信息传送到累加器A的指令或程序片段;内部RAM高128字节支持哪些寻址方式?请写出将内部RAM 80H单元内容传送到累加器A的指令或程序片段。答:略:3-2 简述“RET”与“RETI”指令的区别。答:1)RET是子程序返回指令,RETI是中断

13、服务程序返回指令;2)RETI在返回时会清除有关中断标志位,而RET不具有此功能。3-3 指出下列指令中每一操作数的寻址方式。 (1) MOV 40H,A(2) MOV A,R0(3) MOVX DPTR,A(4) MOVC A,ADPTR(5) ADD A,#23H(6) PUSH Acc(7) MOV P1,32H(8) MOV C,P1.0(9) INC P0(10) DEC R2(11) SJMP EXIT答:略3-4 执行“CJNE A,#60,NEXT”指令后,寄存器A中的内容是否被改变?请验证。答:否。3-5 写出实现下列要求的指令或程序片段,并在仿真机上验证。(1) 将内部RA

14、M 20H单元内容与累加器A相加,结果存放在20H单元中。答:ADD A, 20HMOV20H, A(2) 将内部RAM 80H单元内容与内部RAM 31H单元内容相加,结果存放到内部RAM 的31H单元中。答:MOVR0, #80HMOVA, R0ADDA, 31HMOV31H, A(3) 将内部RAM 20H单元内容传送到外部RAM 20H单元中。答:MOVA, 20HMOVDPTR, #0020HMOVXDPTR, A(4) 将程序状态字寄存器PSW内容传送到外部RAM的0D0H单元中。答:MOVA, PSWMOVDPTR, #00D0HMOVXDPTR, A(5) 将内部RAM 08H

15、7FH单元,共120字节传送到以8000H为首地址的外部RAM中。答:MOVDPTR,#8000HMOVR0,#08HMOVR2,#120LOOP:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR2,LOOPEND (6) 将外部RAM 8000H0803FH单元,共64字节传送到以40H为首地址的内部RAM中。答:MOVDPTR,#8000HMOVR0,#40HMOVR2,#64LOOP:MOVXA,DPTRMOVR0,AINCDPTRINCR0DJNZR2,LOOPEND(7) 将外部RAM 8000H0807FH单元,共128字节传送到以0000H为首地址的外部RAM

16、中。答:AURX1EQU0A2H;注意要自己定义MOVDPTR,#8000HINCAUXR1MOVDPTR,#0000HINCAUXR1MOVR0,#128LOOP:MOVXA,DPTRINCDPTRINCAUXR1MOVXDPTR,AINCDPTRINCAUXR1DJNZR0,LOOPEND (8) 将存放在内部RAM 的40H、41H和外部RAM的 8000H、8001H的16位二进制数相加,结果存放在内部RAM 的40H和41H单元中(假设低位字节存放在低地址中)。答:MOVDPTR,#8000HMOVXA,DPTR;注意使用MOVX指令,下同ADDA,40HMOV40H,AINCDPT

17、RMOVXA,DPTRADDCA,41HMOV41H,AEND (9) 如果09七段数码显示器对应的字模码3FH,06H,5BH,4FH,66H,6DH,7DH, 07H,7FH,6FH存放在1000H为首地址的程序存储器中,写出将数字4对应的字模码输出到外部RAM 3003H单元(即扩展I/O端口地址)的程序段。答:MOVDPTR,#1000HMOVA,#4MOVCA,A+DPTR;注意使用MOVC指令MOVDPTR,#3003HMOVXDPTR,A;注意使用MOVX指令ORG1000HDB03FH,06H,5BH,4FH,55H,66H,6DH,6DH,07H,7FH,6FHEND(10)

18、 将内部RAM 01H0FFH单元内容清零。答:MOVR0,#01HLOOP:MOVR0,#0INCR0CJNER0,#0FFH,LOOPEND(11) 我国FSK来电显示采用单数据消息格式,其中第0字节为消息类型(固定为04,即单数据消息格式标志),随后的一个字节为消息体长度,消息体内的消息字包括了来电日期(月、日)与时间(时、分)(8个字节)及主叫号码,最后一个字节为校验信息(校验算法可概括为:从消息类型字节到主叫号码最后一个字节按256模式累加和,再求补码)。试写出相应的校验程序片段(假设来电信息从内部RAM 30H单元开始存放)。答:(12) 使内部RAM 20H单元的b7、b3位清零

19、,b6、b2位置1,b4、b0位取反,其他位不变。答:SETB20H.6;如果给定的地址不在20H2FH之间,则不能用位寻址SETB20H.2CLR20H.7CLR20H.3CPL20H.4CPL20H.0(13) 将IPH寄存器的b7、b5位清零,b2、b0位置1,其他位不变。答:IPHEQU0B7HMOVA,IPHANLA,#BORLA,#BMOVIPH,AEND(14) 将内部RAM 30H单元乘4(假设30H单元内容不超过63)。答:MOV30H,#4MOVA,30HRLARLAMOV30H,AEND(15) 将存放在内部RAM 40H、41H和外部RAM 8000H、8001H的四位

20、BCD码相加,结果存放在内部RAM 40H、41H、42H单元中(假设低位字节存放在低地址中,高位字节存放在高地址中)。答:MOVDPTR,#8000HMOVXA,DPTRCLRCADDA,40HDAAMOV40H,AINCDPTRMOVXA,DPTRADDCA,41HDAAMOV41H,AMOV42H,CEND(16) 将立即数32H传送到内部RAM 30H单元中。答:MOV30H,#32H(17) 将立即数32H传送到内部RAM 88H单元中。答:MOVR0,#88HMOVR0,32HEND(18) 将Acc.3位送Acc.0位。答:MOVC,ACC.3MOVACC.0,CEND(19)

21、用MCS-51位指令,实现的逻辑运算。答:MOVC,P1.3ANLC,/P1.2MOV20H.0,C;暂存MOVC,P1.1ORLC,P1.0CPLCORLC,20H.0END 3-6 假设4位BCD码压缩存放在R3、R2中,试编写BCD减1的程序段,并在仿真机上验证。答:;相当于WXYZ+10000-1=WXYZ+9999CLRC;MOVA,R2ADDA,#99DAAMOVR2,AMOVA,R3ADDCA,#99DAAMOVR3,AEND 3-7 利用双DPTR功能,将存放在程序存储区内的数表(共计16字节,首地址为DATATAB)传送到以4000H为首地址的外部RAM中。答:AUXR1EQ

22、U0A2HMOVDPTR,#DATATABINCAUXR1MOVDPTR,#4000HMOVR7,#16;16 个字节MOVA,#0;最开始的位置LOOP:MOVR6,A;暂存A的值MOVCA,A+DPTR;注意用MOVC,同时职能用A做变址寄存器INCDPTRMOVXDPTR,A;注意使用MOVX指令MOVA,R6INCDPTRIINCA;A的值增1,指向下一个字节DJNZR7,LOOPDATATAB: DB01H,02H,03H,04H, 01H,02H,03H,04HEND 3-8 将存放在R3、R2中的三位压缩BCD码转换为二进制形式。答:三位BCD码999MAIN:MOVA, R2A

23、NL A, #0F0HSWAPAMOVB, #10MULABMOVB, A /存放十位MOVA, R2ANL A, #0FHADD A, B/加个位MOV R2, A /暂存/MOVA, R3ANL A, #0FHMOVB, #100MUL AB/ADDA, R2 /MOVR2, A/MOV A, B/ADDC A, #0MOVR3, A 3-9 将存放在R2中不超过十进制99的二进制数转换为压缩BCD码,结果存放在R2中。答:MOV A, R2MOV B, #10DIV ABSWAP AORL A,BMOV R2,A3-10 在32位除16位的多位除法运算中,如果已知除数在8000HFFFF

24、H之间,为缩短运算时间,是否需要扩展被除数?请写出相应的程序段。答:不需要,因为32位二进制(FFFFFFFFH)表示的最大十进制数为,除以80000HFFFFH之间的数,其结果=1FFFFH(注:“1”存放在进位位),所以用32位已经足够存放商和余数。程序如下:ORG0000HLJMPMAINORG0030HMAIN:MOV42H, #0FFHMOV43H, #0FFHMOV44H, #0FFHMOV 45H, #0FFH;MOV46H, #80HMOV47H, #00H/MOV40H, #0/MOV41H, #0MOVR7, #16LOOP1:;整体左移1位CLRCMOVR1, #4;移动

25、4个字节MOVR0, #45H;从最低位开始移LOOP2:MOVA, R0RLCAMOVR0, ADECR0DJNZR1, LOOP2MOVF0, C ;暂存移出的最高位/CLRCMOVA, 43HSUBBA, 47HMOVR3, A/MOVA, 42HSUBBA, 46HMOVR2, A/ANLC, /F0;进位标志cy为0及F0为1均属于没有借位的情况;没有借位,商置1,用差替换JCNEXTMOV43H, R3MOV42H, R2 ORL45H, #01HNEXT:;有借位,在保留被减数,商的最后一位清零(移位时已将0移入商的最后一位)DJNZR7, LOOP1NOP/END 3-11 假

26、设程序头中含有如下变量定义伪指令TXDBUFDATA #40H(注意:原题错误,应该去掉“#”号,下同)BDATADATA #28H(1) 请指出“MOV R0,#TXDBUF”指令和“MOV R0,TXDBUF”指令源操作数的寻址方式。答:“MOV R0,#TXDBUF”指令(立即寻址);“MOV R0,TXDBUF”指令(直接寻址) (2) 执行如下程序段后,内部RAM 40H4FH单元的内容是什么?28H单元的内容又是什么?MOV BDATA,#10HMOV R0,#TXDBUFCLR ALOOP:MOV R0,AINC AINC R0DJNZ BDATA,LOOPEND答:内部RAM

27、40H4FH单元的内容是:0F,28H单元的内容是03-12 指出复位后工作寄存器组R7R0的物理地址。如果希望快速保护工作寄存器组,请写出将2区作为当前工作寄存器区的程序段。答:(1) 07H00H.(2) SETB RS1CLR RS03-13 简述顺序程序结构与分时操作程序结构的异同,以及这两种程序设计的注意事项。答:略习题四参考答案4-1 增强型MCS-51有几个中断优先级?试通过修改IP、IPH寄存器内容,使串行口的中断优先级最高,定时器T1的中断优先级最低。答:(1)4 ; (2)MOV IPH ,#B, MOV IP ,#B4-2 MCS-51外中断有几种触发方式?一般情况下,采

28、用哪种触发方式较好? 答:两种,边沿触发4-3 CPU响应中断请求后,不能自动清除哪些中断请求标志?答:串行发送结束中断标志TI;串行接收有效中断标志RI;定时计数器T2溢出中断标志TF2;定时计数器T2外触发标志EXF2;电平触发方式下的外部中断标志IE0和IE14-4 MCS-51 CPU在什么时候查询中断请求标志?满足什么条件才响应?答:(1)每个机器周期S5P2相锁存引脚的电平状态,设置中断请求标志,并在下一周的S6状态按优先级的顺序查询没有被禁止的中断请求标志,如果满足中断响应条件,则在下一个机械周期的S1状态响应优先级别最高的中断请求,并执行相应的终端服务程序,否则继续执行当前的程

29、序。(2)a 此中断源的允许位为1;b CPU已经开中断(即EA=1);c 当前的中断请求比现在服务的中断优先级比高;d 必须在当前的指令执行完才响应中断;e 在RETI或读写IE或IP或IPH之后, 不会马上响应中断请求, 而至少执行一条其它指令之后才会响应)。 4-5 子程序和中断服务程序有何异同?为什么子程序返回指令RET和中断返回指令RETI不能相互替代?为什么同优先级中断服务可以使用同一工作寄存器区?答:(1)子程序由程序员调用,中断服务程序在满足条件的时候被调用;中断服务程序入口地址固定,子程序入口地址由用户决定;中断服务程序存在优先级的问题,子程序不存在优先级;(2)不能;(3)

30、可以,因为同级的中断服务程序不能嵌套中断,必须等正在运行的中断服务程序返回后才能响应其它同级中断,此时资源已经释放。4-7 如果某一中断服务程序中没有改写工作寄存器R0R7指令,则进入中断服务程序后是否需要切换工作寄存器区?简要说明原因。答:不需要,因为不存在共用工作寄存器资源而产生的矛盾的问题。4-8 如果引脚出现100200ms低电平信号时,在P1.0引脚输出低电平,但引脚存在尖脉冲干扰。请问应选择哪种触发方式?请写出中断服务程序。答:由于有尖峰脉冲干扰,宜采用电平触发,但由于的低电平持续时间长,考虑增加在变高后清除中断标志的指令,避免程序重复响应,程序如下:EXINT0:PUSH ACC

31、PUSHPSWCLRP1.0JNBP3.2, $/等待INT0变为高电平CLRIE0/清除外中断0标志POPPSWPOPACCRETI4-9 MCS-51子系列具有几个定时/计数器?简述定时/计数器T1的主要用途。答:3个;T1作为定时器和串口波特率发生器;4-10 如果系统的晶振频率为12MHz,分别指出定时/计数器方式1和方式2的最长定时时间。答:定时/计数器方式1:65536uS;方式2:256uS。4-11 如果系统的晶振频率为12MHz,试利用定时/计数器T0在P1.0引脚输出周期为100ms的方波。答:ORG0000HLJMPMAINORG000BHLJMPTIMER0ORG003

32、0HMAIN:MOVSP, #5FH;ANLTMOD, #0F0HORLTMOD, #01H /方式1MOVTH, #(65536-5000)/256/定时50msMOVTL, #(65536-5000) MOD 256SETBET0SETBEASETBTR0SJMP$TIMER0:MOVTH, #(65536-5000)/256/定时50msMOVTL, #(65536-5000) MOD 256CPLP1.0RETI4-12 试利用定时/计数器T2的时钟输出功能,在P1.1引脚上输出周期为10ms的方波。TL2EQU0CCHTH2EQU0CDHRCAP2LEQU0CAHRCAP2HEQU0

33、CBHT2MODEQU0C9HT2CONEQU0C8HORG0000HLJMPMAINORG0030HMAIN:MOVSP, #60HMOVTH2, #(35536/256)MOVTL2, #(35536 MOD 256)MOVRCAP2L, #(35536 MOD 256)MOVRCAP2H, #(35536/256)MOVT2MOD, #02H/设置为时钟输出MOVT2CON, #04H/启动TR2HERE:SJMP HEREEND4-13 试利用定时/计数器T2的时钟输出功能,在P1.1引脚上不断重复输出频率为450Hz,持续和停止时间均为4 s的方波信号。答:T2工作在时钟输出模式,从

34、P1.0输出450Hz方波;T1定时时间为2S(定时50ms,计数40次),控制T2MOD寄存器的T2OE位,程序如下:TL2EQU0CCHTH2EQU0CDHRCAP2LEQU0CAHRCAP2HEQU0CBHT2MODEQU0C9HT2CONEQU0C8HOVERTIMESDATA40HORG0000HLJMPMAINORG001BHLJMPTIMER1ORG0030HMAIN:MOVSP, #60HMOVOVERTIMES, #40/溢出计数40次/设置T2MOVTH2, #(58869/256)/输出频率450HzMOVTL2, #(58869 MOD 256)MOVRCAP2L, #

35、(58869 MOD 256)MOVRCAP2H, #(58869/256)MOVT2MOD, #02H/时钟输出MOVT2CON, #04H /启动TR2/设置T1ANLTMOD, #0FHORLTMOD, #10H/模式1MOVTH1, #(65536-50000)/256/定时50ms MOVTL1, #(65536-50000) MOD 256SETBET0SETBEASETBTR1SJMP$TIMER1:MOVTH1, #(65536-50000)/256MOVTL1, #(65536-50000) MOD 256DJNZOVERTIMES, EXITMOVOVERTIMES, #4

36、0MOVA, T2MODADDA, #02HMOVT2MOD, A /切换T2OEEXIT:RETI/END4-14 在什么情况下增强型MCS-51CPU(如87C54、P89C52)存在三个外部中断?请说明,并指出各自中断输入端、可能的触发方式、中断标志及中断服务程序入口地址。这时定时器T2只能工作在什么方式?答:除了外部中断和外, P1.1脚可作为外部中断输入端,工作于边沿触发方式,中断标志为EXF2,中断服务程序入口地址为002BH。T2可工作于时钟输出方式、串口波特率发生器方式。4-15 试画出利用串行口方式0和两片74LS164“串入并出”芯片扩展16位输出口的硬件电路,并写出输出驱

37、动程序。答:略4-16 当串行口工作在哪种方式时,串行输入、输出与定时/计数器T1、T2的溢出率无关?答:方式0与方式24-17 试编写与PC机串行通信的程序(系统晶振频率为11.0592MHz,波特率为2400,8位数据,奇偶校验)。答:请参考PPT中的有关实例程序4-18 假设系统晶振频率为12MHz,试利用定时/计数器T2的定时中断功能,实现每25ms将内部RAM 80H87H单元内容依次送P1口。答:ET2BIT0ADHTR2BIT0CAHTF2BIT0CFHTL2EQU0CCHTH2EQU0CDHRCAP2LEQU0CAHRCAP2HEQU0CBHT2MODEQU0C9HT2CONE

38、QU0C8H/ORG0000HLJMPMAINORG0023HLJMPTIMER2ORG0030HMAIN:MOVSP, #5FH;MOVTH2, #(65536-25000)/256MOVTL2, #(65536-25000) MOD 256MOVRCAP2H, #(65536-25000)/256MOVRCAP2L, #(65536-25000) MOD 256 SETBET2SETBEASETBTR2SJMP$TIMER2:MOVR7, #08LOOP:MOVR0, #80HMOVP1, R0DJNZR7, LOOPCLRTF2RETIEND4-19 试利用增强型MCS-51串行口自动地址识别功能构造“一主八从”多机通信系统。假设只需要“一对一”的通信方式,请写出串行口的初始化程序段(系统晶振频率为11.0592MHz,波特率为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论