当前位置:首页 > 《单片机课程设计》报告
TL1=0xB0; TR1=1; while(!TF1); TF1=0;
} }
void delay_1s(){ unsigned char i; for(i=0;i<5;i++){ delay0_2s();
} }
void main(){ P1=0xf0; while(1){ P1_3=0; if(P1_0==0)//B { if(P1_1==0)//C { P1_2=0; delay_1s();
} else { P1_2=1;//电机 P1_3=1; delay0_2s(); P1_4=1; delay_1s(); }
} else
{
9
} }}
if(P1_1==1){//C } else delay_1s();
P1_2=1; delay_1s();
七、调试运行
1、软件测试:
运用Protul软件进行仿真检验。在元件库中找到所需要的元器件,把它们按照原理图的构想依次连接起来,反复检查线路会不会出错。待画完图,就可以开始仿真电路图了。给单片机导入预先编程好的程序“.hex”文件,点击仿真。仿真图可以运行,但是电机在B,C都为低电平的情况下没有运转。说明电路有部分地方短路或者断路了,观察仿真图中的电位情况也许可以找到问题的所在。经过多次的检查发现,各点的电位并没有像想象中的那样有什么不妥。现在就要搞清楚仿真中的元器件的所有主要参数是否和实际的参数相符合。查看资料,对于继电器,它本身的线圈电阻是在400欧左右,在查看仿真中的元器件的参数,不难发现原始数据和实际相差很大,它给的是理想线圈,也就是没有内阻。这样就如预期的那样找到电机不转的原因了。原始数据没有进行改变;查找资料,得知光电耦合器的发光二极管的压降为1.15~1.5v,最大电流为60mA,电流传输比CTR为20~70%。通过已知的条件求出每条线路上所需要的电阻大小。对各各元器件的初参数设置完毕,启动仿真,整体像想象中的那样正常工作!软件仿真结束,仿真图里的数值引用到实际电路的焊接中。
10
2、硬件测试:
焊接完整体的板件,开始测试板子电路是否能够完成所需要的功能。应为电路的原版是根据仿真电路出来的,所以不一定能够一次性就完成设计。 对于板子上的器件来说,有两个是特别容易烧掉的,PNP三极管和4N25光电耦合器。因为它们的工作电压较低和工作电流很小,所以要特别的注意。虽然已经给了足够的保护还是不能太掉以轻心要是烧了就没有其他器件可以换了。
首先,测试光电耦左边能否正常工作。把三极管的B极接于低电平,给予E极高电平,测试两管脚之间的电压降是多少。经测试三极管正常工作,可是光电耦合器的1,2管脚的电压异常偏高。断去电源,用万用表的测试端测试1,2管脚是否击穿,发现并没有完全短路,有可能是封装的时候没有装好。
其次,测试光电耦合器右端是否能正常工作。给继电器加上12v的电压, 用导线短接光电耦合器的4,5号管脚,继电器能发出啪啪声,也就是说明光电耦合器右端能够正常工作。
再次,对整块板进行调试。给光电耦合器两边电路都通上电,给三极管的B端输入一个低电平,继电器不工作。说明光电耦合器无法工作。应当更换光电耦合器;换完光电耦合器后的检测。换完光电耦合器后进行整块板子的调试,给三极
11
管B极一个低电平继电器能够工作。插到单片机上给一个周期性的低电平,继电器能够周期性的发出啪啪声,整体调试通过
八、结果及分析
调试:
将光耦的第二引脚和第四引脚接地,PNP三极管的发射极接+5V电源。然后分别用光耦的第五引脚和+12V电源线接继电器的线圈两端,稍停片刻后,若能听到吧嗒一声,则证明光耦、继电器能够正常工作,然后进行接铜片,用开发板防真,进行水泵实验,电路能够实现表一的真值表功能。
硬件电路如下:
12
共分享92篇相关文档