- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用模拟题 3
一、分析程序的执行结果, 将结果填写到空格中 。
1、 MOV 40H,#80H
MOV R0,#40H
MOV A,@R0 ;(A= 80H )
MOV B,#20H
DIV AB ;(A= 4 B= 0 )
MOV @R0,A ;最终结果存于内存单元 40H 中。
2、 MOV A,#2AH
RR A
MOV B,A
MUL AB ;(A= B9H B= 01H )
(OV= 1 CY= 0 )
3、 MOV A,#0B2H
MOV R1,#055H
ANL A,R1 ;(A= 10H )
ORL A,R1 ;(A= 55H )
XRL A,R1 ;(A= 00H )
SWAP A ;(A= 55H )
4、 设内存 20H 的内容为 30H,30H 的内容为 46H,46H 的内容为 57H
MOV R0,#30H
MOV A,@R0 ;(PSW 中 P的内容= 1 )
XCH A,R0
ADD A,#0DBH
SUBB A,#74H ;(A= 96H )
;(PSW 中 P的内容= 0 )
;( PSW 中C 的内容= 1 )
- 1 -
二、程序设计
1、MCS51 内部 RAM 40H~60H 单元存放着有符号 16 进制数,将其中能被 2
整除的数,存放到 0090H 单元开始的外部 RAM 中。[使用汇编语言编写 ]
解: ORG 0000H
JMP START
START: MOV SP,#60H
MOV DPTR,#0090H
MOV R0,#40H
MOV R1, #21
LOOP0 : MOV A ,@R0
MOV B, #2
DIV AB
MOV R2, B
CJNZ R2, #0, LOOP1 ; 余数为 0 则继续 ,不为 0 则转移
MOV A,@R0
MOV @DPTR,A
INC DPTR
LOOP1: INC R0
DJNZ R1, LOOP0
END
2、某一故障检测系统,当出现故障时, 线路出现下降沿;没有故障时,线路为
高电平。出现故障时,相应的指示灯变亮。故障消失后,指示灯熄灭。试用
MSC1211 为单片机实现该故障检测功能,画出电路原理图,并写出相应程
序。
解答:如图所示,使用 P10作为故障指示灯 ,故障源从 P32输入,
- 2 -
相应的程序为:
ORG 0000H
AJMP MAIN
ORG 0003H
LI: CLR P1.0
JNB P1.0,LI
RETI
ORG 1000H
SETB IT0
SETB EX0
SETB EA
HERE: SETB P1.0
AJMP HERE
END
3、用 MSC1211 的 T1 定时/计数器,定时 0.1S中断,使 P1 口的 8 个发光二极
管每隔 1S 循环点亮。设系统主频为 6MHZ。
解:ORG 0000H
LJMP MAIN ;转主程序
ORG 001BH ;T1 中断服务程序入口地址
LJMP T1-ISR
ORG 0100H
- 3 -
MAIN :MOV SP,#60H ;设置堆栈指针
MOV P1,#01H ;设置 P1.1 发光
MOV TMOD ,#10H ;T1 初始化
MOV TL1 ,#B0H
MOV TH1 ,#3CH
SETB TR1 ;启动 T0 计数
SETB ET1 ;允许 T0 中断
SETB EA ;CPU 开中断
SJMP $ ;等待
T1_ISR:MOV TL1,#B0H
MOV TH1,#3CH
MOV A,P1 ;P1 口循环左移
RL A
MOV P1,A
EXIT: RETI
END
4、设有甲、乙两台单片机, 以工作方式 3 进行串行通讯, 设晶振为 11.0592MHz,
波特率为 9600,甲机将内存单元中的 120个数据作补偶校验后发送给乙机,乙
机对接收到的数据进行奇偶校验,若校验正确,则从机发送 00H 给甲机,甲机
继续发送数据,校验不正确,则发送 0FFH 给甲机,甲机重新发送原数据,编
写乙机的接收程序。(应在适当的地方加程序注释)
解:ORG 0000H
AJMP MAIN
ORG 0023H
LJMP SE2_INT
MAIN:
MOV SP,#60H
MOV TMOD #20H
MOV TH1,#0FDH ; 设置波特率为 9600bps
MOV TL1,#0FDH
MOV SCON,#90H ; 串行口工作方式 3,允许接收
MOV DPTR,#2000H; 接收数据区
MOV R1,#120
SETB TR1
SETB EA
SETB ES
- 4 -
SJMP $ ;等待接收中断
SE2_INT:
JB RI,LOOPA
CLR T1
LJMP ENDR
LOOPA :CLR RI
MOV A,SBUF
MOV
文档评论(0)