单片机原理期末考知识点、考题整理

2024-01-01 13:10

本文主要是介绍单片机原理期末考知识点、考题整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 控制器(CU)不包括(地址寄存器AR)
  2. 汇编语言的优点是执行速度快,占用内存少
  3. )是计算机所能表示的最小数据单元。
  4. 冯·诺依曼设计思想最重要之处在于明确地提出了(程序存储,顺序控制)的概念
  5. 通常中断入口地址处都放一条( 跳转指令 )跳向对应的 中断服务子程序。
  6. 两种低功耗节电工作模式:空闲模式和(掉电保持)模式。
  7. 堆栈是为子程序调用和( 中断 )操作而设,主要用来保护断点和现场
  8. 累加器A中“1”的个数是奇数,P的值为(1
  9. 按工作方式,内存可分为两大类:随机读写存储器和 只读存储器   
  10. 单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6
  11. 地址总线AB传送的是方向是单向,CPU到外部部件
  12. EA管脚为1的时候,(不直接)访问片外的程序存储器
  13. 空闲模式下的看门狗WDT(保持)继续工作
  14. (R0)=60H,(60H)=3EH,(A)=59H,执行完“XCHD  A,@R0”指令,则((A)=5EH,(60H)=39H
  15. MOV  C,40H是()寻址方式。
  16. CLR  30H  中的“30H”指的是:(位地址)
  17. 当(SP)=40H,(B)=10H时,执行指令POP Acc,(SP)=3FH
  18. 查表指令读取的都是(程序)存储器的值 。
  19. LCALL可调用(64)KB范围内程序存储器中的任何一个子程序。
  20. 指令通常由两部分组成:操作码和(操作数)。
  21. 执行RET指令时,SP的(地址)会加2
  22. 直接寻址不一定是访问片内特殊功能寄存器的唯一寻址方式。但是直接寻址是访问所有特殊功能寄存器的唯一寻址方式。因为(特殊寄存器有部分可位寻址
  23. 外部中断的触发方式有(下降沿触发)方式和(电平触发)方式。
  24. 需要进入软件清0中断请求标志位的是(RI)和TI)。
  25. 两个中断入口地址之间只相隔(8)字节
  26. ADC0809的地址口A、B、C的电平分别是0、0、1的时候,选择的通道是(IN4
  27. DAC0832芯片是具有(2)个输入数据寄存器的(8)位DAC。
  28. 多路的D/A转换要求同步输出时,必须采用(双缓冲)同步方式。
  29. DAC0832的建立时间大约是(1)us
  30. 在单片机应用系统中A/D主要分为的逐次比较型转换器和(双积分型)转换器

第二部分

  1. 执行返回指令后,返回的断点是调用指令的下一条的首地址

  1. 51单片机访问程序存储器时,所用的控制信号有:ALE、EA

  1. 区分单片机片外程序和数据存储器的最可靠方法:观察是与RD(外部数据存储读)信号连接还是PSEN信号(当从外部rom取指令时,psen就硬件置1)连接。

  1. 位定义指令BIT的作用是用于定义某特定位的标识符

  1. 若5个中断源同时发送请求,则PC的内容为0003H

  1. 可以为访问程序存储器提供或者构成地址的有A和DPTR

  1. DPTR(数据指针) PC(程序计数器

  1. 外部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

这篇关于单片机原理期末考知识点、考题整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/559346

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L

Mysql中InnoDB与MyISAM索引差异详解(最新整理)

《Mysql中InnoDB与MyISAM索引差异详解(最新整理)》InnoDB和MyISAM在索引实现和特性上有差异,包括聚集索引、非聚集索引、事务支持、并发控制、覆盖索引、主键约束、外键支持和物理存... 目录1. 索引类型与数据存储方式InnoDBMyISAM2. 事务与并发控制InnoDBMyISAM