<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機 串口通信 中斷

51單片機 串口通信 中斷

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò ) 收藏
從一段程序開(kāi)始 實(shí)現電腦向單片機發(fā)送一些數據,單片機返回Iget?。珨祿?p>#include #define uchar unsigned char

本文引用地址:http://dyxdggzs.com/article/201611/318433.htm

#define uint unsigned int unsigned char flag,a,i;//聲明標志位 flag

uchar code table[]="I get"

void init()

{

TMOD=0x20;//設置T1定時(shí)器工作方式為2 8位初值自動(dòng)重裝的8位定時(shí)器 這里設置了兩個(gè)計數器的工作方式

TH1=0xfd; / /T1定時(shí)器裝初值(高八位) 控制串口通信的波特率(由定時(shí)器1的溢出率控制)

TL1=0xfd; //T1定時(shí)器裝入初值(低八位)

TR1=1; //定時(shí)器1運行控制位 置一啟動(dòng)定時(shí)器1

REN=1; //允許串口接收

SM0=0; //設置串口工作方式為一

SM1=1; EA=1; //全局中斷允許位 置一開(kāi)全局中斷

ES=1; //串口中斷允許位

}

void main()

{

init();

while(1)

{

if(flag==1)

{

ES=0;

for(i=0;i<6;i++)

{

SBUF=table[i];

while(!TI);

TI=0;//發(fā)送中斷標志 發(fā)送數據完成后觸發(fā)中斷 硬件置一 必須軟件清零

}

SBUF=a; // 串口發(fā)送數據

while(!TI);

TI=0;

ES=1;

flag=0;

}

}

}

void ser() interrupt 4 //串口中斷服務(wù)程序

{

RI=0; // 收到數據硬件置一,由軟件清零

a=SBUF; //將寄存器的值 賦給a flag=1; //標志位

}

此程序中共用的串口中斷,

定時(shí)器1中斷 特殊功能寄存器SBUF

中斷響應的條件

中斷源有中斷請求 此中斷源允許位為1 cpu開(kāi)中斷(即EA=1)以上三個(gè)條件同時(shí)滿(mǎn)足

串口通信設置

確定串口通信波特率(編程TMOD寄存器定時(shí)器工作方式寄存器)

計算定時(shí)器初值轉載THX TLX

確定串行口工作方式(編程SCON寄存器串行口控制方式寄存器)

串行口工作在中斷方式時(shí),要進(jìn)行中斷設置如TI,RI軟件清零



關(guān)鍵詞: 51單片機串口通信中

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>