|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机电力载波通信开关电路制作资料 含设计论文 原理图! h6 m, F4 f! X, n5 ]
4 `. G; p% m% j* J
+ M V- e4 T; m- ~3 q4 j
分享一个基于51单片机的电力载波通信开关电路设计的制作资料:. X+ ]% V6 H" L3 T$ w d. v% f
![]() ![]()
% S' f& o2 V% O: u ?源码:" V) s$ i9 f7 O) U, y% U
/*
$ J3 G& I7 O' }; ]. L此程序已经经本人亲自调试运行过,如有疑问,请与马同学联系
% P; d9 W/ S5 @1 ^# x: A" t8 ^4 c( o% ?
*/' ]4 P# K* w5 f( `' S5 c$ `; j
#include<reg52.h> //预定义头文件4 `9 \( {& ?; K' ^6 L# ]4 x# a
#define uchar unsigned char //宏定义. i! P# B3 D% X- @$ }
sbit keyin=P3^3; //按键定义
2 _& o% _; o" {sbit led=P3^5; //指示灯定义
$ ~# H, T4 n" Tuchar a; //接收数据记存器" |3 S, X1 f5 t9 D: }+ v- w
void main() //主函数
0 b! Y# G. i4 F9 i! _& G{
# S% {% C" t8 p( V# v$ h4 [6 Q. I keyin=1; //按键口置1% r2 N7 Z- Q6 ] v( \& n% L' o' L: x
led=1; //灭led灯
& ?0 @3 k( |$ ]6 u/ k TMOD=0x20; //选择顶时器/计数器1中的方式2! p! m) D' o: i$ w1 ~, u& L
SP=0x60; // 设置堆榨地址6 m+ n5 C$ e. B9 G" F& j; Z
TH1=0xfd; //波特率9600bit/s
, {, B' T8 L- K; q7 N" y TL1=0xfd;
0 y9 w# o# B% ~* I3 p! D1 I( i SCON=0x50; //串口通信方式2,允许收发, J4 |0 }/ [8 k+ k. a
TR1=1; //开启计数器8 k5 I$ Z! q4 S" Y5 e
while(1) //循环+ X2 d6 _ ], P( R: B. a
{
7 A; g4 v& E$ T" c( S' b4 X if(keyin==0) //判断按键是否按下,是则按键处理4 y7 i6 Q1 }& n* `* K
{
# G: u$ A! h' x- ^, s8 L2 ?9 S SBUF=0x00; //接收数据处理
" p9 s ?- E. g1 d while(TI==0) ; //发送完清除接收标志位
; U0 Z' J6 y0 f( ^& E' x# C TI=0;
- U; n% R ]* S }2 x9 c' y" A' }4 X- u
if(RI==1) //是否接收
) o% f# O0 n/ q# C6 n: Z1 z {
3 |* ~& C! u3 y1 r( B) | RI=0; //接收完接收标志位清零
6 o4 ] o. @+ z% o" P# | a=SBUF; //读接收数据+ z e" t: W L# k+ @- Z
if(a==0) //判断接收数据是否正确
% L0 W% a0 ~1 j$ V; q0 {1 v$ f {# o& P& O$ E7 I$ o/ C2 n
if(led==1) //正确led灯取反4 a3 i0 x+ M, }' W5 p- q; I
led=0;
. \5 [& W6 q. J ~ else & ?; H7 |+ P" ~2 H& J' l8 V* e+ C( V. W
led=1;
' z5 @9 k$ S. @) h/ H, K }
9 O1 r5 @5 w* B6 @: \3 }- M! _ }8 {* k/ i% K8 ~3 Q
}( ~% a( c: I/ m0 c: @6 J5 N. O& i) y
}* H5 Z! z- ? u! ?) L3 Y4 k$ V
& [2 A- [" M3 h3 o* D" N下载:0 [9 m! W, h9 a. D# H2 h3 J
; x8 l2 g n% _+ b/ H7 ^% O n% i: Y+ H6 G7 \, M
|
|