//串列傳輸練習; 同時可傳送與接收(註:此程式只適用於82G516) #include //引入 MPC82G516 SFR 定義檔 void delay(int t); void main(void) { unsigned char buffer; IE = 0x90; //設定允許串列傳輸中斷 SCON = 0x50; //設定串列傳輸工作於模式1, 可接收資料 TMOD = 0x20; //設定TIMER1工作於模式2(自動載入模式) AUXR2 = 0x40; //T1X12 = 1 => 也就是TIMER1之計時時脈不除以12 TH1 = 217; //設定自動載入值為217(在石英震盪器為12MHz時, 鮑率為9600bps) TR1 = 1; //啟動TIMER1 buffer = 0; while(1) { SBUF = buffer; //將buffer內容送至SBUF傳送出去 buffer++; //buffer內的值加1 delay(200); //延遲約0.2秒 } } void delay(int t) // 延遲函數開始 { int i,j; // 宣告整數變數i,j for (i=0;i