|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机电力载波通信开关电路制作资料 含设计论文 原理图' O' [) f: g+ c: s' f% C
% r4 ]$ [6 I. P5 e9 ^$ A3 \6 n+ ~$ t
分享一个基于51单片机的电力载波通信开关电路设计的制作资料:
, d6 E- Z+ x3 Y( L; Z![]() ![]()
; Y9 X1 s* H. z' w源码:. d! {+ [2 Y. g y
/*
1 J$ W: `+ N" Z$ B4 V此程序已经经本人亲自调试运行过,如有疑问,请与马同学联系4 f+ j6 `3 {$ d4 G( G9 T4 S* \
/ n4 a$ r; n7 K' A
*/
5 V, j; x, o2 n! X {. _#include<reg52.h> //预定义头文件4 \6 o/ c9 [" v7 i- J! F3 G9 K0 |
#define uchar unsigned char //宏定义
9 ~! \$ ^; k- Rsbit keyin=P3^3; //按键定义
" d) {( s, I8 N+ N% p% |6 d4 O* q7 V$ Msbit led=P3^5; //指示灯定义6 s5 }/ b- k; i% v% M$ v* n
uchar a; //接收数据记存器
- n7 l# X- J( ?1 Lvoid main() //主函数
) U" I" q' T% Q6 ?$ k8 x5 S. R{2 V2 Z2 s& ~' }! H" L& |% p9 K: N" _
keyin=1; //按键口置1! ? C' R/ a6 o& h0 ?
led=1; //灭led灯+ a. V( p, n; W
TMOD=0x20; //选择顶时器/计数器1中的方式2, E2 _4 M0 @9 q0 ~% E L0 R3 }6 |0 ]
SP=0x60; // 设置堆榨地址9 M ~- F+ \; X3 ^
TH1=0xfd; //波特率9600bit/s
) G8 _5 ?& l4 B1 j5 c TL1=0xfd;
" {# i8 K0 u, q) |% Q SCON=0x50; //串口通信方式2,允许收发
5 k$ L! p' i: Q* y9 h: f TR1=1; //开启计数器, Z h+ r( ?; C& V9 {; Z& @$ r
while(1) //循环+ r$ _$ s! u) I. Z5 [, T \
{
" M5 y1 p! `) ]* d$ j" ^; _ if(keyin==0) //判断按键是否按下,是则按键处理4 h! l6 M, Y; l
{
/ r: R$ t# F9 A) E! o( e SBUF=0x00; //接收数据处理 Z, Q+ p. k- p4 v d
while(TI==0) ; //发送完清除接收标志位1 F3 T' R2 E+ x( I0 }. Z# n* l
TI=0;
; N( l' `" {0 @( n5 H; ~ }
- r! S, ~+ B4 B4 o Q if(RI==1) //是否接收$ @5 N- \0 o/ v b
{
1 x j( ~/ t/ Z$ W! |/ l1 b' c RI=0; //接收完接收标志位清零( ]* T. U. O# j4 E
a=SBUF; //读接收数据
6 I/ Y$ c5 j q if(a==0) //判断接收数据是否正确& [4 N+ F/ k) @& Y
{4 r3 I; \+ d" [; e7 }, A
if(led==1) //正确led灯取反
6 r h4 t6 g, m$ U$ Q" X7 P c6 y led=0;
1 A9 n# `* }% S else & q$ Y# p+ {/ `5 T
led=1;
: z3 t: h2 \: q+ U0 Z/ y }
D8 N/ v; P- ^( k" t8 F/ W! h }( F1 N* p" J/ V4 O1 b
}
. n1 q/ Y3 G/ |; a% C9 I}0 |6 h P3 c+ ]2 C3 b
6 Z% |& K/ m; ^* {9 u! W" k下载:* s$ H7 q$ p2 p- B2 D _! e
" [. y! L- p9 m* Q; t+ F, O
4 }! z' I) v7 w |
|