单片机课后习题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课后习题答案
1.26解:单片机内部由CPU、存储器和I/O接口等电路组成。CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。
2.3、解:PSW的各位定义如下:
PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0
Cy AC F0RS1RS0OV_P
Cy:进位标志位;AC:辅助进位位;
F0:用户标志位;RS1、RS0:寄存器选择位;
OV:溢出标志位;P:奇偶标志位;
PSW1:未定义。
2.4、解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。
8031堆栈的最大容量是128B;
MCS-51堆栈指针SP有8位,作用是存放栈顶(/栈低)地址;
单片机初始化后(即单片机复位后)SP中的内容是07H。
2.5、解:数据指针DPTR有16位;作用是存放ROM或外部RAM的地址。
2.7、解:8051的片内RAM容量有128B;分为三个区:工作寄存器区、位寻址区和便笺区;
2.8、解:8051的SFR有21个,可位寻址的有11个:ACC、B、PSW、IP、P3、IE、P2、SCON、P1、TCON和P0。
2.11、解:8051和片外RAM/ROM连接时,P0口用来分时地传送片外RAM/ROM的低8位地址信号和8位数据信号,P2口用来传送片外RAM/ROM的高8位地址信号;因为P0口在访问片外RAM/ROM的一个机器周期内,要先传送地址信号,后传送数据信号,所以P0口需要片外地址锁存器。
2.12、解:8051的ALE线用于锁存P0口输出的片外RAM/ROM的低8位地址;8051不和片外RAM/ROM相连时,ALE线上输出脉冲的频率是fosc/6(fosc是8051的时钟频率),该脉冲信号可用作外部时钟源或作为定时脉冲源使用。
2.13、解:PSEN:片外ROM的选通线;
R D:片外RAM的读选通线;
W R:片外RAM的写选通线。
2.16、解:复位方式下,程序计数器PC中的内容是0000H,这意味着8051在复位后,总是从0000H处执行程序(即从存储在地址为0000H的ROM单元中的指令开始执行程序)。
2.22、解:时钟周期:单片机所用时钟脉冲频率的倒数;
机器周期:实现特定功能所需的时间,通常由若干时钟周期构成;
指令周期:执行一条指令所需的时间,通常由若干机器周期构成;
MCS-51的一个机器周期包含12个时钟周期。
3.3、解:MCS-51的七种寻址方式及特点如下:
直接寻址:操作数的地址在指令码中;
立即寻址:操作数在指令码中;
寄存器寻址:操作数所在的寄存器号在指令码中;
寄存器间(接寻)址:操作数地址所在的寄存器号在指令码中;
变址寻址:操作数所在ROM单元的地址等于基地址加偏移量,其中基地址在PC或DPTR中,偏移量在A中;
相对寻址:用于相对转移指令,指令码中含有相对地址偏移量;
位寻址:操作数是8位二进制数中的某位。
3.4、解:
1)立即寻址,将立即数40H送累加器A;
2)直接寻址,将地址为40H的内部RAM单元的内容送累加器A;
3)寄存器间址,将地址为R1的值的内部RAM单元的内容送累加器A;
4)寄存器寻址,将寄存器R3的值送累加器A;
5)变址寻址,将地址为(A+PC)的ROM单元的内容送累加器A;
6)相对寻址,将(PC+LOOP)送PC。
3.5、解:寻址内部RAM 00H单元的寻址方式有:
1)直接寻址,如MOV A,00H;
2)寄存器寻址,如:在PSW中的RS1=0、RS0=0时,MOV A,R0;
3)寄存器间址,如:在PSW中的RS1=0、RS0=0、R1=0时,MOV A,@R1;
SFR的寻址方式有:
1)直接寻址,如MOV 20H,ACC或MOV 20H,0E0H中的源操作数;
2)寄存器寻址(只适用于A、B),如MOV 20H,A中的源操作数;
3)位寻址,如SETB ACC.7。
3.13、解:
1)A=FCH,PSW=C0H;
2)A=36H,PSW=84H。
3.20、解:
1)ANL 20H,#3FH; 2)ORL 20H,#0C0H;
3)XRL 20H,#0C0H; 4)XRL 20H,#0FFH;
3.26、解:
1)若SP=70H,MA=2000H,SUBPR=4060H,则:程序①错误,因为MA和SUBR
间的距离超过2KB;程序②、③都正确,但程序③更好,因为程序③的
字节数少、速度快且结构清晰。
2)若SP=70H,MA=2000H,SUBPR=2060H,则:程序②错误,程序①、③正
确,但程序①最好,因为程序①的字节数少且能生成浮动代码。
4.2、解:用标号表示指令的地址是便于在转移指令中书写转移到的指令位置,避免手工计算偏移量或指令的实际地址。
标号的构成原则:以大写英文字母开头的,由英文字母、数字构成的长度不超过8的符号串。但应注意汇编语言的保留字如MOV、A、END等不能用作标号。
注释段的作用是解释程序、程序段或指令的功能,增加程序的易读性,汇编时不产生机器码。
4.3、解:常用的伪指令有8条:定义字符名称的EQU、DATA;定义位地址的BIT;定义字节、字、预留存储空间的DB、DW、DS;定义存储起始地址的ORG;指示源程序结束的END。
4.25、解:程序为:
DELAY20MS:MOV R7,#49;1次×1个机器周期/次
DELAY2: MOV R6, #100; 49次×1个机器周期/次
DELAY1:DJNZ R6,DELAY1; 49×100次×2个机器周期/次
NOP; 49次×1个机器周期/次
DJNZ R7, DELAY2; 49次×2个机器周期/次
NOP; 1次×1个机器周期/次
RET; 1次×2个机器周期/次
;该程序执行需要的时间:(1+49+9800+49+98+1+2)=10000个机器周期。
6.2 解:中断源:引起中断的原因;
MCS-51的中断源有:外部中断源、定时器/计数器溢出中断源、串行口中断源。
6.4 解:8031的5个中断标志位代号分别是IE0、IE1、TF0、TF1、TI/RI;位地址分别是89H、8BH、8DH、8FH、99H/98H;它们在有相应的中断请求时置位;IE0、IE1、TF0、TF1在相应的中断被响应后自动复位,TI/RI须在中断服务程序中由软件复位。
⑵ET0(IE.1)——T0中断允许位。