|
招聘一个应届毕业生做单片机助理工程师 这几个题目合适吗?
加了参考答案:也不一定完全对,大家可以指正
【01】使用AT89S51的P0口 画出一个低电平有效推动5V直流蜂鸣器的电路
答案:记得P0上拉电阻 , 还有用三极管或者门推动就认为可以
【02】请画出一个您常用的输入+9V~+12V 输出+5V的电路,要求该电路设计中考虑到:电源输入过压,电流过流,极性错误保护
答案:有考虑到稳压管 简单串二极管防方向 电容滤波就可以
【03】请画出电路图 利用一个外部中断检测四根输入线的对应触发(常态高电平,触发时低电平100ms)
答案: 4线与 画出即可 这个我想是最应该所有题目中最简单的一个
【04】当MCU使用 External Crystal Oscillator,我们如何合理的PCB布局处理它
答案:靠近MCU 对应管脚处,晶振底下不走信号 2点提到即可
【05】Protel99se 在PCB Layout完成后,如何关联SCH原理图验证PCB的连接正确性
答案: 从PCB 的netlist manager 中create netlist from connect copper 生成NET
在SCH 中利用reports Netlist compare
【06】您是否能很熟练地焊接LQFP芯片?请简单描述下LQFP 44 Pin芯片的焊接拆卸方法
答案:面试的时候,烙铁 焊接板工具等就在面试桌上(我都准备好了),
我很希望面试的主动说,这题不写答案,自己动手来焊接一片我看。
【07】用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
答案:不忘记加UL即可
【08】检测变量00<=i<=07 时j=00 08<=i<=15 时j=01 16<=i<=23 时j=02 以此类推56<=i<=63 时j=07,请用汇编或者C语言编写函数实现此功能
答案:这只是简单的一句语句的算法,或者连算法也谈不上,一个脑筋急转弯而已,只要不看到用8个if 或者 switch case笨方法即可。
【09】请指出下列函数的几处错误 并指出错误修改正确 (补充:我没说keil 和带xdata的mcu 环境下,所以题目不完整)
unsigned char xdata Comm_Buf[10];
typedef struct
{
unsigned char data_len;
unsigned char cmd;
unsigned char reader_id[4];
unsigned int crc;
} Re_Fm;
void Process_Mem(unsigned char mem)
{
unsigned int i,j;
Re_Fm xdata *reply;
reply=(Re_Fm xdata *)(Comm_Buf+1);
for(i=0;i<=10;i++) //i<10
{
Comm_Buf=mem+i;
}
if(reply.crc= =0xffff) //reply->crc
{
j=0xaabb;
return (j); //return ? void?
}
}
int main(void)
{ //while(1){;}
unsigned char i;
for(i=1;i<1000;i++) //char 255
{
Process_Mem(i);
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|