维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 211|回复: 2

光耦实验程序

[复制链接]

该用户从未签到

发表于 2009-12-2 20:58:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
作者:张工(菁远科技)
* p4 v  Y, I: ?5 Q5 ~淘宝店铺:http://jy51mcu.taobao.com/5 ^( m; v: d: X% E2 P0 _
技术博客:http://www.ednchina.com/blog/ahai0306/
. J7 ^. g0 f! M8 B5 i5 J) H光耦内部是由发光二极管和光电三极管组成,使电—光—电的转换,从而起到输入、输出、隔离的作用,增强了单片机系统的抗干扰性和可靠性。
: c& s) E6 L$ c, h" \  A: M光耦在工业控制中起到了非常大作用,以可靠性和稳定性闻名的PLC的输入和输出就是经过光耦隔离的。
/ P9 }* H, A( ~! ^( |
/ V  w8 h# k, m' x& f- s : }, X+ J+ _( K0 ?$ z9 D
" l6 ]7 N, l- U
电路说明:INT1端接单片机IO口(P33),当P33输出高电平时,TLP521(或PC817)内部发光二极管不导通,光耦内部光电三极管截止,光耦输出信号为高电平,此时D22灭。
; e' V+ v* p3 c9 N, d2 W! Q当P33输出低电平时,TLP521(或PC817)内部发光二极管导通,光耦内部光电三极管导通,光耦输出信号为低电平,此时D22灭。
4 T* j9 G+ Q4 F, l2 ^$ z5 [        光耦的主要作用是将信号通过光传输,减少了电信号传输带来的干扰,在双电源的情况下使用光耦的效果非常好。如果在一个电源的情况下,可以将“数字地”和“模拟地”分开, 最后在一点使用“一点接地”方式,如上图。( ?6 r5 V) S8 G% \7 [- k5 @* o
程序代码如下:
' `; J6 C$ H' k* w: l* u( P$ G: F/*- a4 ~- u2 u6 M( v5 F6 k$ y' Y  e
***************************************************************************+ l. L' l7 E- R
*                                        (C) Copyright 2010,菁远科技1 T' \$ ^& D9 Z+ K& P" K
* All Rights reserved.
7 g/ e5 \) O; t: j) U# |( Q) v8 `*项目名称: JY-100B单片机学习开发系统
/ x$ e* Q# q4 c# F*本文件名称:flash_led.c (光耦PC817/TLP521的实验程序)$ I7 C+ H" U" A2 c
* 完成作者  张工 ! o8 {' ~8 u1 N0 C2 P! P6 w
* 当前版本  V1.0
4 c  V. L5 @' K' H, @5 }* y* 完成日期  2010年6月1日
) x& k7 d& {! ]4 Q$ B*淘宝店铺:http://jy51mcu.taobao.com/- ]: ?! R) u8 \2 f
*技术博客:http://www.ednchina.com/blog/ahai0306/
7 O& g/ z3 e2 d* K# x* 描 述  此程序是练习光耦PC817的使用,光耦在实际应用中很广泛,可以主9 ~% W" A* {4 G& ]2 ~3 j! i4 v
要学习其硬件电路,程序与控制IO口类似。
' F! {, N$ _1 u  ~/ ^$ k7 y, \                         实验时用杜帮线将P33和右下角螺钉处的G插针相连。0 N4 O$ Y. a( ]1 ?; n
*          本程序结构简单、合理,有帮助于初学者养成良好的编( E- X. Q, v) g! ~& F3 N
* 程风格。' ^. {9 B8 i& K$ w9 [
****************************************************************************
# e5 s2 @" f) e. b& S*/
# w$ f! \/ B$ i9 G/ v& q1 l* i#include                  //调用头文件(单片机内部的寄存器定义)+ A) {* ]7 Q0 k# T+ r2 Q8 d7 E
/******本段为硬件I/O口定义********/
; N9 L3 `& J1 a6 X% I% u, Tsbit         TLP0 = P3 ^ 3;//光耦端口
4 d: g5 r( s$ C/**************************************************
7 h3 T/ g5 Z% }* H** 函数名称: dellay1 o2 Z! @* v- g8 |& k
** 入口参数:h(双字节型)
! E7 d: r$ R3 I+ a0 H5 o** 出口参数:无7 g& g' ~: A4 B1 `+ O" \5 D
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS8 P6 Y) g" c6 X: H4 [* p& U5 B) f
****************************************************/
) R! q# M# \& f1 ~. q' @- ~void dellay(unsigned int h) //短延时函数,最大0.6秒
8 I! s  H2 _& q0 {8 n1 {{; @3 d! B% {1 v, [; a! ~
while(h--);         //0.01MS
9 g' G" ]$ H# e2 @, L3 |3 ^: o# o/ H) g}' c" S+ }& f0 c
/************主程序**************/7 |- d! Z/ y6 \4 R0 T
main()3 T' Z. S0 z' u
{
) e" b" g7 R% l% n5 d( S2 l+ R/ x while(1)                //单片机在此反复执行
6 i' _+ I3 W) S4 g2 _3 J/ H {. X5 I# O9 H. n
         TLP0=0;                 //光耦导通,发光二极管D22亮指示; [) E# E* e% G! p
         dellay(50000); //约0.5秒4 S& e! b% k/ U4 m% m* ?  k) P3 p
         dellay(30000); //约0.3秒,共0.8秒$ I; @5 q9 X  F4 u3 c
TLP0=1;                 //光耦光断,发光二极管D22灭
0 z8 D, w+ c, F  H) {) }! y         dellay(50000);          //约0.5秒8 f$ P" h% X2 E
         dellay(30000); //约0.3秒,共0.8秒
4 [' E, g. r, p% {/ `* a }         
, m3 ?" y0 c& X9 M9 A}% M1 k" g( `* `) U
  1 c! ~! B/ p- S1 P9 |, @( J

" J* t4 N! P. |! o$ E$ M& Q
* }/ o% ]9 i$ X4 f5 t- f 6185eaa8.pdf (98.28 KB, 下载次数: 0)

手机扫码浏览

该用户从未签到

发表于 2009-12-2 20:58:27 | 显示全部楼层
呵呵呵 有看没有懂. I% a- |; P( V$ U
冷柜

该用户从未签到

发表于 2009-12-2 20:58:28 | 显示全部楼层
路过,顺便学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2025-5-10 21:46 , Processed in 1.000717 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表