版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
千里之行,始于足下朽木易折,金石可镂Word-可编辑单片机原理及应用(部分课后习题及答案)第二章2. MCS-51的标志寄存器有多少位,各位的含义是什么?答:MCS-51的标志寄存器PSW有8位;D7D6D5D4D3D2D1D0CACF0RS1RS0OV-P含义如下:C(PSW.7):进位或借位标志位。AC(PSW.6):辅助进位或借位可标志位。F0(PSW.5):用户标志位。是系统预留给用户自己定义的标志位。RS1、RS0(PSW.4、PSW.3):寄存器组挑选位。可用软件置位或清零,用于从四组工作寄存器中选定当前的工作寄存器组。OV(PSW.2):溢出标志位。在加法或减法运算时,如运算的结果超出8位二进制数的范围,则OV置1,标志溢出,否则OV清零。P(PSW.0):奇偶标志位。用于记录指令执行后累加器A中1的个数的奇偶性。若累加器A中1的个数为奇数,则P置位,若累加器A中1的个数为偶数,则P清零。其中PSW.1未定义,可供用户使用。3. 在8051的存储器结构中,内部数据存储器可分为几个区域?各有什么特点?答:片内数据存储器按功能可以分成以下几个部分:工作寄存器组区、位寻址区、普通RAM区和异常功能寄存器区,其中还包含堆栈区。工作寄存器组区,00H~1FH单元,可用R0~R7等8个寄存器拜访;位寻址区,20H~2FH单元,可按位方式拜访;普通RAM区,30H~7FH单元;堆栈区,可从08到7F单元;异常功能寄存器区位于80H~FFH单元。6. 什么是机器周期?MCS-51单片机的一个机器周期包括多少个时钟周期?答:机器周期:机器周期是单片机的基本操作周期,每个机器周期包含S1、S2、、S66个状态,每个状态包含两拍P1和P2,每一拍为一个时钟周期(振荡周期)。因此,一个机器周期包含12个时钟周期。7、倘若时钟周期的频率为12MHz,那么ALE信号的频率为多少?答:2MHZ第三章1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(赶紧寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。片外RAM寻址有:寄存器间接寻址方式。3.在位处理中,位地址的表示方式有哪几种?答:1.直接位地址(00H~0FFH)。例如:20H2.字节地址带位号。例如:20H.3表示20H单元的3位。3.异常功能寄存器名带位号。例如:P0.1表示P0口的1位。4.位符号地址。例如:TR0是定时/计数器T0的启动位5.写出完成下列操作的指令。(1)R0的内容送到R1中。 MOVA,R0 MOVR1,A(2)片内RAM的20H单元内容送到片内RAM的40H单元中。 MOV40H,20H(3)片内RAM的30H单元内容送到片外RAM的50H单元中。 MOVA,30H MOVR0,#50H MOVX@R0,A(4)片内RAM的50H单元内容送到片外RAM的3000H单元中。 MOVA,50H MOVDPTR,#3000H MOVX@DPTR,A(5)片外RAM的2000H单元内容送到片外RAM的20H单元中。 MOVDPTR,#2000H MOVXA,@DPTR MOV20H,A(6)片外RAM的1000H单元内容送到片外RAM的4000H单元中。 MOVDPTR,#1000H MOVXA,@DPTR MOVDPTR,#4000HMOV@DPTR,A(7)ROM的1000H单元内容送到片内RAM的50H单元中。 MOVA,#0 MOVDPTR,#1000H MOVCA,@A+DPTR MOV20H,A(8)ROM的1000H单元内容送到片外RAM的1000H单元中。 MOVA,#0 MOVDPTR,#1000H MOVCA,@A+DPTR MOVX@DPTR,A5.区别下列指令有什么不同?(1)MOVA,20H和MOVA,#20H 答:前者源操作数是直接寻址,后者源操作数赶紧寻址。(2)MOVA,@R1和MOVXA,@R1 答:前者源操作数是拜访片内数据存储器,后者源操作数拜访片外数据存储器低256字节。(3)MOVA,R1和MOVA,@R1 答:前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。(4)MOVXA,@R1和MOVXA,@DPTR 答:前者源操作数是拜访片外数据存储器低256字节,后者源操作数拜访片外数据存储器囫囵64K字节。(5)MOVXA,@DPTR和MOVCA,@A+DPTR 答:前者源操作数是拜访片外数据存储器,后者源操作数拜访程序数据存储器。6.设片内RAM的(20H)=40H,(40H)=10H,(10H)=50H,(P1)=0CAH。分析下列指令执行后片内RAM的20H、40H、10H单元以及P1、P2中的内容。MOVR0,#20HMOVA,@R0;A=40HMOVR1,A ;R1=40HMOVA,@R1 ;A=10HMOV@R0,P1 ;(40H)=0CAHMOVP2,P1 P2=0CAHMOV10H,A (10H)=10HMOV20H,10H (20H)=10H结果:(20H)=10H、(10H)=10H、(40H)=0CAH、P2=0CAH和P1=0CAH7.已知(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片内RAM(7FH)=70H,片外RAM(2FFEH)=11H,ROM(2FFEH)=64H,试分离写出以下各条指令执行后目标单元的内容。(1)MOVA,@R1 结果:累加器A等于70H(2)MOVX@DPTR,A 结果:片外RAM(2FFCH)单元等于02H(3)MOVCA,@A+DPTR 结果:累加器A等于64H(4)XCHDA,@R1 结果:累加器A等于00H,片内RAM(7FH)单元等于72H8.已知:(A)=78H,(R1)=78H,(B)=04H,CY=1,片内RAM(78H)=0DDH,(80H)=6CH,试分离写出下列指令执行后目标单元的结果和相应标志位的值。(1)ADDA,@R1 ;累加器A等于55H,CY等于1(2)SUBBA,#77H ;累加器A等于00H,CY等于0(3)MULAB ;累加器A等于E0H,B寄存器等于01H,CY等于1,OV等于0(4)DIVAB ;累加器A等于1EH,B寄存器等于00H,CY、OV等于0(5)ANL78H,#78H ;片内RAM(78H)单元等于58H(6)ORLA,#0FH ;累加器A等于7FH(7)XRL80H,A ;片内RAM(80H)等于14H9.设(A)=83H,(R0)=17H,(17H)=34H,分析当执行完下面指令段后累加器A、R0、17H单元的内容。ANLA,#17H ;A=03HORL17H,A ;(17H)=37HXRLA,@R0 ;A=34HCPLA ;A=CBH结果:A=CBH,(R0)=17H,(17H)=37H10.写出完成下列要求的指令。(1)累加器A的低2位清零,其余位不变。 ANLA,#0B(2)累加器A的高2位置“1”,其余位不变。 ORLA,#0B(3)累加器的高4位取反,其余位不变。 XRLA,#0B(4)累加器第0位、2位、4位、6位取反,其余位不变。 XRLA,#1B13.用位处理指令实现P1.4=P1.0(P1.1P1.2)/P1.3的逻辑功能。 程序: MOV C,P1.1 ORL C,P1.2 ANL C,P1.0 ORL C,/P1.3 MOV P1.4,C15.试编一段程序,将片内RAM的20H、21H、22H单元的内容依次存入片外RAM的20H、21H、22H中。程序:MOV R0,#20HMOV R2,#03HLOOP:MOVA,@R0 MOVX @R0,A INC R0 DJNZ R2,LOOP SJMP $16.编程实现将片外RAM的2000H~2030H单元的内容,所有搬到片内RAM的20H单元开始位置,并将源位置清零。程序:MOV R0,#20HMOV DPTR,#2000HMOV R2,#30HLOOP: MOVX A,@DPTR MOV@R0,A MOV A,#00 MOVX @DPTR,A INC DPTRINC R0 DJNZ R2,LOOP SJMP $17.编程将片外RAM的1000H单元开始的100个字节数据相加,结果放于R7R6中。程序:MOV DPTR,#1000HMOV R2,#100MOV R7,#00MOV R6,#00LOOP: MOVX A,@DPTR ADD A,R6 MOV R6,A MOV A,R7 ADDC A,#0 MOV R7,A INC DPTR DJNZ R2,LOOP SJMP $20.用查表的主意实现一位十六进制数转换成ASCII。 程序:(设一位十六进制数放在R2中,轮换的ASCII也放于R2中) C16STASC:MOV DPTR,#TAB MOV A,R2 MOVC A,@A+DPTR MOV R2,A RET TAB:DB30H,31H,32H,33H,34H,35H,36H,37HDB38H,391H,41H,42H,43H,44H,45H,46H第四章3. C51特有的数据类型有哪些?答:C51特有的数据类型有异常功能寄存器型和位类型。4. C51中的存储器类型有几种,它们分离表示的存储器区域是什么?答:C51中的存储器类型有6种,分离如下:data:直接寻址的片内RAM低128B,拜访速度快bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合拜访idata:间接寻址拜访的片内RAM,允许拜访所有片内RAMpdata:用Ri间接拜访的片外RAM低256Bxdata:用DPTR间接拜访的片外RAM,允许拜访所有64KB片外RAMcode:程序存储器ROM
64KB空间7. 在C51中,中断函数与普通函数有什么不同?答:中断函数在定义时后面带interruptm修饰符,m的取值为0~31,对应的中断情况如下:0——外部中断0,1——定时/计数器T0,2——外部中断1,3——定时/计数器T1,4——串行口中断,5——定时/计数器T2,其他值预留。编写MCS-51中断函数需要注重如下几点。(1) 中断函数不能举行参数传递,倘若中断函数中包含任何参数声明都将导致编译出错。(2) 中断函数没有返回值。(3) 在任何情况下都不能直接调用中断函数(4) 倘若在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同,否则会产生不准确的结果。(5) C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容。(6) C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。(7) 中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明。防止其他程序调用。9. 写出下列关系表达式或逻辑表达式的结果,设a=3,b=4,c=5。(1) a+b>c&&b==c结果:假(2) a||b+c&&b-c结果:真(3) !(a>b)&&!c||1结果:真(4) !(a+b)+c-1&&b+c/2结果:假12. 用分支结构编程实现:输入“1”显示“A”,输入“2”显示“B”,输入“3”显示“C”,输入“4”显示“参考程序:#include<reg52.h> #include<stdio.h> voidmain(void) {unsignedcharx;SCON=0x52; //串口初始化TMOD=0x20;TH1=0XF3;TR1=1;while(1){printf("inputx:\n"); //输出提醒信息scanf("%c",&x); switch(x){case'1':printf("A\n");break;case'2':printf("B\n");break;case'3':printf("C\n");break;case'4':printf("D\n");break;case'5':printf("QUIT\n");break;default:printf("RETRY\n");;}if(x=='5')break;}while(1);}13. 输入3个无符号的字符数据,要求按由大到小的顺序输出。参考程序:#include<reg52.h> #include<stdio.h> voidmain(void) {unsignedcharx,y,z,m;SCON=0x52; //串口初始化TMOD=0x20;TH1=0XF3;TR1=1;printf("inputx,y,z:"); //输出提醒信息scanf("%c,%c,%c",&x,&y,&z); printf("\n");if(x<y){m=x;x=y;y=m;}if(y<z){m=y;y=z;z=m;}if(x<y){m=x;x=y;y=m;}printf("output%c,%c,%c\n",x,y,z); //输出while(1);}16. 用指针实现,输入3个无符号字符数据,按由大到小的顺序输出。参考程序:#include<reg52.h>//包含异常功能寄存器库#include<stdio.h>//包含I/O函数库main{unsignedcharx,y,z;unsignedchar*p,*p1,*p2,*p3;SCON=0x52; //串口初始化TMOD=0x20;TH1=0XF3;TR1=1;printf("inputx,yandz:\n");scanf("%c,%c,%c",&x,&y,&z);printf("\n");p1=&x;p2=&y;p3=&z;if(*p1<*p2){p=p1;p1=p2;p2=p;}if(*p2<*p3){p=p2;p2=p3;p3=p;}if(*p1<*p2){p=p1;p1=p2;p2=p;}printf("maxtominis:%c,%c,%c\n",*p1,*p2,*p3);while(1);}第六章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=15536。8. 设某异步通信接口,每帧信息格式为10位,当接口每秒传送1000个字符时,其波特率为多少?答:10000波特18. 8051系统中,已知振荡频率为12MHz,用定时/计数器T0,实现从P1.0产生周期为2ms的方波。要求分离用汇编语言和C语言举行编程。解:分析:从P1.0输出周期为2ms的方波,只须P1.0每1ms取反一次则可。当系统时钟为12MHZ,定时/计数器T0工作于方式1时,最大的定时时光为65.536ms,满意1ms的定时要求,方式控制字应设定为1B(01H)。定时1ms,计数值N为1000,初值X=65536-1000=64536,则TH0=FCH,TL0=18H。采用中断处理方式:程序如下:ORG0000HLJMPMAINORG000BH;中断处理程序MOVTH0,#0FCHMOVTL0,#18HCPLP1.0RETIORG0100H;主程序MAIN: MOVTMOD,#01HMOVTH0,#0FCHMOVTL0,#18HSETBEASETBET0SETBTR0SJMP$ENDC语言程序:#include<reg51.h> //包含异常功能寄存器库sbitP1_0=P1^0;voidmain{TMOD=0x01;TH0=0xFC;TL0=0x18;EA=1;ET0=1;TR0=1;while(1);}voidtime0_int(void)interrupt1 //中断服务程序{TH0=0xFC;TL0=0x18; P1_0=!P1_0;}19. 8051系统中,已知振荡频率为12MHz,用定时/计数器T1,实现从P1.1产生周期为2s的方波。要求分离用汇编语言和C语言举行编程。解:从P1.1产生2s的方波,应产生500ms的周期性的定时,定时到对P1.1取反就可实现。因为定时时光较长,一个定时/计数器T1不能直接实现,采用定时/计数器T1产生周期性为10ms的定时,然后用一个寄存器R2对10ms计数100次来实现。系统时钟为12MHZ,定时/计数器T1定时10ms,计数值N为10000,只能选方式1,方式控制字为0B(10H),初值X:X=65536-10000=55536=10000B则TH1=0B=D8H,TL1=0B=F0H。定时/计数器T1采用中断处理方式。汇编程序:ORG0000HLJMPMAINORG001BHLJMPINTT1ORG0100HMAIN: MOVTMOD,#10HMOVTH1,#0D8HMOVTL1,#0F0HMOVR2,#00HSETBEASETBET1SETBTR1SJMP$INTT1: MOVTH1,#0D8HMOVTL1,#0F0HINCR2CJNER2,#64H,NEXTCPLP1.1MOVR2,#00HNEXT: RETIENDC语言程序:#include<reg51.h>//包含异常功能寄存器库sbitP1_1=P1^1;chari;voidmain{TMOD=0x10;TH1=0xD8;TL1=0xf0;EA=1;ET1=1;i=0;TR1=1;while(1);}voidtime0_int(void)interrupt3//中断服务程序{TH1=0xD8;TL1=0xf0;i++;if(i==100){P1_1=!P1_1;i=0;}}2. 简述存储器扩展的普通主意。答:存储器芯片与单片机扩展衔接具有共同的逻辑。即不论何
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年广告代理合同
- 个人汽车贷款担保协议书写范本样例
- 2024年家禽粪便处理与有机肥生产合同
- 2024年出口合同款项支付管理指南
- 专利许可授权业务合同
- 书籍合作协议(2024年版)
- 2024年工程设备租赁合同仲裁条款
- 仓储装卸包装协议(2024年版)
- 仓储货物服装鞋靴合同
- 2024年合同法下担保责任界定
- 四上第1课 身边的数据 教案 浙教版(2023)信息科技
- 2024国机资本控股限公司招聘高频考题难、易错点模拟试题(共500题)附带答案详解
- DB11-T854-2023占道作业交通安全设施设置技术要求
- 2024年广东省高中学业水平合格考语文试卷真题(含答案详解)
- 自动报警合同范本
- (初级)航空油料计量统计员技能鉴定理论考试题库(含答案)
- 《海上渔业养殖设施指南》2024
- 2024过敏性休克抢救指南(2024)课件干货分享
- 天猫购销合同范本
- 2024年纪委监委招聘笔试必背试题库500题(含答案)
- 教科版五年级上册科学期中测试卷及完整答案【易错题】
评论
0/150
提交评论