當前位置:編程學習大全網 - 腳本源碼 - 單片機中如何設置讓T1作為波特率發生器進行串口通信,同時T0作為定時器使用?100分奉上,解決再加!

單片機中如何設置讓T1作為波特率發生器進行串口通信,同時T0作為定時器使用?100分奉上,解決再加!

void system_Ini()

{

TMOD=0x21 ; //定時器T1工作方式2(自動裝載初值的8位定時器),T0方式1

SCON = 0x50; //REN=1允許串行接受狀態,串口工作模式1 (全雙工方式)

PCON=0x80; //SMOD=1,波特率加倍

TH1=0xF3; //baud*2 /* 波特率4800、數據位8、停止位1。效驗位無 (12M)

TL1=0xF3;

TR1 = 1;

TH0 = (65536-10000)/256; //10ms

TL0 = (65536-10000)%256;

ET0=1;

TR0 = 1;

ES= 1; //開串口中斷

EA=1;

}

main()

{ unsigned char i;

system_Ini();

while(1)

{

SBUF=0x20;

while(!TI);// // 等特數據傳送(TI發送中斷標誌)

TI=0;

GetTemp();

}

}

T0在以下用到:

void GetTemp()

{

if(TIM==100) //每隔 1000ms 讀取溫度

{ TIM=0;

TemperatuerResult();

}

}

void T0zd(void) interrupt 1 //1表示定時器0中斷

{

TH0 = 0xD8; //10ms

TL0 = 0xF0;

TIM++;

}

  • 上一篇:我的天空歌曲原唱
  • 下一篇:關於520愛情說說!大膽說出妳的愛!
  • copyright 2024編程學習大全網