山东大学网络教育单片机原理及应用期末考试复习题Word下载.docx
《山东大学网络教育单片机原理及应用期末考试复习题Word下载.docx》由会员分享,可在线阅读,更多相关《山东大学网络教育单片机原理及应用期末考试复习题Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
MOV20H,30H
CLR01H;
(20H单元的内容=37H)
MOVA,20H;
(PSW中P的内容=1)
CPLA
RRA;
(PSW中C的内容=0)
SWAPA;
(A=46H)
ADDCA,#0F0H;
(A=36H)
;
(PSW中P的内容=0)
(PSW中C的内容=1)
RLA;
(A=6CH)
LOOP:
AJMPLOOP
2、将MCS51内部RAM60H~65H单元存放的12个16进制数变为ASCII码,放到0090H单元开始的外部RAM中。
[使用汇编语言编写]
ORG0000H
AJMPMAIN
ORG0030H
MIAN:
MOVR0,#50H
MOVR1,#06H
MOVR2,#02H
MOVDPTR,#2800H
MOVA,@R0
MOVB,A
CH:
ANLA,#0FH
PUSHACC
SUBA,#0AH
JNCAD37
POPACC
ADDA,#30H
JMPSAV
AD37:
POPACC
ADDA,#37H
SAV:
DJNZR2,LL
MOVX@DPTR,A
INCDPTR
SWAPB
MOVB,A
JMPCH
LL:
INCR0
DJNZR1,DONE
DONE:
HLT
END
3、某一故障检测系统,当出现故障1时,线路1上出现上升沿;
当出现故障2时,线路2上出现下降沿。
没有故障时,线路1为低电平,线路2为高电平。
出现故障时,相应的指示灯变亮。
故障消失后,指示灯熄灭。
试用MSC1211为单片机实现该故障检测功能,画出电路原理图,并写出相应程序。
解答:
如下图所示:
故障1从P32输入,利用INT0,故障2从P33输入,利用INT1,使用L1作为故障1的指示灯,L2作为故障2的指示灯。
程序清单:
AJMPMIAN
ORG0003H
AJMPGU1
ORG0013H
AJMPGU2
ORG1000H
MAIN:
MOVTCON,#05H
MOVIE,#85H
HERE:
SETBP1.0
SETBP1.1
GU1:
CLRP1.0
JBP3.2,GU1
RETI
GU2:
CLRP1.1
JBP3.3,GU2
END
4、用MSC1211的T0定时/计数器,设计程序,实现在P1.0输出周期为200ms的占空比为1:
1的方波,输出500个方波后停止输出。
设频率为6MHz
TCOUNTEQU30H
ORG00H
START:
MOVR0,#5
MOVTCOUNT,#00H
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#B0H
SETBTR0
WAIT:
JNBTF0,WAIT
CLRTF0
MOVTH0,#3CH
MOVTL0,#B0H
CPLP1.0
INCTCOUNT
MOVA,TCOUNT
CJNEA,#200,WAIT
MOVTCOUNT,#00H
DJNZR0,WAIT
END
5、利用MSC1211或8051设计应答方式下的多机通讯程序。
通讯参数:
晶振为11.0592MHz,9600,n,8,1。
通讯过程如下:
主机首先发送从机地址,从机收到地址后进行比较,如果地址相符,则将从机地址回发给主机作为应答信号。
主机收到从机的地址应答信号后,将内存单元中的120个数据发送给从机,并进行数据块校验(将各个数据进行异或),若校验正确,则从机发送00H给主机,否则发送0FFH给主机,主机重新发送数据。
(应在适当的地方加程序注释)
主机通信的子程序
AJMPMAIN
ORG0030H
MOVSP,#10H
MOVR4,#120;
传送数据的个数
MOVTMOD,#21H
MOVTH1,#0FAH
MOVTL1,#0FAH;
设置波特率为9600
MOVSCON,#0D0H;
设置串行通信的方式为方式3
MOVPCON,#80H;
设置SMOD=1
SETBTR1
S_COMN:
MOVA,R2;
R2为被寻址的从机的地址
SETBTB8
MOVSBUF,A
TI_LOW1:
JNBTI,TI_LOW1
CLRTI
RI_LOW1:
JNBRI,RI_LOW1;
接收到返回的地址
CLRRI
MOVA,SBUF
XRLR2,A
JNZJ_START
TX_NEXT:
MOVA,@R0;
R0位发送数据的首地址
CLRTB8
TI_LOW2:
JNBTI,TI_LOW2
CLRTI
INCR0
DJNZR4,TX_NEXT;
R4为发送数据的长度
J_START:
SETBTB8
MOVA,#0FFH;
若地址不对,使所有的从机SM2置1
RI_LOW2:
JNBRI,RI_LOW2
CLRRI
AJMPS_COMN
从机接受数据的中断程序
ORG0023H
SJMPS_S
SETBES
SETBEA
SJMP$
S_S:
PUSHACC
JNBRI,$
JNBRB8,D_COMN
CJNEA,#0FFH,S_ADDR
SETBSM2
CLR7FH
SJMPS_RET
S_ADDR:
CJNEA,#01H,S_RET
CLRSM2
AJMPS_RET
D_COMN:
MOVA,SBUF
MOV@R0,A
INCR0
DJNZR7,S_RET;
判断接收是否完毕
S_RET:
POPACC
RETI
单片机原理及应用模拟题2
2、将MCS51内部RAM50H~55H单元存放的12个16进制数变为ASCII码,放到2800H单元开始的外部RAM中。
HLT
3、编制四个十六进制单字节数相加后求平均的程序。
SJMPMAIN
MOVA,#00H
ADDA,R0
ADDCA,R1
ADDCA,R2
ADDCA,R3
MOVB,#04H
DIVAB
4、用8031的T0定时/计数器,设计程序,实现在P1.0输出50ms的方波,输出100个方波后停止输出。
设频率为12MHz
MOVTCOUNT,#00H
MOVTH0,#(65536-25000)/256
MOVTL0,#(65536-25000)MOD256
5、甲单片机利用方式1将内部RAM30H~37H单元的ASCII码发送到乙机。
编制甲机发送和乙机接收的程序(加奇校验)。
甲机发送程序
MOVTH1,#0FDH
MOVTL1,#0FDH
MOVSCON,#50H
MOVR0,#30H
TT1:
NOP
MOVA,@R0
JBPSW.0,NEXT
ORLAL,80H
NEXT:
CLI