并行適合短距離通信,并行通信控制簡單、相對傳輸速度快(8位一起傳輸)。
串行只能一位一位的傳送。
同步(了解)建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時傳送的字符間不留間隙。
發(fā)送方對接收方的同步可以通過外同步和自同步異步(常)以字符(構成的幀)為單位進行傳輸。數(shù)據(jù)位從低到高傳送。
格式:
這里的空閑時間是任意的。
串行通信的制式(傳輸方向)
單工(僅能沿一個方向)
半雙工(可進行雙向,但需分時)
全雙工
串行通信的錯誤校驗
奇偶校驗
在發(fā)送數(shù)據(jù)時,數(shù)據(jù)位尾隨的1位為奇偶校驗位(1/0)。奇校驗時,數(shù)據(jù)中1的個數(shù)與檢驗位1的個數(shù)之和應為奇數(shù);偶校驗時,數(shù)據(jù)中1的個數(shù)與校驗位1的個數(shù)之和應為偶數(shù)。接收字符時,對1的個數(shù)進行校驗,若字符不一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)錯誤。
代碼和校驗
發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個字節(jié)的校驗字符(校驗和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)時,同時對數(shù)據(jù)塊(除校驗字節(jié)外)求和(或各字節(jié)異或),將所得的結果與發(fā)送方的“校驗和”進行比較,一致則無差。
循環(huán)冗余校驗
通過某種數(shù)學預算實現(xiàn)有效信息與校驗位之間的循環(huán)校驗,常用語對磁盤信息的傳輸、存儲區(qū)的完整性校驗。
串口的基本結構
SBUF:51單片機中的特殊寄存器,串行數(shù)據(jù)緩沖器(一個接收一個發(fā)送),兩個其實是共用的一個地址99H,但是兩個在物理上面是分開的。
當發(fā)送使用時,就采用SBUF=XXX; (XXX為需要傳送的數(shù)據(jù))
當接收使用時,采用XXX=SBUF;
記得因為是串行的所以傳輸都是一位一位進行的。
T1溢出率:T1計時器的溢出頻率(就是計時器每次低位計滿向高位進位時間的倒數(shù))
用處:用于計算波特率(每秒傳輸二進制代碼的位數(shù))
存器介紹IE(interrupt enable):(可位尋址)設定各個中斷源的打開和關閉
IP(interrupt prior)中斷優(yōu)先級寄存器:(可位尋址)用來設定各個中斷源屬于兩級中斷中的哪一級
中斷源:
中斷響應條件:
1.中斷源有中斷請求
2.此中斷源的中斷允許位為1
3.CPU開中斷(EA=1)
代碼書寫:
1.先開總中斷EA
2.然后再開特定的中斷去控制
3.如果有特殊需要優(yōu)先級問題再設置IP
4.中斷函數(shù)書寫
格式
void 函數(shù)名() interrupt 中斷號(上面圖示的序號)
//中斷函數(shù)返回值一定是void
//函數(shù)名隨便寫
//中斷號用來判斷是哪個中斷源
計時器寄存器介紹TCON 支持位尋址 :控制寄存器,控制T1、T0的啟動和停止及設置溢出標志
TMOD,不支持位尋址:定時/計數(shù)器的工作方式寄存器,確定工作方式和功能
計時器代碼書寫步驟:1.EA=1;
2.ETX=1; //開啟計時器X中斷
3.配置工作方式 TMOD=0x..; //根據(jù)自己需求按照上表來配
3.配置計時器初值
//THX=(65535-N)/256;
//TLX=(65535-N)%256;
//N由你要計時的時長決定。計時器計一個數(shù)花費一個時鐘周期來計算。
4.TRX=1; //開啟計時器X
串口通信寄存器介紹PCON電源管理寄存器 :(不可位尋址)
、空閑模式等
SCON:(可位尋址)用以設定串行口的工作方式、接收/發(fā)送控制以及設置狀態(tài)標志
波特率計算
SMOD就是PCON中的第一位,默認為0
fosc為晶振頻率,所以自己設定不同波特率時,也要考慮晶振不同的問題。
-
單片機
+關注
關注
6039文章
44579瀏覽量
636454 -
寄存器
+關注
關注
31文章
5357瀏覽量
120668 -
串口通信
+關注
關注
34文章
1627瀏覽量
55575
發(fā)布評論請先 登錄
相關推薦
評論