郭天祥十天學會單片機完整_第1頁
郭天祥十天學會單片機完整_第2頁
郭天祥十天學會單片機完整_第3頁
郭天祥十天學會單片機完整_第4頁
郭天祥十天學會單片機完整_第5頁
已閱讀5頁,還剩204頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一講學單片機需要什么基礎?什么是單片機、單片機能做什么、怎么開始學習單片機。學單片機需要的一些預備知識C51基礎知識。了解TX-1C單片機學習板系統(tǒng)結構如何用TX-1C單片機學習板在短時間內掌握51單片機和C語言編程。KEIL工程建立詳細介紹及KEIL軟件使用方法從點亮實驗板上的一個發(fā)光二極管開始第一頁,共二百零九頁。學單片機需要什么基礎?與以前所學的知識關聯(lián)很少;只需要掌握很基本的數(shù)電模電知識,如二進制、十進制、十六進制之間的轉換,與、或、非邏輯關系等;對各種器件的概念基本上是從0開始;如果要用C語言編程,需具備簡單的C語言基礎;所有人都站在了同一起跑線上;第二頁,共二百零九頁。

什么是單片機?◆單板機將CPU芯片、存儲器芯片、I/O接口芯片和簡單的I/O設備(小鍵盤、LED顯示器)等裝配在一塊印刷電路板上,再配上監(jiān)控程序(固化在ROM中),就構成了一臺單板微型計算機(簡稱單板機)。單板機第三頁,共二百零九頁。單板機的I/O設備簡單,軟件資源少,使用不方便。早期主要用于微型計算機原理的教學及簡單的測控系統(tǒng),現(xiàn)在已很少使用。第四頁,共二百零九頁。

◆單片機在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構成了單芯片微型計算機,即單片機。Intel公司推出了MCS-51系列單片機:集成8位CPU、4K字節(jié)ROM、128字節(jié)RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數(shù)器。尋址范圍64K,并有控制功能較強的布爾處理器。單板機單片機第五頁,共二百零九頁。單片機能做什么實物展示用到單片機的項目經(jīng)驗介紹手持糧庫溫度尋檢設備畢設答辯打分器電話臺燈自動感應水龍頭凡是與控制或簡單計算有關的電子設備都可以用單片機來實現(xiàn),再根據(jù)具體實際情況選擇不同性能的單片機,如:atmel,stc,pic,avr,凌陽,80C51,arm等第六頁,共二百零九頁。工業(yè)自動化:數(shù)據(jù)采集、測控技術。智能儀器儀表:數(shù)字示波器、數(shù)字信號源、數(shù)字萬用表、感應電流表等。消費類電子產品:洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。通訊方面:調制解調器、程控交換技術、手機、小靈通等。武器裝備:飛機、軍艦、坦克、導彈、航天飛機、魚雷制導、智能武器等。等等…..第七頁,共二百零九頁。怎么開始學習?實踐第一。補充必要的理論知識,即缺什么補什么。做工程項目積累經(jīng)驗。(可在網(wǎng)絡上搜集題目,也可自己有什么想法大膽的去試驗)第八頁,共二百零九頁。預備知識電平特性2進制與16進制的表示及轉換二進制數(shù)的邏輯運算8051單片機介紹C51基礎知識第九頁,共二百零九頁。關于電平特性數(shù)字電路中只有兩種電平:高和低(本課程中)定義單片機為TTL電平:高+5V低0VRS232電平:計算機的串口 高-12V低+12V所以計算機與單片機之間通訊時需要加電平轉換芯片max232(實驗板上左下角)。第十頁,共二百零九頁。二進制數(shù)字電路中的兩種電平特性決定了它00611011 7 111 210 8 1000311 9 10014100 10 10105101 111011第十一頁,共二百零九頁。十六進制是二進制的簡短表示形式。十進制中的0-15分別表示為十六進制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F熟練掌握二進制與十六進制之間的轉換。規(guī)律:一般把四個二進制數(shù)放在一起轉換成一個十六進制數(shù),轉換時先把二進制數(shù)轉換成十進制數(shù),再把十進制數(shù)轉換成十六進制數(shù)。第十二頁,共二百零九頁。如:0001B->1->1HB表示為二進制,H為十六進制1001B->9->9H1010B->10->AH00101100->44->2CH第十三頁,共二百零九頁。

各種進位制的對應關系十進制二進制十六進制十進制二進制十六進制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117161000010810008第十四頁,共二百零九頁。

二進制數(shù)的邏輯運算

1.“與”運算

“與”運算是實現(xiàn)“必須都有,否則就沒有”這種邏輯關系的一種運算。運算符為“·

”,其運算規(guī)則如下:0·0=0,0·1=1·0=0,1·1=1

第十五頁,共二百零九頁。2.“或”運算

“或”運算是實現(xiàn)“只要其中之一有,就有”這種邏輯關系的一種運算,其運算符為“+”?!盎颉边\算規(guī)則如下:0+0=0,0+1=1+0=1,1+1=1第十六頁,共二百零九頁。3.“非”運算

“非”運算是實現(xiàn)“求反”這種邏輯的一種運算,如變量A的“非”運算記作。其運算規(guī)則如下:

A第十七頁,共二百零九頁。4.“異或”運算

“異或”運算是實現(xiàn)“必須不同,否則就沒有”這種邏輯的一種運算,運算符為“”。其運算規(guī)則是:第十八頁,共二百零九頁。80C51系列介紹

﹡Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;

﹡ATMEL的:89C51、89C52、89C2051等;

﹡Philips、華邦、Dallas、STCSiemens(Infineon)等公司的許多產品。補充:關于型號的介紹80C51是MCS-51系列中的一個典型品種;其它廠商以8051為基核開發(fā)出的CMOS工藝單片機產品統(tǒng)稱為80C51系列。當前常用的80C51系列單片機主要產品有:第十九頁,共二百零九頁。80C51的引腳封裝總線型非總線型第二十頁,共二百零九頁。P3第二功能各引腳功能定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時器0外部輸入P3.5:T1定時器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制第二十一頁,共二百零九頁。第二十二頁,共二百零九頁??偩€(BUS)是計算機各部件之間傳送信息的公共通道。微機中有內部總線和外部總線兩類。內部總線是CPU內部之間的連線。外部總線是指CPU與其它部件之間的連線。外部總線有三種:數(shù)據(jù)總線DB(DataBus),地址總線AB(AddressBus)和控制總線CBControlBus)。第二十三頁,共二百零九頁。CPU:由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;RAM:用以存放可以讀寫的數(shù)據(jù),如運算的中間結果、最終結果以及欲顯示的數(shù)據(jù);ROM:用以存放程序、一些原始數(shù)據(jù)和表格;I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出;T/C:兩個定時/記數(shù)器,既可以工作在定時模式,也可以工作在記數(shù)模式;第二十四頁,共二百零九頁。五個中斷源的中斷控制系統(tǒng);一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現(xiàn)單片機之間或單片機與微機之間的串行通信;片內振蕩器和時鐘產生電路,石英晶體和微調電容需要外接。最高振蕩頻率取決于單片機型號及性能。第二十五頁,共二百零九頁。C51知識C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。目前,使用C語言進行程序設計已經(jīng)成為軟件開發(fā)的一個主流。用C語言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯增強程序的可讀性,便于改進、擴充和移植。而針對8051的C語言日趨成熟,成為了專業(yè)化的實用高級語言。第二十六頁,共二百零九頁。C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都用C語言編程,如:各種單片機、DSP、ARM等.C語言程序本身不依賴于機器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機中移植過來。C提供了很多數(shù)學函數(shù)并支持浮點運算,開發(fā)效率高,故可縮短開發(fā)時間,增加程序可讀性和可維護性。

C-51的特點第二十七頁,共二百零九頁。C-51與ASM-51相比,有如下優(yōu)點:1.

對單片機的指令系統(tǒng)不要求了解,僅要求對8051的存貯器結構有初步了解;2.

寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;3.

程序有規(guī)范的結構,可分成不同的函數(shù),這種方式可使程序結構化;4.

提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能力;5.

由于具有方便的模塊化編程技術,使已編好程序可容易地移植;第二十八頁,共二百零九頁。C-51的數(shù)據(jù)類型基本數(shù)據(jù)類型類型符號關鍵字數(shù)的表示范圍所占位數(shù)整型字符型實型有無(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongintunsignedshortint160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127無unsignedchar80~255第二十九頁,共二百零九頁。C語言中的基本數(shù)據(jù)類型類型符號關鍵字數(shù)的表示范圍所占位數(shù)整型字符型實型有無(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongintunsignedshortint160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127無unsignedchar80~255第三十頁,共二百零九頁。C-51的數(shù)據(jù)類型擴充定義sfr:特殊功能寄存器聲明sfr16:sfr的16位數(shù)據(jù)聲明sbit:特殊功能位聲明bit:位變量聲明例:sfrSCON=0X98;sfr16T2=0xCC;sbitOV=PSW^2;第三十一頁,共二百零九頁。例:數(shù)據(jù)類型變量名charvar1;bitflags;unsignedcharvextor[10];intwwww;注意:變量名不能用C語言中的關鍵字表示。C-51數(shù)據(jù)的存儲類型第三十二頁,共二百零九頁。C-51的包含的頭文件通常有:reg51.hreg52.hmath.hctype.hstdio.hstdlib.habsacc.h常用有:reg51.hreg52.h

(定義特殊功能寄存器和位寄存器);

math.h(定義常用數(shù)學運算);

第三十三頁,共二百零九頁。C-51的運算符與C語言基本相同:+-*/

(加減乘除)>>=<<=

(大于大于等于小于小于等于)==!=

(測試等于測試不等于)&&||!

(邏輯與邏輯或邏輯非)>><<

(位右移位左移)&|(按位與按位或)^~(按位異或按位取反)第三十四頁,共二百零九頁。

C-51的基本語句

與標準C語言基本相同:

if選擇語言

while循環(huán)語言

for循環(huán)語言

switch/case多分支選擇語言

do-while循環(huán)語言第三十五頁,共二百零九頁。中斷服務程序函數(shù)名()interruptnusingm{

函數(shù)內部實現(xiàn)….}I/O口定義sbitbeep=P2^3;第三十六頁,共二百零九頁。單片機主要掌握以下幾點最小系統(tǒng)能夠運行起來的必要條件。1.電源2.晶振3.復位電路對單片機任意IO口的隨意操作1.輸出控制電平高低2.輸出檢測電平高低。定時器:重點掌握最常用的方式2中斷:外部中斷、定時器中斷、串口中斷串口通信:單片機之間、單片機與計算機間第三十七頁,共二百零九頁。KEIL的使用掌握KEIL工程的建立和軟件的開發(fā);掌握KEIL中軟件仿真的基本應用;掌握用KEIL直接硬件仿真TX-1C單片機學習板的方法第三十八頁,共二百零九頁。Main函數(shù)

格式:voidmain()

特點:無返回值,無參。

任何一個C程序有且僅有一個main函數(shù),它是整個程序開始執(zhí)行的入口。

例:voidmain()

{

總程序從這里開始執(zhí)行;

其他語句;

}第三十九頁,共二百零九頁。第四十頁,共二百零九頁。第四十一頁,共二百零九頁。第四十二頁,共二百零九頁。第四十三頁,共二百零九頁。第四十四頁,共二百零九頁。第四十五頁,共二百零九頁。課后練習對照TX-1C單片機學習板原理圖寫程序用位操作和總線操作兩種方法完成以下題目1.熟練建立KEIL工程2.點亮第一個發(fā)光管.3.點亮最后一個發(fā)光管4.點亮1、3、5、75.點亮二、四、五、六6.嘗試讓第一個發(fā)光管閃爍7.嘗試設計出流水燈程序第四十六頁,共二百零九頁。自己動手實踐需要硬件材料DIP40腳座一個。杜邦線,單頭帶冒,40根。單排針兩排。小電路板一塊。DS12C887一片(舊10元,新22元)。焊錫、第四十七頁,共二百零九頁。單片機工作的基本時序機器周期和指令周期(1)振蕩周期:也稱時鐘周期,是指為單片機提供時鐘脈沖信號的振蕩源的周期,TX實驗板上為11.0592MHZ。(2)狀態(tài)周期:每個狀態(tài)周期為時鐘周期的2倍,是振蕩周期經(jīng)二分頻后得到的。(3)機器周期:一個機器周期包含6個狀態(tài)周期S1~S6,也就是12個時鐘周期。在一個機器周期內,CPU可以完成一個獨立的操作。(4)指令周期:它是指CPU完成一條操作所需的全部時間。每條指令執(zhí)行時間都是有一個或幾個機器周期組成。MCS-51系統(tǒng)中,有單周期指令、雙周期指令和四周期指令。第四十八頁,共二百零九頁。第二講如何申請免費樣片簡單延時程序子程序調用帶參數(shù)子程序設計C51庫函數(shù)的方便調用如何驅動蜂鳴器如何驅動繼電器集電極開路的概念及應用。第四十九頁,共二百零九頁。While(表達式)

{語句(內部也可為空)}

特點:先判斷表達式,后執(zhí)行語句。

原則:若表達式不是0,即為真,那么執(zhí)行語句。否則跳出while語句。第五十頁,共二百零九頁。For(表達式1;表達式2;表達式3)

{語句(內部可為空)}

執(zhí)行過程:

1.求解一次表達式1.

2.求解表達式2,若其值為真(非0即為真),則執(zhí)行for中語句。然后執(zhí)行第3步。否則結束for語句,直接跳出,不再執(zhí)行第3步。

3.求解表達式3.

4.跳到第2步重復執(zhí)行。第五十一頁,共二百零九頁。集電極開路典型圖第五十二頁,共二百零九頁。課后練習第一個發(fā)光管以間隔200ms閃爍8個發(fā)光管由上至下間隔1s流動,其中每個管亮500ms,滅500ms,亮時蜂鳴器響,滅時關閉蜂鳴器,一直重復下去。8個發(fā)光管來回流動,第個管亮100ms,流動時讓蜂鳴器發(fā)出“滴滴”聲。用8個發(fā)光管演示出8位二進制數(shù)累加過程。8個發(fā)光管間隔200ms由上至下,再由下至上,再重復一次,然后全部熄滅再以300ms間隔全部閃爍5次。重復此過程。間隔300ms第一次一個管亮流動一次,第二次兩個管亮流動,依次到8個管亮,然后重復整個過程。間隔300ms先奇數(shù)亮再偶數(shù)亮,循環(huán)三次;一個燈上下循環(huán)三次;兩個分別從兩邊往中間流動三次;再從中間往兩邊流動三次;8個全部閃爍3次;關閉發(fā)光管,程序停止。第五十三頁,共二百零九頁。第三講數(shù)碼管是如何顯示出字符的數(shù)碼管靜態(tài)顯示與動態(tài)顯示原理中斷概念單片機的定時器應用第五十四頁,共二百零九頁。顯示器及其接口單片機系統(tǒng)中常用的顯示器有:發(fā)光二極管LED(LightEmittingDiode)顯示器、液晶LCD(LiquidCrystalDisplay)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結構:段顯示(7段、米字型等)和點陣顯示(5×8、8×8點陣等)。第五十五頁,共二百零九頁。

使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。TX實驗板用共陰LED顯示器,根據(jù)電路連接圖顯示16進制數(shù)的編碼已列在下表。

共陰極共陽極第五十六頁,共二百零九頁。共陰數(shù)碼管碼表

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0 1 2 3450x7d,0x07,0x7f,0x6f,0x77,0x7c,6 7 8 9AB0x39,0x5e,0x79,0x71,0x00CDEF 無顯示第五十七頁,共二百零九頁。LED數(shù)碼顯示方式及電路

靜態(tài)顯示方式LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高。第五十八頁,共二百零九頁。動態(tài)顯示動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的。第五十九頁,共二百零九頁。第六十頁,共二百零九頁。第六十一頁,共二百零九頁。

中斷系統(tǒng)第六十二頁,共二百零九頁。3.180C51的中斷系統(tǒng)

3.1.180C51的中斷系統(tǒng)結構一、中斷的概念

CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生);

CPU暫時中斷當前的工作,轉去處理事件B(中斷響應和中斷服務);待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷。第六十三頁,共二百零九頁。MCS-51單片機的中斷系統(tǒng)結構執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應執(zhí)行中斷處理程序中斷返回第六十四頁,共二百零九頁。引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請求。CPU暫時中斷原來的事務A,轉去處理事件B。對事件B處理完畢后,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機構)。第六十五頁,共二百零九頁。

隨著計算機技術的應用,人們發(fā)現(xiàn)中斷技術不僅解決了快速主機與慢速I/O設備的數(shù)據(jù)傳送問題,而且還具有如下優(yōu)點:

分時操作。CPU可以分時為多個I/O設備服務,提高了計算機的利用率;實時響應。CPU能夠及時處理應用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;可靠性高。CPU具有處理設備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。第六十六頁,共二百零九頁。80C51中斷系統(tǒng)的結構

80C51的中斷系統(tǒng)有5個中斷源(8052有6個),2個優(yōu)先級,可實現(xiàn)二級中斷嵌套

。第六十七頁,共二百零九頁。1、(P3.2)可由IT0(TCON.0)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.2引腳上出現(xiàn)有效的中斷信號時,中斷標志IE0(TCON.1)置1,向CPU申請中斷。第六十八頁,共二百零九頁。2、(P3.3)可由IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.3引腳上出現(xiàn)有效的中斷信號時,中斷標志IE1(TCON.3)置1,向CPU申請中斷。第六十九頁,共二百零九頁。

3、TF0(TCON.5),片內定時/計數(shù)器T0溢出中斷請求標志。當定時/計數(shù)器T0發(fā)生溢出時,置位TF0,并向CPU申請中斷。第七十頁,共二百零九頁。

4、TF1(TCON.7),片內定時/計數(shù)器T1溢出中斷請求標志。當定時/計數(shù)器T1發(fā)生溢出時,置位TF1,并向CPU申請中斷。第七十一頁,共二百零九頁。

5、RI(SCON.0)或TI(SCON.1),串行口中斷請求標志。當串行口接收完一幀串行數(shù)據(jù)時置位RI或當串行口發(fā)送完一幀串行數(shù)據(jù)時置位TI,向CPU申請中斷。

第七十二頁,共二百零九頁。二、中斷請求標志1、TCON的中斷標志IT0(TCON.0),外部中斷0觸發(fā)方式控制位。當IT0=0時,為電平觸發(fā)方式。當IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷0中斷請求標志位。IT1(TCON.2),外部中斷1觸發(fā)方式控制位。IE1(TCON.3),外部中斷1中斷請求標志位。TF0(TCON.5),定時/計數(shù)器T0溢出中斷請求標志位。TF1(TCON.7),定時/計數(shù)器T1溢出中斷請求標志位。

第七十三頁,共二百零九頁。2、SCON的中斷標志RI(SCON.0),串行口接收中斷標志位。當允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位RI。注意,RI必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標志位。當CPU將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位TI。CPU響應中斷時,不能自動清除TI,TI必須由軟件清除。

第七十四頁,共二百零九頁。一、中斷允許控制CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。3.1.380C51中斷的控制

EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時/計數(shù)器T0中斷允許位;EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時/計數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA(IE.7),CPU中斷允許(總允許)位。第七十五頁,共二百零九頁。二、中斷優(yōu)先級控制80C51單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二級中斷服務嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應位的狀態(tài)來規(guī)定的

。PX0(IP.0),外部中斷0優(yōu)先級設定位;PT0(IP.1),定時/計數(shù)器T0優(yōu)先級設定位;PX1(IP.2),外部中斷0優(yōu)先級設定位;PT1(IP.3),定時/計數(shù)器T1優(yōu)先級設定位;PS(IP.4),串行口優(yōu)先級設定位;PT2(IP.5),定時/計數(shù)器T2優(yōu)先級設定位。第七十六頁,共二百零九頁。PX0(IPH.0),外部中斷0優(yōu)先級設定位;PT0(IPH.1),定時/計數(shù)器T0優(yōu)先級設定位;PX1(IPH.2),外部中斷0優(yōu)先級設定位;PT1(IPH.3),定時/計數(shù)器T1優(yōu)先級設定位;PS(IPH.4),串行口優(yōu)先級設定位;PT2(IPH.5),定時/計數(shù)器T2優(yōu)先級設定位。而80C52單片機有四個中斷優(yōu)先級,即可實現(xiàn)四級中斷服務嵌套。每個中斷源的中斷優(yōu)先級由中斷優(yōu)先級寄存器IP和IPH中的相應位的狀態(tài)來規(guī)定的

。第七十七頁,共二百零九頁。

同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:第七十八頁,共二百零九頁。設置52單片機的4個中斷源,使他們的優(yōu)順序為T1,INT1,INT0,T0.

IPH=0X08; PT1=1;

IP=0X40; PX1=1;第七十九頁,共二百零九頁。80C51單片機的中斷優(yōu)先級有三條原則:CPU同時接收到幾個中斷時,首先響應優(yōu)先級別最高的中斷請求。正在進行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷。正在進行的低優(yōu)先級中斷服務,能被高優(yōu)先級中斷請求所中斷。

為了實現(xiàn)上述后兩條原則,中斷系統(tǒng)內部設有兩個用戶不能尋址的優(yōu)先級狀態(tài)觸發(fā)器。其中一個置1,表示正在響應高優(yōu)先級的中斷,它將阻斷后來所有的中斷請求;另一個置1,表示正在響應低優(yōu)先級中斷,它將阻斷后來所有的低優(yōu)先級中斷請求。第八十頁,共二百零九頁。3.280C51單片機中斷處理過程

中斷響應條件中斷源有中斷請求;此中斷源的中斷允許位為1;CPU開中斷(即EA=1)。以上三條同時滿足時,CPU才有可能響應中斷。3.2.1中斷響應條件和時間

第八十一頁,共二百零九頁。3.380C51的定時/計數(shù)器

實現(xiàn)定時功能,比較方便的辦法是利用單片機內部的定時/計數(shù)器。也可以采用下面三種方法:軟件定時:軟件定時不占用硬件資源,但占用了CPU時間,降低了CPU的利用率。采用時基電路定時:例如采用555電路,外接必要的元器件(電阻和電容),即可構成硬件定時電路。但在硬件連接好以后,定時值與定時范圍不能由軟件進行控制和修改,即不可編程。采用可編程芯片定時:這種定時芯片的定時值及定時范圍很容易用軟件來確定和修改,此種芯片定時功能強,使用靈活。在單片機的定時/計數(shù)器不夠用時,可以考慮進行擴展。第八十二頁,共二百零九頁。3.3.1定時/計數(shù)器的結構和工作原理

一、定時/計數(shù)器的結構定時/計數(shù)器的實質是加1計數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志。

第八十三頁,共二百零九頁。二、定時/計數(shù)器的工作原理

加1計數(shù)器輸入的計數(shù)脈沖有兩個來源,一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后送來;一個是T0或T1引腳輸入的外部脈沖源。每來一個脈沖計數(shù)器加1,當加到計數(shù)器為全1時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)值。

第八十四頁,共二百零九頁。設置為定時器模式時,加1計數(shù)器是對內部機器周期計數(shù)(1個機器周期等于12個振蕩周期,即計數(shù)頻率為晶振頻率的1/12)。計數(shù)值N乘以機器周期Tcy就是定時時間t

。設置為計數(shù)器模式時,外部事件計數(shù)脈沖由T0或T1引腳輸入到計數(shù)器。在每個機器周期的S5P2期間采樣T0、T1引腳電平。當某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數(shù)器加1,更新的計數(shù)值在下一個機器周期的S3P1期間裝入計數(shù)器。由于檢測一個從1到0的下降沿需要2個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當晶振頻率為12MHz時,最高計數(shù)頻率不超過1/2MHz,即計數(shù)脈沖的周期要大于2s。

第八十五頁,共二百零九頁。

3.3.2定時/計數(shù)器的控制80C51單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設置其工作方式;TCON用于控制其啟動和中斷申請。一、工作方式寄存器TMOD

工作方式寄存器TMOD用于設置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:第八十六頁,共二百零九頁。GATE:門控位。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作。即此時定時器的啟動多了一條件。

:定時/計數(shù)模式選擇位。=0為定時模式;=1為計數(shù)模式。M1M0:工作方式設置位。定時/計數(shù)器有四種工作方式,由M1M0進行設置。第八十七頁,共二百零九頁。

二、控制寄存器TCON

TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下:TF1(TCON.7):T1溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。TR0(TCON.4):T0運行控制位,其功能與TR1類同。第八十八頁,共二百零九頁。

3.3.3定時/計數(shù)器的工作方式

一、方式0

方式0為13位計數(shù),由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時向TH0進位,TH0溢出時,置位TCON中的TF0標志,向CPU發(fā)出中斷請求。第八十九頁,共二百零九頁。定時器模式時有:N=t/Tcy計數(shù)初值計算的公式為:定時器的初值還可以采用計數(shù)個數(shù)直接取補法獲得。計數(shù)模式時,計數(shù)脈沖是T0引腳上的外部脈沖。門控位GATE具有特殊的作用。當GATE=0時,經(jīng)反相后使或門輸出為1,此時僅由TR0控制與門的開啟,與門輸出1時,控制開關接通,計數(shù)開始;當GATE=1時,由外中斷引腳信號控制或門的輸出,此時控制與門的開啟由外中斷引腳信號和TR0共同控制。當TR0=1時,外中斷引腳信號引腳的高電平啟動計數(shù),外中斷引腳信號引腳的低電平停止計數(shù)。這種方式常用來測量外中斷引腳上正脈沖的寬度。

第九十頁,共二百零九頁。

二、方式1方式1的計數(shù)位數(shù)是16位,由TL0作為低8位、TH0作為高8位,組成了16位加1計數(shù)器。計數(shù)個數(shù)與計數(shù)初值的關系為:

第九十一頁,共二百零九頁。

三、方式2方式2為自動重裝初值的8位計數(shù)方式。

工作方式2特別適合于用作較精確的脈沖信號發(fā)生器。

計數(shù)個數(shù)與計數(shù)初值的關系為:

第九十二頁,共二百零九頁。

四、方式3方式3只適用于定時/計數(shù)器T0,定時器T1處于方式3時相當于TR1=0,停止計數(shù)。

工作方式3將T0分成為兩個獨立的8位計數(shù)器TL0和TH0

。

第九十三頁,共二百零九頁。3.3.4定時/計數(shù)器應用舉例

初始化程序應完成如下工作:對TMOD賦值,以確定T0和T1的工作方式。計算初值,并將其寫入TH0、TL0或TH1、TL1。中斷方式時,則對IE賦值,開放中斷。使TR0或TR1置位,啟動定時/計數(shù)器定時或計數(shù)。第九十四頁,共二百零九頁。

例利用定時/計數(shù)器T1的方式1,產生10ms的定時,并使P1.0引腳上輸出周期為20ms的方波,采用中斷方式,設系統(tǒng)時鐘頻率為12MHz。解:1、計算計數(shù)初值X:由于晶振為12MHz,所以機器周期Tcy為1s。所以:N=t/Tcy=10000/1=10000X=65536-10000=55536=D8F0H即應將D8H送入TH0中,F(xiàn)0H送入TL0中

2、求T1的方式控制字TMOD:

M1M0=01,GATE=0,C/T=0,可取方式控制字為01H;第九十五頁,共二百零九頁。1、利用定時/計數(shù)器T0從P1.0輸出周期為1s的方波,讓發(fā)光二極管以1HZ閃爍,設晶振頻率為12MHz。。2、利用定時/計數(shù)器T1產生定時時鐘,由P1口控制8個發(fā)光二極管,使8個指示燈依次一個一個閃動,閃動頻率為10次/秒(8個燈依次亮一遍為一個周期),循環(huán)。3、同時用兩個定時器控制蜂鳴器發(fā)聲,定時器0控制頻率,定時器1控制同個頻率持續(xù)的時間,間隔300ms依次輸出1,10,50,100,200,400,800,1k(hz)的方波。4、用定時器以間隔500MS在6位數(shù)碼管上依次顯示0、1、2、3….C、D、E、F,重復。第九十六頁,共二百零九頁。動態(tài)顯示動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的。第九十七頁,共二百零九頁。MCS-51單片機的中斷系統(tǒng)結構執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應執(zhí)行中斷處理程序中斷返回第九十八頁,共二百零九頁。一、中斷允許控制CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。4.180C51中斷的控制

EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時/計數(shù)器T0中斷允許位;EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時/計數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA(IE.7),CPU中斷允許(總允許)位。第九十九頁,共二百零九頁。

同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:第一百頁,共二百零九頁。4.280C51單片機中斷處理過程

中斷響應條件中斷源有中斷請求;此中斷源的中斷允許位為1;CPU開中斷(即EA=1)。以上三條同時滿足時,CPU才有可能響應中斷。4.2.1中斷響應條件和時間

第一百零一頁,共二百零九頁。定時/計數(shù)器的結構和工作原理

一、定時/計數(shù)器的結構定時/計數(shù)器的實質是加1計數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志。

第一百零二頁,共二百零九頁。

4.2.2定時/計數(shù)器的控制80C51單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設置其工作方式;TCON用于控制其啟動和中斷申請。一、工作方式寄存器TMOD

工作方式寄存器TMOD用于設置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:第一百零三頁,共二百零九頁。GATE:門控位。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳INT0/1也為高電平時,才能啟動定時/計數(shù)器工作。即此時定時器的啟動條件,加上了INT0/1引腳為高電平這一條件。

:定時/計數(shù)模式選擇位。=0為定時模式;=1為計數(shù)模式。M1M0:工作方式設置位。定時/計數(shù)器有四種工作方式,由M1M0進行設置。第一百零四頁,共二百零九頁。

二、控制寄存器TCON

TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下:TF1(TCON.7):T1溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。TR0(TCON.4):T0運行控制位,其功能與TR1類同。第一百零五頁,共二百零九頁。

定時/計數(shù)器的工作方式

一、方式0

方式0為13位計數(shù),由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時向TH0進位,TH0溢出時,置位TCON中的TF0標志,向CPU發(fā)出中斷請求。第一百零六頁,共二百零九頁。

二、方式1方式1的計數(shù)位數(shù)是16位,由TL0作為低8位、TH0作為高8位,組成了16位加1計數(shù)器。計數(shù)個數(shù)與計數(shù)初值的關系為:

第一百零七頁,共二百零九頁。第四課練習1.利用動態(tài)掃描方法在六位數(shù)碼管上顯示出穩(wěn)定的654321.2.用動態(tài)掃描方法和定時器1在數(shù)碼管的前三位顯示出秒表,精確到1%秒,即后兩位顯示1%秒,一直循環(huán)下去。3.利用動態(tài)掃描和定時器1在數(shù)碼管上顯示出從765432開始以1/10秒的速度往下遞減直至765398并保持顯示此數(shù),與此同時利用定時器0以500MS速度進行流水燈從上至下移動,當數(shù)碼管上數(shù)減到停止時,實驗板上流水燈也停止然后全部開始閃爍,3秒后(用T0定時)流水燈全部關閉、數(shù)碼管上顯示出“HELLO”。到此保持住。第一百零八頁,共二百零九頁。鍵盤的應用第一百零九頁,共二百零九頁。1、鍵盤的分類鍵盤分編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用的硬件編碼器實現(xiàn),并產生鍵編碼號或鍵值的稱為編碼鍵盤,如計算機鍵盤.而靠軟件編程來識別的稱為非編碼鍵盤;在單片機組成的各種系統(tǒng)中,用的最多的是非編碼鍵盤。也有用到編碼鍵盤的。第一百一十頁,共二百零九頁。非編碼鍵盤有分為:獨立鍵盤和行列式(又稱為矩陣式)鍵盤。第一百一十一頁,共二百零九頁。第一百一十二頁,共二百零九頁。按鍵在閉合和斷開時,觸點會存在抖動現(xiàn)象:

第一百一十三頁,共二百零九頁。第一百一十四頁,共二百零九頁。第一百一十五頁,共二百零九頁。數(shù)碼管前三位顯示一個跑表,從000到999之間以1%秒速度運行,當按下一個獨立鍵盤時跑表停止,松開手后跑表繼續(xù)運行。(用定時器設計表)。在上題的基礎上,用另外三個獨立鍵盤實現(xiàn)按下第一個時計時停止,按下第二個時計時開始,按下第三個是計數(shù)值清零從頭開始。按下16個矩陣鍵盤依次在數(shù)碼管上顯示1-16的平方。如按下第一個顯示1,第二個顯示4...第一百一十六頁,共二百零九頁。第六講D/A&A/D轉換器及其與單片機接口第一百一十七頁,共二百零九頁。D/A第一百一十八頁,共二百零九頁。6.1D/A轉換器及其與單片機接口

6.1.1D/A轉換器的原理及主要技術指標一、D/A轉換器的基本原理及分類T型電阻網(wǎng)絡D/A轉換器:第一百一十九頁,共二百零九頁。輸出電壓的大小與數(shù)字量具有對應的關系。第一百二十頁,共二百零九頁。二、D/A轉換器的主要性能指標1、分辨率分辨率是指輸入數(shù)字量的最低有效位(LSB)發(fā)生變化時,所對應的輸出模擬量(電壓或電流)的變化量。它反映了輸出模擬量的最小變化值。分辨率與輸入數(shù)字量的位數(shù)有確定的關系,可以表示成FS/。FS表示滿量程輸入值,n為二進制位數(shù)。對于5V的滿量程,采用8位的DAC時,分辨率為5V/256=19.5mV;當采用12位的DAC時,分辨率則為5V/4096=1.22mV。顯然,位數(shù)越多分辨率就越高。2、線性度線性度(也稱非線性誤差)是實際轉換特性曲線與理想直線特性之間的最大偏差。常以相對于滿量程的百分數(shù)表示。如±1%是指實際輸出值與理論值之差在滿刻度的±1%以內。第一百二十一頁,共二百零九頁。3、絕對精度和相對精度絕對精度(簡稱精度)是指在整個刻度范圍內,任一輸入數(shù)碼所對應的模擬量實際輸出值與理論值之間的最大誤差。絕對精度是由DAC的增益誤差(當輸入數(shù)碼為全1時,實際輸出值與理想輸出值之差)、零點誤差(數(shù)碼輸入為全0時,DAC的非零輸出值)、非線性誤差和噪聲等引起的。絕對精度(即最大誤差)應小于1個LSB。相對精度與絕對精度表示同一含義,用最大誤差相對于滿刻度的百分比表示。第一百二十二頁,共二百零九頁。4、建立時間建立時間是指輸入的數(shù)字量發(fā)生滿刻度變化時,輸出模擬信號達到滿刻度值的±1/2LSB所需的時間。是描述D/A轉換速率的一個動態(tài)指標。電流輸出型DAC的建立時間短。電壓輸出型DAC的建立時間主要決定于運算放大器的響應時間。根據(jù)建立時間的長短,可以將DAC分成超高速(<1μS)、高速(10~1μS)、中速(100~10μS)、低速(≥100μS)幾檔。

應當注意,精度和分辨率具有一定的聯(lián)系,但概念不同。DAC的位數(shù)多時,分辨率會提高,對應于影響精度的量化誤差會減小。但其它誤差(如溫度漂移、線性不良等)的影響仍會使DAC的精度變差。第一百二十三頁,共二百零九頁。6.1.2DAC0832芯片及其與單片機接口DAC0832是使用非常普遍的8位D/A轉換器,由于其片內有輸入數(shù)據(jù)寄存器,故可以直接與單片機接口。DAC0832以電流形式輸出,當需要轉換為電壓輸出時,可外接運算放大器。屬于該系列的芯片還有DAC0830、DAC0831,它們可以相互代換。DAC0832主要特性:分辨率8位;電流建立時間1μS;數(shù)據(jù)輸入可采用雙緩沖、單緩沖或直通方式;輸出電流線性度可在滿量程下調節(jié);邏輯電平輸入與TTL電平兼容;單一電源供電(+5V~+15V);低功耗,20mW。

第一百二十四頁,共二百零九頁。一、DAC0832內部結構及引腳第一百二十五頁,共二百零九頁。第一百二十六頁,共二百零九頁。二、DAC0832與80C51單片機的接口1、單緩沖工作方式

此方式適用于只有一路模擬量輸出,或有幾路模擬量輸出但并不要求同步的系統(tǒng)。

第一百二十七頁,共二百零九頁。雙極性模擬輸出電壓

雙極性輸出時的分辨率比單極性輸出時降低1/2,這是由于對雙極性輸出而言,最高位作為符號位,只有7位數(shù)值位。第一百二十八頁,共二百零九頁。2、雙緩沖工作方式

多路D/A轉換輸出,如果要求同步進行,就應該采用雙緩沖器同步方式。第一百二十九頁,共二百零九頁。3、直通工作方式當DAC0832芯片的片選信號、寫信號、及傳送控制信號的引腳全部接地,允許輸入鎖存信號ILE引腳接+5V時,DAC0832芯片就處于直通工作方式,數(shù)字量一旦輸入,就直接進入DAC寄存器,進行D/A轉換。第一百三十頁,共二百零九頁。.

Alldatasheet

.com/第一百三十一頁,共二百零九頁。6.2A/D轉換器及其與單片機接口

6.2.1A/D轉換器的原理及主要技術指標一、逐次逼近式ADC的轉換原理第一百三十二頁,共二百零九頁。二、雙積分式ADC的轉換原理第一百三十三頁,共二百零九頁。三、A/D轉換器的主要技術指標1、分辨率ADC的分辨率是指使輸出數(shù)字量變化一個相鄰數(shù)碼所需輸入模擬電壓的變化量。常用二進制的位數(shù)表示。例如12位ADC的分辨率就是12位,或者說分辨率為滿刻度FS的1/。一個10V滿刻度的12位ADC能分辨輸入電壓變化最小值是10V×1/=2.4mV。第一百三十四頁,共二百零九頁。2、量化誤差ADC把模擬量變?yōu)閿?shù)字量,用數(shù)字量近似表示模擬量,這個過程稱為量化。量化誤差是ADC的有限位數(shù)對模擬量進行量化而引起的誤差。實際上,要準確表示模擬量,ADC的位數(shù)需很大甚至無窮大。一個分辨率有限的ADC的階梯狀轉換特性曲線與具有無限分辨率的ADC轉換特性曲線(直線)之間的最大偏差即是量化誤差。

第一百三十五頁,共二百零九頁。3、偏移誤差偏移誤差是指輸入信號為零時,輸出信號不為零的值,所以有時又稱為零值誤差。假定ADC沒有非線性誤差,則其轉換特性曲線各階梯中點的連線必定是直線,這條直線與橫軸相交點所對應的輸入電壓值就是偏移誤差。4、滿刻度誤差滿刻度誤差又稱為增益誤差。ADC的滿刻度誤差是指滿刻度輸出數(shù)碼所對應的實際輸入電壓與理想輸入電壓之差。第一百三十六頁,共二百零九頁。5、線性度線性度有時又稱為非線性度,它是指轉換器實際的轉換特性與理想直線的最大偏差。6、絕對精度在一個轉換器中,任何數(shù)碼所對應的實際模擬量輸入與理論模擬輸入之差的最大值,稱為絕對精度。對于ADC而言,可以在每一個階梯的水平中點進行測量,它包括了所有的誤差。7、轉換速率ADC的轉換速率是能夠重復進行數(shù)據(jù)轉換的速度,即每秒轉換的次數(shù)。而完成一次A/D轉換所需的時間(包括穩(wěn)定時間),則是轉換速率的倒數(shù)。第一百三十七頁,共二百零九頁。第七講7.280C51的串行口7.1計算機串行通信基礎7.3單片機串行口編程應用舉例第一百三十八頁,共二百零九頁。7.1計算機串行通信基礎

隨著多微機系統(tǒng)的廣泛應用和計算機網(wǎng)絡技術的普及,計算機的通信功能愈來愈顯得重要。計算機通信是指計算機與外部設備或計算機與計算機之間的信息交換。通信有并行通信和串行通信兩種方式。在多微機系統(tǒng)以及現(xiàn)代測控系統(tǒng)中信息的交換多采用串行通信方式。第一百三十九頁,共二百零九頁。計算機通信是將計算機技術和通信技術的相結合,完成計算機與外部設備或計算機與計算機之間的信息交換??梢苑譃閮纱箢悾翰⑿型ㄐ排c串行通信。并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時進行傳送。并行通信控制簡單、傳輸速度快;由于傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難。

第一百四十頁,共二百零九頁。串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個地傳送。串行通信的特點:傳輸線少,長距離傳送時成本低,且可以利用電話網(wǎng)等現(xiàn)成的設備,但數(shù)據(jù)的傳送控制比并行通信復雜。

第一百四十一頁,共二百零九頁。7.1.1串行通信的基本概念

一、異步通信與同步通信1、異步通信異步通信是指通信的發(fā)送與接收設備使用各自的時鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調,要求發(fā)送和接收設備的時鐘盡可能一致。

第一百四十二頁,共二百零九頁。異步通信是以字符(構成的幀)為單位進行傳輸,字符與字符之間的間隙(時間間隔)是任意的,但每個字符中的各位是以固定的時間傳送的,即字符之間不一定有“位間隔”的整數(shù)倍的關系,但同一字符內的各位之間的距離均為“位間隔”的整數(shù)倍。第一百四十三頁,共二百零九頁。異步通信的數(shù)據(jù)格式:異步通信的特點:不要求收發(fā)雙方時鐘的嚴格一致,實現(xiàn)容易,設備開銷較小,但每個字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。第一百四十四頁,共二百零九頁。2、同步通信同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時傳送的字符間不留間隙,即保持位同步關系,也保持字符同步關系。發(fā)送方對接收方的同步可以通過兩種方法實現(xiàn)。

外同步自同步第一百四十五頁,共二百零九頁。面向字符的同步格式:

此時,傳送的數(shù)據(jù)和控制信息都必須由規(guī)定的字符集(如ASCII碼)中的字符所組成。圖中幀頭為1個或2個同步字符SYN(ASCII碼為16H)。SOH為序始字符(ASCII碼為01H),表示標題的開始,標題中包含源地址、目標地址和路由指示等信息。STX為文始字符(ASCII碼為02H),表示傳送的數(shù)據(jù)塊開始。數(shù)據(jù)塊是傳送的正文內容,由多個字符組成。數(shù)據(jù)塊后面是組終字符ETB(ASCII碼為17H)或文終字符ETX(ASCII碼為03H)。然后是校驗碼。典型的面向字符的同步規(guī)程如IBM的二進制同步規(guī)程BSC。

第一百四十六頁,共二百零九頁。面向位的同步格式:

此時,將數(shù)據(jù)塊看作數(shù)據(jù)流,并用序列01111110作為開始和結束標志。為了避免在數(shù)據(jù)流中出現(xiàn)序列01111110時引起的混亂,發(fā)送方總是在其發(fā)送的數(shù)據(jù)流中每出現(xiàn)5個連續(xù)的1就插入一個附加的0;接收方則每檢測到5個連續(xù)的1并且其后有一個0時,就刪除該0。典型的面向位的同步協(xié)議如ISO的高級數(shù)據(jù)鏈路控制規(guī)程HDLC和IBM的同步數(shù)據(jù)鏈路控制規(guī)程SDLC。同步通信的特點是以特定的位組合“01111110”作為幀的開始和結束標志,所傳輸?shù)囊粠瑪?shù)據(jù)可以是任意位。所以傳輸?shù)男瘦^高,但實現(xiàn)的硬件設備比異步通信復雜。

第一百四十七頁,共二百零九頁。二、串行通信的傳輸方向1、單工單工是指數(shù)據(jù)傳輸僅能沿一個方向,不能實現(xiàn)反向傳輸。2、半雙工半雙工是指數(shù)據(jù)傳輸可以沿兩個方向,但需要分時進行。3、全雙工全雙工是指數(shù)據(jù)可以同時進行雙向傳輸。

單工半雙工全雙工第一百四十八頁,共二百零九頁。三、信號的調制與解調

利用調制器(Modulator)把數(shù)字信號轉換成模擬信號,然后送到通信線路上去,再由解調器(Demodulator)把從通信線路上收到的模擬信號轉換成數(shù)字信號。由于通信是雙向的,調制器和解調器合并在一個裝置中,這就是調制解調器MODEM。第一百四十九頁,共二百零九頁。四、串行通信的錯誤校驗

1、奇偶校驗在發(fā)送數(shù)據(jù)時,數(shù)據(jù)位尾隨的1位為奇偶校驗位(1或0)。奇校驗時,數(shù)據(jù)中“1”的個數(shù)與校驗位“1”的個數(shù)之和應為奇數(shù);偶校驗時,數(shù)據(jù)中“1”的個數(shù)與校驗位“1”的個數(shù)之和應為偶數(shù)。接收字符時,對“1”的個數(shù)進行校驗,若發(fā)現(xiàn)不一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)了差錯。3、循環(huán)冗余校驗這種校驗是通過某種數(shù)學運算實現(xiàn)有效信息與校驗位之間的循環(huán)校驗,常用于對磁盤信息的傳輸、存儲區(qū)的完整性校驗等。這種校驗方法糾錯能力強,廣泛應用于同步通信中。2、代碼和校驗代碼和校驗是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產生一個字節(jié)的校驗字符(校驗和)附加到數(shù)據(jù)塊末尾。接收方接收數(shù)據(jù)同時對數(shù)據(jù)塊(除校驗字節(jié)外)求和(或各字節(jié)異或),將所得的結果與發(fā)送方的“校驗和”進行比較,相符則無差錯,否則即認為傳送過程中出現(xiàn)了差錯。第一百五十頁,共二百零九頁。五、傳輸速率與傳輸距離

1、傳輸速率比特率是每秒鐘傳輸二進制代碼的位數(shù),單位是:位/秒(bps)。如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位、1個停止位、8個數(shù)據(jù)位),這時的比特率為:10位×240個/秒=2400bps第一百五十一頁,共二百零九頁。2、傳輸距離與傳輸速率的關系串行接口或終端直接傳送串行信息位流的最大距離與傳輸速率及傳輸線的電氣特性有關。當傳輸線使用每0.3m(約1英尺)有50PF電容的非平衡屏蔽雙絞線時,傳輸距離隨傳輸速率的增加而減小。當比特率超過1000bps時,最大傳輸距離迅速下降,如9600bps時最大距離下降到只有76m(約250英尺)。第一百五十二頁,共二百零九頁。7.1.2串行通信接口標準

一、RS-232C接口RS-232C是EIA(美國電子工業(yè)協(xié)會)1969年修訂RS-232C標準。RS-232C定義了數(shù)據(jù)終端設備(DTE)與數(shù)據(jù)通信設備(DCE)之間的物理接口標準。1、機械特性RS-232C接口規(guī)定使用25針連接器,連接器的尺寸及每個插針的排列位置都有明確的定義。(陽頭)第一百五十三頁,共二百零九頁。2、功能特性第一百五十四頁,共二百零九頁。4、過程特性過程特性規(guī)定了信號之間的時序關系,以便正確地接收和發(fā)送數(shù)據(jù)

。遠程通信連接第一百五十五頁,共二百零九頁。近程通信連接第一百五十六頁,共二百零九頁。5、RS-232C電平與TTL電平轉換驅動電路第一百五十七頁,共二百零九頁。6、采用RS-232C接口存在的問題1、傳輸距離短,傳輸速率低

RS-232C總線標準受電容允許值的約束,使用時傳輸距離一般不要超過15米(線路條件好時也不超過幾十米)。最高傳送速率為20Kbps。2、有電平偏移

RS-232C總線標準要求收發(fā)雙方共地。通信距離較大時,收發(fā)雙方的地電位差別較大,在信號地上將有比較大的地電流并產生壓降。3、抗干擾能力差

RS-232C在電平轉換時采用單端輸入輸出,在傳輸過程中當干擾和噪聲混在正常的信號中。為了提高信噪比,RS-232C總線標準不得不采用比較大的電壓擺幅。第一百五十八頁,共二百零九頁。二、RS-422A接口RS-422A輸出驅動器為雙端平衡驅動器。如果其中一條線為邏輯“1”狀態(tài),另一條線就為邏輯“0”,比采用單端不平衡驅動對電壓的放大倍數(shù)大一倍。差分電路能從地線干擾中拾取有效信號,差分接收器可以分辨200mV以上電位差。若傳輸過程中混入了干擾和噪聲,由于差分放大器的作用,可使干擾和噪聲相互抵消。因此可以避免或大大減弱地線干擾和電磁干擾的影響。RS-422A傳輸速率(90Kbps)時,傳輸距離可達1200米。

第一百五十九頁,共二百零九頁。三、RS-485接口RS-485是RS-422A的變型:RS-422A用于全雙工,而RS-485則用于半雙工。RS-485是一種多發(fā)送器標準,在通信線路上最多可以使用32對差分驅動器/接收器。如果在一個網(wǎng)絡中連接的設備超過32個,還可以使用中繼器。

RS-485的信號傳輸采用兩線間的電壓來表示邏輯1和邏輯0。由于發(fā)送方需要兩根傳輸線,接收方也需要兩根傳輸線。傳輸線采用差動信道,所以它的干擾抑制性極好,又因為它的阻抗低,無接地問題,所以傳輸距離可達1200米,傳輸速率可達1Mbps。第一百六十頁,共二百零九頁。RS-485是一點對多點的通信接口,一般采用雙絞線的結構。普通的PC機一般不帶RS485接口,因此要使用RS-232C/RS-485轉換器。對于單片機可以通過芯片MAX485來完成TTL/RS-485的電平轉換。在計算機和單片機組成的RS-485通信系統(tǒng)中,下位機由單片機系統(tǒng)組成,上位機為普通的PC機,負責監(jiān)視下位機的運行狀態(tài),并對其狀態(tài)信息進行集中處理,以圖文方式顯示下位機的工作狀態(tài)以及工業(yè)現(xiàn)場被控設備的工作狀況。系統(tǒng)中各節(jié)點(包括上位機)的識別是通過設置不同的站地址來實現(xiàn)的。第一百六十一頁,共二百零九頁。7.280C51的串行口

有兩個物理上獨立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H;接收器是雙緩沖結構;發(fā)送緩沖器,因為發(fā)送時CPU是主動的,不會產生重疊錯誤。

7.2.180C51串行口的結構

第一百六十二頁,共二百零九頁。SCON是一個特殊功能寄存器,用以設定串行口的工作方式、接收/發(fā)送控制以及設置狀態(tài)標志:

7.2.280C51串行口的控制寄存器

SM0和SM1為工作方式選擇位,可選擇四種工作方式:

第一百六十三頁,共二百零九頁。●SM2,多機通信控制位,主要用于方式2和方式3。當接收機的SM2=1時可以利用收到的RB8來控制是否激活RI(RB8=0時不激活RI,收到的信息丟棄;RB8=1時收到的數(shù)據(jù)進入SBUF,并激活RI,進而在中斷服務中將數(shù)據(jù)從SBUF讀走)。當SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實現(xiàn)多機通信。在方式0時,SM2必須是0。在方式1時,若SM2=1,則只有接收到有效停止位時,RI才置1?!馬EN,允許串行接收位。由軟件置REN=1,則啟動串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。第一百六十四頁,共二百零九頁。●TB8,在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗位,或在多機通信中,作為地址幀/數(shù)據(jù)幀的標志位。在方式0和方式1中,該位未用?!馬B8,在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。第一百六十五頁,共二百零九頁?!馮I,發(fā)送中斷標志位。在方式0時,當串行發(fā)送第8位數(shù)據(jù)結束時,或在其它方式,串行發(fā)送停止位的開始時,由內部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務程序中,必須用軟件將其清0,取消此中斷申請。●RI,接收中斷標志位。在方式0時,當串行接收第8位數(shù)據(jù)結束時,或在其它方式,串行接收停止位的中間時,由內部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務程序中,用軟件將其清0,取消此中斷申請。第一百六十六頁,共二百零九頁。PCON中只有一位SMOD與串行口工作有關

SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關,當SMOD=1時,波特率提高一倍。復位時,SMOD=0。第一百六十七頁,共二百零九頁。

7.2.380C51串行口的工作方式

一、方式0

方式0時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。

1、方式0輸出第一百六十八頁,共二百零九頁。

2、方式0輸入

方式0接收和發(fā)送電路第一百六十九頁,共二百零九頁。

二、方式1

方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論