本文主要是介绍单片机原理期末考知识点、考题整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 控制器(CU)不包括(地址寄存器AR)
- 汇编语言的优点是(执行速度快,占用内存少)
- (位)是计算机所能表示的最小数据单元。
- 冯·诺依曼设计思想最重要之处在于明确地提出了(程序存储,顺序控制)的概念
- 通常中断入口地址处都放一条( 跳转指令 )跳向对应的 中断服务子程序。
- 两种低功耗节电工作模式:空闲模式和(掉电保持)模式。
- 堆栈是为子程序调用和( 中断 )操作而设,主要用来保护断点和现场
- 累加器A中“1”的个数是奇数,P的值为(1)
- 按工作方式,内存可分为两大类:随机读写存储器和 只读存储器 。
- 单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的(1/6)
- 地址总线AB传送的是方向是(单向,CPU到外部部件)
- EA管脚为1的时候,(不直接)访问片外的程序存储器
- 空闲模式下的看门狗WDT(保持)继续工作
- (R0)=60H,(60H)=3EH,(A)=59H,执行完“XCHD A,@R0”指令,则((A)=5EH,(60H)=39H)
- MOV C,40H是(位)寻址方式。
- CLR 30H 中的“30H”指的是:(位地址)
- 当(SP)=40H,(B)=10H时,执行指令POP Acc,(SP)=(3FH)
- 查表指令读取的都是(程序)存储器的值 。
- LCALL可调用(64)KB范围内程序存储器中的任何一个子程序。
- 指令通常由两部分组成:操作码和(操作数)。
- 执行RET指令时,SP的(地址)会加(2)
- 直接寻址不一定是访问片内特殊功能寄存器的唯一寻址方式。但是直接寻址是访问所有特殊功能寄存器的唯一寻址方式。因为(特殊寄存器有部分可位寻址)。
- 外部中断的触发方式有(下降沿触发)方式和(电平触发)方式。
- 需要进入软件清0中断请求标志位的是(RI)和(TI)。
- 两个中断入口地址之间只相隔(8)字节。
- ADC0809的地址口A、B、C的电平分别是0、0、1的时候,选择的通道是(IN4)。
- DAC0832芯片是具有(2)个输入数据寄存器的(8)位DAC。
- 多路的D/A转换要求同步输出时,必须采用(双缓冲)同步方式。
- DAC0832的建立时间大约是(1)us。
- 在单片机应用系统中A/D主要分为的逐次比较型转换器和(双积分型)转换器。
第二部分
- 执行返回指令后,返回的断点是调用指令的下一条的首地址
- 51单片机访问程序存储器时,所用的控制信号有:ALE、EA’
- 区分单片机片外程序和数据存储器的最可靠方法:观察是与RD(外部数据存储读)信号连接还是PSEN信号(当从外部rom取指令时,psen就硬件置1)连接。
- 位定义指令BIT的作用是用于定义某特定位的标识符
- 若5个中断源同时发送请求,则PC的内容为0003H
- 可以为访问程序存储器提供或者构成地址的有A和DPTR
- DPTR(数据指针) PC(程序计数器)
- 和外部ROM(程序存储器)打交道的指令是MOVC,和外部RAM(数据存储器)打交道的是MOVX。
程序分析
一.下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?
ORG 1000H
TAB1 EQU 1234H
TAB2 EQU 3000H
DB "MAIN"
DW TAB1,TAB2,70H
答:从1000H开始的各有关存储单元的内容(16进制)如下:
4DH,41H,49H,4EH,12H,34H,30H,00H,00H,70H
二.设(R0)=20H,(R1)=30H,(20H)=20H,(21H)=30H,(22H)=40H,(30H)=E0H,(31H)=50H,(32H)=60H。
CLR C
MOV R2, #3
LOOP: MOV A, @R0
ADDC A, @R1
MOV @R0, A
INC R0
INC R1
DJNZ R2, LOOP
SJMP $
程序执行后,(R0)= 23H
三.已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后, A=( );SP=( );(41H)=( );(42H)=( );PC=( )。
POP DPH
POP DPL
MOV DPTR,#3000H
RL A
MOV B,A
MOVC A,@A+DPTR
PUSH Acc
MOV A,B
INC A
MOVC A,@A+DPTR
PUSH Acc
RET
ORG 3000H
DB 10H,80H,30H,80H,50H,80H
答:(A)=80H ,(SP)=40H,(41H)=50H,(42H)=80H ,(PC)=8050H
中断定时器简答题
*中断服务子程序与普通子程序有哪些相同和不同之处?
答:RETI指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而RET指令则没有这个操作。
除了这一点两条指令不同外,其它操作都相同。
AT89S52单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟对外部中断请求的响应?
答:在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。
在下述三种情况下,AT89S51将推迟对外部中断请求的响应:
(1)AT89S52正在处理同级或更高优先级的中断。
(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。
(3)正在执行的指令是RETI或是访问IE或IP的指令。
如果存在上述三种情况之一,AT89S52将丢弃中断查询结果,将推迟对外部中断请求的响应。
中断响应需要满足哪些条件?
答:一个中断源的中断请求被响应,必须满足以下条件:
(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。
(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。
(3)该中断源的中断允许位=1,即该中断被允许。
(4)无同级或更高级中断正在被服务。
*定时器/计数器T1、T0的工作方式2有什么特点?适用于哪些应用场合?
答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用时就存在用指令反复装入计数初值影响定时精度的问题。
*THx与TLx(x =0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新?
答:THx与TLx(x = 0,1)是计数器,其内容可以随时用指令更改,但是更改后的新值要等当前计数器计满后才能刷新。
串口简答题(不一定会考)
在异步串行通信中,接收方是如何知道发送方开始发送数据的?
答:实质就是如何检测起始位的开始。
当接收方检测到RXD端从1到0的负跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?
答:有4种工作方式:方式0、方式1、方式2、方式3;
有3种帧格式,方式2和3具有相同的帧格式;
方式0的发送和接收都以fosc/12为固定波特率,
方式1的波特率=2SMOD/32×定时器T1的溢出率
方式2的波特率=2SMOD/64×fosc
方式3的波特率=2SMOD/32×定时器T1的溢出率
假定串行口串行发送的字符格式为1个起始位、8个数据位、1个奇校验位、1个停止位,请画出传送字符“B”的帧格式。
答:字符“B”的ASCII码为“42H”
ADDA(必考)
锯齿波:
ORG 2000H ;伪指令
START: MOV R0,#0FEH ;将立即数FEH给R0
MOV A,#00H ;将立即数0给A
LOOP MOVX @R0,A ;将A(00H)送到片外地址为FEH的单元(写入数据给DAC)
INC A ;A++
SJMP LOOP ;回到 将A送到片外地址为FEH的单元
三角波:(重点掌握)
ORG 2000H
START: MOV R0,#0FEH ;将立即数FEH送给R0
MOV A,#00H ;将立即数0给A
UP : MOVX @R0,A ;将A(00H)送到片外地址为FEH的单元
INC A ;A++
JNZ UP ;JNZ为A非零则转移,A到FFH后再加一为0
DOWN: DEC A ; A--,这里A=0H再减一就到FFH了
MOVX @R0,A ;将A(00H)送到片外地址为FEH的单元
JNZ DOWN
SJMP UP
方波:
org 2000h
start: mov r0,#0feh
loop: mov a,#230
mov @r0,a
lcall delay
mov a,#10
mov @r0,a
lcall delay
ajmp loop
ADC 0809的应用 100us
查询EOC,中断EOC接一个非门到P3.2
写信号:MOVX @DPTR,A
读信号:MOVX A,@DPTR
把8个通道轮流采集一遍
MAIN: MOV R1,#DATA ;置数据区首地址
MOV DPTR,#7FF8H ;DPTR高八位是P2口传输,P2.7为0
;且P0为F8H,就是11111000,CBA为0,指向通道0
MOV R7,#08H
LOOP: MOV @DPTR,A ;启动A/D转化,与A无关,使写信号有效
延时程序:
MOV R6,#0AH;
DELAY: NOP
NOP
NOP
DJNZ R6,DELAY //100us到,采集完毕
MOV A,@DPTR; 读取转换结果
MOV @R1,A ;存储转化结果
INC DPTR ;指向下一个通道
INC R1 ;修改数据区指针
DJNZ R7,LOOP ;8个通道采集完了吗?
中断EOC接一个非门到P3.2
ORG 0000H
SJMP MAIN
ORG 0003H
SJMP INIT1
参考程序:INIT1: SETB IT1;
SETB EA
SETB EX1
MOV DPTR,#7FF8H;
MOV A,#00H
MOV @DPTR,A
...其他任务
INIT1: MOV DPTR,#7FF8H;//CBA为0,指向通道0
MOV A,@DPTR //读
MOV @R1,A //存
MOV A,#00H
MOV @DPTR,A //再次启动A/D转化
RETI
数据传输(必考)
例:将片外RAM 120H单元的内容传送到片外RAM地址为78H的单元。
MOV DPTR,#0120H
MOVX A,@DPTR
MOV R0,#78H
MOVX @R0,A
这篇关于单片机原理期末考知识点、考题整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!