|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
全自动相位触发电风扇源程序 " `$ o7 |& N! T* H1 ?. ~, U0 s
. O" R$ H6 ` E; r! F: E6 T5 r
% p0 }* P ^4 ^0 C
//主程序
5 s& ~% f) o5 x( l* W8 q$ X4 W* {( e#include <reg52.h>
) j- M$ G" V% _2 J! V& ]9 _3 osbit LIGHT=P1^6; /* 风扇触发端 */6 ^6 u2 Z: |% I4 L
void Initialize(void); /* 初始化单片机。 */ u2 \8 L/ W0 U7 `7 ^
void wdcl(void);
- A4 @7 {+ e1 K2 A5 svoid main(void)+ {$ x- D0 S9 n# K& |& A: o
{
& d3 A8 D" \) ?8 F ?9 T6 m9 J& \9 F Initialize();( [2 x: V @- Q' b. h5 }. A
do% }6 u3 ~: F: a/ @ s
{2 a3 y; a3 o- v. I5 `
wdcl();
( W0 `' c3 |) \7 S4 ~& G // Check();
* Z1 U9 U L w* F9 C }
7 N: V9 [. h+ H$ F! R while(1);
3 W" s9 C* d/ ]3 _. T( C; W}
+ k( y+ J' K Q& q. \! e) Svoid ServiceTimer2() interrupt 5 using 1
* a$ C L( x' W% T) C{
0 J! k" \ m: u+ j! R1 Q$ x LIGHT=0; /* 触发电风扇晶闸管。*/( a* K! ?. O- O# I0 I, h6 v- m0 m
TR2=0;
. V& n1 M. A1 j" _5 @/ t& m- S+ S TF2=0;
/ t! c9 o- P9 r" ]}
9 E0 I1 @' j& z# @ServiceINT1() interrupt 2 using 1
5 c% U' E" u; `/ I6 T{
0 a5 e3 n) q* W" _( U$ q4 a TR2=0;
+ g; h% g7 M0 i% x TH2=(65536-10000)/256;; z) W) _" X% M/ J/ B
TL2=(65536-10000)*256; //晶振为12M,若晶振为11.0592时为TL0=(65536-9216)。。。。。1 j: i: a ^' b
TR2=1;: x" r x6 K! B
}- b! s' G+ Y7 O# f. S; G: p
void Initialize(void)
1 p0 M, s' d- u7 ~, g2 F+ q! \{
) u( {8 S9 L! O0 I9 p T2CON=0x00; /* TIMER2.用于电风扇的驱动。 */ n M! \1 z G: b" d: k
PT0=1;
; V0 Z* W7 l# C9 v* B4 F3 B2 t _ IT1=1;
! t& y4 Q( |. F TR0=0;
6 w" h! `( l- X% \ TR2=0;
2 H( r# s/ b' K/ j2 i ET0=1;% b& O" _( G, z. H' f `
ET2=1;
; [9 n K2 W$ P3 @2 P EX1=1;1 Q- y: P9 n* E! x# g, [8 `
EA=1;7 f2 X: u* k- y$ o1 q
EX0=1;# S& I1 W2 ^1 C x% e
}
- S# [- t5 d2 ~) Z
- S9 a8 k# [) K* }8 M# n/ m
% C( T! ^: V( U* s8 Z+ [" }7 v% ~0 Z9 U3 u! Z& f* h: d7 O& u
; a8 Q2 P |$ k: ?# P" K- F
|
|