硬件、嵌入式工程师笔面试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
笔面试题
1、技术类
(1)描述一下你的项目
(2)单片机I/O口需要注意的问题
驱动能力不强,高电平驱动时需要加上拉电阻;
电平匹配,上拉或分组。
51单片机的P0口常用作数据线和低8位地址线、P2常用作高8位地址线。
(3)单片机不能启动的原因
1)晶振没有振荡,测量晶振是否起振;
2)一直在复位状态,检查复位电路;
3)程序飞了,检查程序;
4)程序编制错误,检查程序;
5)单片机坏了,更换单片机芯片;
6)硬件电路错误。
(4)单片机最小系统
1)复位电路: 当引脚9出现2个机器周期以上高电平时,单片机复位,程序从头开始运行。
2)时钟电路:有振荡器电路产生频率等于晶振频率,这时用的是外界晶振。
也可以又外部单独输入,此时XTAL2脚接地,时钟信号由XTAL1输入。
3)电源电路:VCC和GND引脚。
4)程序下载电路。(并不严格包含)
(5)哈弗结构和冯洛伊曼结构
哈佛结构:是一种将程序指令储存和数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:
1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;
2、使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。
改进的哈佛结构,其结构特点为:
1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;
2、具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;
哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的A VR系列和安谋公司的ARM9、ARM10和ARM11。
冯·诺伊曼结构:也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的
电脑设计概念结构。
冯.诺曼结构处理器具有以下几个特点:
必须有一个存储器;
必须有一个控制器;
必须有一个运算器,用于完成算术运算和逻辑运算;
必须有输入和输出设备,用于进行人机通信。
(6)锁相环的结构与作用
锁相环由鉴相器、环路滤波器和压控振荡器组成。鉴相器用来鉴别输入信号Ui与输出信号Uo之间的相位差,并输出误差电压Ud 。Ud 中的噪声和干扰成分被低通性质的环路滤波器滤除,形成压控振荡器(VCO)的控制电压Uc。Uc作用于压控振荡器的结果是把它的输出振荡频率fo拉向环路输入信号频率fi ,当二者相等时,环路被锁定,称为入锁。
(7)TTL、RS232、CMOS电平
1)TTL电平
输出 L: <0.8V ; H:>2.4V。
输入 L: <1.2V ; H:>2.0V
TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。
2)CMOS电平
输出 L: <0.1*Vcc ; H:>0.9*Vcc。
输入 L: <0.3*Vcc ; H:>0.7*Vcc.
由于CMOS电源采用12V,则输入低于3.6V为低电平,噪声容限为1.8V,高于3.5V为高电平,噪声容限高为1.8V。比TTL有更高的噪声容限。
3)RS232
逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,注意电平的定义反相了一次。
(8)I2C通信
1)只要求两条总线线路一条串行数据线SDA一条串行时钟线SCL;
2)每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址主机可以作为主机发送器或主机接收器;
3)它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏;
4)串行的8位双向数据传输位速率在标准模式下可达100kbit/s快速模式下可达400kbit/s 高速模式下可达3.4Mbit/s;
5)片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整;
6)连接到相同总线的IC数量只受到总线的最大电容400pF限制。
(9)static静态字的作用
1)第一个作用:隐藏。(static函数,static变量均可)
2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期)
存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static 可以控制变量的可见范围,说到底static还是用来隐藏的。虽然这种用法不常见。
PS:如果作为static局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在,但不能使用它。
当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
(10)Volatile的作用
volatile 影响编译器编译的结果,指出,volatile变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。
1) 并行设备的硬件寄存器(如:状态寄存器) ;
2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables) ;
3) 多线程应用中被几个任务共享的变量。
(11)二极管和三极管组成或非门电路
(12)单片机晶振
晶振的种类,电容的作用与大小