|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
全自动相位触发电风扇源程序 , j/ z; K/ C `7 S" c
9 f8 {/ D* R) P3 I+ Q1 g( n* s5 r* B" z3 H& \3 V
//主程序5 N8 Q( U/ H# \. ?0 [
#include <reg52.h>6 P: L$ c2 _1 n# h
sbit LIGHT=P1^6; /* 风扇触发端 */* y% G# o0 `- Y. U/ k
void Initialize(void); /* 初始化单片机。 */0 l5 U1 Z0 k5 l7 F& \$ q* N
void wdcl(void);6 T5 L) H. L. i; ^; I
void main(void)$ m8 I+ T' } m
{
0 u- T9 k+ U% h/ q$ [ Initialize();$ T# t+ \" n7 u k! Z E _" U' N i' w
do8 p' [# d! h! K* ~7 w' |& A+ b
{* c+ P; j) C) S" G7 J% o( M! k
wdcl();
) C7 U# {$ [. P, | } // Check();
+ c* y, W7 u4 O; w4 P v }
2 M" u7 Z7 E2 p7 M% T while(1);
" w W) b1 ^& _" \6 g: A, F E}1 {. X& W5 T6 T. L. ?/ r" H/ f
void ServiceTimer2() interrupt 5 using 1
- m! T1 m# Y1 m! {/ y{
8 q* q' H0 w' A' Y1 b LIGHT=0; /* 触发电风扇晶闸管。*/
7 d# O6 H& A; @8 v TR2=0;
$ ?6 j+ ^# b% e, e TF2=0;
- M: @% ]: s N} M c! [# U. q
ServiceINT1() interrupt 2 using 1) f4 R# C% Z. Q& z
{1 h; p: q& Z x
TR2=0;
u9 g* Y7 m- M3 \2 s TH2=(65536-10000)/256;
/ v, m2 {5 s" N2 m% @7 `9 r TL2=(65536-10000)*256; //晶振为12M,若晶振为11.0592时为TL0=(65536-9216)。。。。。( m* H& t8 c1 {- x4 A M2 d _5 `
TR2=1;
- h& f# j) u6 I3 i$ o9 w9 ~}; E, G' I( g8 j+ S( Z) b3 @
void Initialize(void)
8 g, S# I! ^- P P9 r{
; m0 f3 K' F' n7 `& d; K T2CON=0x00; /* TIMER2.用于电风扇的驱动。 */
: q+ t/ ?5 r; [7 m8 \( L PT0=1;
; A" }7 E( a4 f, |! l+ e, {7 |5 T IT1=1;5 u! x5 c% T" v
TR0=0;
+ n! v$ L2 s9 j$ H9 q TR2=0;
9 }& G: J+ ^5 X9 u ET0=1;! r' G5 T. a' q4 m4 o# a
ET2=1;: n+ X9 o; G3 W0 U; t6 L4 @
EX1=1;
% ^6 X3 u, m; l% q7 \ EA=1;6 i& \1 a! G) ?: w6 }, } U
EX0=1;
" e0 N9 H) L0 S}
3 k# |1 O4 Y1 A3 K* `' Z, D h# F3 k
( }# e; E$ D/ f# j
$ \4 A7 E- E$ b0 B: {/ \7 a, w1 S8 L0 X/ s
|
|