当前位置:文档之家› 单片机课后习题参考答案

单片机课后习题参考答案

单片机课后习题答案1.26解:单片机内部由CPU、存储器和I/O接口等电路组成。

CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。

I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。

2.3、解:PSW的各位定义如下:PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0Cy AC F0RS1RS0OV_PCy:进位标志位;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中断允许位。

⑶ EX1(IE .2)——外部中断1中断允许位。

⑷ET1(IE .3) —— T1中断允许位。

⑸ ES (IE .4)——串行口中断允许位。

⑹EA (IE .7)——CPU 中断允许位。

当EA =1,允许所有中断开放,总允许后,各中断的允许或禁止由各中断源的中断允许控制位进行设置;当EA =0时,屏蔽所有中断。

允许T1定时器溢出中断的指令为: 1)、采用字节操作指令:MOV IE, #88H 2)、采用位操作指令:SETB EA SETB ET16.6 解:程序为: SETB PX0 SETB PX1 SETB EA SETB EXO SETB EX1 若0IN T、1IN T 引脚上同时有中断请求,则MCS-51先响应0IN T 引脚上的中断请求,因为MCS-51内部规定:0IN T的优先级高于1IN T 。

6.7 解:MCS-51响应中断的条件为:P211; 中断响应的过程为:1、先将程序计数器PC 的内容压入堆栈进行保护,先低位地址,后高位地址,同时堆栈指针SP 加2;2、关闭中断,以防在响应中断期间受其他中断的干扰;3、将对应中断源的中断入口地址装入PC ,去执行中断服务程序。

6.8 解:INT0、T0、INT1、T1、串行口中断的入口地址分别为:0003H 、000BH 、0013H 、001BH 、0023H ;8031响应中断的最短时间为3个机器周期。

6.9 解:MCS-51中,定时器/计数器溢出中断、边沿触发方式的外部中断可以随着中断被响应而自动撤出;电平触发方式的外部中断、串行口中断需要用户来撤除;串行口中断需要用户用软件的方法撤除,电平触发方式的外部中断需要用户用软件和硬件相结合的方法撤除(具体方法见P213)。

6.10解:中断初始化程序为:SETB IT0;设置INT0为负边沿触发 SETB EA;开中断允许总控位 SETB EX0; 开INT0中断6.23解:MCS-51扩展外部中断源的方法有:1、借用定时器/计数器溢出中断扩展外部中断源,特点是最多只能扩展两个外部中断源。

2、采用查询法扩展外部中断源,特点是需要必要的支持硬件和查询程序,且当扩展的外部中断源个数较多时,查询时间太长。

6.24解:外部中断请求输入线接T1引脚,相应的定时器T1初始化程序为:MOV TMOD, #60HMOV TL1, #0FFHMOV TH1, #0FFHSETB EASETB ET1SETB TR17.2解:(主要问题:没有回答特点)1、外设端口的单独编址。

特点:(1)需要专用的I/O指令,实现CPU和外设间的数据传送;(2)I/O端口地址是独立的;(3)CPU要有一条能区分是I/O访问还是存储器访问的控制引脚。

2、外设端口和存储器统一编址。

特点:(1)无需专用的I/O指令,也不需要区分是I/O访问还是存储器访问的控制引脚。

(2)I/O端口地址是内存地址中的一部分。

7.3 解:CPU和外设之间的数据传送方式有四种:同步传送方式(无条件传送方式)、异步传送方式(又称为查询传送方式或条件传送方式)、中断传送方式和DMA方式(直接数据通道传送方式)。

四种传送方式应用的场合:1.无条件传送:外设需与CPU保持同步,适合于慢速、简单的外设,如LED数码管、按键或按钮等。

2.查询传送:简单实用,工作可靠,但CPU 效率较低;适合于速度与CPU相当的外设。

3.中断传送:外设主动,可与CPU并行工作,但硬件比较复杂,每次传送需要大量额外时间开销;适合于速度较低的外设或要求实时处理的外设。

4.DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合数据传送速度快且是批量传送的场合。

7.6 解:1、输出数据方式:2、读端口数据方式:3、读引脚方式:7.8 解:决定8255选口的引脚有三条:CS,A,A。

CS=0表示8255被选中,825510工作;CS=1表示8255未被选中,8255不工作。

A A=00、01、10、11分别表10示寻址8255的A口、B口、C口和控制端口。

相关主题