单片机原理及应用作业参考答案_第1页
单片机原理及应用作业参考答案_第2页
单片机原理及应用作业参考答案_第3页
单片机原理及应用作业参考答案_第4页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、学习必备欢迎下载单片机原理及应用作业参考答案1 2 单片机的结构特点表现在哪些主要方面?答:( 1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针;( 2)在内部有一个全双工的串行接口;( 3)有一个独立进行操作的位处理器。1 4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则是什么?答:通用单片机的供应状态主要取决于片内ROM 的配置状态。( 1)片内 ROM 的配置状态掩膜 ROM ,适合于低成本。大批量产品的场合( 2)片内 EPROM 配置状态可通过高压脉冲写入应用程序到EPROM ,适合于开

2、发样机,小批量生产。( 3)片内无ROM 配置状态必须外扩 EPROM ,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合。2 3 单片机的 EA 端有何功用?8031 的 EA 端应如何处理,为什么?答: EA 端是访问外部程序存储器的控制信号:当EA 无效时,访问内部ROM ,当 EA 为有效时,访问外部 ROM 。由于 8031 没有内部ROM ,所以 EA 端必须接低电平。24 MCS 51 引脚中有多少I/O 线?它们与单片机对外的地址总线、数据总线和控制总线有什么关系?地址总线和数据总线各是几位?答: MCS-51 引脚中有32 根 I/O 线,一般由P0

3、 口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8 位,由 P2 口作为地址总线的高8 位,控制总线由第二功能的状态下的P3 口以及 RST、EA 、ALE 和 PSEN 提供。2 5 8051 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?答:数据存储器主要分为两个区域:00H 7FH 是真正的RAM 区, 80H FFH 专门用作特殊功能寄存器的区域。其中 00H 7FH 可分为三个区域: 00H 1FH 为四组工作寄存器;20H 2FH 为 128 位位寻址区,30H 7FH 为一般 RAM 区。2 6 单片机对外有几条专用控制线?其功能是怎样的?答:单片机对

4、外的专用控制线有4 条,分别是:( 1) PSEN :外部取指操作,在访问外部ROM 时, PSEN 信号自动产生;( 2) ALE/ PROG : ALE 为地址锁存允许信号,在访问外部ROM 或 RAM时,用来锁存P0 口的低8位地址。第二功能PROG 是对 8751 的 EPROM 编程时,编程脉冲输入。学习必备欢迎下载( 3) EA /V PP: EA 是访问外部程序存储器的控制信号,EA 无效时,访问内部ROM , EA 有效时,访问外部 ROM ,第二功能 V PP 为对 8751EPROM 的 21V编程电源输入。( 4) RST/V PD: RST 是复位信号输入端,第二功能V

5、 PD 是备用电源输入端。2 8 有哪几种方法使单片机复位?复位后各寄存器、RAM 中的状态如何?答:单片机的复位方式有两种,上电自动复位和按钮复位。复位后各寄存器状态为:PC 0000HACC00HPSW00HSP 07HDPTR0000HP0 P3FFHIPXX000000BIE0X000000BTMOD00HTCON 00HTL0 00HTH000HTL100HTH100HSCON 00HSBUFXXHPCON0XXX0000B2 9 在 8051 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线上出现争总线的现象?为什么?答:不会发生争总线的现象,因为从外

6、部ROM 取指令需要用ALE 和 PSEN 信号控制读取操作,由P2和 P0 提供地址;而片外数据存储器的读写除了地址之外还要RD 、 WR 控制,所以不会争总线。2 10 如果 8051 端口 P0 P3 作为通用 I/O 口使用,则在输入引脚数据时应注意什么?答: 8051 的 P1、P2 和作为一般输入 I/O 口的 P 以及第一功能的P3 口均为准双向口,在输入数据时应先向端口写 1,然后方可作为高阻输入。以使其场效应管T2 截止,才不会影响输入电平。3 2 若要完成以下的数据传送,应如何用MCS-51的指令实现?( 1) R1 的内容传送到 R0( 5)ROM2000H 单元的内容传

7、送到 R0MOV A,R1MOV DPTR,#2000HMOV R0,ACLR A( 2)外部 RAM20H单元的内容传送到 R0MOVC A,A+DPTRMOV R0,#20HMOVR0,AMOVX A,R0( 6)ROM2000H 单元的内容传送到内部RAM20H单元MOV R0,AMOV DPTR,#2000H( 3)外部 RAM20H单元的内容传送到内CLR A部 RAM20H 单元MOVC A,A+DPTRMOV R0,#20HMOV 20H,AMOVX A,R0( 7)ROM2000H 单元的内容传送到外部RAM20H单元MOV 20H,AMOV DPTR,#2000H( 4)外部

8、 RAM1000H 单元内容传送到内CLR A部 RAM20H 单元MOVC A,A+DPTRMOV DPTR,#1000HMOV R0,#20HMOVX A,DPTRMOVX R0,AMOV 20H,A3 3 间接转移指令JMP A+DPTR有何优点?为什么它能代替众多的判跳指令?试举例说明。答:该间接转移指令的转移地址由A 的内容和数据指针DPTR 的内容之和决定,且两者都是无符号数,由 DPTR 决定多分支转移程序的首地址,由 A 的不同值实现多分支转移。因为可以根据A 的内容进行分支转移,所以可以替代众多判跳指令。如:根据 A 的内容调用相应的程序,如A 为 0 调用 OP0, A 为

9、 1 调用 OP1,这里 A 的值小于128。MOVDPTR,#OPTAB学习必备欢迎下载RLAJMPA+DPTROPTAB:ACALL OP0ACALL OP1ACALL OP23 4 端口设内部 RAM 的 30H 单元的内容为 40H ,即( 30H ) 40H ,还知( 40H ) 10H ,( 10H ) 00H , P1 0CAH 。问执行以下指令后,各有关存储器单元、寄存器以及端口的内容(即 R0 、R1 、A、B、P1 以及 40H、 30H 、 10H 单元的内容) 。MOV R0,#30H;( R0) 30HMOV A,R0;( A )( 30H) 40HMOV R1,A;

10、( R1) 40HMOV B,R1 ;(B)( 40H) 10HMOV R1,P1;( 40H) 0CAHMOV P2,P1;( P2) 0CAHMOV 10H,#20H;( 10H) 20HMOV 30H,10H;( 30H) 20H3 5 已知 8751单片机的 P1 口为输出,经驱动电路接有8 只发光二极管。当输出位是1 时,发光二极管点亮;输出位是0 时发光二极管熄灭。试分析下述程序的执行过程及发光二极管的发光情况。LP:MOVP1,#81H;1000 0001BLCALLDELAYLCALLDELAYMOVP1,#24H;0010 0100BMOVP1,#42H;0100 0010B

11、LCALLDELAYLCALLDELAYMOVP1,#42H;0100 0010BMOVP1,#24H;0010 0100BLCALLDELAYLCALLDELAYSJMPLPMOVP1,#18H;0001 1000B答:程序执行MOVP1,#DATA 后,根据 DATA 的每位的值点亮相应的LED ,调用延时程序使点亮的 LED保持一段时间。 LED 发光的情况为:每次同时点亮两个LED 并从两边向中间移动,然后再向两边移动,并一直循环。3 6 在上题中,若系统的晶体振荡器频率为6MHz ,求子程序 DELAY 的延时时间。DELAY:MOV R2,#0FAH; 2SL1:MOV R3,#0

12、FAH; 2SL2:DJNZ R3,L2; 4SDJNZ R2,L1; 4SRET; 4S0FAH 250D其中执行250 次,执行时间为250× 4S其中循环250 次,该循环执行时间为(加上和的执行时间,DELAY 的延时时间为延时程序的设计:首先设计内循环:2 250× 4 4)× 250S2( 2 250×4 4)× 250 4 251.506msMOVR3,#data1;2sNOP;2sDJNZR3,$;4s×data1延时时间t1 2 2 4×data14×( data1 1) 1000s1ms,则da

13、ta1249学习必备欢迎下载若需要大于1ms 时间,则先增加一层循环MOVR2,#data2;2sL1:MOVR3,#data1;2sNOP;2sDJNZR3,$;4s× data1DJNZR2,L2;( 4s t1)× data2延时时间为:2( 4s t1)× data22 4s4×( data1 1)× data2 2 4×( data12)× data2 250ms,这里将 data1 修正为 248,得2 4×( 248 2)× data2 2 1000× data2 250ms 则

14、data2 250根据图 3-3 线路,试设计灯亮移位程序,使 8 只发光二极管每次亮一个,循环右移或左移,一个一3 7个地亮,循环不止。MOV A,#80HDIS:MOV P1,AACALL DELAYRR AAJMP DIS3 8设逻辑运算表达式为:YA (BC )D (EF )其中变量方式标志A,B,C 分别为 IE1 ;输出变量为P1.0、P1.4、定时器 1 溢出标志TF1 ,D, E,FP1.5。试编写实现上述逻辑功能的程序段。分别为22H.0 、22H.3 、外中断MOV C,P1.4ORL C,/TF1; (BC )ANL C,P1.0MOV F0,AMOV C,22H.3;A

15、(BC);用户自定义标志位,暂存数据ORL C,/IE1; ( EF )ANL C,22H.0; D( EF )CPL C; D(EF )ORL C,/F0;A (BC)D (EF )MOV P1.5,C41 试设计数据块传送程序, 将起始地址为 0400H 的 100 个连续单元中的内容送到以 4000H 为首址的区域中去解:分析:地址为16 位,且进行数据传送,所以连续单元应为外部的存储器,只能使用外部数据传送指令,由于源和目的地址都为 16 位,所以要保存 DPTR 的值,但源低 8 位和目的低 8 位相同,可以用一个寄存器保存。MOVR0,#00NEXT: MOV DPH,#04HMO

16、VDPL,R0MOVXA,DPTRMOVDPH,#40HMOVXDPTR,AINCR0CJNE R0,#100,NEXT4 2 试编写程序,计算片内RAM 区 40H 47H8 个单元中数的算术平均值,结果存放在4AH 中。解:分析: 8个数总和最大值为FFH × 8 7F8H,所以求和时必须用两字节加法,设R7保存和高 8 位,R6 保存低 8 位,求和后再除以8 即得算术平均值,这里需使用16/8 除法,但因为除数为23,所以可以直学习必备欢迎下载接通过算术右移3 位实现除以8,前提存储的数据为无符号数。MOVR0,#40HMOVR6,#00H;和低字节清零MOVR7,#00H;

17、和高字节清零NEXT : MOV A,R0; 取出一个字节INCR0;地址指针下移ADDA,R6;低字节求和MOVR6,A;保存和的低字节CLR AADDCA,R7;如果低字节求和有进位,则加至高字节MOVR7,A;保存和的高字节CJNER0,#48H,NEXTMOVR1,#03H;循环移位 3 次,实现除以 8DIV8: CLR CMOVA,R7RRCA;高字节先移位,将D0移至CMOVR7,AMOVA,R6RRCA;将 C 移入低字节的D7,从而实现16 位数据的移位MOVR6,ADJNZR3,DIV816 位除以 8 位除法子程序:被除数 R6R5 ,除数 R4,商 R3R2,余数 R1

18、DIV168:JCNEXTMOVR3,#00HMOVA,R2MOVR1,#00HADDA,#01HNEXT2:MOVR2,ACLRCJNCNEXT2MOVA,R5INCR3SUBB A,R4AJMP NEXT2MOV R5,ANEXT: MOVA,R5MOV A,R6ADDA,R4SUBB A,#00HMOVR1,AMOVR6,ARET43 设有两个长度为 15 的数组, 分别存放在 0200H 和 0500H 为首地址的存储区域中, 试编写程序求其对应项之和,结果存放在以 0300H 为首地址的存储区域中。解:分析: 0200H 和 0500H 都是片外地址,必须利用 MOVX 指令获取数据

19、,这将导致 DPTR 使用不方便,解决办法:( 1) 0200H , 0500H 和 0300H 低字节地址相同,可以共用DPL ,DPH 单独处理;( 2)可以考虑先将两个存储区的数据先转移到内部RAM 中,然后再进行运算。这里只是求对应项之和,并不是多位数求和,两数相加,可能产生进位,这里应该只考虑没有进位的情况。这里采用第一种方法MOVR0,#15MOVDPL,#00H学习必备欢迎下载NEXT: MOVDPH,#02HADDA,BMOVXA,DPTRMOVDPH,#03HMOVB,AMOVXDPTR,AMOVDPH,#05HINCDPTRMOVXA,DPTRDJNZR0,NEXT4 4在

20、起始地址为 2100H ,长度为 64 的数表中找 F 的 ASCII 码,并将其地址送到1000H 和 1001H 单元中去。解:都为 RAM 单元,只要找到“ F”,则停止查找。利用寄存器R7 保存高 8 位地址, R6 保存低 8 位地址。SF:MOVDPTR,#2100HMOVX DPTR,AMOVR0,#64INCDPTRNEXT1:MOVXA,DPTRMOVA,R7CJNEA,#4FH,NEXT2MOVX DPTR,AMOVR7,DPHAJMPSFENDMOVR6,DPLNEXT2:INCDPTRMOVDPTR,#1000HDJNZR0,NEXT1MOVA,R6SFEND: RET

21、4 5设计一个多字节无符号数加法子程序和减法子程序。解:( 1)多字节无符号数加法( 2)多字节无符号数减法设 R0 为加数首地址, R1为被加数首地址, R2设 R0为被减数首地址, R1为减数首地址, R2为字节数为字节数JIAFA: CLR CJIANFA: CLR CNEXT: MOV A,R0NEXT: MOV A,R0ADDC A,R1SUBB A,R1MOV R0,AMOV R0,AINC R0INC R0INC R1INC R1DJNZ R2,NEXTDJNZ R2,NEXTRETRET4 6试设计一个双字节无符号数乘法子程序和除法子程序。解:设被乘数为R7R6 ,乘数为 R5

22、R4,结果存于 R3R2R1R0R7 R6R5 R4C2 C1 R6× R4=C2 C1C4 C3R7× R4=C4 C3C6 C5R6× R5=C6 C5C8 C7R7× R5=C8 C7设被除数为 R7R6,除数为 R5R4 ,商存于 R3R2,余数存于 R1R0将被除数减除数,够减商加1,然后将差作为被减数,继续前面的减法操作,直到不够减为止,这时需要恢复余数。学习必备欢迎下载MUL1616:MOVA,R6MOVA,BMOVR2,AMOVB,R4ADCA,#0MOVA,R7MULABMOVR2,AMOVB,R5MOVR0,AMOVA,R6MULAB

23、MOVR1,BMOVB,R5ADDA,R2MOVA,R7MULABMOVR2,AMOVB,R4ADDA,R1MOVA,BMULABMOVR1,AADCA,#0ADDA,R1MOVA,BMOVR3,AMOVR1,AADCA,R2RETDIV1616:MOVDPTR,#0JCNEXTMOVR1,ALOOP: CLR CINCDPTRMOVA,DPHMOVA,R6JMPLOOPMOVR3,ASUBBA,R4NEXT:MOVA,R6MOVA,DPLMOVR4,AADDA,R4MOVR2,AMOVA,R7MOVR0,ARETSUBBA,R5MOVA,R7MOVR7,AADCA,R547 在 3000H

24、为首的存储器区域中,存放着14 个由 ASCII 码表示的 0 9 之间的数,试编写程序将它们转换成 BCD 码,并以压缩BCD 码的形式存放在 2000H 2006H 单元中。解: 0 9 的 ASCII 码为 30H 39H,首先必须去掉其中的3,可以通过减去30H 实现,也可通过 ANL实现。另外还得将两个 BCD 码压缩成一个 BCD 码,注意低地址对应低字节,比如3000H 为 31H(低字节), 3001H 为 38H(高字节),合并后应为81H,存于 2000H 单元,可利用ORL 或 ADD 进行合并。由于涉及到源和目的地址都为16 位,为了方便操作,现将转换结果存于内部RAM

25、 。MOVR0,#30HMOVR0,AMOVR1,#14INCR0MOVDPTR,#3000HCJNER1,#37H,NEXTNEXT: MOVXA,DPTR;取出低字节MOVR0,#30HINC DPTR;源区地址指针下移MOVDPTR,#2000HANL A,#0FH;低字节转换为 BCD 码NEXT2:MOV A,R0MOVR4,A;暂存数据INCR0MOVXA,DPTR ;取出高字节MOVXDPTR,AINCDPTRINCDPTRANLA,#0FH;高字节转换为 BCD 码CJNER0,#37H,NEXT2SWAPA;高低四位互换ORLA,R4;将两个 BCD 码合并4 8 编写一段程

26、序,模拟如图所示的逻辑电路的逻辑功能,要求将四个输入与非门的逻辑模拟先写成一个子程序,然后以多次调用得到整个电路的功能模拟。设X、Y 、Z 和 W 都已定义为位地址,若程序中还需要其他地址标号,也可以另行定义。解:方法一:设计四输入与非门子程序,利用子程序必定要传递参数,但位操作的传送指令必须由 C 完成,所以调用子程序时参数传递较复杂。MOVC,WMOV00H,C学习必备欢迎下载MOVC,ZMOVC,YCPL CCPLCMOV01H,CMOV02H,CMOVC,YMOVC,WMOV02H,CMOV03H,CMOVC,XACALLNAND4MOV03H,CACALLNAND4SETB00HMO

27、V04H,CMOV01H,CMOVC,04HSETB00HMOV02H,CMOVC,XMOVC,05HMOV01H,CMOV03H,CMOVC,YACALLNAND4MOV02H,CMOVF,CMOVC,ZAJMP$MOV03H,CNAND4: MOV C,00HACALLNAND4ANLC,01HMOV05H,CANLC,02HANLC,03HSETB00HCPL CMOVC,XRETMOV01H,CENDCPL 01HMACRO ,宏可以带参数,所以参数传递将很方便方法二:利用宏实现NAND4 MACRO A1,A2,A3,A4MOV ONE,CMOVC,A1NAND4 X,Y,ONE,W

28、ANLC,A2MOV 04H,CANLC,A3SETBONEANLC,A4NAND4 X,Y,ONE,WCPL CMOV05H,CENDMCPLYSETBONEORG0000HNAND4 X,Y,ONE,WAJMPMAINMOV06H,CORG0030HSETBONEMAIN: MOVC,ZNAND4 04H,05H,06H,ONECPLCMOVF,C5 3 已知 8051 单片机系统时钟频率为6MHz ,试利用定时器T0 和 P1 口输出矩形脉冲,其波形如图所示(建议用方式 2)。解:定时器 T0 的工作方式:方式 2,定时方式,所以TMOD 为: 0000010( 02H)定时初值:(28

29、 TH 0 初值)×时钟周期×12( 28 X )× (1/6M) × 12 40sX 2360ECH , 360s则为 9 次定时中断MOV TMOD,#02HJNBTF0,$MOV TH0,#0ECHCLRTF0MOV TL0,#0ECHNEXT1: CLR P1.0CLR P1.0WAIT2: JNBTF0,$SETB TR0CLRTF0NEXT3: MOV R0,#09HDJNZ R0,W AIT2SETB P1.0AJMP NEXT35 4 要求 8051 单片机定时器的定时值以内部RAM的 20H单元的内容为条件而改变;当(20H ) 00H

30、学习必备欢迎下载时,定时值为 10ms;当( 20H ) 01H 时,定时值为 20ms。请根据以上要求编写相应程序。解:采用定时器 T 0,工作方式:方式 1,定时方式,所以 TMOD 为: 0000001( 01H)定时初值:( 216 T 0 初值)×时钟周期×12( 216 X)×(1/6M) × 12( 216 X )2s 10(20H)+1 1000sX10( 20H )110006553650005000(20H)65536260536 5000(20 H )EC78H1388H(20H)(这里 20H单元的内容最大为12,否则超出16 为

31、定时器的范围)TIMER:MOV A,20HMOV B,#88HMUL AB;88H ×( 20H)MOV R0,A;R0 保存低字节MOV R1,B;R1 保存高字节MOV A,20HMOVB,#13HMUL AB;13H ×( 20H)ADD A,R1MOV R1,A; 只要限制 20H单元内容小于 13, 1388H×( 20H)即为两字节CLR CMOV A,78HSUBB A,R0;78H 减去 1388H ×( 20H)的低字节MOV TL0,AMOV A,#0ECHSUBB A,R1;ECH 减去 1388H ×( 20H)的高字

32、节MOV TH0,AMOV TMOD,#01HSETB TR0WAIT:JNB TF0,WAITRET; 定时时间到上述定时初值的设置适合(20H)为 00H 12H,即可以实现10ms 190ms 的定时。若仅仅是 10ms 和 20ms 两种情况,初值设置将更简单X 00H60536EC78H X 01HEC 78H1388H(01H ) D8F0HTIMER:MOVA,20HMOVTH0,#0D8HCJNEA,#00H,NEXT1MOVTL0,#0F0HMOVTH0,#0ECHNEXT2:MOV TMOD,#01H ;T0 工作方式MOVTL0,#78HSETB TR0AJMPNEXT2

33、WAIT:JNB TF0,WAITNEXT1:CJNEA,#01H,NEXT2RET;定时时间到5 5 试用定时器T1 设计外部事件计数器。要求每计数1 万个脉冲,就将T1定时到后,又转为计数方式,如此反复循环不止。设系统的时钟频率为6MHz应程序。解: T1 工作方式为方式1,计数方式: TMOD :01010000( 50H),定时方式:转为 10ms 定时方式,当,建议选用方式1 编写相TMOD :00010000( 10H)计数初值 X M 计数模值 65536 10000 55536 D8F0H 定时初值( 65536 X )× 2 10000,X 60536 EC78HM

34、AIN: MOV TMOD,#50HAJMP WAIT1MOV TL1,#0F0HNEXT1:MOV TMOD,#10HMOV TH1,#0D8HMOV TL1,#78HSETB TR1MOV TH1,#0ECHWAIT1: JBC TF1,NEXT1WAIT2: JBC TF1,MAIN学习必备欢迎下载AJMP W AIT257 利用 8051 单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程?若时钟频率为 6MHz ,则允许测量的最大脉宽是多少?解:要获得最大量程,那么定时/计数器的计数值必须达到最大,只有方式1 是工作在因为测脉宽,所以定时/计数器工作于定时方式,且由

35、外部中断引脚电平启动定时。最大定时时间为: ( M X)× T( 655360)× 12× 1/6MHz 131.072ms16 位计数模式。7 3 某异步通讯接口,其帧格式由一个起始位,7 个数据位, 1 个奇偶校验位和一个停止位组成。当该接口每分钟传送1800 个字符时,计算其传送波特率。解:由帧格式可知:一个字符由1 7 1 1 10 位组成,波特率1800 × 10/60 300 波特。76 为什么定时器T1 用作串行口波特率发生器时常采用工作方式2?若已知 T1 设置成方式2,用作波特率发生器,系统时钟频率为11.0592MHz ,求可能产生的

36、最高和最低的波特率各是多少?答:因为定时器T1 的方式 2 为自动重装定时初值,这样操作方便,也避免了因重装定时初值引起的定时误差。由波特率2SMODfOSC13212256初值当初值为0, SMOD 0 时,得到最低波特率 112.5当初值为255, SMOD 1 时,得到最低波特率57.6K7 7 在 8051 应用系统中,时钟频率为 6MHz 。现需利用定时器T1 方式 2 产生 1200 波特的波特率。试计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差。解:根据波特率计算公式2SMODf OSC13212256初值12002SMOD6MHz2561156252SMOD

37、13212初值256初值当 SMOD 0 时,初值为243,此时实际的波特率为:1201.92当 SMOD 1 时,初值为230,此时实际的波特率为:1201.92所以实际波特率与要求的波特率有误差。7 8 试设计一个8051 单片机的双机通讯系统,并编写程序将A 机片内 RAM40H 5FH 的数据块通过串行口传送 B 机的片内 RAM 60H 7FH 中去。解:该双机通讯系统,是将A 机数据发送到 B 机,所以可以采用单工工作方式串行口采用方式1 10 位异步收发,采用查询方式A 机:发送CLRTIMOVTMOD,#20HNEXT:MOVA,R0MOVTL1,#0F3HINCR0MOVTH

38、1,#0F3HMOVSBUF,ASETBTR1JNBTI,$MOVSCON,#40HCJNER0,#60H, NEXTMOVR0,#40HAJMP$学习必备欢迎下载B 机:接收NEXT: CLRRIMOVTMOD,#20HJNBRI,$MOVTL1,#0F3HMOVA,SBUFMOVTH1,#0F3HMOVR0,ASETBTR1INCR0MOVSCON,#50HCJNER0,#80H, NEXTMOVR0,#60HAJMP$8 1 8051有几个中断源,各中断标志是如何产生的,又是如何复位的?CPU响应中断时其中断入口地址各是多少?答: 8051 有 5 个中断源,分别是外部中断0,定时器T0 中断,外部中断1,定时器T1 中断,串行口中断。中断入口地址分别为0003H ,000BH , 0013H , 001BH , 0023H。定时器中断标志TF1 和 TF0 是当计数器溢出时产生的,CPU 响应中断时能自动清除;外部中断IE1和 IE0 则是根据外部INT1 和 INT0 的变化产生的, 只有边沿方式的IE1 和 IE0 能在响应中断是自动清除,电平方式的只能软件清除;串行口中断标志RI ,TI 是在串行口接收和发送是产生的,它们只能利用软件清除。8 3 如何区分串行通讯中的发送中断和接收中断?答:串行通讯中,发送和接收

温馨提示

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

评论

0/150

提交评论