端木老师 发表于 2021-3-5 10:37:11

大工20秋《单片机原理及应用》复习资料十七

单片机原理及应用辅导资料十七主    题:总复习(一)
学习时间:2020年7月20日--7月26日
“不忘初心、牢记使命”主题理论学习:
每周文摘:忠诚是共产党人必须具备的优秀品格。“忠诚印寸心,浩然充两间”的坚毅,“砍头不要紧,只要主义真”的无畏,腹中满是草根而宁死不屈的气节,食指钉入竹签而永不叛党的坚贞,无数先烈用鲜血诠释了对党的忠诚。对党忠诚必须是纯粹的、无条件的,是政治标准、更是实践标准,鲜明体现在坚决贯彻答案决策部署上。
摘选自《在第十九届中央纪律检查委员会第二次全体会议上的讲话》课程内容:
这周我们将复习本课程第1-3章的重点内容。一、学习要求
掌握单片机的基本结构;了解ARM内核的分类及特点;掌握IO端口、中断、定时器计数器的各自功能和应用特点了解数模转换器、串行通讯的功能;掌握指令系统中各种寻址方式的操作过程;二、主要内容
1. 单片机的定义
单片机:剪裁计算机的功能部件后在一块半导体硅片上集成如下部件的芯片称为单片机
1) 微处理器(CPU)
2) 存储器(RAM、ROM或EPROM)
3) 各种输入、输出接口 2.ARM内核系列
ARM公司开发了很多系列的ARM处理器核,应用比较多的是ARM7系列、ARM9系列、ARM10系列、ARM11系列、Intel的Xscale系列和MPCore系列,还有针对低端8位MCU市场最新推出的Cortex-M3系列,其具有32位CPU的性能、8位MCU的价格。

(1)ARM7系列
内核为冯-诺依曼结构,三级流水线,ARMv4指令集
ARM7TDMI第一款流行的ARM内核,提供了较好的性能-功耗比
ARM720T是ARM7内核中最具灵活性的成员
ARM7EJ-S处理器,可综合
(2)ARM9系列
存储器系统根据哈佛结构重新设计,具有5级流水线,区分了数据和指令总线
ARM920T仍然执行ARMv4T指令架构
ARM9E-S,执行v5TE架构指令。
—ARM946E-S针对有确定实时响应要求的嵌入式应用
ARM926EJ-S采用Jazelle技术(可加速java字节码的执行)
(3)ARM10系列
针对高性能应用,具有6条流水线,也可支持向量浮点单元(VFP)
ARM1020E包括增强的E指令,双64位总线接口
(4)ARM11系列
ARM1136J-S发布于2003年,是针对高性能和高能效应用而设计的。执行ARMv6架构指令的处理器。它集成了一条具有独立的load-store和算术流水线的8级流水线。
ARM1136JF-S就是为了进行快速浮点运算,而在ARM1136J-S增加了向量浮点单元。
(5)ARM Cortex系列
发布于2005年,根据应用和需求划分成整套系列的完整解决方案
Cortex-A:针对复杂OS和应用程序
Cortex-R:针对实时系统的嵌入式处理器
Cortex-M:针对价格敏感应用领域的嵌入式处理器3.ARM Cortex-M3内核简介
Cortex-M3内核特点
Cortex-M3内核采用ARMv7-M架构,Thumb2指令架构(ISA)子集
哈佛结构,同时读取/存储数据
三级流水线
单周期32位乘法器
硬件除法器
Thumb和Debug状态
Handler和Thread模式
处理器状态自动保存,可以缩短ISR进入和退出的延迟
可以打断和继续LDM/STM,PUSH/POP
支持ARMv6的BE/LE(大小端)
ARMv6不对齐访问4.定时器/计数器(TIMERS)
TIMERS的工作原理
①定时器的时基单元
计数器方向控制由TIMx_CR1中的DIR位控制
-递增计数,递减计数,中央对齐计数
溢出时产生更新事件
每次更新事件时刷新预分频寄存器和自动重载寄存器
更新事件和寄存器刷新受控
②时钟源及从模式选择
每个定时器有8个触发源(TRGI)
4个内部触发源(ITR0-ITR3)
TI1的边沿检测器(TI1F_ED)
滤波后的定时器输入1和2(TI1FP1和TI1FP2)
外部触发输入(ETRF)
③捕获比较通道
(2)TIMERS的主要寄存器
①控制寄存器(TIMx_CR1)

    APRE:自动重装载预装载允许位
0:TIMx_ARR重载无缓冲;1:TIMx_ARR被装入缓冲器
DIR:    方向控制位
0:计数器向上计数;1:计数器向下计数
OPM:单脉冲方式
0:发生更新事件时计数不停止; 1:在发生更新事件时,计数停止
UDIS:禁止更新
0:允许更新事件;1:禁止更新事件
CEN:使能计数器
0:禁止计数器;1:使能计数器
②控制寄存器(TIMx_CR2)

MMS:主模式选择
000:复位 001:使能 010:更新 011:比较脉冲 100-111:比较-OCxREF被用于作为触发输出
CCDS:捕获/比较的DMA选择
0:当发生CCx事件时,送出CCx的DMA请求
1:当发生更新事件时,送出CCx的DMA请求
③状态寄存器(TIMx_SR)

    CCxOF:捕获/比较x重复捕获标志
TIF:触发器中断标志
0:无触发器事件产生;1:触发器中断等待响应
CCxIF:捕获/比较中断标志
CCx配置为输出模式;CCx配置为输入模式
UIF:更新中断标记(硬件置1,软件清0)
④预分频器(TIMx_PSC)
⑤自动重载寄存器(TIMx_ARR)

⑥DMA/中断使能寄存器(TIMx_DIER)

TDE:允许触发DMA请求
0:禁止触发DMA请求;1:允许
CCxDE:允许捕获/比较x的DMA请求
0:禁止;1允许
UDE:允许更新的DMA请求
TIE:触发中断使能
CCxIE:允许捕获/比较x的中断请求
UIE:允许更新中断
⑦DMA控制寄存器(TIMx_DCR)

DBL:DMA连续传送长度
0000:1字节 … … 最大10001:18字节
DBA:DMA基地址
00000:TIMx_CR1 DBA地址从此开始
⑧事件产生寄存器(TIMx_EGR)

TG:产生触发事件(软件置1,硬件清0)
0:无动作;1:TIMx_SR中的TIF=1
CCxG:产生捕获/比较x事件
0:无动作;1:产生一个捕获/比较事件
UG:产生更新事件(软件置1,硬件清0)
0:无动作;1:重新初始化计数,并产生一个更新事件(预分频器也清零)
⑨捕获/比较使能寄存器(TIMx_CCER)

CC1E:输入/捕获1输出使能
CC1通道为输出 0:关闭输出;1:OC1输出到引脚
CC1通道为输入 0:捕获禁止;1:捕获使能
CC1P:输入/捕获1输出极性
CC1通道为输出 0:高电平有效;1:低电平有效
CC1通道为输入 0:不反相,捕获发生在上升沿;1:反相5.模数转换器(ADC)
主要特点
12位分辨率
转换结束、注入转换结束和模拟看门狗事件可以产生中断
支持自动扫描模式
自校准
规则转换和注入转换均有外部触发选项
间断模式
最快转换速度可以达到1uS
规则转换可以产生DMA请求
模拟看门狗
影响AD转换精度的因素
电源随负载变化,不稳定
采用单独的精确参考电压
模拟输入信号噪声
平均值方法
外部滤波器
信号幅度与ADC动态范围匹配
IO引脚间的串扰
模拟信号源阻抗
尽量避免在模拟输入引脚上出现负输入电流
①ADC状态寄存器(ADC_SR)

AWD:模拟看门狗标志位
0:没有发生模拟看门狗事件;1:发生
EOC:转换结束位
0:转换未完成;1:由硬件在通道组转换完成时置1
JEOC:注入通道转换结束位
0:转换未完成;1:有硬件在所有注入通道转换完成时置1
JSTRT:注入通道开始位
0:注入通道组转换未开始;1:转换开始
STRT:规则通道开始位
0:规则通道组转换未开始;1:转换开始
②ADC控制寄存器(ADC_CR1)

DISCNUM:收到外部触发后转换规则通道数目
JDISCEN/DISCEN:
0:注入/规则通道组上禁止间断模式;1:开启间断模式
JAUTO:自动的注入通道组转换
SCAN:扫描模式
EOCIE:允许产生EOC中断
③ADC控制寄存器2(ADC_CR2)

TSVREFE:温度传感器和VREFINT使能
SWSTART:开始转换规则通道
JSWSTART:开始转换注入通道
ALIGN:数据对齐
0:右对齐;1:左对齐
RSTCAL:复位校准
0:校准寄存器以初始化;1:初始化校准寄存器
CAL:AD校准
CONT:连续转换
ADON:开启AD转换器
ADC采样时间寄存器1(ADC_SMPR1)

ADC采样时间寄存器2(ADC_SMPR2)

ADC规则序列寄存器1(ADC_SQR1)

L:规则通道序列长度
0000:1个转换 … 1111:16个转换
SQ16:规则序列中第16个转换 (0-17)6.串行通讯(USART)
通用同步异步收发器(USART)提供一种灵活的方法与符合工业标准NRZ异步串行数据格式的外设进行全双工数据交换。
同时支持同步单向通讯和半双工单线通讯,也支持LIN(局域互联),智能卡协议和IrDA(红外数据组织)以及调制解调操作,和多处理器通讯。
可以使用多缓冲器配置的DMA方式,实现高速通讯。
①状态寄存器(USART_SR)

CTS:CTS标志LBD:LIN断开检测 NE:噪声错误标志 FE:帧错误标志
TXE:发送数据寄存器空
当TDR寄存器的数据被硬件转移到移位寄存器的时候,由硬件置位,可以通过操作USART_DR寄存器清除此位
TC:发送完成
当包含数据的一帧发送完,TXE=1,有硬件置位,由软件序列清除(先读USART_SR,然后写入USART_DR)
RXNE:读数据寄存器非空
当RDR移位寄存器中数据转移到USART_DR寄存器中,由硬件置位,通过读USART_DR清除此位
IDLE:总线空闲监测
ORE:过载错误
PE:校验错误
②数据寄存器(USART_DR)

③波特率发生器(USART_BRR)

④控制寄存器1(USART_CR1)

UE:USART使能
0:USART分频器和输出被禁止 1:USART使能
M:字长
0:1位起始位,8位数据位,n个停止位 1:9位数据位
WAKE:唤醒方式
0:被空闲总线唤醒1:被地址标记唤醒
PCE:校验控制使能PS:校验选择 0-偶校验 1-奇校验
PEIE,TXEIE,TCIE,RXNEIE,IDLEIE
TE:发送使能RE:接收使能
RWU:接收唤醒
SBK:发送断开帧
⑤控制寄存器2(USART_CR2)

LINEN:LIN模式使能
STOP:停止位个数
CLKEN:时钟使能
CPOL:时钟极性CPHA:时钟相位
LBCL:最后一位时钟脉冲
LBDIE:LIN断开符监测中断使能
LBDL:LIN断开符监测长度
ADD:被设备的USART节点地址
⑥控制寄存器3(USART_CR3)

DMAT:DMA使能发送
DMAR:DMA使能接收7.80C51的寻址方式
寻址方式就是寻找操作数或指令的地址的方式。
80C51的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。这些寻址方式所对应的寄存器和存储空间如表1所示。
表1 寻址方式所对应的寄存器和存储空间

(1)寄存器寻址
操作数存放在寄存器中,指令中直接给出该寄存器名称的寻址方式。采用寄存器寻址可以获得较高的传送和运算速度。
在寄存器寻址方式中,用符号名称表示寄存器。在形成的操作码中隐含有指定寄存器的编码。
采用寄存器寻址的寄存器有:
工作寄存器R0~R7;
累加器A(注:使用符号ACC表示累加器时属于直接寻址);
寄存器B(以AB寄存器对形式出现);
数据指针DPTR。
(2)直接寻址
指令操作码之后的字节存放的是操作数的地址,操作数本身存放在该地址指示的存储单元中的寻址方式称为直接寻址。
采用直接寻址的存储空间为:
片内RAM低128字节(以地址形式表示);
SFR(以地址或SFR的符号形式表示,但符号将转换为相应的地址)。
(3)寄存器间接寻址
寄存器中的内容为地址,从该地址去取操作数的寻址方式称为寄存器间接寻址。
寄存器间接寻址对应的空间为:
片内RAM(采用@R0,@R1或SP);
片外RAM(采用@R0,@R1或@DPTR)。
(4)立即寻址
指令编码中直接给出操作数的寻址方式称为立即寻址。在这种寻址方式中,紧跟在操作码之后的操作数称为立即数。立即数可以为一个字节,也可以是两个字节,并要用符号“#”来标识。由于立即数是一个常数,所以只能作为源操作数。
立即寻址所对应的寻址空间为:
ROM空间。
(5)变址寻址
以一个基地址加上一个偏移量地址形成操作数地址的寻址方式称为变址寻址。在这种寻址方式中,以数据指针DPTR或程序计数器PC作为基址寄存器,累加器A作为偏移量寄存器,基址寄存器的内容与偏移量寄存器的内容之和作为操作数地址。
变址寻址所对应的寻址空间为:
ROM空间(采用@A+DPTR,@A+PC)。
(6)相对寻址
相对寻址是以程序计数器PC的当前值(指读出该2字节或3字节的跳转指令后,PC指向的下条指令的地址)为基准,加上指令中给出的相对偏移量 rel 形成目标地址的寻址方式。
(7)位寻址
对位地址中的内容进行操作的寻址方式称为位寻址。采用位寻址指令的操作数是8位二进制数中的某一位。指令中给出的是位地址。位寻址方式实质属于位的直接寻址。
位寻址对应的寻址空间为:
片内RAM的20H~2FH单元中的128可寻址位;
SFR的可寻址位。
习惯上,特殊功能寄存器的寻址位常用符号位地址表示。
例如:CLR ACC.08.数据传送类指令(29条)
传送类指令占有较大的比重。数据传送是进行数据处理的最基本的操作,这类指令一般不影响标志寄存器PSW的状态。
传送类指令可以分成两大类。一是采用MOV操作符,称为一般传送指令;二是采用非MOV操作符,称为特殊传送指令,如:MOVC、MOVX、PUSH、POP、XCH、XCHD及SWAP。
(1)一般传送
①16位传送
这条指令的功能是将源操作数data16(通常是地址常数)送入的操作数DPTR中。源操作数的寻址方式为立即寻址。
例如执行指令 MOVDPTR,#1234H 后,(DPH)=12H,(DPL)=34H。
②8位传送
8位的传送指令属于字节传送,指令完成的任务是将源字节内容拷贝到目的字节,而源字节的内容不变。通用格式为:MOV<目的字节> ,<源字节>。
由于在5种源字节中,只有#data不能用做目的字节。所以可以用4种目的字节为基础构造4类指令。相应的源字节选择依据是:源字节与目的字节不相同(除direct外);寄存器寻址与寄存器间接寻址间不相互传送。
(2)特殊传送指令
特殊传送指令的操作符为: MOVC、MOVX、PUSH、POP、XCH、XCHD和 SWAP。
功能分别为:ROM查表、外部RAM读写、堆栈操作和交换指令。
ROM查表
DPTR内容为基址
该指令首先执行16位无符号数加法,将获得的基址与变址之和作为16位的程序存储器地址,然后将该地址单元的内容传送到累加器A。指令执行后DPTR的内容不变。
PC内容为基址
取出该单字节指令后PC的内容增1,以增1后的当前值去执行16位无符号数加法,将获得的基址与变址之和作为16位的程序存储器地址。然后将该地址单元的内容传送到累加器A。指令执行后PC的内容不变。
读写片外RAM
读片外RAM
MOVXA,@DPTR;A ←((DPTR))。该指令以16位DPTR为间址寄存器读片外RAM,可以寻址整个64K字节的片外RAM空间。指令执行时,在DPH中的高8位地址由P2口输出,在DPL中的低8位地址由P0口分时输出,并由ALE信号锁存在地址锁存器中。
MOVXA,@Ri;A ←((Ri)。该指令以R0或R1为间址寄存器,也可以读整个64K字节的片外RAM空间。指令执行时,低8位地址在R0或R1中由P0口分时输出,ALE信号将地址信息锁存在地址锁存器中(多于256字节的访问,高位地址由P2口提供)。
读片外RAM的MOVX操作,使P3.7引脚输出的信号选通片外RAM单元,相应单元的数据从P0口读入累加器中。
写片外RAM
MOVX@DPTR,A;((DPTR))←(A)。该指令以16位DPTR为间址寄存器写外部RAM,可以寻址整个64K字节的片外RAM空间。指令执行时,在DPH中高8位地址由P2口输出,在DPL中的低8位地址,由P0口分时输出,并由ALE信号锁存在地址锁存器中。
MOVX@Ri,A;((Ri))←(A)。该指令以R0或R1为间址寄存器,也可以写整个64K字节的片外RAM空间。指令执行时,低8位地址在R0或R1中由P0口分时输出,ALE信号将地址信息锁存在地址锁存器中(多于256字节的访问,高位地址由P2口提供)。
写片外RAM的“MOVX”操作,使P3.6引脚的信号有效,累加器A的内容从P0口输出并写入选通的相应片外RAM单元。   
③堆栈操作
堆栈是在内部RAM中按“后进先出”的规则组织的一片存储区。此区的一端固定,称为栈底;另一端是活动的,称为栈顶。栈顶的位置(地址)由栈指针SP指示(即SP的内容是栈顶的地址)。在80C51中,堆栈的生长方向是向上的(地址增大)。
系统复位时,SP的内容为07H。通常用户应在系统初始化时对SP重新设置。SP的值越小,堆栈的深度越深。
PUSHdirect;SP ←(SP)+ 1,(SP)←(direct)。
POPdirect;direct←((SP)),SP ←(SP)-1。
例如:若(SP)=07H,(40H)=88H,执行指令 PUSH40H 后,(SP)=08H,(08H)=88H。若(SP)=5FH,(5FH)=90H,执行指令 POP70H 后,(SP)=5EH,(70H)=90H。
④数据交换
对于单一的MOV类指令,传送通常是单向的,即数据是从一处(源)到另一处(目的)的拷贝。而交换类指令完成的传送是双向的,是两字节间或两半字节间的双向交换 。
字节交换
例如:若(R0)=80H,(A)=20H。执行指令 XCHA,R0 后,(A)=80H,(R0)=20H。
半字节交换
XCHD指令的功能是间址操作数的低半字节与A的低半字节内容互换。
SWAP指令的功能是累加器的高低4位互换。
例如:若(R0)=30H,(30H)=67H, (A)=20H。执行指令 XCHDA,@R0 指令后,(A)=27H,(30H)=60H。若(A)=30H,执行指令SWAPA后,(A)=03H。三、习题
(单选题)
1.80C51单片机是(    )位单片机。
A.4            B.8            C.16         D.322. 以下(    )不是构成单片机的部件。。
A.微处理器(CPU)
B.存储器
C.接口适配器(I/O接口电路)
D.打印机3.ARM处理器是(    )位微处理器。
A.4            B.8            C.16         D.324.TIMx_EGR是(    )。
A.控制寄存器
C.自动重载寄存器
B.状态寄存器
D.事件产生寄存器5. 关于模数转换器(ADC)说法错误的是(   )。
A.10位分辨率
B.支持自动扫描模式
C.最快转换速度可以达到1uS
D.规则转换可以产生DMA请求6. 关于状态寄存器(USART_SR)说法正确的是(   )。
A. TXE为发送数据寄存器非空位
B. RXNE为读数据寄存器空位
C. IDLE为过载错误位
D. PE为校验错误位7.指令编码中直接给出操作数的寻址方式是(   )。
A.寄存器寻址   B.直接寻址   C.寄存器间接寻址    D.立即寻址8.指令“MOV A,@R0”采用的寻址方式是(   )。
A.寄存器寻址   B.直接寻址   C.寄存器间接寻址    D.立即寻址9. 设原累加器A中的内容为D7H,执行MOV A,#09H后,A中为(   )。
A.00H         B.09H         C.D7H         D.D9H10. 设原来A中的内容为C8H,R0中内容为65H,内部RAM 65H单元中内容为55H,则执行MOV A,@R0后A的内容变为(   )。
A.55H          B.65H         C.C8H         D.00H11.设R1=30H,(30H)=26H,A中内容为0,则执行指令MOV@R1,A后,30H中内容为(   )。
A.26H          B.30H         C.56H         D.012.当(SP)=62H,(62H)=70H,则执行指令POPA后,(SP)=(   )。
A.61H          B.62H      C.63H       D.70H13.设原来SP中内容为43H,90H单元内容为34H,则执行PUSH90H指令后,SP中内容变为(   )。
A.42H          B.43H         C.44H         D.34H【习题答案】
(单选题)
1、B   2、D   3、D   4、D   5、A   6、D   7、D   8、C   9、B   
10、A   11、D   12、A   13、C转载注明无忧答案网QQ 761296021
页: [1]
查看完整版本: 大工20秋《单片机原理及应用》复习资料十七