单片机原理及其应用试题(含答案)

目    录

选择题

填空题

简答题

编程题


 选择题

        1. Arduino UNO 到底是什么类型控制器,单片机,单板机,PLC,或其他?它的具体主控芯片型号是什么?

        单板机(本质上是一个单片机的开发板)、ATmega328P、有电解电容

        2. 到底 IDE 上传到 Arduino UNO 上的内容是什么?机器码,伪码,或其他?

        机器码、二进制

        3. Arduino IDE 的全称是什么?

        全称为 Integrated Development Environment

        4. Arduino Uno 的外部电压输入范围是多少?

        Arduino Uno R3 的工作电压为 5V,官方推荐的输入电压为 7-12V,输入电压极限为 6-20V;输出电压范围 0~5V、外置电源供电压是弱电压,若电机电流不够用,使用功率放大器。

        5. 开发套件中的面包板到底有什么作用?

        (长方体型)扩展作用(800400170 孔)

        6. Arduino 的 loop 函数和 setup 函数通常存放什么内容的代码?

        setup 函数中放初始化代码(①用来初始化变量、②管脚模式、调用库函数)、loop 函数中放执行(完成程序的主要功能)代码——主控逻辑

        7. LED、喇叭、数码管等都需要串联一个电阻,为什么?它们的阻值通常为多大

数值?        

        原因:长期在 5V 环境下,容易烧坏;电阻阻值为 220Ω

        8. 碰撞检测通常用什么传感器?距离检测呢?

        碰撞检测使用加速度传感器、距离检测可以使用超声波测距

        9.电机驱动电路通常什么类型的电路?常见的电机驱动芯片有哪些?

        H 桥式(全桥)电路、LM298 驱动 ICULN2003 步进电机驱动板、半桥驱动芯片  BTS7960  搭成全桥驱动(43AMC33886最大驱动电流 5A、内阻大)

填空题


         1. Arduino Uno 中主控芯片的外观是什么形状的? 长方形

        2. Arduino 是哪个国家进行原始开发的?                        意大利

        3. Arduino 的开发语言是什么?       C/C++语言

        4. Arduino IDE 中的 Upload 上传代码是通过什么类型通信口与 Arduino 传递数据?                            类型通信口:USB 接口

        5. Arduino 编程中的注释有哪些形式?                                                                          

        注释形式// 针对 C、C++、C#、JAVA。行注释://;块注释:/*注释*/

        6. 哪种类型蜂鸣器更适合制作警车、消防车、急救车等发出的声音?

        无源蜂鸣器 tone(Pin, frequency, duration; noTone(Pin).

        7. Arduino 编程时,初始化语句通常放在哪个函数中?主控逻辑应该放在哪里呢?

        初始化语句放在 setup 函数中、主控逻辑放在 loop 函数中

        8.单片机到底能够识别的内容格式是什么?二进制、八进制、十进制、十六进制,或其他?                                                                            二进制编码内容

        9. Arduino 中的 IDE 到底具备哪些功能?

        主要用于 Arduino 程序的编写、开发和烧录;拥有开放源代码的电路图设计、支持 ISP 在线烧录,同时支持 FlashMax/MspVVVVPDCProcessing 等多种程序兼容的特点;代码自动提示,有函数查询功能

        10.双轮小车的转向操作通常是采用什么方式?        伺服电机(舵机)、差速转弯

        11.小车在地面循迹运行时,应该使用什么类型的传感器?

        红外传感器、磁带传感器、摄像头传感器

        12.电机驱动芯片到底给电机带来了什么?

        步进驱动器是驱动步进电机运行的功率放大器,它能接收控制器(plc/单片机等)发送来的控制信号并控制步进电机转过相应的角度/步数。 

        13. 脉宽调制比的作用和英语全称、缩写、以及在 Arduino Uno 的引脚编号?

        Pulse-Width ModulationPWM35691011

        14. Arduino 中实现舵机与引脚连接的函数应该是什么?实现转动的函数是什么? 实现转动的代码是什么?

        myservo.attach(9); myservo.write(30)——旋转到 30°

        15. 杜邦线的类型有哪些?杜邦线的作用是什么?

        杜邦线有公线和母线之分;类型:公公线、公母线、母母线; 作用:电路实验中作为导线进行连接。

        16. Arduino 中串口输入、输出的引脚是什么?如果两个 Arduino 板子进行串口互联通信,该怎么接线?如果 Arduino 与外部执行设备进行串口通信,该怎么接线?

        I/O 接口 P0(RX)P1(TX);两块板接线串口通信;②电源给单片机供电, 将两块板子的 P0(RX)P1(TX)交叉联接;ⒸArduino 与外部执行设备进行串口通信:

        17. 何对无源蜂鸣器编程,如何对有源蜂鸣器编程?核心代码是什么?

/*有源蜂鸣器*/
int beep=5; 
void setup(){
  pinMode(beep,OUTPUT); 
  pinMode(13,OUTPUT);
}

void loop(){ 
  digitalWrite(beep,HIGH);
  igitalWrite(13,HIGH); 
  delay(500); 
  digitalWrite(beep,LOW); 
  digitalWrite(13,LOW); 
  delay(500);
}


/*无源蜂鸣器*/
int beep=3;
void setup(){ 
  pinMode(beep,OUTPUT); 

void loop(){ 
  tone(beep,300);    //频率:300 
  delay(2000); 
  noTone(beep); 
  delay(1000);
}

        18. 串口通信的速度单位是什么?                单位是 bps(/)

        19. 常见的舵机、温湿度传感器等设备,导入这些设备的头文件是什么?

        头文件名为#include ;#include ; #include (温湿度)

        20. 普通直流电机有几根线,作用是什么?舵机通常有几根线,作用是什么?常规步进电机有几根线,作用是什么?

        普通直流电机两根线,接入电源;舵机三根线,一条是信号线;常规步进电机四根线为 A+,A-,B+,B-

        21.编码实现对某个引脚输出高电平信号?        代码:digitalWrite(3,HIGH)

        22. Arduino 的内置 LED 与哪个接口相连?要点亮这个 LED,应该如何编程? 内置 LED 与 13 引脚相连接

void setup(){
    pinMode(13,OUTPUT);
}
void loop(){
    digitalWrite(13,HIGH);
}

        23. 上拉电阻和下拉电阻作用?上拉电阻和下拉电阻的电路结构?电阻值  10kΩ

        将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用,下拉同。上拉是对器件注入电流,使其处于高电平;下拉是输出电流,使其处于低电平

        24. 如何编程实现将引脚 2 设置为输入引脚?程序为:pinMode(2,INPUT)

        25. 如果外部设备比较复杂,我们通常会使用设备自带的什么文件?如何在代码中加入这些文件中的代码?

库文件、使用#include <****.h>加载;<.h>表示优先从系统目录中查找该头文件,#include 是系统中的".h"表示优先当前目录中查找该头文件,#include “head.h” 是自己写的.

简答题

        1. LED 的正负极判断?电解电容的正负极判断?

        LED 未修剪时,LED 的正极比负极长(内部正极比负极小),电解电容的正负极:未使用前引脚长正短负,外面标记一排的“-”符号来识别出负极端

        2. 读取按键状态,应该使用哪个接口?模拟的,还是数字的?               数字接口

        3. #include 的作用是什么?通常导入的文件是*.h 文件,还是*.c 文件?为什么?

        作用是导入库文件,导入的文件是*.h 文件

        4. Arduino 发送串行信号,应该使用 Arduino 的哪个引脚?如果外部设备通过串口发送信号给 Arduino,那么信号是传送到 Arduino 的哪个引脚?

        发送串行信号使用数字 D1,外部设备传送到 Arduino 的引脚 D0

        5. 程序指令应该放在 ROM,还是 RAM?为什么?计算过程中的中间数据呢,存放在哪里? TF 卡到底是 ROM,还是 RAM、ROM、PROM、EPROME、EPROM 有什么区别?TF 卡是那种?

        程序指令存放于 ROM,中间数据存放于 EPROME,TF 卡是—RAM

        RAM:Random Access Memroy,随机访问存储器,典型代表:内存条。特点:要是做运行时数据存储器,在掉电之后丢失数

        ROM: Read-Only Memory, 只读存储器特点:ROM 数据不能随意更新,但是在任何时候都可以读取,断电之后仍保存数据。往 ROM 中注入数据需要另外的编译器,PC 上面没有这个功能,一般在 ROM 出厂前注入信息,依次写入,永久保存,不能进行修改。

        PROM: Programmable Read-Only Memory 可编程只读存储器。PROM 只允许写入一次,所以也被称为:“一次可编程只读存储器”,出厂时存储器的内容全为 1,用户可以自己往里写数据,但只能写入一次,写错了也就废了。

        EPROM: Erasable Programmable Read-Only Memroy 可擦写可编程只读存储器用户可以自己往里写数据,写错了可以可擦除然后重新写入。但是写入比较费劲,需要使用紫外线照射一段时间。

        EEPROM: Electricall Erasable Programmable Read-Only Memory 带电可擦除可编程只读存储器最大的优点是直接用电信号擦除,写入方便,写入时以 byte 为最小修改单位, 也不必全部擦除重写。

        6. 如何编码设定串口通信的通信速度?   Serial.begin(9600)

        7. 撰写最常见的 Arduino 调试程序模板?        Serial.print(***);delay(1000)

        8. 旋转编码器的工作原理?如何根据得到的脉冲数 N,轮子的几何尺寸 D,转动一圈产生的脉冲数为 M,计算出轮子已经移动的线性距离?

        旋转编码器的基本原理:通过光电转换,将输出至轴上的机械、几何位移量转换成脉冲或

        9. 如何判别有源蜂鸣器和无源蜂鸣器?外观方面?音质方面?编程方面?

        有源蜂鸣器:上面带贴(+号)的装置,其有振荡电路,只需要有高、低电平即可发音, 通电就响;没有电路板而用黑胶封闭的一种是有源蜂鸣器。

        无源蜂鸣器:上面无(+号)的装置,其没有振荡电路(日常用的耳机),需要用方波控制发音;有绿色电路板的一种是无源蜂鸣器。万用表电阻档测试:黑表笔解“+”,红表笔在另一引脚来回触碰,发出咔咔声电阻在 8Ω或 16Ω 为无源、持续发声电阻在几百欧的是有源

        10. 如果读取模拟传感器的数据,应该接到哪一类引脚?模拟引脚(A0~A5

        11. 如果使用 PWM 对电机速度、对 LED 亮度进行调整,设备应与哪些引脚相连? 

        12. 按键程序是否需要设置防抖功能?如何设置?具体代码是怎样的?需要设置

void setup(){ 
  pinMode(button,INPUT_PULLUP);
}

void loop(){ 
  if(digitalRead(button)==0){
    delay(20);                    //如何通过代码实现延迟 3ms,3s,300s?
  }

  if (digitalRead(button)==){ 
    numToShow++;
    while(digitalRead(button)==0);
  }
}

        13.如何通过代码实现延迟 3ms,3s,300s?

                delay(3000)—延迟 3s; delayMicrosecond(15)—延时 15 微秒

        14.Arduino Uno 内部是否有 ROM 和 RAM?如果有,ROM 和 RAM 分别有多大?

                Arduino Uno 有ROM RAMRAM2KB;  ROM32KB1KB   EEPROM

        15. 串口通信速度中的 bps 与 Bps 有什么区别?为什么 Bps 是 bps 的 10 倍?

                bps(位/)1byte= 8bite;1 字节(byte)等于 8bite(比特)


编程题

1. 给出 Uno 和一个 RGB 灯,电路图连线并完成各种复杂的亮灯功能?(3 个电阻 220Ω)

        具体可以看我之前发的文章

Arduino控制RGB三色LED灯实验、程序代码、连线图、仿真_项目申报小狂人的博客-CSDN博客RGB色彩模式包含红绿蓝三种,通过控制红(R)、绿(B)、蓝(G)三种颜色的变化使其相互叠加产生花式颜色。而其颜色值的输出是通过PWM来控制的。RGB三基色按照不同的比例相加合成混色称为相加混色,除相加混色法之外还有相减混色法。控制RGB代码如下测试结果.........https://blog.csdn.net/m0_58857684/article/details/125702555?spm=1001.2014.3001.5501

你可能感兴趣的:(Arduino,单片机,嵌入式硬件)