欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
串口通訊中斷法程序
[打印本頁]
作者:
daming
時間:
2014-12-30 01:47
標題:
串口通訊中斷法程序
#include<reg52.h>
unsigned char code trdata[]={'f','r','e','e','d','o','m',0x0a,0x00};
sbit P32=P3^2; //INT0的控制管腳
unsigned char i,tmp;
void delay1ms(unsigned int n) //1ms基準延時
{
unsigned i;
while(n--)
for(i=0;i<115;i++);
}
void main()
{
TMOD=0x20; //定時器工作方式2, 8位自動重裝
TH1=TL1=0xfd; //產生9600的bps
TR1=1; //啟動T1
EA=1; //開放總中斷
ES=1; //允許串口中斷
EX0=1; //允許INT0中斷
SCON=0x50; //串口工作方式1,允許接受數據
PCON=0x00; // 不倍增bps
while(1); //無限循環等待中斷
}
void int0() interrupt 0 //INT0的中斷編號
{
if(P32==0){
delay1ms(20); //消陡
if(P32==0){
i=0;
while(trdata[i]!=0x00){
SBUF=trdata[i];
while(!TI); //等待數據傳送,傳完一個字節后TI=1
TI=0;
i++;
}
while(!P32); //等待按鍵釋放
}
}
}
void send_char() interrupt 4 //串口中斷的編號
{
if(RI==1){ //收到1字節的數據時,RI=1,申請串口中斷
RI=0; //軟件清0
tmp=SBUF;
P0=tmp;
SBUF=tmp; //向PC發送數據
while(!TI); //等待發送
TI=0; //清0
}
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1