维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 181|回复: 2

光耦实验程序

[复制链接]

classn_11

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

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

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

x
作者:张工(菁远科技)- P% G  Y1 B9 w. H. k  N$ F0 z
淘宝店铺:http://jy51mcu.taobao.com/4 S9 Y0 w3 A  g( B: v
技术博客:http://www.ednchina.com/blog/ahai0306/
; q' L, z: q5 u' `) A' x光耦内部是由发光二极管和光电三极管组成,使电—光—电的转换,从而起到输入、输出、隔离的作用,增强了单片机系统的抗干扰性和可靠性。
, |8 u; V# h' }5 d1 f光耦在工业控制中起到了非常大作用,以可靠性和稳定性闻名的PLC的输入和输出就是经过光耦隔离的。
. e1 n3 X3 D& F) R) K
/ z+ Q4 f! c7 J
7 g9 M/ {/ q0 z8 {* c6 k+ Z7 |
. P# L' k. Z# h, ?9 X6 g2 b电路说明:INT1端接单片机IO口(P33),当P33输出高电平时,TLP521(或PC817)内部发光二极管不导通,光耦内部光电三极管截止,光耦输出信号为高电平,此时D22灭。$ T8 `8 J5 e2 W' h( Q8 G: D# N# F
当P33输出低电平时,TLP521(或PC817)内部发光二极管导通,光耦内部光电三极管导通,光耦输出信号为低电平,此时D22灭。
8 p/ n( l" N; D/ P; {' F        光耦的主要作用是将信号通过光传输,减少了电信号传输带来的干扰,在双电源的情况下使用光耦的效果非常好。如果在一个电源的情况下,可以将“数字地”和“模拟地”分开, 最后在一点使用“一点接地”方式,如上图。% ^' z! R" ~, O  `3 D0 a* g1 r2 ?( |
程序代码如下:
! H/ B! q! @: i! H. k! u/*
. W3 i/ ^) n, f* t- |***************************************************************************/ S+ C3 Z8 [) ^
*                                        (C) Copyright 2010,菁远科技* y' H0 Y* n% b1 Y
* All Rights reserved.
+ M! I) I2 {( W# Y# ~) z% |*项目名称: JY-100B单片机学习开发系统% f. D( V9 l5 H, Z
*本文件名称:flash_led.c (光耦PC817/TLP521的实验程序)# b* m8 S# \" E  n
* 完成作者  张工
7 o8 J3 c6 V8 H  N* G* 当前版本  V1.0
* t) Q& Q, w1 U: M* 完成日期  2010年6月1日
$ [7 f: F! @( N: \4 e*淘宝店铺:http://jy51mcu.taobao.com/* Y" s! C2 B: w. G) O
*技术博客:http://www.ednchina.com/blog/ahai0306/
$ V2 h1 M7 N; ~! R* 描 述  此程序是练习光耦PC817的使用,光耦在实际应用中很广泛,可以主  S" H+ C5 ~1 Q  `  b
要学习其硬件电路,程序与控制IO口类似。
! }6 }9 A+ k9 x5 t% l( ^$ h                         实验时用杜帮线将P33和右下角螺钉处的G插针相连。
  `$ a: v3 B2 z# v: l*          本程序结构简单、合理,有帮助于初学者养成良好的编
" i; [3 d, r& Y# t& n0 e* 程风格。
( G, y/ A7 C( ^, T$ f****************************************************************************
3 w) o' ?6 Z- [& h* V6 m; q$ ~: \*/
1 i: U" [1 O* {* A+ H% ?6 Z#include                  //调用头文件(单片机内部的寄存器定义)
+ _& U# v* I: w" w6 D6 |  J- f7 ?, n/******本段为硬件I/O口定义********/% X6 Q$ V3 B8 H$ U/ |
sbit         TLP0 = P3 ^ 3;//光耦端口
. F! T1 H# v+ {% \$ I3 o) `/**************************************************
$ S6 N! @+ b6 u7 q** 函数名称: dellay
) }% C- d" f$ V& v0 W** 入口参数:h(双字节型)
) Q) \$ ^; s! U$ d% I# }4 C3 K** 出口参数:无! l, M- m5 ]2 i6 z# T+ z+ ^
** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS7 X" L  p2 {3 I* V
****************************************************/
1 C. }) A& E8 G6 A7 ?0 Rvoid dellay(unsigned int h) //短延时函数,最大0.6秒
, L; T* |5 s) r5 B1 L{, {! J% u7 l8 {7 g" s
while(h--);         //0.01MS
+ Z, K0 X' @) _7 P}' ~/ }$ X" Y  B% T
/************主程序**************/
  f- ]9 g4 Y0 V7 t' y# ~main(). ^& o( @1 b* c: C$ S
{ : t1 m" E0 o  U6 j
while(1)                //单片机在此反复执行$ t. w/ H( z2 U$ N( V0 `
{
3 x9 t8 }- E& h8 |          TLP0=0;                 //光耦导通,发光二极管D22亮指示, g' b5 t/ U& p) E4 v
         dellay(50000); //约0.5秒3 x: _+ y9 s; k* W' b
         dellay(30000); //约0.3秒,共0.8秒
/ Y7 N+ }# T+ k3 y* D  v TLP0=1;                 //光耦光断,发光二极管D22灭" B8 k# k+ l1 `8 G2 L: f0 u
         dellay(50000);          //约0.5秒
0 K: q3 Y2 E' @         dellay(30000); //约0.3秒,共0.8秒
3 R. \5 S3 ^6 D }         4 o& U5 i- u/ x5 M2 Q8 Z  X9 O
}
% S3 k# W* L3 m; E* _0 k  
: q  i, `' v$ ]- T4 U
, Z0 O; J8 E/ y) S6 K5 n+ A/ U; a$ d5 X
6185eaa8.pdf (98.28 KB, 下载次数: 0)

手机扫码浏览

classn_11

发表于 2009-12-2 20:58:27 | 显示全部楼层
呵呵呵 有看没有懂- s. c& K- D* w2 o0 ^
冷柜

classn_11

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

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-6-26 22:36 , Processed in 0.280843 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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