《單片機串行口的應用》由會員分享,可在線閱讀,更多相關《單片機串行口的應用(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,串行口的應用,單片機應用技術,目錄,引言,1,串行通信介紹,2,串行通信應用,3,思考,4,CONTENTS,作業(yè),5,小結,6,1.,引言,串行通信的思考,串行口一次傳輸一個,bit,,并行口一次傳輸一個,byte,,誰快?,使用串行口的場合越來越多,使用并行口場合越來越少,為什么?,并行口快要被串行口完全取代,而消失了!并行端口的最后一塊版圖,打印機端口,,逐漸被,USB,與,Ethernet,并吞。,低成本,!,簡單!,1.,引言,與外設的接口,2.,串行通信介紹,3.,應用體驗,-,串行通信在排隊呼叫系
2、統(tǒng)中的應用,3.,應用體驗,-,串行通信在排隊呼叫系統(tǒng)中的應用,3.,應用體驗,-,串行通信在排隊呼叫系統(tǒng)中的應用,3.,應用體驗,-,串行通信在排隊呼叫系統(tǒng)中的應用,設置,UART,工作模式,設置波特率,運行,UART,中斷,設置,SCON,寄存器中模式選擇位,設置,PCON,寄存器中,SMOD,加倍位,設置,TMOD,寄存器中模式選擇位,置位,TR1,啟動定時器,置位,ES,運行串行口中斷,串口初始化步驟,3.,應用體驗,-,串行通信在排隊呼叫系統(tǒng)中的應用,頭文件與宏定義,#include /,包含,reg51.h,檔,sbit key1=P20;,sbit key2=P21;,unsig
3、ned int num=0;,void delay(unsigned int z),unsigned int x,y;,for(x=z;x0;x-),for(y=110;y0;y-);,發(fā)送端程序,3.,應用體驗,-,串行通信在排隊呼叫系統(tǒng)中的應用,2024/10/29,主函數(shù),main()/,主程序開始,TMOD|=0 x20;/,將,Timer 1,設定,mode 2,以產(chǎn)生波特率,PCON/,將,SMOD,設定為,0,TH1=TL1=0 xfd;/,波特率設定約為,9600bps(12MHz),TR1=1;/,啟動,Timer 1,SCON=0 xd0;/,設定為,mode3,P2=0
4、xff;/,規(guī)劃指撥開關為輸入,SBUF=0;,delay(1000);,T1,溢出率,=fosc/12256,(,TH1,),while(1)/while,循環(huán)開始,if(key1=0|key2=0),delay(50);,if(key1=0|key2=0),if(TI=1)/,檢查是否完成傳出,?,TI=0;/TI=1,時,(,傳出完成,),清除,TI,旗標,num=num+1;,if(num=10),num=0;,SBUF=num;,/while,循環(huán)結束,/,主程序結束,接收端程序,頭文件與宏定義,#include /,包含,reg51.h,檔,#define LED P0/,定義,L
5、ED,位置,#define DIP_SW P2/,定義指撥開關位置,unsigned char code table=/,共陽極,0f,數(shù)碼管編碼,0 xc0,0 xf9,0 xa4,0 xb0,/03,0 x99,0 x92,0 x82,0 xf8,/47,0 x80,0 x90,0 x88,0 x83,/8b,0 xc6,0 xa1,0 x86,0 x8e;/cf,3.,應用體驗,-,串行通信在排隊呼叫系統(tǒng)中的應用,主函數(shù),main()/,主程序開始,TMOD|=0 x20;/,將,Timer 1,設定,mode 2,以產(chǎn)生波特率,PCON/,將,SMOD,設定為,0,TH1=TL1=0
6、xfd;/,波特率設定約為,9600bps(12MHz),TR1=1;/,啟動,Timer 1,SCON=0 xd0;/,設定為,mode 3 (P8-5,P8-6),while(1)/while,循環(huán)開始,if(RI=1)/,檢查是否完成接收,?,RI=0;/RI=1,時,(,接收完成,),清除,RI,旗標,LED=tableSBUF;/,將所接收的資料輸出到,LED,/while,循環(huán)結束,/,主程序結束,在本實驗里,采用約,9600bps,的波特率,怎樣修改程序實現(xiàn)將波特率修改為,4800 bps,?,4,.,思考,在本實驗里,兩片采用,mode 3,,請試改以,mode 1,或,mode 2,,重新測試?,5.,作業(yè),串行通信工作原理,排隊呼叫系統(tǒng)電路設計及編程,6.,小結,Thank you,!,