第一篇:万用表 课程设计CC
咸阳师范学院物理与电子工程学院
课程设计报告
题目:班级:姓名:学号:指导教师:成绩:
完成日期:2014年6 月
目录
第一章 概述
第二章 万用表的电路原理
第三章
第四章
电路调试与制作总结与体会2
第二篇:CC语言课程设计
1,/*100-999内的水仙花数的个数*/ #include
int a,b,c,d,s,i=0;
for(a=100;a<=999;a++)
{
b=a/100;
c=a%100/10;
d=a%10;
s=b*b*b+c*c*c+d*d*d;
if(a==s)
i++;
}
printf(“%d”,i);
getch();} 2, /*x^2+y^2+z^2=55^2,则(x,y,z)称为方程的整数解的个数*/ #include
for(y=-55;y<=55;y++)
for(z=-55;z<=55;z++)
{
a= x*x+y*y+z*z;
s=55*55;
if(a==s&&x>y&&x>z&&x>y)
t++;
}
printf(“%d”,t);
getch();
} 3/*100-400内的水仙花数的个数*/ #include
int a,b,c,d,s,i=0;
for(a=100;a<=400;a++)
{
b=a/100;
c=a%100/10;
d=a%10;
s=b*b*b+c*c*c+d*d*d;
if(a==s)
i++;
}
printf(“%d”,i);
getch();
}
4, /* 0-60内每位数的乘积大于和的数个数*/
#include
int a,b,c,d,e,i=0;
for(a=0;a<=6;a++)
{
b=a/10;c=a%10;
d=a*b;e=a+b;
if(d==e)
i++;
}
printf(“%d”,i);
getch();
}
5/*满足1/A^2+1/B^2=1/C^2关系时,称为倒勾股数
*/
#include
int a,b,c ,t=0;
float x,y,z;
for(a=1;a<=100;a++)
{ for(b=1;b<=100;b++)
for(c=1;c<=100;c++)
x=1/(a*a);
y=1/(b*b);
z=1/(c*c);
if(x+y==z&&a+b+c<150&&a+b+c>130&&a>b&&a>c&&b>c)
t++;
}
printf(“%d”,t);
getch();
} 6, /*爱因斯坦走台阶 */ #include
int s;
for(s=0;;s++)
{
if(s%2==1&&s%3==2&&s/4==3&&s/5==4&&s/6==5&&s%7==0)break;
}
printf(“%d”,s);
getch();
} 7./*121-140内弦数的个数*/ #include
int a=0,b=0,c=121 ,i=0;
for(c=121;c<=140;a++)
{
for(a=0;a<=15;a++)
for(b=0;b<=15;b++)
if(c*c==a*a+b*b)
i++;
continue;
printf(“%d”,i);
}
getch();} 8/*1000内其十位数是6能被8整除数的个数*/ #include
int a,i=0;
for(a=10;a<=1000;a++)
{
if(a%100/10==6&&a%8==0)
i++;
}
printf(“%d”,i);
getch();
}
9/* 0-60内每位数的乘积大于和的数个数*/
#include
int a,b,c,d,e,i=0;
for(a=0;a<=60;a++)
{
b=a/10;c=a%10;
d=c*b;e=c+b;
if(d>e)
i++;
}
printf(“%d”,i);
getch();
}
10./* 1-5000内能被5整除偶数之和大于500和的值*/
#include
int a, b=0;
for(a=2;a<=5000;a+=2)
{
if(a%5==0)
b=b+a;
while(b>500);
printf(“%d”,b);
}
getch();
}
11./* 100-500内能被3整除余2和能被5整除余3的个数*/ #include
int a, b=0;
for(a=100;a<=500;a++)
{
if(a%3==2&&a%5==3)
b++;
}
printf(“%d”,b);
getch();
} 12/* 1-7000内能被3或者能被7整除的个数*/ #include
int a, b=0;
for(a=1;a<=7000;a++)
{
if(a%3==0||a%7==0)
b++;
}
printf(“%d”,b);
getch();
} 13./*3-100内非偶数非素数之和*/ #include
int a,i,k, b=0;
for(a=3;a<=100;a+=2)
{
k=sqrt(a);
for(i=2;i<=k;i++)
{if(a%i==0)break;
if(i>k+1)
b=b+a;}
}
printf(“%d”,b);
getch();
}
14/*求满足ijk+kji=1534,且i #include int j,i,k, b=0; for(j=0;j<=9;j++) for(k=0;k<=9;k++) for(i=0;i if(100*i+10*j+k+100*k+10*j+i==1534) b++; printf(“%d”,b); getch(); } 15/*有四位数ABCD的个数,该四位数是11的倍数,且A=B+C,即第2位数加上第3位数等于第1位数。4 */ #include int j,i,k,a, b=0; for(j=1000;j<=9999;j++) { i= j/1000; k=j%1000/100; a=j%100/10; if(j%11==0&&i==k+a) b++; } printf(“%d”,b); getch(); } 16/*求三位数的偶数中,所有各位数字之和是15的倍数的数的个数*/ #include int j,i,k,a,s, b=0;for(j=100;j<=999;j+=2) { i= j/100; k=j%100 /10; a=j%10; s=i+k+a; if(s%15==0) b++; } printf(“%d”,b); getch(); } 17/*四位数的奇数中,所有各位数字之积是125的倍数的数的和*/ #include int j,i,k,a,c,s, b=0;for(j=1111;j<=9999;j+=2) { i= j/1000; k=j%1000 /100; a=j%100/10; c=j%10; s=i*k*a*c; if(s%125==0) b=b+j; } printf(“%d”,b); getch(); } 18/*5000以内能被17或者23整除的正整数的个数 */ #include int j,i,k,a,c,s, b=0;for(j=1;j<=5000;j++) { if(j%17==0||j%23==0) b++; } printf(“%d”,b); getch(); } 19/*四位数的偶数中,所有各位数字之和是30的倍数的数的和 */ #include int j,i,k,a,c,s, b=0;for(j=1000;j<=9999;j+=2) { i=j/1000; k=j%1000/100; a=j%100/10; c=j/10; s=i+k+a+c; if(s%30==0) b=b+j; } printf(“%d”,b); getch(); } 21/*统计1000~9999之间的所有满足以下条件的四位数的个数。该数是一个完全平方数*/ #include int a,b,c ,d,s,x,y,t=0; for(s=1000;s<=9999;s++) { a=s/1000; b=s%1000/100; c=s%100/10; d=s%10; x=sqrt(s); y=x*x; if(a+b==12&&c*d==24&&y==s) t++; } printf(“%d”,t); getch(); } 22/*S=1+3+5+7+9+…,求S不大于9000的最大值*/ #include int j ,s=0;for(j=1;;j+=2) { s+=j;if(s>9000)break; } s=s-j; printf(“%d”,s); getch(); } 23/*S=2+4+8+16+32+…,求S不大于1500的最大值*/ #include int j ,s=0;for(j=2;;j=2*j) { s+=j; if(s>1500)break; } s=s-j; printf(“%d”,s); getch(); } /*m的值为50时,计算下列公式的值T=1-1/2-1/3-1/4-…-1/m*/ #include float n,m,s,T; s=0; for(n=2;n<=50;n++){ m=-1/n; s=s+m; } T=1+s; printf(“%0.4f”,T); getch(); } 26, /*当n的值为25时,计算下列公式的值: s=1+1/1!+1/2!+1/3!+…+1/n*/ #include float s,T; int m=1,n=1; s=0; for(n=1;n<=25;n++){ m=m*n; s=s+1/m; } T=1+s; printf(“%0.4f”,T); getch(); } 27/*斐波那契数列,10000000以内最大的斐波那契数*/ #include do { f1=f1+f2; f2=f1+f2; }while(f1>10000000); printf(“%ldn%ld”,f1,f2); getch(); } 28/*计算y=1+2/3+3/5+4/7+.....+n/(2*n-1)的值,n=50*/ #include t=2*n-1; m=1.0/t; s=m*n; y+=s; } printf(“%.2f”,y); getch(); } 29/*计算y=x/1!-x^3/3!+x^5/5!-x^7/7!...前20项的值x=2*/ #include float y=0,m,s,x;int t,n; for(n=1;n<=20;n++){ x=-4*x; m=2*n+1; t=t*m*(m-1); s+= x/t; } printf(“%.2f”,y); getch(); } 30/*梅森尼数2^n-1是素数,【2-21】内的梅森尼数个数 */ #include main(){ int n,m,i,j,k,x=0;for(n=2;n<=21;n++){ m=2*m; i=m-1; k=sqrt(i); for(j=3;j<=k;j++) if(i%k==0)break;if(j>=k+1)x++; } printf(“%d”,x); getch(); } 31/*两位数分子分母各个数之和的比等于原来的值*/ #include main(){ int n,m,a,b,c,d,s;float x,y;for(n=10;n<=98;n++)for(m=11;m<=99;m++) { a=n/10; b=n%10; c=m/10; d=m%10; x=n/m; y=(a+b)/(c+d); if(m>n&&x==y) s+=a+b+c+d; } printf(“%d”,s); getch(); } 32/* 1-50内构成直角三角形的组数 */ #include main(){ int x,y,z,n=0,t; for(x=1;x<=50;x++) { for(y=1;y<=50;y++) for(z=1;z<=50;z++) if(x+y>z&&x*x+y*y==z*z) n++;} t=n/3; printf(“%d ”,t); getch(); } 33/*一正整数递减,每次减半后减一,10次后剩一 */ #include main(){ int n, s=0,m=1; for(n=2;n<=10;n++) { m= 2*(m+1); } printf(“%dn”,m); getch(); } 34./* 2/1,3/2,5/3,.....前50项和*/ #include main(){ int x1=1,x2=2, n;float t,s=0; for(n=1;n<=50;n++) { t=x2/x1; s+=t; x2=x1+x2; x1=x2; } printf(“%.2f ”,s); getch(); } 35,/*求五位数各个位数平方和为100的最大五位数*/ #include main(){ int x,a,b,c,d,e,m,n,max; for(x=10000;x<=99999;x++) { a=x/10000; b=x%10000/1000; c=x%1000/100; d=x%100/10; e=x%10; m=a*a+b*b+c*c+d*d+e*e; if(m==100)break; max=x; } for(n=x;n<=99999;n++) { a=n/10000; b=n%10000/1000; c=n%1000/100; d=n%100/10; e=n%10; m=a*a+b*b+c*c+d*d+e*e; if(m==100) max=n; } printf(“%ld ”,max); getch(); } 36,#include long int y,k; int x,i=0; for(x=2;x<=1000;x++) { y=x*x; k=y-x; if(x<10&&k%10==0) i=i+x; if(x>=10&&x<=99&&k%100==0) i=i+x; if(x>=100&&x<=999&&k%1000==0) i=i+x; if(x==1000&&k%10000) i=i+x; } printf(“%d”,i); getch();} 37/*求50-150之间的友对数*/ #include y=x+1; z=x*y-1; for(i=2;x<=z-1;i++) { if(z%i==0)break; if(z%i!=0) { if(i==z-1) t++;} } } printf(“%d”,t); getch(); } 38/* 求[1,30000]之内E数的个数,E(1)=E(2)=1;E(n)=(n-1)*E(n-1)+(n-2)*E(n-2)*/ #include int i,j=2,n; long int a[]={0,1,1}; for(n=3;;n++) { a[n]=(n-1)*a[n-1]+(n-2)*a[n-2]; for(i=1;i<=30000;i++) { if(a[n]==i) {j++;break;} if(a[n]>=30000) break; } if(a[n]>=30000) break; } printf(“%d”,j); getch();} 39./*试求所有两位绝对素数的和,绝对素数是交换位子后仍为素数*/ #include int i,j,a,b,x,k,s=0; for(i=11;i<=99;i+=2) for(j=2;j<=i-1;j++) {if(i%j==0) break; if(i%j!=0) {if(j==i-1) {a=i/10; b=i%10; x=10*b+a; for(k=2;k<=x-1;k++) {if(x%k==0) break; if(x%k!=0) {if(k==x-1) s=s+i;}} } } } printf(“%d”,s); getch();} 40./*f(0)=f(1)=1,f(2)=0f(n)=f(n-1)-2*f(n-2)+f(n-3),(n>2)求f(0)到f(50)中的最大值*/ #include long int a[50]={1,1,0},max; int i; for(i=3;i<=50;i++) { max=a[1]; a[i]=a[i-1]-2*a[i-2]+a[i-3]; if(max max=a[i]; else max=max; } printf(“%ld”,max); getch();} 41,/*f(n)=f(n-1)+2*f(n-2)-5*f(n-3),f(0)=1,f(1)=2,f(2)=3,求f(0)+f(1)+…f(30)*/ #include long int a[31]={1,2,3},s=a[0]+a[1]+a[2]; int i; for(i=3;i<=30;i++) { a[i]=a[i-1]+2*a[i-2]-5*a[i-3]; s=s+a[i]; } printf(“%ld”,s); getch();} 42./*A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ……, 求A50*/ #include float a[51]={0,1}; int i; for(i=2;i<=50;i++) { a[i]=1.0/(1+a[i-1]); } printf(“%.3f”,a[50]); getch();} 43./*A,B为正整数, A #include int A,B,d,min=2699; long int c; for(B=2;B<=2698;B++) for(A=1;A {c=A*B; if(c==2698) { d=A+B; if(min>d) min=d;} } for(B=2;;B++) {for(A=1;A {min=A+B; c=A*B; if(c==2698) break;} if(c==2698) break;} printf(“%d”,B); getch();} 44/*A main(){ int A,B,d,min=2699; long int c; for(B=2;B<=2698;B++) for(A=1;A {c=A*B; if(c==2698) { d=A+B; if(min>d) min=d;} } printf(“%d”,min); getch();} 45/*的自然数对中B之和求所有小于或等于100*/ #include int a,b,A,B,j,i,s=0; for(A=1;A<=100;A++) for(B=1;B<=A;B++) { a=A+B; b=A-B; for(i=1;i<=15;i++) if(a==i*i) {for(j=1;j<=10;j++) if(b==j*j) s=s+B;} } printf(“%d”,s); getch();} 46./*问大、中、小学生的人数分配共有多少种不同的解*/ #include int i,j,k,s,y=0; for(i=1;i<=30;i++) for(j=1;j<=40;j++) for(k=1;k<=60;k++) {s=4*i+3*j+2*k; if(s==120) y++; } printf(“%d”,y); getch();} 《单片机》课程设计 题 目: 基于单片机的数字多用表设计 专 业: 电力系统及其自动化 班 级: 本自动化 姓 名: 学号: 指导老师: 小组成员: 成绩: 摘要 本次设计采用单片机芯片 AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。为使系统更加稳定,使系统的整体精度得以保障,本电路使用了ADC0809数据转换芯片,单片机系统设计采用AT89S51作1 为主控芯片,配以RC上电复位电路和震荡电路,程序每执行周期耗时缩到最短,这样保证了系统的实时性。 关键词 数字万用表 AT89S51单片机 AD转换与控制 目录 摘要„„„„„„„„„„„„„„„„„„„„„„„„„2 关键词„„„„„„„„„„„„„„„„„„„„„„„„2 绪论 1.数字万用表设计背景„„„„„„„„„„„„„„„„„4 1.1 数字万用表的设计目的和意„„„„„„„„„„„„„ 41.2 数字万用表的设计依据…………………………………….4 1.3 数字万用表设计重点解决的问题„„„„„„„„„„„„4 2.数字万用表总体设计方案……………………………………5 2.1数字万用表的基本原理……………………..…….…….5 2 2.2芯片选择及功能简介………………………………………..2.3电路原理图及仿真图……………………………………..……….2.4系统板上硬件连线………………………………..………..…… 2.5程序设计内容………………………………..………..…… 2.6C语言源程序………………………………..………..…… 总结……………………………………….….………… 4心得体会 参考文献……………………………..…….………..13 绪论 数字万用表亦称数字多用表,简称 DMM(Digtial Multimeter)。它是采用数字化测量技术,把连续的模拟量转换成不连续的,离散的数字形式并加以显示的仪表。传统的指针式万用表功能单精度低,不能满足数字化时代的需求,采用单片机的数字万用表,已被广泛用于电子及工业测量、工业自动化仪表、自动测试系统等智能测量领域,显示出强大的生命力。数字万用表具有以下几点优势:(1)显示清晰直观,计数准确 为了提高观察的清晰度,新型的手势式数字万用表已普遍采用字高为26mm的大屏幕LCD(液晶显示器)。有些数字万用表还增加了背光源,以便于夜间观察读数。(2)显示位数 数字万用表的显示位数通常为3位到8位半。 (3)准确度高 准确度是测量结果中系统误差与随机误差的综合。它表示测量结果与真值的一致程度,也反映了测量误差的大小,准确度愈高,测量误差愈小。数字万用表的准确度远优于指针万用表。 (4) 分辨力高 数字万用表在最低电压量程上末位1个字所代表的电压值,称作仪表的分辨率,宏观世界反映了仪表灵敏度的高低,分辨率随显示位数的增加而提高。(5) 测试功能强 数字万用表不止可以测量直流电压,直流电流,电阻二3 极管正向压降等等。(6)测量范围宽 数字万用表可满足常规电子测量的需要,智能数字万用表的测量范围更宽广。 (7)测量速率快 数字万用表在每秒中内对被电压的测量次数称为测量速率,单位是次/秒。它主要取决于A/D转换器的转换速率。一般数字万用表的测量速率为2到5次/秒。有的呢过达到20次/秒以上,另外有的比这个还要高得多。数字万用表可满足不同用户对测量速率的需要。 (8) 输入阻抗高 数字万用表电压档具有很高的输入阻抗,通常为10至10000M欧姆,从被测电路上吸取的电流小,不会影响被测信号源的工作状态,能减小由信号源内阻引起的测量误差。(9)保护功能完善,抗干扰能力强 数字万用表具有比价完善的保护电路,过载能力强,新型的数字万用表还增加了高压保护器件,能防止浪涌电压。 本设计就是居于这个设计理念一个基于单片机的数字万用表。该设备具有直观简单的优点。并且能深入的说明 万用表的测量原理。能直观的了解万用表各个部分的结构和测试原则。 1数字万用表的设计背景 在本章中主要介绍了系统的设计原则和总体方案及其系统概述等。 1.1数字万用表的设计目的和意义 数字万用表是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量,已被广泛应用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。随着时代科技的进步,数字万用表的功能越来越强大,把电量及非电量的测量技术提高到崭新水平。 1.2 数字万用表的设计依据 根据数字万用表的原理,结合以下的设计要求:“设计一个数字万用表,能够测量直流电压值,直流电流、直流电阻。实现多级量程的直流电压测量,其量程范围是200mv、2v ,20v,200v和500v.实现多级量程的直流电流测量,其量程范围是2mA,20mA,200mA、2A和20A.实现多级量程的电阻测量,其量程范围是200、2k ,20k,200k和2M。由此设想出以下的解决方法,即数字万用表的系统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成。为使系统更加稳定,使系统整体精度得以保障。 1.3数字万用表设计重点解决的问题 本设计重点要解决的问题是对不同量程的各种测量内容的转换,还有就是各部分电路组合成一个完整的数字万用表,而难点解决的问题就是程序的设计,要保正其可行性从而保证设计的正确性。数字万用表总体设计方案 2.1数字万用表的基本原理 数字万用表的最基本功能是能够测量直流电压,直流电流,还有能够测电量阻。 下面我们分别介绍各个部分的组成:(1)、模数(A/D)转换与数字显示电路 常见的物理量都是幅值(大小)连续变化的所谓模拟量(模拟信号)。指针式仪表可以直接对模拟电压、电流进行显示。而对数字式仪表,需要把模拟电信号(通常是电压信号)转换成数字信号,再进行显示和处理(如存储、传输、打印、运算等)。数字信号与模拟信号不同,其幅值(大小)是不连续的。这种情况被称为是”量化的"。若最小量化单位(量化台阶)为,则数字信号的大小一定是的整数倍,该整数可以用二进制数码表示。但为了能直观地读出信号大小的数值,需经过数码变换(译码)后由数码管或液晶屏显示出来。(2)、多量程数字电压表原理 在基准数字电压表头前面加一级分压电路(分压器),可以扩展直流电压测量的量程。 (3)多量程数字电流表原理 测量电流的原理是:根据欧姆定律,用合适的取样电阻把待测电流转换为相应的电压,再进行测量。 (4)电阻测量原理 数字万用表中的电阻档采用的是比例测量法。 由稳压管ZD提供测量基准电压,流过标准电阻和被测电阻的电流基本相等 2.2芯片选择及功能简介 这次的课程设计中,我们这一种选择了芯片AT89S51和ADC0809。 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直接PDIP封装,芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口左边那列引脚逆时针数起,依次为1、2、3、4、„、40,其中芯片的1脚5 顶上有个凹点。在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。 1、主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线 2、外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路输入端XTAL2(Pin20):片内振荡电路输出端 3、控制引脚(4根)RST/VPP(Pin9):复位引脚,出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 4、可编程输入/输出引脚(32根)AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7。AT89S51的主要性能参数:与MCS-51产品指令系统完全兼容 4k字节在系统编程(ISP)Flash闪速存储器 1000次擦写周期 4.0-5.5V的工作电压范围 全静态工作模式:0Hz-33MHz 三级程序加密锁 128×8字节内部RAM 32个可编程I/O口线 2个16位定时/计数器 6个中断源 全双工串行UART通道 低功耗空闲和掉电模式 中断可从空闲模唤醒系统 看门狗(WDT)及双数据指针 掉电标识和快速编程特性 灵活的在系统编程(ISP字节或页写模式)ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片 1.主要特性 1)8路输入通道,8位A/D转换器,即分辨率为8位。 2)具有转换起停控制端。 3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时) 4)单个+5V电源供电 5)模拟输入电压范围0~+5V,不需零点和满刻度校准。 6)工作温度范围为-40~+85摄氏度 7)低功耗,约15mW。2.内部结构 ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。3.外部特性(引脚功能) ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。 IN0~IN7:8路模拟量输入端。 2-1~2-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一+5V。 GND:地。ADC0809的工作过程 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式 对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。 (3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行 数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。 2.3电路原理图 2.4系统板上硬件连接 a)把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。 b)把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。 c)把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。 d)把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。 e)把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。 f)把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。 g)把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。 h)把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。 i)把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。 2.5程序设计内容 1.由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。 2.由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF) 2.6C语言源程序 #include unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00};unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};unsigned char dispcount;unsigned char getdata;unsigned int temp; long int i; 代替原来的unsigned char i; sbit ST=P3^0;sbit OE=P3^1;sbit EOC=P3^2;sbit CLK=P3^3; void main(void){ ST=0; OE=0; ET0=1; ET1=1; EA=1; TMOD=0x12; TH0=216; TL0=216; TH1=(65536-5000)/256; TL1=(65536-5000)%256; TR1=1; TR0=1; ST=1; ST=0; while(1) { if(EOC==1) { OE=1; getdata=P0; OE=0; i=getdata*196; dispbuf[5]=i/10000; i=i%10000; dispbuf[6]=i/1000; i=i%1000; dispbuf[7]=i/100; ST=1; ST=0; } } } void t0(void)interrupt 1 using 0 { CLK=~CLK;} void t1(void)interrupt 3 using 0 { TH1=(65536-6000)/256; TL1=(65536-6000)%256; P1=dispcode[dispbuf[dispcount]]; P2=dispbitcode[dispcount]; if(dispcount==5) /*原来的: temp = getdata * 235; temp=temp/128; i=5; dispbuf[0]=10;dispbuf[1]=10;dispbuf[2]=10;dispbuf[3]=10;dispbuf[4]=10;dispbuf[5]=0;dispbuf[6]=0;dispbuf[7]=0;while(temp/10) { dispbuf[i]=temp%10; temp=temp/10; i++; } dispbuf[i]=temp;*/ //定时器0 中断服务 //定时器1 中断服务 { P1=P1 | 0x80; } dispcount++; if(dispcount==8) { dispcount=0; } } 3.总结 设计结果综述: (1)、数字万用表完成的功能主要是对电压、电流、电阻的测量,它主要由分流电阻、分压电阻、基准电阻、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成。(2)、数字万用表属于一种测量工具,其本身的好坏直接影响到测量结果,因此上面的设计在实物上只可以测直流电压,在仿真上可以测出直流电压电流和电阻。(3)、单片机部分跟AD转换部分是整个设计的核心,ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF);AT89S51单片机作为主控芯片,配以RC上电复位电路和震荡电路,使系统稳定运行。(4)、在本次软件设计过程中,采用的是C语言程序。 4心得体会 两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的仿真环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所12 在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!通过这次的课程设计,使我更加透彻的了解到我在单片机这方面的知识的浅薄,从而促进了握要更加了解单片机知识的决心。 5参考文献 C语言程序设计第三版 51单片机开发与应用基础教程13 C语言版) ( 万用表的设计 实验目的 1、了解万用表的基本工作原理及其相关组成部分; 2、掌握用运算放大器组成万用表的设计方法; 3、掌握万用表的主要技术指标和调试方法。知识点和涉及内容 本课程设计的知识点主要是用运算放大器构成各种简单仪表的原理,主要内容则是直流电压、直流电流、交流电压、交流电流及电阻的测量测试方法。技术指标 万用表的测量精确度:2.5级 电源电压:12V 1.直流电压表 量程:6V 2.直流电流表 量程:5mA 3.交流电压表 量程:6V,50Hz~1KHz 4.交流电流表 量程:5mA 5.欧姆表 量程分别为1KΩ,10KΩ,100KΩ 万用表工作原理及参考电路 1.运算放大器调零电路原理 由于集成运放的输入失调电压和输入失调电流的影响,当运算放大器组成的线性电路输入信号为零时,输出往往不等于零。为了提高电路的运算精度,要求对失调电压和失调电流造成的误差进行补偿,这就是运算放大器的调零。“调零”技术是使用运放时必须掌握的。特别是在作直流放大器用时,由于输入失调电压和失调电流的影响,当运放的输入为零时,输出不为零,将影响运算放大器的精度,严重时使运算放大器不能正常工作。调零的原理是,在运放的输入端外加一个补偿电压,以抵消运放本身的失调电压,达到调零的目的。有些运放已经引出调零端,只需要按照器件的规定,接入调零电路进行调零即可,例如本实验所用到的HA17741。下面以A17741为例,图1给出了常用外部调零电路。它的调零电路由-12V电源、50kΩ的电阻和调零电位器Rp组成。调零时应将电路接成闭环,将两个输入端接“地”,调节调零电位器,使输出电压为零。 本实验采用的集成运算放大器为HA17741。 图1 调零电路 2.工作原理及参考电路 在测量中,电压表或者电流表的接入应不影响被测电路的原工作状态,这就要求电压表应具有无穷大的输入电阻,电流表的内阻应为零。但实际上,万用表表头的可动线圈总有一定的电阻,例如100μA的表头,其内阻约为1KΩ,用它进行测量时将影响到被测量,从而引起误差。此外,交流表中的整流二极管的压降和非线性特性也会产生误差。如果在万用表中使用运算放大器,就能大大降低这些误差,提高测量精度。在欧姆表中采用运算放大器,不仅能得到线性刻度,还能实现自动调零。 1)直流电压表 图2为同相端输入,高精度直流电压表电原理图。 图2 直流电压表 表头电流I与被测电压Ui的关系为: IUi R1应当指出:图1适用于测量电路与运算放大器共地的有关电路。此外,当被测电压较高时,在运放的输入端应设置衰减器。 2)直流电流表 图3是浮地直流电流表的电原理图。在电流测量中,浮地电流的测量是普遍存在的,例如:若被测电流无接地点,就属于这种情况。为此,应把运算放大器的电源也对地浮动,按此种方式构成的电流表就可象常规电流表那样,串联在任何电流通路中测量电流。 表头电流I与被测电流I1间关系为: -I1R1=(I1-I)R2 I(1R1)I1 R2可见,改变电阻比(R1/R2),可调节流过电流表的电流,以提高灵敏度。如果被测电流较大时,应给电流表表头并联分流电阻。 图3 直流电流表 3)交流电压表 由运算放大器、二极管整流桥和直流毫安表组成的交流电压表如图4所示。被测交流电压Ui加到运算放大器的同相端,故有很高的输入阻抗,又因为负反馈能减小反馈回路中的非线性影响,故把二极管桥路和表头置于运算放大器的反馈回路中,以减小二极管本身非线性的影响。 图4 交流电压表 表头电流I与被测电压Ui的关系为I Ui R1电流I全部流过桥路,其值仅与Ui/R1有关,与桥路和表头参数(如二极管的死区等非线性参数)无关。表头中电流与被测电压ui的全波整流平均值成正比,若ui为正弦波,则表头可按有效值来刻度。被测电压的上限频率决定于运算放大器的频带和上升速率。 4)、交流电流表 图5 交流电流表 图5为浮地交流电流表,表头读数由被测交流电流i的全波整流平均值I1AV决定,即I(1R1)I1AV R2如果被测电流I1为正弦电流,即I=2I1sinωt,则上式可写为I0.9(1R1)I1 R2 则表头可按有效值来刻度。5)、欧姆表 图6为多量程的欧姆表。 图6 欧姆表 在此电路中,运算放大器改用单电源供电,被测电阻RX跨接在运算放大器的反馈回路中,同相端加基准电压UREF。∵ UP=UN=UREF I1=IX UREFUUREFR 即 RX1(UOUREF)0UREFR1RX流经表头的电流IUOUREF R2RmUREFRX R1(RmR2)由上两式消去(UO-UREF)可得 I可见,电流I与被测电阻成正比,而且表头具有线性刻度,改变R1值,可改变欧姆表的量程。这种欧姆表能自动调零,当RX=0时,电路变成电压跟随器,UO=UREF,故表头电流为零,从而实现了自动调零。 二极管D起保护电表的作用,如果没有D,当RX超量程时,特别是当RX→∞,运算放大器的输出电压将接近电源电压,使表头过载。有了D 就可使输出钳位,防止表头过载。调整R2,可实现满量程调节。电路设计 1.万用表的电路是多种多样的,建议用参考电路设计一只较完整的万用表。 2.万用表作电压、电流或欧姆测量时,和进行量程切换时应用开关切换,但实验时可用跳线切换。实验元器件及所用设备 1、表头: 灵敏度为1mA 1 块 2、运算放大器: HA17741 1片 3、电位器: 500Ω 1只,1KΩ 2只,2KΩ 1只,50KΩ 1只,100KΩ 1只 4、电阻器: 1KΩ 2只,2.7KΩ 1只,10KΩ 2只,100KΩ 1只 均采用W的金属膜电阻器 45、二极管: IN4007 4只,IN4148 1只 6、稳压管: IN4728 1只 7、实验所用设备:模拟实验箱、信号发生器(SP1641B)、数字万用表、面包板、镊子、螺丝刀、保险丝(2.5A)注意事项 1、在连接电源时,正、负电源连接点上各接大容量的滤波电容和0.01μF~0.1μF的小电容,以消除通过电源产生的干扰。 2、万用表的电性能测试要用标准电压表、电流表校正,欧姆表则用标准 1电阻校正。考虑实验要求不高,建议用数字式4位万用表作为标准校正表。 2附录 1、运算放大器HA17741引脚图 2、测量数据表 整机电路 沟通篇 猎头和 Coldcall(陌生电话) Cold call(以下称cc)是猎头的工作方法,中国绝大多数猎头顾问每天就是在 cold call 中度过的。cold call 效率的高低直接影响着一个consultant 甚至一个 search firm的绩效。携程和E龙的运作模式几乎是一样的(call center),但从接到预定电话到完毕,携程的每个电话的处理时间仅是E龙的三分之一,这就意味着携程的成本也是是E龙的三分之一。在当代商业竞争中,三分之一的成本意味着什么?成败! 在绝大多数通用型职位上,一个猎头顾问面临的竞争是异常激烈的。如果 cold call 的效率能够提高一倍,平庸的 consultant 便 outstanding 了。 提高 cold call 的效率并不是一件很困难的事情: 消除心理障碍:很多新入行的猎头不免对 cold call 有心理障碍,这跟面子问题无关,这是我们的工作方式,just do it! 做好准备工作:打每个 cold call 前做好准备,包括对方资料的收集;question list;记录用文具等等。 结构化交流:漫谈式的聊天并不适合大多数 cold call,结构化的交流对于提高 cold call 效率来讲至关重要! 善于记录:根据150理论,一个人最多只能同时与150人保持经常联络。手机的SIM卡一般都设计成可以容纳150人的电话记录。一个猎头所 contact 的人远远超过150个,所以一定做好电话记录。 多实践多总结:任何高手与新手的区别不过是熟练掌握更多的雕虫小技而已,比如怎么绕过前台等等,但这些技巧往往无法言传,打过1000个 cold call 之后,便会顿悟。 对潜在候选人进行电话筛选 在简历筛选的过程中, 一些看起来不错的候选人会进入我们的视野, 但在决定其是否合格之前, 往往我们需要先通过电话面试对这些候选人进行一个直觉的判断.电话面试对招聘者/猎头顾问提出了更高的要求, 即要迅速对电话另一端的候选人做出判断, 否则, 可能需要在数周内通n次电话才能得出结论.首先, 要保持电话面试是简短而有效的.另外, 除非你准备能够承受突如其来的陌生电话骚扰, 否则建议不要向候选人透露直线电话.或者, 预备一个专用的号码,专门用来接听有关工作职位的问讯, 或通过语音留言来应付这些电话.下面这些建议, 或许可以帮助你通过电话对候选人进行有效的筛选: 做好通话记录 在于潜在的候选人通话时, 用有组织系统的方式, 记录他们的谈话内容.比如使用面试问卷.记录每一次通话的摘要, 尤其是候选人与众不同的特质.通话记录应使用中性词语或者相同性质的词语来描述, 以便这些记录可以用于比较不同候选人之间的差异.认真聆听 因为在电话面试中, 你无法看到你的候选人, 无法观察他们的行为.所以, 你必须使自己成为一名“杰出的/非凡的听众”.不但要听清楚他们对问题的阐述,更要注意聆听他们说话的语气语调, 专业性, 遣词造句, 情绪, 幽默感, 个性等等.要求候选人提问 如果候选人没有任何问题需要提问, 可能表示他们对此机会并不感兴趣, 甚至根本不在意.在电话结束之前, 问一些候选人是否有其他问题.电话面试都很简短,一般情况下候选人都应该会有一些问题需要弄清楚.而且往往从候选人的提问中, 我们可以发现很多候选人的“内部资料”.寻找不合格的候选人 通过电话面试, 我们无法挑选出最好的候选人, 但是, 我们至少可以判断出哪些候选人根本就是不合格的.电话筛选本身就是一个“不断排除”的过程.这很像是一此相亲或者初次约会, 我们可以很容易在第一眼“淘汰”掉对方, 因为你自己知道你永远不会与这种人结婚, 相反,我们却很难在第一次就做出嫁给/迎娶对方的决定.不要过分依赖电话技巧 尽管电话筛选可以帮助我们对潜在的筛选人进行筛选, 但这种方法也是有缺陷的.所以, 不要把候选人的电话沟通技巧, 当做最终的判断依据,除非我们在为“call center”找一名接线员或者电话销售人员.三个猎头常见问题的常用答案 今天向大家提供的是一些我在工作中经常遇到的提问, 和我采用的答案的模版.可以说, 这些答案是我不断从同事那里学到的和实践积累下来的经验.当然, 要想成为语言沟通的大师, 关键是掌握创造语言的技巧.如果太过于依赖这样的现成的答案模版, 未免太过于呆板了, 让人难以有发挥的余地.但做为参考,或者对于新手而言, 也许下面的模版也能发挥自己的价值.让你的候选人这样结束面试: Bob 总是告诫自己的候选人, 在面试的时候一定要使用这样的问题结束谈话:“如果我有幸得到贵司的聘书, 请问在我接受聘请后,您认为我应该立刻开展哪些工作, 来缓解目前这个职位的紧需求?”相信我, 这样的问题是雇主最希望听到这些! 这个问题可以让你的候选人立刻与其他候选人区别开来, 因为在面试阶段, 一般人通常关心的未来公司薪资福利状况, 以及是否有停车位等等.第一时间从客户那里得到反馈: 对于招聘顾问而言, 反馈有时就意味着成功的开始.没有及时的反馈, 你的搜寻进程是没有任何价值的.下面的引语可以帮助你的客户理解及时, 密切沟通的重要性:“我们非常希望能够就这个职位为贵司在第一时间找到合适的候选人.当然, 这需要得到贵司的密切合作,包括及时的反馈, 以便我们可以及时的调整人才搜寻的方向和目标.通常情况下, 我们就会把优先就哪些及时的反馈职位进行搜寻.如果贵司可以在我们提交候选人推荐报告的24-48小时内, 反馈处理意见, 无疑将有助于我们全力推进贵司职位的搜寻进程.谁告诉你我的名字? 这个是 Peter 告诉我的: “请恕我无法告知他的名字, 不过我可以向您简单解释一下.向我们推荐您的这位朋友, 现在可能正在通过我们寻找新的工作机会.就如同我也同样会对您的职业意向严格保密.不知道这样解释可以嘛?”不知您对此有何看法呢?” 怎样取得候选人的积极回应 首先应当记得,与那些消极的候选人联络,不能抱着“姜太公钓鱼,愿者上钩”的想法。不难想像,也许候选人整天被猎头的电话“轰炸”,而他对这些计划并不感兴趣,或者他刚刚接了另一个 offer,根本就不愿意回复你,想都不想就把 email 删了。我们的目的是鼓励他们对推荐的职位做出回应,即使他说没空,或者根本就不感兴趣。 其次,要记得千万不要放弃这些看似消极的候选人。如果你的候选人回应率仅仅40%或者更少,这会让你越来越沮丧!坦白讲,往往你的目标就在这些消极回应的候选人中。 以结果为导向,你必须竞争对手中脱颖而出,下面的这些事情或许可以帮助你。 首先,给候选人发一封个性化的邮件,不要发那种千篇一律的格式化文本,一定要包含下面的内容: 1、一段关于你自己和你公司的简短介绍 2、你掌握的关于他的情况,指出在众多候选人中选择他的原因 3、用3到4句话介绍一下客户公司的优势 4、描述一下这个机会对于候选人的好处 5、你自己的详细联络信息 6、用一句话问一下候选人,如果他自己不感兴趣,希望他能把你的 email 转发给可能对此机会感兴趣的朋友 第二,如果你没有收到回应,第二天应及时打电话跟进。提及昨天你发的邮件,并表示很想就此职位跟他聊一下。 第三,过几天如果还没有从候选人的回应,再给他发一封 email,最后问他对于你推荐职位的看法,不管他是否感兴趣。 如果你一点不遗漏地完成了上面的过程,忘掉以前的联络,重新联系你的候选人,做一次Pre-screen。如果结果显示候选人根本不适合职位的要求,或者候选人对这种类型的职位根本不感兴趣,一定要问清楚,如果有新的职业机会,他还愿不愿意你再次与他联络。 不断地在你和候选人以及客户的接触中,坚持按照这个步骤行事。不管是候选人还是客户,他们的想法永远改变得比风向快。总之,只要你不表现的傲慢,坚持这样的结构化交流,很快就会见成效。 十四个问题鉴定候选人 你已经多少次被 candidate 伤透了心?他们在你面前表现的很好,但却在客户 finall interview的环节败下阵来!这样的事情几乎天天都在发生。 这里为猎头顾问提供了一个模版,可以在评估 candidate 的时候派上用场。它提供了14项测量指标,可以避免让你在那些永远都不会成功的候选人身上浪费 时间。 1、候选人是否具备目标职位所必须的每一种技能?如果是,他现在还在一直使用嘛,还是几年前曾经用过? 2、候选人是否在其供职的每一间公司都服务了适当的时间(一般为2到4年),还是每一、两年都在跳槽?如果是不断地在跳槽,那他是否可以给出一个令人信服的原因? 3、她是否长期服务于目前的公司(6年以上)? 如果真是这样,她很可能将难以做出离开的决定(即便他自己否认这一点) 4、候选人是否曾长时间内担任(合同工?),如果你在招一个(合同工?),那将是一个不错的选择,不过若是想招聘一名长期的雇员,那可就得注意了! 5、候选人是本地人嘛?本地人总是要更令人放心一些。许多公司可能会为候选人的 relocation 买单,但外地人往往会带来更多的麻烦! 6、他的个性和沟通能力如何? 他的表现风格怎么样?他自信嘛?还是想个羞怯的小老鼠?你愿意相信他所说的,或者做的似乎可疑的事儿嘛?他说话自信嘛?还是让你听了想睡觉?你觉得他傲慢嘛?一些高级职位和大多数一般职位终究不同,这写问题往往非常非常重要.7、这个职位是专为他而设立的嘛?如果不是,你就需要了解他 try 这个职位的 motivation ? 8、候选人有曾经为高素质公司服务的经历嘛?如果他曾经服务于 Oracle,Microsoft,Xerox等等,你就可以推测他具备一些相比之下更好的相关技能。 9、他可以提供可信的离职原因嘛?比如承担了太多的压力,发展空间受限,公司不稳定等等。或者只是归结到一些不确定的因素,比如我一直在看外面的机会,薪水高一点等等。这样的话,终究有一天,他会毫不犹豫地走进老板的办公室说:我辞职! 10、他总共有多少相关行业的经验?如果一个人刚刚大学毕业三年,就做上了 Director,这一定不是个好信号! 17、候选人是否来自于相关行业,以及相近规模的公司?对一些技术职位这或许不怎么重要,因为很多技能可以在不同的行业 Transfer。但是,如果你为一加大公司找一名Controller,那么,来自于小工厂的Controller或许就不适合了! 12、候选人是否持有与职位相关的证书,或接受过相关的培训? 13、他对薪水的要求合理嘛? 14、候选人愿意在收到offer的24小时内做出决定嘛?第三篇:单片机数字万用表课程设计
第四篇:模电课程设计-万用表
第五篇:猎头和cc