世界足球俱乐部杯

基于51单片机的电力载波通信开关电路的制作

出处:电子市场 发布于:2016-08-27 16:32:38 | 2098 次阅读

一、原理图:

 二、C程序源代码

/*
此程序已经经本人亲自调试运行过,如有疑问,请联系
QQ:286288986
*/
#include   //预定义头文件
#define uchar unsigned char //宏定义
sbit keyin=P3^3; //按键定义
sbit =P3^5; //定义
uchar a; //接收数据记存器
void main() //主函数
{
 keyin=1; //按键口置1
 led=1;  //灭led灯
 TMOD=0x20; //选择顶时器/1中的方式2
 SP=0x60;   // 设置堆榨地址
 TH1=0xfd; //波特率9600bit/s
 TL1=0xfd;
 SCON=0x50; //通信方式2,允许收发
 TR1=1;  //开启计数器
 while(1)   //循环
 {  
  if(keyin==0) //判断按键是否按下,是则按键处理
  {
   SBUF=0x00; //接收数据处理
   while(TI==0) ;  //发送完清除接收标志位
   TI=0;
  }
  if(RI==1)  //是否接收
  {
   RI=0;   //接收完接收标志位清零
   a=SBUF;   //读接收数据
   if(a==0)   //判断接收数据是否正确
   {
    if(led==1) //正确led灯取反
    led=0;
    else 
    led=1;
   }
  }
 }
}

三、汇编程序

/*

 此程序已经经本人亲自调试过,如果在学习当中有什么疑问,
 QQ:286288986
*/

 ORG 00H   
 JMP START    //开始
 ORG 10H    //开始地址
START:
 MOV SP,#60H    //设置堆榨地址
 MOV SCON,#50H //串口通信方式2,允许收发
 MOV  TMOD,#20H //选择顶时器/计数器1中的方式2
 MOV TH1,#0FDH //波特率9600bit/s
 MOV TL1,#0FDH
 SETB TR1  //开启计数器
 SETB P3.3  //输入口置1
 SETB P3.5  //LED显示口灭
SCAN:
 JB RI,UART   //判断是否接收
 JNB P3.3,KEYIN //判断按键是否按下,是则按键处理
 JMP SCAN  //不是按键扫描
KEYIN:
  MOV  A,#5AH  //发送数据装入A
 MOV SBUF,A  //发送数据
WAIT:    // 等待发送
 JBC TI,SCAN  //发送完了清除TI标志位
 JMP WAIT
UART:      //接收数据处理
  MOV A,SBUF 
 CJNE A,#5AH,ERROR  //简单的地址码设置为5AH,用户可随便定义
 CLR RI    //清除接收标志位
 CPL P3.5   //点亮灯
ERROR:
 JMP SCAN   //返回到扫描
END

2次

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,//domainnameq.cn,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
 一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
 9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!