单片机.docx
- 文档编号:8050868
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:8
- 大小:79.46KB
单片机.docx
《单片机.docx》由会员分享,可在线阅读,更多相关《单片机.docx(8页珍藏版)》请在冰豆网上搜索。
单片机
1、片内RAM低128个单元划分为哪3个主要部分?
各部分的主要功能是什么?
2、答:
工作寄存器区、位寻址区、数据缓冲区.
3、如果手中仅有一台示波器,可通过观察哪个引脚的状态,来大致判断MCS-51单片机正在工作?
3、答:
ALE引脚
3、若SP=60H,标号LABEL所在的地址为3456H。
LCALL指令的地址为2000H,执行指令如下:
2000H LCALL LABEL
后,堆栈指针SP和堆栈内容发生了什么变化?
PC的值等于什么?
如果将指令LCALL 直接换成ACALL是否可以?
如果换成ACALL指令,可调用的地址范围是什么?
答:
1)SP=SP+1=61H (61H)=PC的低字节=03H
SP=SP+1=62H (62H)=PC的高字节=20H
2)PC=3456H
3)可以
4)2KB=2048Byte
4、定时/计数器用作定时器时,其计数脉冲由谁提供?
定时时间与哪些因素有关?
答:
定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。
定时时间与时钟频率和定时初值有关。
5、常用的I/O接口编址有哪两种方式?
它们各有什么特点?
MCS-51的I/O端口编址采用的是哪种方式?
解:
一.独立编址方式:
独立编址方式就是I/O地址空间和存储器地址空间分开编址。
独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。
但是,却需要设置一套专门的读写I/O的指令和控制信号。
二.统一编址方式:
这种编址方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。
统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。
MCS-51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。
6、当MCS-51单片机运行出错或程序陷入死循环时,如何来摆脱困境?
答:
软件陷阱、复位
7、下列程序段的功能是什么?
PUSH A
PUSH B
POP A
POP B
答:
交换A、B的内容
8、中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?
答:
RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断
9、THX与TLX(X=0,1)是普通寄存器还是计数器?
其内容可以随时用指令更改吗?
更改后的新值是立即刷新还是等当前计数器计满后才能刷新?
答:
THX与TLX(X=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,更改后的新值是立即刷新。
但在读THX、TLX的值时,应该先读THX值,后读TLX,再读THX。
若两次读得THX相同,则可确定读得的内容正确。
若前后两次读得的THX有变化,再重复上述过程。
10、I/O接口和I/O端口有什么区别?
I/O接口的功能是什么?
I/O接口和I/O端口有什么区别?
I/O接口的功能是什么?
答:
I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。
I/O接口是指单片机与外设间的I/O接口芯片。
I/O接口功能:
一.实现和不同外设的速度匹配;二.输出数据缓存;三.输入数据三态缓冲。
11、MCS-51与DAC0832接口时,有哪两种连接方式?
各有什么特点?
各适合在什么场合使用?
答:
单缓冲方式。
其特点是DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受MCS—51控制的锁存方式。
适用于只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下。
(2)双缓冲方式。
其特点是数字量的输入锁存和D/A转换输出是分两步完成的。
适用于在多路D/A转换中,要求同步进行D/A转换输出的情况下。
(二)编程题
1、试编写程序,查找在内部RAM的40H~60H单元中是否有0FFH这一数据。
若有,则将51H单元置为“00H”;若未找到,则将51H单元置为“01H”。
答:
START:
MOVR0,#40H
MOVR2,#20H
LOOP:
MOVA,@R0
CJNE A,#0FFH,NEXT
MOV51H,#00H
LJMP EXIT
NEXT:
INC R0
DJNZ R2,LOOP
MOV51H,#01H
EXIT:
RET
2、编写出外部中断1为跳沿触发的中断初始化程序。
答:
SETB IT1
SETB EX1
SETB EA
3、编写一段程序,功能要求为:
当P1.0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0)。
ORG0000H
LJMP MAIN
ORG000BH
LJMP IT0P
MAIN:
JNB P1.0,MAIN
MOVTMOD,#05H ;定时器/计数器T0为计数方式1
SETB TR0 ;启动T0,开始计数
SETB ET0 ;允许T0中断
SETB EA ;CPU开中断
WAIT:
JB P1.2,WAIT
CLR EA
CLR TR0
MOVR1,TH0
MOVR0,TL0
AJMP $
IT0P:
INC R2 ;在电平负跳变前,如果计数器溢出,则进位存入R2
RETI
4、根据硬件图计算ADC0809的8个模拟量输入通道的地址,并编写程序实现8个通道的模拟量循环采集,采集结构存放至片内RAM40H~47H中。
(15分)
解:
根据电路连接图可计算出ADC0809的8个模拟量输入通道的地址为:
7F00H~7F07H
循环采集的程序设计如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV DPTR,#7F00H
MOV R0,#40H
MOV R7,#8
LOOP:
MOVX @DPTR,A
JNB P3.2,$
MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,LOOP
MOV DPTR,#7F00H
MOV R0,#40H
MOV R7,#8
AJMP LOOP
END
1、编制中断初始化程序,外部中断0(边沿触发)、定时器0开中断(中断允许);外部中断1、定时器1关中断(不允许中断)。
解:
SETBEX0
SETBIT0
SETBET0
CLR ET1
CLREX1
SETBEA
2、编程将片内RAM40H单元开始的16个数传送到片外RAM2000H开始的单元中。
解:
MOVR0,#40H
MOVR7,#16
MOVDPTR,#2000H
LOOP:
MOVA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
DJNZR7,LOOP
NOP
END
3、使用定时器中断方式编程实现从P1.0引脚上输出一个周期为1s的方波。
(系统时钟为6MHz)
解:
使用定时器T0产生50ms的定时,然后在计数10次,从而500ms的定时。
ORG 0000H
AJMP MAIN
ORG 000BH
LJMP TMR0_INT
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#9EH
MOV TL0,#58H
MOV R7,#10
SETB ET0
SETB EA
SETB TR0
SJMP $
TMR0_INT:
CLR TR0
DJNZ R7,LOOP
MOV R7,#10
CPL P1.0
LOOP:
MOV TH0,#9EH
MOV TL0,#58H
SETB TR0
RETI
1、计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为6MHz)。
MOV R3,#15 ;1个机器周期
DL1:
MOV R4,#200 ;1个机器周期
DL2:
MOV P1,R3 ;2个机器周期
DJNZ R4,DL2 ;2个机器周期
DJNZ R3,DL1 ;2个机器周期
RET ;2个机器周期
答:
24096us
析:
[((2+2)×200+1+2)×15+1+2]×2us=24096us
2、试编写程序,查找在内部RAM的30H~60H单元中出现“0FFH”这一数据的次数。
并将查找到的结果存入61H单元。
2、试编写程序,查找在内部RAM的30H~60H单元中出现“0FFH”这一数据的次数。
并将查找到的结果存入61H单元。
答:
START:
MOV 61H,#0
MOV R0,#30H
MOV R2,#30H
LOOP:
MOV A,@R0
CJNE A,#0FFH,NEXT
INC 61H
NEXT:
INC R0
DJNZ R2,LOOP
RET
3、如果采用晶振的频率为6MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?
3、如果采用晶振的频率为6MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?
答:
因为机器周期
,
所以定时器/计数器工作方式0下,其最大定时时间为
;
同样可以求得方式1下的最大定时时间为
;
方式2下的最大定时时间为512
。
4、编写程序,将外部数据存储器中的4000H—40FFH单元全部置“1”。
4、编写程序,将外部数据存储器中的4000H—40FFH单元全部置“1”。
ORG 0000H
MAIN:
MOV
#0FFH ;送预置数给A
MOV R0,#0FFH ;设置循环次数
MOV DPTR,#4000H ;设置数据指针的初值
LOOP:
MOVX @DPTR,A ;当前单元清零
INC DPTR ;指向下一个单元
DJNZ R0,LOOP ;是否结束
END
5、分析A/D转换器产生量化误差的原因,1个8位的A/D转换器,当输入电压为0~5V时,其最大的量化误差是多少?
5、分析A/D转换器产生量化误差的原因,1个8位的A/D转换器,当输入电压为0~5V时,其最大的量化误差是多少?
答:
量化误差是由于有限位数字且对模拟量进行量化而引起的;1.95%;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机