单片机考试常见试题程序分析题文档格式.doc
- 文档编号:13063573
- 上传时间:2022-10-04
- 格式:DOC
- 页数:4
- 大小:100.50KB
单片机考试常见试题程序分析题文档格式.doc
《单片机考试常见试题程序分析题文档格式.doc》由会员分享,可在线阅读,更多相关《单片机考试常见试题程序分析题文档格式.doc(4页珍藏版)》请在冰豆网上搜索。
MOVC A,@A+DPTR
PUSH A
MOV A,B
INC A
RET
ORG 4000H
DB 10H,80H,30H,50H,30H,50H
答:
(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H
5.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为()。
:
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A答:
0CBH
6.如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后则:
DPH=(),DPL=(),SP=():
POP DPH
POP DPL
POP SP
答:
DPH=3CH,DPL=5FH,SP=4FH
7.假定,SP=60H,A=30H,B=70H,执行下列指令后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。
PUSH A
PUSH B答:
62H,30H,70H
8.计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为12MHz)。
MOV R3,#15H ;
1个机器周期
DL1:
MOV R4,#255 ;
DL2:
MOV P1,R3 ;
2个机器周期
DJNZ R4,DL2 ;
DJNZ R3,DL1 ;
RET ;
15348us析:
((2+2)×
255+1+2)×
15+1+2=15348us
9.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为()。
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A答:
10.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
DPH内容为(),DPL内容为(),SP内容为()。
POP DPH;
POP DPL;
POP SP;
(DPH)=3CH,(DPL)=5FH,(SP)=50H
11.假设外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器A中的内容为()。
MOV P2,#20H
MOV R0,#00H
MOVX A,@R0
累加器A中的内容为(80H)
12.阅读下列程序段并回答问题。
(1).该程序执行何种操作?
(2).已知初值(60H)=23H,(61H)=61H,运行程序后62H内容
CLRC
MOVA,#9AH
SUBBA,60H
ADDA,61H
DAA
MOV62H,A答:
1)、该程序是单字节BCD码运算,是将(61H)—(60H)→62H
2)、(62H)=38H
13.试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。
MOV A,45H
ANL A,#0FH
ORL A,#0FH
MOV 45H,A
14.试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。
若有,则将51H单元置为“01H”;
若未找到,则将51H单元置为“00H”。
START:
MOV R0,#30H
MOV R2,#20H
LOOP:
MOV A,@R0
CJNE A,#0AAH,NEXT
MOV 51H,#01H
LJMP EXIT
NEXT:
INC R0
DJNZ R2,LOOP
MOV 51H,#00H
EXIT:
RET
15.编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400μs,占空比为10:
1的矩形脉冲。
解:
根据题意,从P1.0输出的矩形脉冲的高低电平的时间为10:
1,则高低电平的时间分别为363.63μs和36.37μs。
如果系统采用6MHz晶振的话,,因此高低电平输出取整,则约为364μs和36μs。
编写程序如下:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP IT0P
MAIN:
MOV TMOD,#02H ;
定时器/计数器T0为定时方式2
MOV TL0,#4AH ;
定时364μs初值赋值
SETB TR0 ;
启动T0,开始计数
SETB ET0 ;
允许T0中断
SETB EA ;
CPU开中断
SETB P1.0
WAIT:
AJMP WAIT
IT0P:
CLR EA
CLR P1.0 ;
关中断
MOV R0,#9
DLY:
DJNZ R0,DLY ;
延时26μs
SETB P1.0
SETB EA
RETI
16.设在外部RAM中有三个连续单元2001H,2002H,2003H,其中2001H和2002H单元中分别存放两个8位无符号二进制数,比较这两个数的大小,然后将大数送到2003H单元。
COMPARE:
MOVDPTR,#2001H
MOVXA,@DPTR
MOVR0,A
INCDPTR
MOVXA,@DPTR
SUBBA,R0
JNCLOOP
MOVA,R0
MOVX@DPTR,A
LOOP:
MOVX@DPTR,A
17.将内部RAM40H开始的10个单元,搬移到50H开始的10个单元中。
MOVR0,#40H
MOVR1,#50H
MOVR2,#10
LOOP1:
MOVA,@R0
MOV@R1,A
INCR0
INCR1
DJNZR2,LOOP1
18.设单片机晶振频率为6MHz,使用定时器0,以工作方式2,在P1.5引脚输出一个周期为200us连续方波?
MOVTMOD,#02H
MOVTH0,#0CEH
MOVTL0,#0CEH
SETBTR0
JBCTF0,LOOP1
AJMPLOOP
CPLP1.0
19.编写一段程序,功能要求为:
当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;
当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0)。
将P1.1的输入脉冲接入INT0,即使用T0计数器完成对P1.1口的脉冲计数。
JNB P1.0,MAIN
MOV TMOD,#05H ;
定时器/计数器T0为计数方式1
SETB TR0 ;
SETB ET0 ;
SETB EA ;
JB P1.2,WAIT
CLR EA
CLR TR0
MOV R1,TH0
MOV R0,TL0
AJMP $
INC R2
20.试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。
编程思路:
首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中。
ORG0000H
MAIN:
MOVDPTR,#2001H ;
设置数据指针的初值
MOVX A,@DPTR ;
读取2001H的值
SWAP A
ANL A,#0F0H ;
屏蔽掉低四位
MOV 30H,A ;
保存A
INC DPTR ;
指针指向下一个
读取2002H的值
ANL A,#0FH ;
屏蔽掉高四位
ORL A,30H;
进行拼装
MOVX @DPTR,A ;
保存到2002H
END
21.编写程序,将外部数据存储器中的4000H—40FFH单元全部清零。
本题主要考察了对外部数据块的写操作;
编程时只要注意循环次数和MOVX指令的使用就可以了。
MOVA,#0;
送预置数给A
MOV R0,#0FFH ;
设置循环次数
MOV DPTR,#4000H;
LOOP:
MOVX @DPTR,A ;
当前单元清零
指向下一个单元
DJNZR0,LOOP;
是否结束
22.编写程序,采用8255A的C口按位置位/复位控制字,将PC7置0,PC4置1,(已知8255A各端口的地址为7FFCH-7FFFH)。
本题主要考察对8255A的C口的操作。
其方式控制字的高位为0时,低四位对C口进行置位。
由题目我们得到了方式控制字的地址为7FFFH。
ORG 0000H
MAIN:
MOV DPTR,#7FFFH ;
控制字寄存器地址送DPTR
MOV A,#0EH ;
将PC7置0
MOVX@DPTR,A
MOV A,#09H ;
将PC4置1
END
23.试编写逻辑运算程序,功能为:
F=X(Y+Z);
F=XYZ
其中FXYZ均为位变量,依次存在以30H为首址的位寻址区中。
解
(1):
FBIT30H
XBIT31H
YBIT32H
ZBIT33H
LOG1:
MOVC,Y;
Y→C
ORLC,Z;
(Y+Z)→C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 考试 常见 试题 程序 分析