单片机嵌入式应聘测试题(含答案)[精品文档]

合集下载

嵌入式单片机常用面试题

嵌入式单片机常用面试题

嵌入式单片机常用面试题嵌入式单片机常用面试题包括但不限于以下题目:1. 请简述嵌入式系统及其特点。

2. 请解释什么是单片机,并举例说明其应用场景。

3. 单片机开发的一般流程是什么?4. 请简述C语言在单片机开发中的应用。

5. 请说明如何将C语言代码移植到另一种单片机上。

6. 请简述单片机的中断系统及其作用。

7. 请说明如何使用单片机的定时器/计数器功能。

8. 请简述单片机的串行通信及其实现方式。

9. 如何对单片机进行低功耗设计?10. 请简述单片机在物联网中的应用及其优势。

11. 请说明如何对单片机进行故障诊断和排查。

12. 请简述单片机软件优化的方法。

13. 请说明如何进行单片机的硬件调试。

14. 如何保证单片机程序的安全性和可靠性?15. 单片机有哪些常见故障及其解决方法?16. 请简述单片机在智能家居中的应用及其前景。

17. 请说明如何使用单片机实现电机控制。

18. 请简述单片机在汽车电子领域的应用及其特点。

19. 如何保证单片机程序的实时性?20. 单片机的发展趋势和未来展望是什么?21. 在单片机开发中,如何选择合适的开发工具和调试设备?22. 请简述单片机的低功耗模式及其应用场景。

23. 如何使用单片机实现多任务处理?24. 单片机有哪些常见的编程范式?25. 如何优化单片机的代码质量?26. 如何检测单片机程序的内存泄漏?27. 如何实现单片机的自动重载功能?28. 如何对单片机程序进行安全防护?29. 请简述单片机的数模转换器(ADC)及其应用。

30. 如何编写高质量的单片机代码?。

嵌入式面试题目及答案

嵌入式面试题目及答案

嵌入式面试题目及答案嵌入式系统是当今科技领域中不可或缺的一部分,它在我们日常生活和工业生产中起到了重要的作用。

而嵌入式系统的开发与设计需要专业的技术和知识,因此在面试过程中,相应的题目是必不可少的。

本文将为您提供一些常见的嵌入式面试题目并给出相应的答案,以供参考。

1. 请简要解释什么是嵌入式系统?嵌入式系统(Embedded System)是一种特定功能电子设备中的计算机系统,它嵌入到其他产品中,以执行特定的任务或控制特定的功能。

嵌入式系统的关键特点包括实时性、低功耗、体积小、成本低以及对于硬件和软件的高度整合。

2. 嵌入式系统与通用计算机有何区别?嵌入式系统与通用计算机之间存在以下区别:- 功能:嵌入式系统的设计旨在执行特定任务,如控制、数据采集、嵌入式通信等,而通用计算机则具备更多的通用性,能够执行各种不同的任务。

- 硬件:嵌入式系统通常使用嵌入式处理器,集成了所需的硬件接口和外设,以适应特定的功能要求,而通用计算机则侧重于提供更高的计算和存储能力。

- 实时性:嵌入式系统通常需要满足实时性需求,能够及时响应输入和输出,而通用计算机则更关注处理复杂的用户交互和计算任务。

3. 请列举一些常见的嵌入式操作系统。

常见的嵌入式操作系统包括:- 实时操作系统(RTOS):如FreeRTOS、VxWorks、QNX等,具有实时性、可靠性和可嵌入性等特点。

- Linux嵌入式系统:如Linux内核、Debian、Buildroot等,提供了完整的开发环境和强大的功能。

- 嵌入式Windows系统:如Windows CE、Windows Embedded等,提供了Windows桌面操作系统的子集。

4. 请简要介绍一下嵌入式系统的调试方法。

常用的嵌入式系统调试方法包括:- 打印调试:通过在代码中插入打印语句,输出调试信息,用于查看程序流程以及变量的值。

- 软件仿真调试:使用仿真器或调试器连接到目标硬件上,在宿主机上进行调试操作,方便观察和跟踪代码的执行。

嵌入式面试题及答案

嵌入式面试题及答案

嵌入式面试题及答案1. 什么是嵌入式系统?嵌入式系统是一种以完成特定任务为目标的计算机系统。

它通常被嵌入于其他设备中,该设备可以是家用电器、汽车、医疗仪器或工业控制系统等。

嵌入式系统通常具有实时性要求,需要在预定的时间内完成特定的任务。

2. 嵌入式系统与普通计算机系统有何不同?嵌入式系统与普通计算机系统相比,有以下几个不同之处:- 嵌入式系统通常具有特定的功能和任务,而普通计算机系统则更加通用;- 嵌入式系统的硬件资源通常更加有限,包括处理器、内存和存储等;- 嵌入式系统通常具有实时性要求,需要在预定的时间内完成任务;- 嵌入式系统往往运行在低功耗环境下,需要考虑能耗问题;- 嵌入式系统具有更高的可靠性和稳定性要求。

3. 嵌入式系统的软件开发流程是怎样的?嵌入式系统的软件开发流程一般包括以下几个阶段:需求分析:明确系统的功能需求和性能要求,与客户和开发团队进行沟通,确保需求的准确性和一致性。

架构设计:设计系统的软件和硬件架构,包括选择合适的处理器、操作系统、通信接口等。

软件开发:根据需求和架构设计,编写嵌入式软件的代码,测试和调试代码,确保其正确性和稳定性。

硬件开发:根据架构设计,设计嵌入式系统的硬件电路,并进行电路板的布局和制造。

系统集成:将开发完成的软件和硬件组合在一起,进行系统级测试和验证,确保系统的功能和性能满足需求。

4. 嵌入式系统开发中常用的编程语言有哪些?嵌入式系统开发中常用的编程语言有:- C语言:由于其高效、跨平台和可移植性等特点,C语言是嵌入式系统开发中最常用的语言之一。

- C++语言:C++是C语言的扩展,可以提供面向对象的编程特性,适用于复杂的嵌入式系统开发。

- 汇编语言:汇编语言直接操作处理器,对于对性能和资源要求非常高的嵌入式系统开发,汇编语言经常被用于优化和调优。

- Ada语言:Ada是一种针对高可靠性和安全性需求的嵌入式系统开发语言,广泛应用于航空航天和国防领域。

单片机嵌入式考试和答案(中南大学)

单片机嵌入式考试和答案(中南大学)

1 、Intel 公司的单片机的发展经历了 MCS-48 、MCS-51 、MCS-96 和 MCS-960 系列2 、若 MCS-51 的晶振频率为 12MHz ,则状态周期为 1/6us ,机器周期为 1us3 、MCS-51 中断服务子程序的入口地址是(可变的/固定的)。

同优先级的中断(能/不能) 相互之间中断。

4 、计算机的内总线 (即 CPU 的三总线是) 数据总线、地址总线和控制总线5 、SRAM 的特点是不需要刷新,随机存储,只读,内容容易因为电源掉落后失去, EPROM 的特点是可编程,可擦除,只读, EEPROM 的特点 是可编程,电可擦除,擦除时以字节为单位,只读, Flash memonry 的特点是可写入可擦除,擦除时以页为单位,写入的内容不会因电源关闭而 失去6 、MCS-51 中,内部 RAM 中有一个区域既可以按字节寻址,也可按位寻址,该区域是 位寻址区7 、MCS-51 中的中断触发方式有两种 外部触发和边缘触发8 、若 A/D 转换参考电压 Vnf 为 5.12V,请问一个 10 位 A/D 转换芯片的 A/D 转换分辨率是 0.005 V 。

指出下列指令中带下划线的操作数所采用的寻址方式 1 、 MOV B, #09H 立即数寻址 2 、 MOV A, #68H 立即数寻址 3 、 DNC A 寄存器寻址 4 、 MOV A @R0 寄存器间接寻址 5 、 MOVX A @A+DPTR 变址寻址三、编程编写 X5045 一个字节最基本的写入子程序。

A 中为输出到 OUTB45:OUTB41:1 、编写一线总线输出 1 位子程序(输出位在 C 中) 。

;延时子程序Delay: DJNZ R2,$NOP ;延时(2R2+3) μsRET;初始化子程序 INIT: SET B DQNOPCLR DQMOV R2,#240 ;拉低总线至少 480 μs ACALL Delay SET B DQMOV R2,#30 ;延时 60 μs X5045 的字节内容。

嵌入式面试最常用的307个试题和答案

嵌入式面试最常用的307个试题和答案

嵌入式面试最常用的307个试题和答案嵌入式面试最常用的307个试题和答案一、单项选择题1、如下哪一个命令可以帮助你知道shell命令的用法(A)A.manB.pwdC.helpD.more2、Linux分区类型默认的是:(B)A.vfatB.ext2/ext3C.swapD.dos3、在大多数Linux发行版本中,以下哪个属于块设备(B)A.串行口B.硬盘C.虚拟终端D.打印机4、下面哪个命令行可用来马上重新启动正在运行的Linux系统?(D)A.restart--delay=0B.reboot-wC.halt-pD.shutdown-r now5、在Linux系统,默认的shell是什么(A)A.bashB.ashC.cshD.gnush6、下面哪条命令可用来确保文件“myfile”存在(B)A.cp myfile/dev/nullB.touch myfileC.create myfileD.mkfile myfile7、LILO的配置文件是:(B)A./etc/confB./etc/lilo.confC./proc/kcoreD./usr/local/8、用“useradd jerry”命令添加一个用户,这个用户的主目录是什么(A)A./home/jerryB./bin/jerryC./var/jerryD./etc/jerry9、Linux文件权限一共10位长度,分成四段,第三段表示的内容是(D)A.文件类型B.文件所有者的权限C.文件所有者所在组的权限D.其他用户的权限10、某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为(D)A.467B.674C.476D.76411、不是shell具有的功能和特点的是(A)A.管道B.输入输出重定向C.执行后台进程D.处理程序命令12、如何从当前系统中卸载一个已装载的文件系统(A)A.umountB.dismountC.mount–uD.从/etc/fstab中删除这个文件系统项13、你用vi编辑器编写了一个脚本文件shell.sh,你想将改文件名称修改为shell2.sh,下列命令(B)可以实现。

嵌入式面试笔试题

嵌入式面试笔试题

1、在嵌入式系统中,以下哪个组件负责执行存储在内存中的指令?A. 微处理器(答案)B. 内存芯片C. 输入设备D. 输出设备2、嵌入式系统中,Bootloader的主要功能是什么?A. 加载并启动操作系统(答案)B. 提供用户界面C. 管理文件系统D. 执行应用程序3、以下哪种总线类型在嵌入式系统中常用于连接低速外设?A. PCIB. USB 3.0C. I2C(答案)D. HDMI4、在嵌入式Linux系统中,交叉编译的目的是什么?A. 在目标平台上直接编译代码B. 在一个平台上编译代码,以在另一个不同架构的平台上运行(答案)C. 提高编译速度D. 减少编译产生的二进制文件大小5、以下哪个协议常用于嵌入式设备之间的低功耗无线通信?A. Bluetooth LE(答案)B. EthernetC. HDMID. USB6、在嵌入式软件开发中,中断服务程序(ISR)的主要作用是?A. 处理外部事件或异常情况,快速响应并执行特定任务(答案)B. 管理内存分配C. 控制设备电源状态D. 实现多任务并发执行7、以下哪种存储器类型在嵌入式系统中通常用作高速缓存?A. SRAM(答案,静态随机访问存储器,常用于高速缓存)B. EEPROMC. SD卡D. 硬盘8、在嵌入式系统设计中,使用看门狗定时器的主要目的是?A. 防止程序跑飞或死循环,提高系统可靠性(答案)B. 实现精确定时功能C. 控制设备开关机D. 测量系统功耗9、以下哪个工具在嵌入式开发中常用于调试和分析程序?A. 逻辑分析仪(答案)B. 示波器C. 万用表D. 频谱分析仪10、在嵌入式Linux内核配置中,以下哪个选项通常用于裁剪内核功能,以减少内存占用和提高性能?A. make menuconfig(答案,用于配置内核选项,进行裁剪)B. make cleanC. make allD. make install。

嵌入式面试笔试题目——附部分答案

嵌入式面试笔试题目——附部分答案

嵌⼊式⾯试笔试题⽬——附部分答案1 、如何⾃动创建设备⽂件?class_create device_create2、led驱动编写有⼏种⽅式?输⼊⼦系统字符设备驱动总线platform led⼦系统3、如何实现http服务器?tcp服务器:socket4、如何编写守护进程,简述syslog的作⽤?第⼀步:创建进程、杀死⽗进程第⼆步:创建新的会话第三步:改变⼯作路径路径第四步:修改⽂件掩码权限第五步:关闭⽂件描述符5、bootloader和uboot的区别?bootloader是启动装载。

这是⼀段很⼩的程序,⽤于在系统上电启动初期运⾏,初始化关键接⼝,如内存,串⼝,关闭中断,关闭看门狗,引导系统进⼊内核的⼀段初始化的程序。

它主要任务就是将内核映像从硬盘读到RAM中,然后跳转到内核的⼊⼝点去运⾏内核,从⽽建⽴系统运⾏的必要环境。

uboot:是bootloader的⼀种6、如何移植uboot?1、下载源码2、解压uboot源码并进⼊⽬录3、指定交叉编译⼯具链4、指定产品BOARD 底板5、编译u-boot7、传感器驱动如何编写?8、BL0,BL1,BL2,BL3的作⽤?BL0 ⽂件是存放在 CPU 内部 IROM 中的⼀段固化代码,CPU 上点之后,⾸先去运⾏soc中的BL0,运⾏时会将 BL1 拷贝到 CPU 的 IRAM 中,然后执⾏BL1;BL1⽂件执⾏起来之后会先进⾏内存的初始化,之后将 BL2 ⽂件拷贝到外部内存中,BL2会初始化BL3的运⾏环境,将BL3搬移到DRAM中,BL3会有⼀个⾃搬移的过程,从⽽启动内核⼊⼝。

BL0:CPU内部的固化代码BL1:三星提供的加密⽂件BL2:截取uboot.bin 前14kBL3:剩下的uboot 执⾏命令以及加载引导内核9、exynos4412 时钟 APLL,MPLL,VPLL的区别?------倍频锁相环APLL:⽤于 CPU_BLK (可产⽣⾼达1.4GHz的频率);作为 MPLL 的补充,它也可以给DMC_BLK 、LEFTBUS_BLK 、RIGHTBUS_BLK 和 CMU_TOP 提供时钟。

嵌入式工程师笔试试卷及答案

嵌入式工程师笔试试卷及答案

嵌入式工程师笔试试卷及答案在嵌入式系统领域,嵌入式工程师是一种非常重要的职业。

他们需要掌握硬件和软件技能,以及在资源受限的环境下进行开发的技能。

本试卷旨在测试嵌入式工程师的专业知识和技能。

第一部分:选择题这一部分包括5个选择题,每个问题有4个选项,只有一个选项是正确的。

这部分的目的是测试对嵌入式系统的基础知识的掌握。

下列哪个不是嵌入式系统的特点?A. 硬件资源受限B. 实时性要求高C. 软件开发成本低D. 系统可靠性要求高答案:C下列哪个不是嵌入式系统中常用的总线标准?A. USBB. I2CC. RS232D. HDMI答案:D下列哪个不是C语言的关键字?A. switchB. caseC. classD. break答案:C下列哪个不是常用的编译器?A. GCCB. KeilC. IARD. Visual Studio答案:D下列哪个不是常用的调试工具?A. JTAGB. GDBC. SVND. Trace32答案:C第二部分:简答题这一部分包括2个简答题,每个问题需要回答2-3个句子。

这部分的目的是测试对嵌入式系统的基本原理和通信协议的理解。

什么是中断?中断的作用是什么?答:中断是指在CPU运行程序的过程中,由于某些事件的发生,需要立即暂停当前程序的执行,转而去执行另一段代码的一种机制。

中断的作用是提高CPU 的利用率,增强系统的实时性和可靠性,实现CPU与外设的异步通信。

请简述I2C总线的工作原理。

答:I2C总线是一种串行通信协议,通过两根线SCL和SDA实现设备间的通信。

SCL线是时钟线,由主设备控制;SDA线是数据线,用于主设备和从设备之间的数据传输。

在传输数据时,主设备先发送起始信号,然后发送从设备地址和读/写标志,接着发送数据或者请求数据,最后发送停止信号。

从设备在接收到起始信号后,会根据地址来判断是否需要响应主设备的请求。

第三部分:编程题这一部分包括2个编程题,需要在规定的环境下编写代码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式工程师初试试题
学校_______________ 院系________________
姓名________________ 电话_________________
本试题包括C程序设计(70分)、单片机基础(20分)、逻辑题(10分)
C程序设计部分:
一、选择题(本大题共10小题,每小题3分,共30分)
1.下面定义变量方法错误的一项是( C)
A)int ab_2 B) int _2a3 C)int 2_ab D)int ab2_
2.判断char型变量ch是否为大写字母的正确表达式是(B )
A)‘A’<=ch<=’Z’ B) (ch>=’A’) && (ch<=’Z’)
C) (ch>=’A’)& (ch<=’Z’) D) (‘A’<=ch) AND (‘Z’>=ch)
3.设有说明:char w;int x;double y;则表达式w*x-y值的数据类型为(D )
A) float B) char C) int D) double
4.以下正确的说法是(D )
在C语言中
A) 实参和与其对应的形参各占用独立的存储单元
B) 实参和与其对应的形参共占用一个存储单元
C)只有当实参和与其对应的形参同名时才共占用存储单元
D) 形参是虚拟的,不占用存储单元
5.下面程序运行结果是( C)
#include <stdio.h>
int a[3][3]={{1},{2},{3}};
int b[3][3]={1,2,3,4,5};
int main()
{
printf("%d\n",a[1][0] + b[1][0]);
return 0;
}
A) 2 B) 4 C) 6 D) 值不一定
6.下面程序运行结果是( D)
#include "stdio.h"
int main()
{
int x=1, y=0, a=0, b=0;
switch(x){
case 1:
switch(y){
case 0: a++;
case 1: b++;
}
case 2: a++; b++;
}
printf("a=%d, b=%d\n", a, b) ;
}
A)a=1,b=0 B) a=1,b=1 C)a=2,b=1 D) a=2,b=2
7.有以下程序段
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3] , b;
b=p[5];
b中的值是(D)
A)5 B)6C)8D)9
8.下面程序运行结果是( C )
#include <stdio.h>
struct stu{
int num;
char name[10];
int age;
};
void fun(struct stu *p){
printf("%s\n",(*p).name);
}
int main(){
struct stu students[3]={
{100,"zhao",20},
{101,"qian",19},
{102,"sun",18} };
fun(students+2);
}
A) zhao B)qian C) sun D) 101
9.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( D)
A) 编辑、编译、汇编、连接
B) 汇编、编译、链接、运行
C) 预编译、编译、汇编、链接
D) 编辑、编译、连接、运行
10.函数调用语句:fseek(fp,-20L,SEEK_END);的含义是( A )
A) 将文件位置指针移到距离文件头20个字节处
B) 将文件位置指针从当前位置向后移动20个字节
C) 将文件位置指针从文件末尾处后退20个字节
D) 将文件位置指针移到离当前位置20个字节处
二、填空题(本大题共4小题,每小题3分,共12分)
1.初始化值是155的无符号短整型变量a的定义形式为____unsigned short int a=155_______。

2.已知for(j=1,s=0;j<=9;j+=2) s=s+j;执行循环后,s的值是___25________。

3.该程序实现输出x,y,z三个数中的最大者。

main()
{
int x=4,y=6,z=7;
int __u______;
if (___x>y____)
u=x;
else
u=y;
if (__u<z____)
u=z;
printf(“u=%d”,u);
}
4.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;
main()
{
char ch;
scanf(“%c”,&ch);
if((ch>=’A’) && (ch<=’Z’))
ch = ch+32;
else if((ch>=’a’) && (ch<=’z’))
ch=ch-32;
printf(“%c”,ch);
}
三、简答题(本大题共4小题,每小题5分,共20分)
1.简述const、volatile、static三个关键字的作用
答:const 用来定义一个常量,使其在程序编译和运行过程中不会随意改变;
Static 用以定义一个静态变量,该变量会保留上一次所赋的值。

2.什么是指针?指针变量和指针所指向的变量的区别和联系是什么?
答:指针即变量的存储地址;指针变量存储的数据是变量的地址,而指针所指向的变量存储的数据是变量的值,通过指针变量可间接寻址到其所指向变量的值。

3.#include <filename.h> 和#include “filename.h” 有什么区别?
答:#include <filename.h>直接在标准头文件中检索文件目录;
#include “filename.h”首先在当前源文件目录中查找,若未找到则按系统规定的标准头头文件检索文件目录。

4.简述union(共用体)和struct(结构体)的不同?
答:union所占内存大小按内存最大的一个变量计算,而struct所占内存大小为所有变量内存相加。

四、程序分析题(本大题共2小题,共10分)
1.请简述以下两个for循环的优缺点(5分)
// 第一个
for (i=0; i<N; i++) {
if (condition)
DoSomething(); else
DoOtherthing(); } // 第二个
if (condition)
{
for (i=0; i<N; i++)
DoSomething();
}
else
{
for (i=0; i<N; i++) DoOtherthing();
}
优点:程序语句简练
缺点:每次都循环都要判断循环体的执行条件,占用计算机资源较多优点:占用资源较少,执行效率高缺点:程序语句较多,不够前者简练
2.写出下面程序的运行结果(5分)
答:运行结果为:
8,10,12,14,16
#include<stdio.h>
int sum(int a)
{
auto int c=0;
static int b=3;
c+=1;
b+=2;
return (a+b+c);
}
int main()
{
int i;
int a=2;
for(i=0;i<5;i++)
{
printf("%d,", sum(a) );
}
}
五、单片机基础部分:(共20分)
1.8051单片机的( D) 口的引脚,还具有外中断、串行通信等第二功能。

(2分)
A)P0 B)P1 C)P2 D)P3
2.8051 的引脚RST是_IN脚___(IN脚还是OUT脚),当其端出现_高___电平时,8051进入复位状态。

8051
一直维持这个值,直到RST脚收到__低__电平,8051才脱离复位状态,进入程序运行状态,从ROM _00__H单元开始取指令并翻译和执行。

(2分)
3.半导体存储器分成两大类 __RAM___和__ROM____,其中__ROM__具有非易失性,常用于存储数据,
掉电不丢失,常用于存储程序、代码。

(2分)
4.进制转换:下列无符号二进制数的十进制数和十六进制数是多少?(2分)
(1)10110 B (2)11111010
答:十进制:22 350
十六进制:16H FAH
5.简述单片机内部构造一般有哪几部分组成?以你熟悉的单片机为例简述一个可以工作单片机最小系
统包括哪些外围电路。

(4分)
答:单片机内部由CPU、RAM、ROM、定时器/计数器、I/O缓存器等部分组成;以51单片机为例,其最小系统由复位电路、时钟电路等外围电路组成。

6.某单片机控制系统有8个发光二极管:(8分)
编写程序使他们由上向下轮流点亮(无需写出完整代码,写出核心算法即可,io口可用p0
口代替)。

While(1)
{。

相关文档
最新文档