资源预览内容
第1页 / 共110页
第2页 / 共110页
第3页 / 共110页
第4页 / 共110页
第5页 / 共110页
第6页 / 共110页
第7页 / 共110页
第8页 / 共110页
第9页 / 共110页
第10页 / 共110页
亲,该文档总共110页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
习题二2-1 试述8051单片机主要由哪几个部分构成?1. 一个8位微处理器CPU2. 数据存储器RAM和特殊功能寄存器3. 内部程序存储器ROM4. 两个定时/计数器5. 四个8位可编程的I/O并行端口6. 一个串行端口7. 中断控制系统8. 内部时钟电路2-2 MCS-51单片机的片外总线是怎样构成的?试画出其结构示意图。1. 片外总线构成: 1)地址总线AB 2)数据总线DB 3)控制总线CB2. 结构示意图2-3 MCS-51单片机四组并行IO口在使用时各有什么特点?1. P0口特点:1) 作输出口使用时,由于输出驱动为漏极开路式,需外接上拉电阻,阻值一般为510K.2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚 处于悬浮状态,再读入数据.3) 扩展ROM和(或)RAM时,作为地址/数据总线使用(地址A7A0,数据D7D0)2. P1口特点:1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3. P2口特点:1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3) 扩展ROM和(或)RAM时,作为地址/数据总线使用(地址A15A8,数据D15D8)4. P3口特点:1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3) 第二功能如下表 2-4 MCS-51单片机的存储器有几个存储空间?各自的地址范围和容量是多少?使用时各有什么特点?四个存储空间:(不同的单片机有所不同)1. 片内RAM,地址范围:00HFFH,共256个字节1) 00H1FH为通用寄存器区,共分四组(0组 1组 2组 3组,由PSW的RS1 RS0决定,复位时自动选中0组) 每组8个寄存器R0R72) 20H2FH为位寻址区,共128位(16*8)3)30H7FH为通用RAM区,共64个字节4)80HFFH为特殊功能寄存器(SFR)区,共128个字节 并行口 串行口 中断系统 定时/计数器 等功能单元和状态寄存器等共21个单元离散的分布在这个区中,其他空闲单元不能使用2. 片外RAM,地址范围:0000HFFFFH,共64K字节3. 片内ROM(EA=1),地址范围:0000H0FFFH,共4K字节4. 片外ROM(EA=0),地址范围:0000HFFFFH,共64K字节2-5 在单片机内RAM中哪些字节有位地址?哪些字节没有位地址?特殊功能寄存器中安排位地址的作用何在?有位地址的字节:20H2FH 80H 88H 90H 98H A0H A8H B0H B8H D0H E0H F0HSFR安排地址位的作用:可按位访问,方便使用2-6 什么叫振荡周期、时钟周期、机器周期和指令周期?振荡周期-为单片机提供时钟信号的振荡源的周期时钟(状态)周期-振荡源信号经二分频后形成的时钟脉冲信号机器周期-完成一个基本操作所需的时间,由6个时钟(状态)周期组成指令周期-CPU执行一条指令所需的时间时钟(状态)周期=2振荡周期机器周期=6时钟(状态)周期=12振荡周期指令周期=1个或2个或4个机器周期2-7 若单片机使用的晶振为6MHz,那么振荡周期、机器周期和指令周期分别是多少?fosc=6MHZT振荡=1/fosc=0.167sT机器=12* T振荡=2sT指令=(14) T机器=28s2-8 当单片机使用的晶振为12MHz时,执行一条指令所需的最长时间为多少?fosc=12MHZT指令=14s TMAX指令=4s2-9 说出单片机复位后,各特殊功能寄存器的初始化状态是什么 各特殊功能寄存器的初始化状态如表特别SP=07H,P0P3=FFH注意: 复位后要先给SP赋值(30H7FH), P0P3置初值习题三3-1 说明下列各条指令划线部分的寻址方式,并用图说明指令实现的操作。 (1)ADD A,30H ;直接寻址 (2)MOVX A,DPTR ;寄存器间接寻址 (3)MOVC A,A+PC ;变址寻址 (4)ORL 60H,#22H ; 直接寻址 立即寻址 (5)MOV R1,A ; 寄存器间接寻址3-2 查附录写出下列各条指令的机器码。 ACALL 0100H ;3100 LCAlL 0300H ;120300 AJMP 0100H ;2100 LJMP 0300H ;D20300 SJMP 5 ;80FB SJMP $十5 ;80033-3 设R0=7EH,DPTR=10FEH,片内RAM中7EH、7FH单元内容为0AAH、0BBH,试分析下列每条指令、增加注释并写出其执行结果。 INC R0 ;(7EH)+1 7EH, (7EH)=0ABH 1NC R0 ;R0+1 R0, (R0)=7FH 1NC R0 ;(7FH)+1 7FH, (7FH)=0BCH 1NC DPTR;DPTR+1 DPTR DPTR=10FFH3-4 若A=80H,R0=17H,(17H)=34H,执行下段程序后,A=? ANL A,#17H;A=0 ORL 17H,A ;A=0 (17H)=34H XRL A, R0;A=34HCPL A ;A=0CBH 3-5 说明下段程序执行过程中,SP的内容以及堆栈中内容的改变过程。 MOV SP,#20H;SP=20H MOV A,#20H ;A=20H MOV B,#30H ;B=30H PUSH ACC ;SP+1 SP=21H,(21H)=20H PUSH B ; SP+1 SP=22H,(22H)=30H POP ACC ;(22H) A,SP-1 SP=21H POP B ;(21H) B,B=20H,SP-1 SP=20H 3-6有程序如下: CLR RS1;位操作 RS1=0 CLR RS0;位操作 RS0=0 MOV A,#38H;字节操作 A=38H MOV R0,A ; 字节操作R0=38H MOV 29H,R0;字节操作 (29H)=38H SETB RS0 ; 位操作 RS0=1 MOV C,RS0 ;位操作 C=RS0=1 MOV R1,A ;字节操作R1=A=38H MOV 26H,A ; 字节操作(26H)=A=38H MOV 28H,C ; 位操作 (28H)=C=1 ADDC A,26H ; 字节操作A+(26H)+C A=71H 试问: (1)区分哪些是位操作指令?哪些是字节操作指令? (2)写出程序执行后有关寄存器和RAM中有关单元的内容。3-7 已知(61H)=0F2H,(62H):0CCH。说明下面程序功能,写出涉及的寄存器及片内RAM 单元的最后结果。 MOV A,#61H ;A=61H MOV B,#02H ;B=02H DIV AB ;A/B=A(商)=30HB(余数)=01H ADD A,62H ;A+(62H) A=0FCH(C=0) MOV 63H,A ;A (63H)=0FCH CLR A ;A=0 ADDC A,B ;A+B+C A=01H MOV 64H,A ;A (64H)=01H3-8 说明下面程序功能,在括号中填出所缺的机器码。 0020 78 ADRl: MOV RO, #ADRl 0022 (79) ADR2: MOV R1, #ADR2 0024 7A Ll: MOV R2, #LL 0026 C3 CLR C 0027 E6 LOOP: MOV A, R0 0028 37 ADDC A, R1 0029 F6 MOV R0,A 002A 08 1NC R0 002B 09 1NC Rl 002C DA(F9) DJNZ R2, LOOP002E 80 (FE ) SJMP $功能: LL个字节的加法 被加数放在ADRl为首的单元内 加数放在ADR2为首的单元内 低字节放在低地址单元 结果放在被加数单元3-9 试编程将片外数据存储器1000H单元中的数据与片内RAM中30H单元中的内容互换 程序如下: MOV 31H,30H MOV DPTR, #1000H MOVX A, DPTR MOV 30H,A MOV A, 31H MOVX DPTR, A SJMP $习题四4-1 两个4位BCD码数相加,设被加数和加数分别存于片内RAM的40H、41H和 45H46H单元中,和数存于50H、51H单元中(均是低位在前,高位在后),试编写程序。根据题意,最高位将不产生进位(或不考虑)ORG 0000HLJMP STARTORG 0200HSTART: MOVA,40HADDA,45H;低位相加DA A;BCD调整MOV50H,A;存和低位MOVA,41HADDCA,46H;高位带进位位相加DA A;BCD调整MOV51H ,A; 存和高位SJMP $END4-2 已知片外RAM中2100H单元中存有一有符号整数。试编写程序,求该单元数据的绝对值。ORG 0000HLJMP STARTORG 0200HSTART: MOVDPT
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号