单片机2

  • 格式:doc
  • 大小:143.03 KB
  • 文档页数:5

单片机原理及应用三、问答题1、写出MCS-51的5种寻址方式,并简单说明含义是什么?●立即寻址:操作数直接在指令中。

●直接寻址:操作数所在的存储单元地址在指令中。

●寄存器寻址:寄存器中的内容就是操作数。

●寄存器间接寻址:指定寄存器中的内容是操作数的地址。

●寄存器变址寻址:以PC或DPTR为基址,以ACC为变址,以两者相加的地址寻找程序区的数据。

2、MCS-51不能及时响应中断的条件是什么?●CPU正在处理同级或更高一级的中断;●当前周期不是执行当前指令的最后一个周期;●当前正在执行RET、RETI、IP、IE后需要再执行一条指令后才能响应中断。

4、MCS-51单片机内256B的数据存储器可分为几个区?地址范围是多少?分别作用是什么?答:划分为4个区:(1)通用寄存器区,00h-1Fh,用作4组工作寄存器,辅助ACC运算。

(2)可位寻址区,20h-2Fh,可用位指令直接操作,便于逻辑控制。

(3)字节寻址RAM区,30h-7Fh,一般的数据缓冲区。

(4)专用寄存器区(SFR),80h-FFh,用于单片机的指定功能。

5、用MOVX指令访问外部数据存储器时有那几种指令?各指令的寻址范围多少?答案:MCS-51对外部数据存储器的访问指令有以下4条:1)MOVX A, @Ri 寻址范围:256B P2辅助2)MOVX @Ri, A 256B P2辅助3)MOVX A, @DPTR 64KB4)MOVX @DPTR, A 64KB6、简述行列键盘扫描的主要思路。

行列键盘扫描的主要思路:首先确定是否有键按下,消除抖动,若有键按下,输出逐行或列的扫描字,读取列或行的状态,确定按键键值,然后再判断按键是否释放,若释放,即可返回。

7、什么叫7段LED数码管的动态显示和静态显示,各自的优势是什么?静态显示形式,即七段LED数码管在显示某一个字符时,相应的段(发光二极管)恒定的导通或截至,直至换显其他字符为止。

显示稳定。

动态显示是将所有数码管的段码线对应并联在一起,由一个8位的输出口控制,每位数码管的公共端(称位选线)分别由一位I/O口线控制,以实现各位的分时选通。

节省硬件开销。

8.要访问SFR寄存器和片外数据寄存器,应采用什么寻址方式?答:访问SFR寄存器必须采用直接寻址方式。

访问片外数据寄存器必须采用间接寻址。

9.什么是堆栈?其主要作用是什么?堆栈是后进先出的数据存储区一般用于中断处理过程中,若需要保护现场数据(如内部RAM单元的内容),可使用入栈指令,将数据压入堆栈,中断处理过程执行完后,再使用出栈指令恢复现场数据。

10.中断服子程序与普通子程序有什么异同之处?答:两者都是子程序,中断服务子程序,由中断调用,有固定的地址人口,返回指令为“reti”普通子程序由“LCALL”指令调用,反回指令“RET”。

12.MCS-51系列单片机的外部中断有哪两种触发方式?如何设置?答:MCS-51系列单片机的外部中断有电平触发和边沿触发两种方式。

是由特殊功能寄存器TCON中IT0,IT1的状态确定的,如:IT0为1时外部中断0为边沿触发方式,否则为电平触发方式。

13 MCS-51系列单片机的外部中断有哪两种触发方式?如何设置?四、程序分析题1.设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序注释中填写执行结果。

PUSH 30H ;SP= 61H ,(SP)= 24HPUSH 31H ;SP= 62H ,(SP)= 10HPOP DPL ;SP= 61H ,DPL= 10HPOP DPH ;SP= 60H ,DPH= 24HMOV A,#00HMOVX @DPTR, A最后的执行结果是(2410H)=00H 。

2.编程将内部数据存储器20H~30H单元内容清零,写出每条指令的功能,并画出程序流程图。

MOV R0,#20H ;MOV A,#0 ;MOV R3,#17 ;LOOP :MOV @R0,A ;INC R0 ;DJNZ R3,LOOP;3. 如果已知(R0)=4BH,(A)=84H, 片内RAM(4BH)=7FH,(40H)=20H,写出下面每条指令的数据传送情况和结果数据。

MOV A,@R0 ;数据7FH→(A)=7FhMOV @R0,#40H ;数据40h→(4BH)=40hMOV 40H,A ;数据7FH→(40H)=7FhMOV R0, #35H ;数据35h→(R0)=35h问执行程序后,R0、A和4BH单元内容的是什么?答:(R0)=35h,(A)=7Fh,(4Bh)=40h4. 分析程序的主要功能是什么?假定(SP)=50H,(ACC)=30H,(B)=70H,(51H)=73H,(52H)=19H,执行下列命令:PUSH ACCPUSH BPOP ACCPOP B执行指令后:(SP)=50H,(ACC)=70H,(B)= ,(51H)=30H,(52H)=程序的主要功能是:ACC和B交换数据五、编程题1.编写汇编循环程序将ROM区的2000H-200Fh单元的数据复制到内部RAM的20H-2Fh单元中。

解:MOV R0,#20HMOV R7,#10HMOV DPTR,#2000hMOV A,#0LOOP: MOVC A,@A+DPTRMOVX @R0, AINC R0INC DPTRMOV A,#0DJNZ R7 , LOOPEND2.已知单片机的f osc=12MHz,设计延时0.1s的子程序。

设晶振频率为12MHz,一个机器周期为1µs,延时1ms的子程序:执行时间(机器周期)DELAY: MOV R7, #0FFH 1LOOP: NOP 1NOP 1DJNZ R7, LOOP 2RET 2该程序段的总的执行时间为:(1+4×255+2) s=1023µs≈1ms5、设有甲、乙两台8051单片机,甲机要将内部RAM单元50H~5FH中的16个数发往乙机。

已知甲机晶振频率为11.0592MHz,串口波特率为4800bps,完成下面的问题:(1)如果甲机发数时要加奇偶校验位,则甲机应工作于何种方式?(2)设串行口波特率由定时器T1产生,请写出定时器T1的初始化程序。

(3)用查询方式发送数据,请编写甲机发送子程序。

答:(1)方式3(2)MOV TMOD, #20HMOV TH1, #0FAHMOV TL1, #0FAHSETB TR1(3)SEND: MOV R0, #50HMOV R2, #0FHCLR TIAGAIN: MOV A, @R0MOV C,PMOV TB8, CMOV SBUF, AWAIT: JBC TI, NEXTSJMP WAITNEXT: INC R0DJNZ R2 , AGAINRET六、综合计算题1.试用6264为8051单片机扩展24K数据存储器,画出系统电路图,并分别写出各芯片的地址。

答:电路图如下:各芯片的地址如下:6264(1):C000H~DFFFH;6264(2):A000H~BFFFH;6264(3):6000H~7FFFH。

2.分析下图所示电路,回答下列问题(注不用的地址线取“0”)(1)写出8155并行I/O扩展芯片的PA和PB口的地址及6116(1)的地址范围;(2)补充单片机的/E A、XTAL1和XTAL2引脚的外部连接(直接画在图中);(3)写出2716的地址范围,编写程序将2716 0400H单元的内容读到单片机内部RAM的30H单元中;(4)编写程序将6116(1) 最低地址单元开始的16个数据读到单片机内部RAM的40H开始的单元中;答:(1)PA口地址0001H;PB口地址0002H;6116(1)的地址范围为:0800H~0FFFH(2)见图;(3)2716的地址范围为:0000H~07FFH;(4) MOV DPTR, #0400HMOV A, #00HMOVC A, @A+DPTRMOV 30H, A(5)MOV R2, #16MOV R0, #40HMOV DPTR, #0800HLP: MOVX A, @DPTRMOV @R0, AINC DPTRINC R0DJNZ R2, LP4、设有甲、乙两台8051单片机,甲机要将数据发往乙机。

已知甲乙机晶振均为11.0592MHz,串口波特率为9600bps,采用奇校验。

完成下面的问题:(1)如果甲机发数时要加奇偶校验位,则甲机串口应工作于何种方式;(2)设串行口波特率由定时器T1产生,请写出定时器T1的初始化程序;(3)请编写乙机查询接收子程序。

答:(1)方式3(2)MOV TMOD, #20HMOV TH1, #0FDHMOV TL1, #0FDHSETB TR1(3)IN1:CLR RIMOV A, SBUFMOV C,PCPL CJNC LP0 ; C不为1,转LP0JNB RB8, ERR ; RB8=0, 即RB8不为P转ERRSJMP LP1LP0: JB RB8, ERRLP1: RET。