|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
全自动相位触发电风扇源程序 4 Q- s& \% L7 w2 t
( K/ Q- k" P; _- [' W5 t' F
, K1 Z2 X+ V0 c( G. Y$ P8 f" u) m
//主程序
- P {2 F- @" F4 n/ f$ ]#include <reg52.h>. L! B7 U9 ]$ A% O! g
sbit LIGHT=P1^6; /* 风扇触发端 */
4 ]% v% ^8 X! xvoid Initialize(void); /* 初始化单片机。 */& [4 ^3 \7 P* Y, W) r v
void wdcl(void);
/ R9 J5 q+ r0 ]0 h( rvoid main(void)6 D3 P% O* D) {+ u
{
. w u1 Z. s5 g Initialize();4 w, {$ z7 u/ p+ q7 f4 c2 x/ p* h
do
& O: @) w) I2 G( p6 ~( Q3 K {
: }3 y3 D! x; h. [% ]6 { wdcl();: q0 i, o+ k1 f, `5 d$ w0 d$ O" W
// Check();2 Q+ N2 _7 ~1 h6 r" ]2 }
} m( q. T. L6 r5 Z
while(1);. z! i8 ~! G- O7 |% J! Z) O. K# Z
}
' F2 F5 ~% T+ R! T5 Lvoid ServiceTimer2() interrupt 5 using 1/ d' v. Y/ r8 d) }
{
! |# Z( V3 ^! H$ N; K5 I LIGHT=0; /* 触发电风扇晶闸管。*/* {% j x8 w s/ V& x/ z
TR2=0;
! C" z& C: ]9 U' ~, F# a1 b TF2=0;
7 a r$ u* Q# B+ U- S}% o# R- c; K# N' [
ServiceINT1() interrupt 2 using 1
2 k2 \! E* ?; s1 K7 A{
3 o6 f8 B3 M' a. ]' r7 ^ TR2=0;
; f* }% n% \; a& z/ @, ? TH2=(65536-10000)/256;, v0 @0 j4 U* n+ q7 E7 o( s
TL2=(65536-10000)*256; //晶振为12M,若晶振为11.0592时为TL0=(65536-9216)。。。。。$ x6 M! K4 e8 d. X. e' X; G
TR2=1;
2 F+ B; l9 L: O1 s9 }& E}4 y0 i" t' T' [1 M9 g+ h% S* T) V
void Initialize(void)0 p m. _% G0 A) ?' e
{
! Z$ f- ?* j' K T2CON=0x00; /* TIMER2.用于电风扇的驱动。 */; `% T! q8 _. h
PT0=1;
3 o- k; g& l/ o: Y IT1=1;, c7 E- k3 G/ ?2 ]
TR0=0;
2 j: @6 ]# D: [0 V, ?# p0 A* v TR2=0;, J# v1 f# S9 M' X# X
ET0=1;
2 z3 P7 Z" i$ `6 H2 M ET2=1;, b7 y1 U2 b7 f* |* v6 Z
EX1=1;9 U6 G. t6 e9 f3 O: B/ y
EA=1;) O6 Z8 ]. t, p8 K. r6 {$ C
EX0=1;# G# K# |1 V- ]. z5 ^& d% K
}
" T5 M* o/ }6 B$ Z8 K2 `
7 {/ L! `+ R4 s# F: q- g! }; j! j' @* r! E, r
% [; p" Z. T6 g4 o [- l B1 K, `& t( Y
|
|