您的位置 首页 FPGA

根据51单片机的电力载波通信开关电路的制造

一、原理图:二、C程序源代码/*此程序已经经本人亲自调试运行过,如有疑问,请联系QQ:286288986*/#includereg52.h>//预定义头文件#defi…

一、原理图:

二、C程序源代码

/*
此程序现现已自己亲身调试运转过,如有疑问,请联络
QQ:286288986
*/
#include //预界说头文件
#define uchar unsigned char//宏界说
sbit keyin=P3^3; //按键界说
sbit led=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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/272589.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部