51单片机初学者交流群:89562535,欢迎加入…
光耦内部是由发光二极管和光电三极管组成,使电—光—电的转换,从而起到输入、输出、隔离的作用,增强了单片机系统的抗干扰性和可靠性。
光耦在工业控制中起到了非常大作用,以可靠性和稳定性闻名的PLC的输入和输出就是经过光耦隔离的。
电路说明:INT1端接单片机IO口(P33),当P33输出高电平时,TLP521(或PC817)内部发光二极管不导通,光耦内部光电三极管截止,光耦输出信号为高电平,此时D22灭。
当P33输出低电平时,TLP521(或PC817)内部发光二极管导通,光耦内部光电三极管导通,光耦输出信号为低电平,此时D22灭。
光耦的主要作用是将信号通过光传输,减少了电信号传输带来的干扰,在双电源的情况下使用光耦的效果非常好。如果在一个电源的情况下,可以将“数字地”和“模拟地”分开, 最后在一点使用“一点接地”方式,如上图。
程序代码如下:
/*
***************************************************************************
* (C) Copyright 2010,菁远科技
* All Rights reserved.
*项目名称: JY-100B单片机学习开发系统
*本文件名称:flash_led.c (光耦PC817/TLP521的实验程序)
* 完成作者 : 张工
* 当前版本 : V1.0
* 完成日期 : 2010年6月1日
*淘宝店铺:http://jy51mcu.taobao.com/
*技术博客:http://www.ednchina.com/blog/ahai0306/
* 描 述 : 此程序是练习光耦PC817的使用,光耦在实际应用中很广泛,可以主
要学习其硬件电路,程序与控制IO口类似。
实验时用杜帮线将P33和右下角螺钉处的G插针相连。
* 本程序结构简单、合理,有帮助于初学者养成良好的编
* 程风格。
****************************************************************************
*/
#include <reg52.h> //调用头文件(单片机内部的寄存器定义)
/******本段为硬件I/O口定义********/
sbit TLP0 = P3 ^ 3;//光耦端口
/**************************************************
** 函数名称: dellay
** 入口参数:h(双字节型)
** 出口参数:无
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS
****************************************************/
void dellay(unsigned int h) //短延时函数,最大0.6秒
{
while(h--); //0.01MS
}
/************主程序**************/
main()
{
while(1) //单片机在此反复执行
{
TLP0=0; //光耦导通,发光二极管D22亮指示
dellay(50000); //约0.5秒
dellay(30000); //约0.3秒,共0.8秒
TLP0=1; //光耦光断,发光二极管D22灭
dellay(50000); //约0.5秒
dellay(30000); //约0.3秒,共0.8秒
}
}
光耦实验详细说明.pdf
(98.28 KB, 下载次数: 91)
[此贴子已经被作者于2010-11-8 13:58:54编辑过]
|