;串列傳輸練習; 傳送端(註:此程式只適用於82G516) ;此程式因使用到82G516才有之暫存器, 所以須先載入82G516暫存器定義檔 ;執行時務必把Keil uVision2中的設定Define 8051 SFR Names勾勾取消 $INCLUDE (REG_MPC82G516.inc) ;for MPC82G516 暫存器定義檔 mov scon,#01010000b ;設定串列傳輸工作於模式1, 可接收資料 mov tmod,#00100000b ;設定TIMER1工作於模式2(自動載入模式) orl AUXR2,#01000000b ;將AUXR2暫存器中的T1X12設為1 ;也就是TIMER1之計時時脈不除以12 mov th1,#217 ;設定自動載入值為216(在石英震盪器為12MHz時, 鮑率為9600bps) setb tr1 ;啟動TIMER1 receive: jnb ri,$ ;判斷是否接收完畢(RI=1), 否則停在此行 clr ri ;清除接收完畢旗號 mov a,sbuf ;將SBUF接收到的資料存到累加器 mov p2,a ;顯示於P2 jmp receive end