|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机电力载波通信开关电路制作资料 含设计论文 原理图, }) z3 K: t- n0 V
" `6 |) Z' j/ V' P) x
/ U! p; U* }( s& N0 V
分享一个基于51单片机的电力载波通信开关电路设计的制作资料:
1 s2 [0 a& o. d. {* [+ M7 L![]() ![]() ' @& V$ E* W- W
源码:1 O% Q. ~% P1 c% j6 w' g2 v6 V
/*
* C2 j) b/ z, K9 I4 |% ~ {, `此程序已经经本人亲自调试运行过,如有疑问,请与马同学联系) Z- O* C" h7 y0 a
1 |. R O; G7 m7 Q$ A+ k# V- b*/
0 ?# ^" L$ Q7 \! u; y. E#include<reg52.h> //预定义头文件
( _& [. U4 x0 L; M#define uchar unsigned char //宏定义
; Z) k9 F9 j/ L- esbit keyin=P3^3; //按键定义
' i9 ^( G" o$ Y9 M0 ^sbit led=P3^5; //指示灯定义
3 D, L, _- Z7 H G3 h( `uchar a; //接收数据记存器
' n, a+ z, x. {' [- R3 s pvoid main() //主函数
1 @' E$ U& \# G; O$ J( L) c{
/ r5 d" f4 E7 _4 s. J) Y0 R keyin=1; //按键口置1) L$ r, s, W7 u" G, k8 k; z
led=1; //灭led灯, S7 j( |+ S$ w7 z# ~% T# ~4 e
TMOD=0x20; //选择顶时器/计数器1中的方式2
) S2 X( C( }7 L8 z6 u SP=0x60; // 设置堆榨地址- a! T. l; W2 u7 u. v4 B
TH1=0xfd; //波特率9600bit/s7 h* D, D% d5 V& j3 Z2 [
TL1=0xfd;. o3 T( G3 L" t; R
SCON=0x50; //串口通信方式2,允许收发3 |6 A3 |' y4 ^& ~# j
TR1=1; //开启计数器" u: y. S" m! N6 Q/ f* |+ L) g( m
while(1) //循环 p8 b8 _# E* A2 f
{ 8 b2 P, S3 @" Z% k/ y7 ~ c
if(keyin==0) //判断按键是否按下,是则按键处理/ i$ R, n/ l" i; f2 k. v
{
: J1 b. y- ?+ P SBUF=0x00; //接收数据处理
# g8 m3 B" U- @4 @' ~" [ while(TI==0) ; //发送完清除接收标志位6 k) ]2 J1 f- j6 H
TI=0;
+ H) z' T1 ^7 ^ ~" y D }
3 P5 H# O6 l' R if(RI==1) //是否接收 S) ]. P" a' k
{
' [$ W4 X) E3 s$ J6 N RI=0; //接收完接收标志位清零
/ [6 a" \6 J) \$ g2 c8 X a=SBUF; //读接收数据6 f2 q& e0 `$ h, ^0 Z9 K
if(a==0) //判断接收数据是否正确
1 O' z& O+ I4 D+ V9 a+ ^$ b {
4 R% S: E4 d+ m$ } if(led==1) //正确led灯取反7 k. a* g+ o* H, F: V1 b+ f
led=0;, {' V0 y* F; q/ o' x0 G
else
& V- `# r5 b, ]0 h6 r: g# K5 m led=1;7 K4 S K) J% G' f' p
}
) F5 A9 `" v8 y7 a4 x, X# [ }
3 A. V1 p: b" ]$ K$ }$ { }
/ i1 }% N$ C: @$ K8 b}
( T. d; i0 L+ C- P; }& a6 ^& K7 j9 D4 P8 d) M# W7 [- N9 Q, C2 G0 j
下载:8 M: C* E7 E( t2 r4 H
" S/ e. s8 ~6 {0 G) [& ~
% N6 r0 Z4 O8 S* j- K& M& ?4 ~2 Z6 ~
|
|