单片机原理及接口技术段晨东
- 格式:doc
- 大小:97.00 KB
- 文档页数:14
《单片机原理及接口技术》段晨东第三章答案一、基础知识1、(A)=25H(R0)=50H(50H)=00H(51H)=25H2、(A)=30H(B)=20H3、(A)=80H4、把片外ROM的1031H单元的内容放到累加器ACC中。
5、把片外ROM的8140H单元的内容放到累加器ACC中。
6、(SP)=62H(60H)=0F0H(61H)=30H(62H)=70H7、(DPH)=7AH(SP)=60H(DPL)=50H(60H)=0FDH8、Cy=1AC=1OV=1P=19、Cy=1AC=1OV=0P=110、(A)=00H(R3)=10H(30H)=0F1H(R0)=40H(40H)=01H11、Cy=1 (A)=23H12、(A)=0EH(R7)=18H(30H)=0FFH(R1)=40H(40H)=0FEH13、14、(B)=32H(A)=00HCy=0OV=115、(B)=11H(A)=0DHCy=0OV=016、(A)=0FCH17、(A)=0DCH18、所谓的寻址方式就是CPU执行指令时获取操作数的方式。
分为:立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、位寻址、相对寻址7种寻址方式19、ANL:(A)=00H(R5)=0AAHORL:(A)=FFH(R5)=0AAHXRL:(A)=FFH(R5)=0AAH二、选择题1——5:BBCBB6——10:CCCAB11——14:CBDB三、简单程序设计13题:MOV R0,20HMOV R1,21HMOV A,@R1CPL AADD A,#01HMOV 31H,AMOV A,@R0CPL AADDC A,#00HXOR A,#80HMOV 30H,A14题:MOV DPTR,#TABLEMOV A ,XRL AJMP @A+DPTR TABLE:AJMP PROG1AJMP PROG2AJMP PROG3AJMP PROG416题:方法一:MOV A,XCJNE A,Y,L1CJNE A,Z,L2MOV 50H,AL1:JC M1RETM1:MOV A,YRETL2:JC M2RETM2:MOV A,Z方法二:MOV A,XCLR CSUBB A,YJC LOW1CLR CSUBB A,ZJC LOW2MOV 50H,ALOW1:MOV A,YRETLOW2:MOV A,ZRET19题:MOV C,P1.2CPL P3.3ORL C,P3.3ANL C,P1.1MOV 20H.0,CMOV C,/2EH.0ANL C,28H.1CPL CORL C,20H.0MOV 20H.0,CMOV C,28H.1ANL C,/TF0ANL C,/P1.1ORL C,20H.0MOV P1.5,C20题:MOV R0,#20HMOV A,#60HMOV R7,#00HLOOP:CJNE @R0,#65H,GOON INCGOON:INC R0INC AJNZ LOOPRET22题:MOV A,20HMOV B,#10DIV ABMOV 20H,AMOV 24H,BMOV A,21HMOV B,#10DIV ABMOV 22H,AMOV 23H,BMOV A,24HMOV 21H,A第四章答案4.4、在如图4.13所示的电路中,通常情况下,L0~L7一次循环显示,每扳动一次开关K,L0~L7以2灯为1组循环显示1次。
用中断方式实现上述要求。
ORG 0000HLJMP MAINORG 0003HLJMP INT_PR0ORG 0030H主程序:MAIN:MOV SP, #70HSETB IT0SETB EASETB EX0CLR PX0MOV A, #01HROT_DIS:MOV P1, AACALL DLYRL AAJMP ROT_DIS延时子程序:DLY: MOV R7, #100DL1: MOV R6, #200DL0: DJNZ R6, DL0DJNZ R7, DL1RET中断服务子程序:ORG 0300HINT_PRO:PUSH ACCPUSH PSWMOV R0, #08MOV A, #03HCONT:MOV P1, AACALL DLYRL ADJNZ R0,CONTPOP PSWPOP ARETIEND4-6、路灯控制器如图4.18所示,要求当黑夜降临时,路灯自动启动,当白天到来时,路灯自动熄灭。
采用外部事件中断实现。
要求用电平触发方式。
黑夜,路灯自动启动;白天,路灯自动熄灭;终端实现,电平触发。
ORG 0000HAJMP MAINORG 0003HAJMP INI_PR0ORG 0030HMAIN:MOV SP,#70HCLR IT1SETB EX1SETB EAHERE:SETB P1.7AJMP HEREORG 0200HINT_PR0:CPL P1.7REIEND4-7、如图4.19所示的单片机应用系统,4个外部扩展中断源EXINT0~EXINT3共享外部事件中断/INT0,当其中有一个或几个出现高电平,是/INT0脚为低电平,向单片机发出中断请求。
设它们的优先级别顺序为EXINT0——>EXINT3,当EXINT0~EXINT3为高电平时,分别执行处理程序PREX0、PREX1、PREX2和PREX3,请用中断方式实现上述要求。
ORG 0000HLJMP MAINORG 0003HLJMP P_INT0ORG 0030HMAIN:MOV SP, #70HCLR IT0SETB EASETB EX0SETB PX0P_INT0:CLR EAPUSH ACCPUSH PSWSETB EAJB P1.0, PREX0JB P1.1, PREX1JB P1.2, PREX2JB P1.3, PREX3RETURN:CLR EAPOP PSWPOP ACCSETB EARETIPREX0:……AJMP RETURNPREX1:……AJMP RETURNPREX2:……AJMP RETURNPREX3:……AJMP RETURNEND第五章5-1:用单片机内部定时方法产生100KHZ的等宽脉冲,从P1.1输出,假定单片机的晶振平率为12MHZ,请编程实现。
查询法:MOV TMOD, #00HMOV TH0, #1FHMOV TL0, #16HSETB TR0LOOP:JBC TF0, OVFLOWAJMP LOOPOVFLOW:MOV TH0, #1FHMOV TL0, #16HCPL P1.1AJMP LOOP中断法:ORG 0000HLJMP MAINORG 000BHLJMP P_INT0ORG 0030HMAIN:MOV SP, #60HMOV TMOD, #00HMOV TH0, #1FHMOV TL0, #16HSETB TR0SETB EASETB ET0HERE:AJMP HEREP_INT0:PUSH ACCPUSH PSWMOV TH0, #1FHMOV TL0, #16HCPL P1.0POP PSWPOP ACCRETI5-6:航标灯控制器如图5.19所示,要求当黑夜降临时,航标灯自动启动,亮2s,灭2s,指明航向,当白天到来时,航标灯自动熄灭,不发光。
采用外部事件中断和定时中断来实现上诉要求。
ORG 0000HAJMP MAINORG 0003HAJMP INT_PR0ORG 0030HMAIN:MOV SP, #60HCLR IT0SETB EX0SETB EAHERE:AJMP HERELOOP:JNB TF0, LOOPDJNZ R6,INT_PR0CPL P1.7MOV R6, #50AJMP INT_PR0INT_PRO:MOV R6, #50MOV TMOD, #00HMOV TH0, #(8192-40)/256MOV TL0,#(8192-40)%256SETB TR0SETB EASETB ET0RET5-7:晶振频率为6MHZ的MCS-51单片机,使用定时器T0以定时方法在P1.0输出周期为400us、占空比为10:1的矩形脉冲,以定时工作方式1编程实现。
X=216-Td/TM=216-(400-1/11)/2=65354TH0=0FFHTL0=D7H程序部分:ORG 0030HMAIN:MOV R5, #10MOV TMOD, #01HMOV TH0, #0FFHMOV TL0, #0D7HSETB TR0SETB P1.0CLR 20H.0CONT:JBC TF0, OVERFSJMP CONTOVERF:MOV TH0,#0FFHMOV TL0,#0D7HJB 20H.0,HIGHCLR P1.0SETB 20H.0SJMP CONTREIHIGH:SETB P1.0DJNZ R5,CONTMOV R5, #10CLR 20H.0REI5-8:以定时器/计数器T1进行外部事件计数。
每计数1000个脉冲后,定时器/计数器转为定时工作方式,定时10us后,又转为计数方式,如此循环。
假定单片机晶振平率为6MHZ. 计数器初值设定:X=216-1000=64536TH1=0FCHTL1=18H定时器初值设定:X=216-10/2=65531TH1=0FFHTL1=0FBH主程序:START:MOV TMOD, #50HMOV TH1, #0FCHMOV TL1, #18HSETB TR1LOOP1:JBC TF1, L2SJMP LOOP1L1:CLR TR1MOV TMOD,#40HMOV TH1, #0FFHMOV TL1, #0FBHSETB TR1LOOP2:JBC TF1, STARTSJMP LOOP2第六章6-3、简述MCS-51单片机多机通信原理答:MCS-51单片机的串行口控制器SCON中的SM2位为多机通信控制位。
在串行口工作在方式2或方式3时,如果SM2=1,只有在接收器收到第9位数据为1时,数据才装入接收缓冲器SBUF中,并将接收中断标志位RI置1,向CPU请求中断,如果接收器收到的第9位为0,则接收中断标志位不置1,并把接收到的数据丢弃。
当SM2为0时,接收到一个数据帧后,不管第9位数据是0还是1,都会把接收中断标志RI置1,并将接收到的数据装入接收缓冲器SBUF。
利用这个特点,可以实现多个MCS-51单片机之间的通信。
6-4、当系统晶振为11.0592MHz时,采用方式1实现异步通信串行通信,波特率为9600bit/s,用T1作为波特率发生器,计算计数初值。
答:定时/计数器工作方式为方式2、定时模式,则T1计数器初始值为:即X=1111 1101B=0FDH第七章7-4题:假设0~44的平方值以表的形式存储在程序存储器中,采用查表的方法编制一个实现获取x(0<=x<=40)平方值的子程序。