单片机复习
时间:2022-11-10 08:30:00
单片机复习
选择题
计算机在为哪些功能部件? A、运算器 B、控制器 C、存储器 D、输入设备 E、输出设备 答案: ABCDE
计算机内存分为: A、U盘 B、内存 C、外存 D、高速缓存 E、寄存器 答案: BCDE
CC2530是 A、8051工业标准增强MCU B、性能优异RF收发器 C、ZigBee协议栈(Z-Stack) D、提供强大而完整的ZigBee解决方案 答案: ABCD
CC2530使用的IDE是 A、KEIL B、GCC C、IAR D、JAVA 答案: C
IAR创建工程的步骤: A、创建C文件 B、将C文件添加到项目中 C、将代码段添加到C文件中 D、运行C文件 答案: ABC
IAR对CC2530工程配置包括 A、
芯片选择 B、堆栈配置 C、HEX文件配置 D、调试工具配置 答案: ABCD
IAR编译后代码如何在2530上运行? A、编译 B、仿真 C、下载 D、固化 答案: C
在IAR哪个菜单是重生项目? A、Rebuild All B、Download and Debug C、Compile D、Make 答案: A
下列哪些对CPU输入设备是输入设备 A、键盘、鼠标 B、触摸屏 C、LED灯 D、测光设备 E、摄像头 答案: ABDE
输出开关信号可以实现以下哪些设备控制? A、关闭智能窗帘 B、灯具的开关 C、蜂鸣器的声音 D、转停洗衣机电机 E、电视图像 答案: ABCD
GPIO每个引脚都可以配置为∶ A、输入模式 B、输出模式 C、高阻态模式 D、强驱动模式 答案: ABC
GPIO操作中涉及的寄存器: A、相应的方向寄存器位于输入/输出模式 B、设置功能寄存器的相应位置IO/外设模式 C、输出功能可以改变端口寄存器的电平状态 D、端口寄存器输入功能读取电平状态 答案: ABCD
有中断触发的方法 A、高电平触发 B、低电平触发 C、上升沿触发 D、下降沿触发 按钮: ABCD
主程序中没有调用中断服务程序 A、调用 B、没调用 答案: B
ADC转换性能指标包括 A、采样频率 B、分辨率 C、转换精度回 D、量化误差 答案: ABCD
ADC控制寄存器 A、APCFG B、ADCH和ADCL C、ADCCONn D、ADCTM 答案: C
定时器的功能和功能 A、定时 B、计数 C、PWM输出 D、比较 E、捕获 答案: ABCDE
CC2530单片机有多少定时器? A、1 B、2 C、3 D、4 答案: D
定时器1的控制寄存器是 A、T1CTL B、T1STAT C、T1CNTH和T1CNTL D、T1CCTnL和T1CCnH 答案: A
标准串口是指 A、UART B、RS232 C、RS485 D、RS422 答案: B
USART通信特点: A、指数据一一传递 B、通信线路简单 C、异步通信不需要同步 D、传输速度较慢 答案: ABCD
串口通信时需要配置的参数有 A、波特率 B、校验方式 C、数据位长度 D、停止位 答案: ABCD
DMA数据传输需要通过数据传输CPU A、正确 B、错误 答案: B
DMA通过寄存器直接配置直接配置 A、正确 B、错误 答案: B
物联网领域电源管理技术的主要目的是 A、高可靠性 B、高稳定性 C、低功耗 D、高实时性 答案: C
可分为电源管理技术 A、低功耗技术的硬件芯片 B、能耗低,功耗低 C、软件设计低功耗技术 D、系统运行功耗低 答案: AC
CC在2530提供的五种运行模式中,最低功耗模式是 A、PM1 B、PM2 C、PM3 D、空闲模式 E、主动模式 答案: C
温度传感器通过热辐射测量: A、接触式 B、非接触式 C、膨胀温度计 D、电阻温度计 答案: B
从原理上可以分为温度传感器 A、金属热电阻 B、半导体热敏电阻 C、半导体二极管、三极管 D、热电偶 E、吸收光纤、折射光纤 答案: ABCDE
焊接两个不同成分的导体的两端,当两个结点在不同温度下时,热电位和相应的电流将在电路中形成。该温度传感器为: A、金属热电阻 B、半导体热敏电阻 C、半导体二极管、三极管 D、热电偶 E、吸收光纤、折射光纤 答案: D
湿度传感器按电量分为: A、电阻式 B、电容式 C、陶瓷式 D、频率式 答案: ABD
湿度传感器按湿敏材料分为: A、电解质 B、陶瓷 C、高分子 D、半导体 答案: ABCD
HTU21D型温湿度传感器 A、输出信号为数字量 B、通信总线为IIC C、存储在芯片中的电子识别码 D、可调节分辨率 答案: ABCD
STM32的GPIO的状态有 A、输入状态 B、输出状态 C、高阻态 D、输入输出状态 答案: ABC
STM32初始化结构成员包括 A、使用管脚配置 B、配置输入输出模式 C、配置开关速度 D、配置驱动模式 E、配置上下拉模式 答案: ABCDE
GPIO需要传递参数的初始化函数 A、GPIO的端口名 B、GPIO的管脚号 C、GPIO结构体变量的初始化 D、GPIO输入输出模式 答案: AC
STM32的GPIO读写管脚位数据的函数是 A、GPIO_ReadOutputDataBit B、GPIO_Write C、GPIO_SetBits D、GPIO_ResetBits E、GPIO_ReadOutputData 答案: ACD
解答题
-
单片机基础(含义、组成、应用、特征、嵌入式关系)
-
含义
一个小而完美的微型计算机系统集成在单芯片上
-
组成
一般由集成CPU(计算器、控制器、功能寄存器等。)存储器,输入\输出接口等重要功能部件
操作员的功能:算术操作和逻辑操作
控制器功能:取指,对指令编译测试,控制数据流动方向
-
应用
节能控制、智能语音设备、消防设备、医疗设备
-
特点
集成度高,体积小,控制功能强,携带方便,性价比高
-
与嵌入式关系
单片机是嵌入式嵌入式系统的一部分。嵌入式系统是嵌入对象系统中执行独立功能的专用计算机系统,单片机是单片微型计算机.嵌入式系统是大类,单片机是重要的子类之一
-
-
CC2530和STM32差异
从硬件上:
CC2530:由CPU与内存、时钟与电源管理、片上外设、无线射频接收器。
STM32:主系统由 32 位多层 AHB 主控总线之间的访问仲裁管理采用总线矩阵仲裁管理。
CC2530功耗低,基于51内核.
STM32功耗高,采用ARM架构
开发软件:CC2530采用IAR for 8051 .STM32采用IAR for ARM
-
寄存器操作:如何在不影响其他人的情况下,将某些寄存器赋值为0或1
寄存器的高四和第四位都遵循8421,所以当每个都是1时,高四:8 4 2 1=15.相应的16进制为F,同样,第四位十六进制也是如此F,最后的值为0xFF
因此,有必要改变寄存器中的一些人,让他们加入他们的高四和第四个,以实现
例如:
将第n,m在不改变其他位置的情况下,将位置设置为1:
P1DIR |= (1<
将第n,m在不改变其他位置的情况下,将位置设置为0:
P1DIR &= (~(1<
(| 按位或 1010 & 1100 = 1110)
(& 按位与 1010 & 1100 = 1000)
-
GPIO
微处理器通用输入/输出接口,微处理器通过向GPIO控制寄存器写入数据可以控制GPIO口输入/输出模式,实现对某些设备的控制和信号采集的功能;另外也可以将GPIO进行组合配置,实现较为复杂的总线控制接口和串行通信接口。
作用:
控制引脚高低电平
编程要点:
GPIO_Port和GPIO_Pin(端口功能选择 端口方向设置)
GPIO端口初始化时,需要下面的步骤:
使能GPIO时钟,RCC_APB2PeriphClockCmd。
设置GPIO参数:输出OR输入,工作模式,端口翻转速率;
调用初始化函数:GPIO_Init
使用GPIO。
-
ADC
模数转换器。
作用:
将连续变化的模拟信号转换为离散的数字信号。
编程要点 :
初始化系统时钟
进行ADC的配置
启动ADC转化
等待ADC转化结束
将取得的最终转化结果存入value中
循环进行 -
中断
中断指微处理器在执行某段程序的过程中由于某种原因,暂时中止原程序的执行,转去执行相应的处理程序,在中断服务程序执行完后,再回来继续执行被中断的原程序的过程。
中断触发过程:中断源发出中断请求->中断响应->中断服务->中断返回
作用:
对外部事件做出快速响应
实时处理
故障处理
实现人机交互
编程要点:
计数/定时器0中断(TF0)
计数/定时器1中断(TF1)
外部中断0中断(IE0)
外部中断1中断(IE1)
串行接口中断(TI/RI)
-
中断服务函数
中断服务函数不能传入参数;
中断服务函数不能有返回值;
中断服务函数应做到短小精悍;
不要在中断函数中使用printf函数,会带来重入和性能问题
-
定时器
定时/计数器是一种能够对时钟信号或外部输入信号进行计数,当计数值达到设定要求时便向CPU提出处理请求,从而实现定时或计数功能的外设。在单片机中,一般使用Timer表示定时计数器。
作用:
定时器:延时或定时控制,输入为内部时钟信号
计数器:对外界事件计数,输入为外部开关信号,可用于生产线产品计数信号数量统计和转速测量等方面
脉冲宽度调制(PWM 输出功能):根据设定的周期和占空比从 I/O 端口输出控制信号,一般用来控制 LED 亮度或电机转速。
编程要点:
T1CNTH、T1CNTL
计数器达到最终计数值(溢出或回到零)
输入捕获事件
输出比较事件
-
WDT(Watch Dog Timer)
看门狗,是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。
作用:
防止程序发生死循环,或者说程序跑飞。
-
DMA
直接存储器访问
作用:
在没有CPU干预的情况下实现存储器与外围设备、存储器与存储器之间的数据交换,从而可以使CPU从大量的数据交换、慢速的设备访问和分散数据收集中解放出来,最终加快了存储器之间的大量数据的交换,大大提高了CPU的利用率。
编程要点:
源地址: DMA 通道要传送的数据块的首地址
目标地址: DMA 通道要写数据的首地址,须确认该目标地址可写
传送长度:DMA 要传送的数据长度。长度也可用 VLEN设置
可变长度(VLEN): 利用源数据中的第一个字节或字
优先级别:与 CPU、其他 DMA 通道和访问端口相关
流程:配置DMA,启用配置,开启DMA传输,等待DMA传输完毕.
-
串口
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口
作用:
进行两线制通信,通过电平转换(MAX232)可与计算机通信,也可单片机间相互通信
编程要点:
串口配置:
(1)需要通过P0SEL寄存器将管脚属性配置为外设模式;
(2)通过PERCFG配置寄存器选择要配置的串口通道
(3)选择P0为串口优先并将双线总线模式配置为串口模式,
(4)配置串口波特率停止位和奇偶校验位。
(5)串口中断配置,并打开中断(可选)
接收数据:
对接收状态寄存器位URX0IF进行识别,如果接受到数据,则可直接从U0DBUF寄存器中获取接收到的数据。
发送数据:
首先向U0DBUF寄存器写入要发送的值,然后等到UTX0IF寄存器置位,如果置位则数据发送完成。
-
单片机 物联网 嵌入式三者关系
单片机:
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统.
物联网:
物联网(Internet of Things,简称IOT)是指通过 各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化 学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。
嵌入式:
以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统,嵌入式系统作为装置或设备的一部分,它是一个控制程序存储在ROM中的嵌入式处理器控制板。
单片机是单片微控制器,根据实际需求把一个计算机系统集成到一个芯片上,应用于嵌入式系统,叫做嵌入式系统技术。嵌入式系统一般处理器更强大,通常具有操作系统。单片机、嵌入式系统都可以成为物联网的一部分.
-
部分问答题
-
什么叫单片机?
单片机是指一个集成在一块芯片上的完整计算机系统
-
什么叫嵌入式系统?
用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统
-
单片机特点?
低功耗,低电压,便于生产便携式产品。
有优异的性能价格比
集成度高,体积小,可靠性好
控制能力强
易扩展
-
AD转换怎么转换的?
采样:把时间连续变化的信号变换为时间离散的信号
保持:保持采样信号,使有充分时间转换为数字信号
量化:把采样保持电路的输出信号用单位量化电压的整数倍表示
编码:把量化的结果用二进制代码表示
-
总线将计算机若干功能部件连接起来
-
什么是接口技术?
接口技术是微处理器CPU连接外部部件的技术
-
开关信号可以用CPU输出高低电平来实现。
-
CC2530编程中P1DIR&=~Ox06的作用
将寄存器P1DIR第3位和第2位设置为0,其余位不变
-
现有一蜂鸣器,连到P1端口的2引脚上,请完成其端口的配置代码,输出声音及停止声音的代码
P1_2上面接入一个按键,请写出对应中断使能代码。
IEN2 |= 0x10; //端口1中断使能 P1IEN |= 0x04; //端口P1_2外部中断使能
P1_2上面接入一个按键,请写出配置下降沿触发的代码。
PICTL |= 0x02; //端口P1_2下降沿触发
-
如何获取ADC转换结果?
通过读取ADC存储转换结果的数据高低位寄存器ADCH和ADCL
-
如设置波特率为38400,则需设置的寄存器为U0GCR=10 , U0BAUD=59
-
编程题
-
GPIO
编程实例:LED灯初始化: void led_io_init(void) { P1SEL &= ~0x03; //端口功能选择 通用IO功能 &按位与 0 P1DIR |= 0x03; //端口方向选择 置1输出 置0输入 |按位或 1 LED2 = OFF; LED1 = OFF; }
-
中断服务函数
编程实例: #pragma vector = P1INT_VECTOR _interrupt void P1_ISR(void) { EA = 0; //关中断 If((P1IFG & 0x04) > 0) //按键中断 { P1IFG &= ~0x04; //中断标志清0 delay_ms(10); //按键防抖 if(KEY1 == ON) //判断按键按下 { LED2 = ~LED2; //翻转LED2 LED1 = ~LED1; //翻转LED1 } } EA = 1; //开中断 }
-
中断初始化
编程实例: void ext_init(void) { IEN2|= 0x10; //端口1 中断使能 P1IEN |= 0x04; //中断屏蔽(引脚使能)使能P1_2引脚 P1CTL |= 0x02; //端口中断控制 触发方式 0:上升 1:边沿 EA=1; //总中断 }
-
串口
编程实例: 串口始化程序: void uart0_init(unsigned char StopBits,unsigned char Parity) { P0SEL |= 0x0C; //初始化UART0端口 PERCFG &= ~0x01; //选择UART0为可选位置一 P2DIR &= ~0xC0; //P0优先作为串口0 U0CSR = 0xC0; //设置为UART模式,而且使能接受器 U0GCR = 0x0A; U0BAUD = 0x3B; //波特率设置为38400 U0UCR |= StopBits|Parity; //设置停止位与奇偶校验 }