日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]基于51單片機(jī)的電力載波通信開關(guān)電路的制作

一、原理圖:

 

二、C程序源代碼

/*

此程序已經(jīng)經(jīng)本人親自調(diào)試運(yùn)行過,如有疑問,請聯(lián)系

QQ:286288986

*/

#include //預(yù)定義頭文件

#define uchar unsigned char //宏定義

sbit keyin=P3^3; //按鍵定義

sbit led=P3^5; //指示燈定義

uchar a; //接收數(shù)據(jù)記存器

void main() //主函數(shù)

{

keyin=1; //按鍵口置1

led=1; //滅led燈

TMOD=0x20; //選擇頂時器/計(jì)數(shù)器1中的方式2

SP=0x60; // 設(shè)置堆榨地址

TH1=0xfd; //波特率9600bit/s

TL1=0xfd;

SCON=0x50; //串口通信方式2,允許收發(fā)

TR1=1; //開啟計(jì)數(shù)器

while(1) //循環(huán)

{

if(keyin==0) //判斷按鍵是否按下,是則按鍵處理

{

SBUF=0x00; //接收數(shù)據(jù)處理

while(TI==0) ; //發(fā)送完清除接收標(biāo)志位

TI=0;

}

if(RI==1) //是否接收

{

RI=0; //接收完接收標(biāo)志位清零

a=SBUF; //讀接收數(shù)據(jù)

if(a==0) //判斷接收數(shù)據(jù)是否正確

{

if(led==1) //正確led燈取反

led=0;

else

led=1;

}

}

}

}

三、匯編程序

/*

此程序已經(jīng)經(jīng)本人親自調(diào)試過,如果在學(xué)習(xí)當(dāng)中有什么疑問,

QQ:286288986

*/

ORG 00H

JMP START //開始

ORG 10H //開始地址

START:

MOV SP,#60H //設(shè)置堆榨地址

MOV SCON,#50H //串口通信方式2,允許收發(fā)

MOV TMOD,#20H //選擇頂時器/計(jì)數(shù)器1中的方式2

MOV TH1,#0FDH //波特率9600bit/s

MOV TL1,#0FDH

SETB TR1 //開啟計(jì)數(shù)器

SETB P3.3 //開關(guān)輸入口置1

SETB P3.5 //LED顯示口滅

SCAN:

JB RI,UART //判斷是否接收

JNB P3.3,KEYIN //判斷按鍵是否按下,是則按鍵處理

JMP SCAN //不是按鍵掃描

KEYIN:

MOV A,#5AH //發(fā)送數(shù)據(jù)裝入A

MOV SBUF,A //發(fā)送數(shù)據(jù)

WAIT: // 等待發(fā)送

JBC TI,SCAN //發(fā)送完了清除TI標(biāo)志位

JMP WAIT

UART: //接收數(shù)據(jù)處理

MOV A,SBUF

CJNE A,#5AH,ERROR //簡單的地址碼設(shè)置為5AH,用戶可隨便定義

CLR RI //清除接收標(biāo)志位

CPL P3.5 //點(diǎn)亮燈

ERROR:

JMP SCAN //返回到掃描

END

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉