『壹』 單片機串口通信原理
1.RS232介面
RS232-C介面連接器一般使用型號為DB-9的9芯插頭座,只需3條介面線,即"發送數據"、"接收數據"和"信號地"即可傳輸數據,其9個引腳的定義如圖11-3所示。
圖11-3 RS232-C介面連接器定義
在RS232的規范中,電壓值在+3V~+15V(一般使用+6V)稱為"0"或"ON"。電壓在-3V~-15V(一般使用-6V)稱為"1"或"OFF";計算機上的RS232"高電位"約為9V,而"低電位"則約為-9V。
RS232為全雙工工作模式,其信號的電壓是參考地線而得到的,可以同時進行數據的傳送和接收。在實際應用中採用RS232介面,信號的傳輸距離可以達到15m。不過RS232隻具有單站功能,即一對一通信。
2.RS485介面
RS485採用正負兩根信號線作為傳輸線路。兩線間的電壓差為+2V~6V表示邏輯"1":兩線間的電壓差為-2V~6V表示邏輯"0"。
RS485為半雙工工作模式,其信號由正負兩條線路信號准位相減而得,是差分輸入方式,抗共模干擾能力強,即抗雜訊干擾性好;實際應用中其傳輸距離可達1200米。RS485具有多站能力,即一對多的主從通信。
在串列通信中,數據通常是在兩個站之間傳送,按照數據在通信線路上的傳送方向可分為3種基本的傳送方式:單工、半雙工和全雙工,如圖11-4所示。
(點擊查看大圖)圖11-4 單工、半雙工和全雙工通信
單工通信使用一根導線,信號的傳送方和接收方有明確的方向性。也就是說,通信只在一個方向上進行。
若使用同一根傳輸線既作為接收線路又作為發送線路,雖然數據可以在兩個方向上傳送,但通信雙方不能同時收發數據,這樣的傳送方式稱為半雙工。採用半雙工方式時,通信系統每一端的發送器和接收器,通過收發開關分時轉接到通信線上,進行方向的切換。
當數據的發送和接收,分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進行發送和接收操作,這樣的傳送方式就是全雙工。在全雙工方式下,通信系統的每一端都設置了發送器和接收器,因此,能控制數據同時在兩個方向上傳輸。全雙工方式無須進行方向的切換。
串列通信可分為兩種類型,一種是同步通信,另一種是非同步通信。採用同步通信時,將所有字元組成一個組,這樣,字元可以一個接一個地傳輸,但是,在每組信息的開始要加上同步字元,在沒有信息要傳輸時,填上空字元,因為同步傳輸不允許有空隙。採用非同步通信時,兩個字元之間的傳輸間隔是任意的,所以,每個字元的前後都要用一些數據位來作為分隔位。比較起來,在傳輸率相同時,同步通信方式下的信息有效率要比非同步方式高,因為同步方式的非數據信息比例比較小。但是,從另一方面看,同步方式要求進行信息傳輸的雙方必須用同一個時鍾進行協調,正是這個時鍾確定了同步串列傳輸過程中每一個信息位的位置。這樣一來,如果採用同步方式,那麼,在傳輸數據的同時,還必須傳輸時鍾信號。而在非同步方式下,接收方的時鍾頻率和發送方的時鍾頻率不必完全一樣,而只要比較相近,即不超過一定的允許范圍就行了。在數據傳輸中,較為廣泛採用的是非同步通信,非同步通信的標准數據格式如圖11-5所示。
(點擊查看大圖)圖11-5 非同步通信數據格式
從圖11-5所列格式可以看出,非同步通信的特點是一個字元一個字元地傳輸,並且每個字元的傳送總是以起始位開始,以停止位結束,字元之間沒有固定的時間間隔要求。每一次有一個起始位,緊接著是5~8個的數據位,再後為校驗位,可以是奇檢驗,也可以是偶校驗,也可不設置,最後是1比特,或1比特半,或2比特的停止位,停止位後面是不定長度的空閑位。停止位和空閑位都規定為高電平,這樣就保證起始位開始處一定有一個下降沿,以此標識開始傳送數據。
『貳』 單片機串口通信原理
非同步通信
固定波特率下傳送0,1信號
就是在規定的時間間隔內傳送0.1數據
『叄』 單片機雙向通信原理
這個主要是通過單片機的通訊模塊具備的接收中斷和DMA功能實現的,在沒有通訊外設模塊使用時,也可以使用軟體模擬多種通訊埠的信號,如SPI,I2C,UART等。
『肆』 試述MCS—51單片機的多機通訊原理
用串口連接,其中一個為主機,其餘為從機,所有從機的RXD都接到主機的TXD端,TXD接到主機的RXD端,所有通信都有主機來發起,從機不能主動發起通信操作,只能等待,而且從機之間通信要通過主機中轉。串列埠控制寄存器SCON要做相應的配置。
『伍』 概述單片機的工作原理
單片機由運算器、控制器、存儲器、輸入輸出設備構成。
原理
單片機自動完成賦予它的任務的過程,也就是單片機執行程序的過程,即一條條執行的指令的過程,所謂指令就是把要求單片機執行的各種操作用的命令的形式寫下來,這是在設計人員賦予它的指令系統所決定的,一條指令對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統,不同種類的單片機,其指令系統亦不同。為使單片機能自動完成某一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出並執行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然後再被執行。程序通常是順序執行的,所以程序中的指令也是一條條順序存放的,單片機在執行程序時要能把這些指令一條條取出並加以執行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數器PC(包含在CPU中),在開始執行程序時,給PC賦以程序中第一條指令所在的地址,然後取得每一條要執行的命令,PC在中的內容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執行。
『陸』 敘述80c51單片機實現多機通信的工作原理
多機通信的原理就是多個從機的RXD引腳接在主機的TXD引腳上,接收主機發送過來的數據,從機加上二極體,主機一段是二極體的陽極,避免從機發送數據影響其他從機。
當主機發送數據過來,通過協議判斷是本身從機的數據,就是本機要進行通信處理,不是本機的就丟棄
『柒』 什麼是單片機它的原理是什麼
單片機誕生於20世紀70年代。所謂單片機是利用大規模集成電路技術把中央處理單元(Center Processing Unit,也即常稱的CPU)和數據存儲器(RAM)、程序存儲器(ROM)及其他I/O通信口集成在一塊晶元上,構成一個最小的計算機系統,再加上了中斷單元,定時單元及A/D轉換等更復雜、更完善的電路,使得單片機的功能越來越強大,應用更廣泛。
現在更多單片機的發展已經進入了嵌入式系統時代, 由於製造工藝的進步,有如 VHDL、RTOS、CPLD、FPGA、DSP、ARM等這一系列可編程器件的體積越來越小、成本越來越低,而功能是越來越能滿足人們的需要。自上世紀80年代以來,單片機技術在我國各個控制領域得到了廣泛應用,各個世界半導體公司都非常看好中國這個龐大的市場而紛紛到中國來投資建廠,如在蘇州就有日本的瑞薩、松下、美國的快捷等半導體公司在中的生產廠地。同時面對這一技術的不斷發展,我國大部分高校都已經把單片機方面的課程作為學生的必修課,這為我國近些年來的科技、工業控制等方面的發展培養了大量人才,而且社會對此方面的人才需求還在不斷的增加。面對如此情況,作為在校學生,又該從何學起?如何學好這門課程呢?又怎樣才能不讓自己學了等於沒學呢?本文在多年實踐的基礎上,介紹自已的一些感受和經驗。
理解單片機的結構
對於一個初學者,最迷糊的就是對單片機晶元裡面的結構的理解,小小的一個晶元為何能完成如此神奇的功能。
第一次從事電子方面的工作,也總對那黑黑的晶元裡面感到不可思意的神奇。直到有一天,在檢修一台日本二手電筒子市場里買來的程式控制交換機時,發現裡面有一塊黑東西上的黑膠已經裂開,把它撬開一看,裡面就是一塊電路板,上面焊滿了密密麻麻的電子零件。終於有點明白,原來晶元也可以這樣做成。當然當時所見的那塊電路板是不能被稱之為晶元的,那隻是日本的電子製造公司為了防止別人抄襲而把整個電路板密封起來或其它原因,只引出幾個的引腳與其它電路連接。不過它可以讓人聯想到晶元的基本結構與此相類似,如果把那些內眼看得見的電子零件再縮小一千倍或更小以至於能把所有電子零件做在一個矽片上,那也就成了名副其實的晶元了。我們不防以圖1所示的電路及電路板來做一個生動形象的介紹。該圖是一個直流馬達可以正反兩個方向轉動的電路,做成電路板並焊好電子元件後,經測試沒有問題就可以用黑膠(通常採用酚醛樹脂等材料)把所有電子元件封起來,只留六個引腳來與外部電路連接,這樣看起來就好像是一個晶元。
知道了一般晶元的原理,同樣可以更進一步想像單片機為什麼會執行邏輯運算等功能,這就牽涉到數字電路和模擬電路的知識。其實不管一個單片機的功能是如何的強大,其只不過是把許多以微米,甚至是納米為單位級的數字的和模擬電子器件組成。為了形象的來說明單片機內部的結構原理,這里不訪舉如圖2所示的跑馬燈電路來闡述。圖中電路表明的最終目的是讓LED依次輪流被點亮。首先是通過計數器對輸入脈沖計數,從0到15共16個脈沖為一個輪回,也即計數器的輸出依次為二進制的0000B到1111B,再由四-十六解碼器把計數器的結果解碼輸出,即依次置Y0到Y15由高電平變為高電平。當某一輸出為高電平時,經過反向器後,與此線路相連接的LED的陰極被拉為低電平從而點亮該發光二極體。這樣一來,計數器和解碼器就相當於單片機里的處理器與PC地址寄存器了,與解碼器輸出腳相連的線就相當於地址線,與LED負極相連的輸出線就相當於數據線,每一條「地址線」都與8根「數據線」有一個交叉,每一個交叉就相當於存儲單元的每一個位。在這些交叉處是否要連通就相當於把程式燒錄到存儲器(ROM)里。最後總體來看就相當於一個只有16個地址的8位單片機。如果把LED換成圖中數碼管,改變圖中的二極體連接,在「單片機」通電和輸入時鍾脈沖後,就可以不停的來顯示數字了。
另外,要做到對單片機內部結果真正的了解,還必須得先要有很扎實的電路基礎、模擬電路、數字電路等方面的知識,否則可能就是空中樓閣。
『捌』 單片機的原理介紹
與電腦差不多,讀入數據後,依據半導體進行邏輯運算,並把結果輸出。
單片機的基本結構
運算器:用於實現算術和邏輯運算。計算機的運算和處理都在這里進行;
控制器:是計算機的控制指揮部件,使計算機各部份能自動協調的工作;
存儲器:用於存放程序和數據;(又分為內存儲器和外存儲器,內存儲器就如我們電腦的硬碟,外存儲器就如我們的U盤)
輸入設備:用於將程序和數據輸入到計算機(例如我們電腦的鍵盤、掃描儀);
輸出設備:輸出設備用於把計算機數據計算或加工的結果以用戶需要的形式顯示或保存(例如我們的列印機)。
註:1、通常把運算器和控制器合在一起稱為中央處理器(Central Processing Unit),簡稱CPU。
2、通常把外存儲器、輸入設備和輸出設備合在一起稱之為計算機的外部設備。
1 中央處理器(CPU):
剛跟大家講過,需要提醒的是MCS-51的CPU能處理8位二進制數或代碼;
2 內部數據存儲器(RAM):
8051晶元共有256個RAM單元,其中後128單元被專用寄存器佔用(稍後我們詳解),能作為寄存器供用戶使用的只是前128單元,用於存放可讀寫的數據。因此通常所說的內部數據存儲器就是指前128單元,簡稱內部RAM。地址范圍為00H~FFH(256B)。是一個多用多功能數據存儲器,有數據存儲、通用工作寄存器、堆棧、位地址等空間。
3 內部程序存儲器(ROM):
在前面也已講過,8051內部有4KB的ROM,用於存放程序、原始數據或表格。因此稱之為程序存儲器,簡稱內部RAM。地址范圍為0000H~FFFFH(64KB)。
4 定時器/計數器
8051共有2個16位的定時器/計數器,以實現定時或計數功能,並以其定時或計數結果對計算機進行控制。定時時靠內部分頻時鍾頻率計數實現,做計數器時,對P3.4(T0)或P3.5(T1)埠的低電平脈沖計數。
5 並行I/O口
MCS-51共有4個8位的I/O口(P0、P1、P2、P3)以實現數據的輸入輸出。具體功能在後面章節中將會詳細論述。
6 串列口
MCS-51有一個全雙工的串列口,以實現單片機和其它設備之間的串列數據傳送。該串列口功能較強,既可作為全雙工非同步通信收發器使用,也可作為移位器使用。RXD( P3.0)腳為接收埠,TXD(P3.1)腳為發送埠。
7 中斷控制系統
MCS-51單片機的中斷功能較強,以滿足不同控制應用的需要。共有5個中斷源,即外中斷2個,定時中斷2個,串列中斷1個,全部中斷分為高級和低級共二個優先順序別。
8 時鍾電路
MCS-51晶元的內部有時鍾電路,但石英晶體和微調電容需外接。時鍾電路為單片機產生時鍾脈沖序列。系統允許的晶振頻率為12MHZ
51單片機執行指令的過程
單片機執行程序的過程,實際上就是執行我們所編製程序的過程。即逐條指令的過程。計算機每執行一條指令都可分為三個階段進行。即取指令-----分析指令-----執行指令。
取指令的任務是:根據程序計數器PC中的值從程序存儲器讀出現行指令,送到指令寄存器。
分析指令階段的任務是:將指令寄存器中的指令操作碼取出後進行解碼,分析其指令性質。如指令要求操作數,則尋找操作數地址。
計算機執行程序的過程實際上就是逐條指令地重復上述操作過程,直至遇到停機指令可循環等待指令。
一般計算機進行工作時,首先要通過外部設備把程序和數據通過輸入介面電路和數據匯流排送入到存儲器,然後逐條取出執行。但單片機中的程序一般事先我們都已通過寫入器固化在片內或片外程序存儲器中。因而一開機即可執行指令。
下面我們將舉個實例來說明指令的執行過程:
開機時,程序計算器PC變為0000H。然後單片機在時序電路作用下自動進入執行程序過程。執行過程實際上就是取出指令(取
出存儲器中事先存放的指令階段)和執行指令(分析和執行指令)的循環過程。
例如執行指令:MOV A,#0E0H,其機器碼為「74H E0H」,該指令的功能是把操作數E0H送入累加器,
0000H單元中已存放74H,0001H單元中已存放E0H。當單片機開始運行時,首先是進入取指階段,其次序是:
1 程序計數器的內容(這時是0000H)送到地址寄存器;
2 程序計數器的內容自動加1(變為0001H);
3 地址寄存器的內容(0000H)通過內部地址匯流排送到存儲器,以存儲器中地址解碼電跟,使地址為0000H的單元被選中;
4 CPU使讀控制線有效;
5 在讀命令控制下被選中存儲器單元的內容(此時應為74H)送到內部數據匯流排上,因為是取指階段,所以該內容通過數據匯流排被送到指令寄存器。
至此,取指階段完成,進入解碼分析和執行指令階段。
由於本次進入指令寄存器中的內容是74H(操作碼),以解碼器解碼後單片機就會知道該指令是要將一個數送到A累加器,而該數是在這個代碼的下一個存儲單元。所以,執行該指令還必須把數據(E0H)從存儲器中取出送到CPU,即還要在存儲器中取第二個位元組。其過程與取指階段很相似,只是此時PC已為0001H。指令解碼器結合時序部件,產生74H操作碼的微操作系列,使數字E0H從0001H單元取出。因為指令是要求把取得的數送到A累加器,所以取出的數字經內部數據匯流排進入A累加器,而不是進入指令寄存器。至此,一條指令的執行完畢。單片機中PC=0002H,PC在CPU每次向存儲器取指或取數時自動加1,單片機又進入下一取指階段。這一過程一直重復下去,直至收到暫停指令或循環等待指令暫停。CPU就是這樣一條一條地執行指令,完成所有規定的功能。
『玖』 單片機通過wifi無線通信能實現語音傳輸嗎
能,單片機通過wifi無線通信能實現語音傳輸。
android單片機wifi通信原理,基於單片機計算機之間無線通信實現。
Bluetooth是無線數據和語音傳輸的開放式標准,它將各種通信設備、計算機及其終端設備、各種數字數據系統、甚至家用電器採用無線方式聯接起來。