




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
從零開始入門學習單片機教程演示文稿目前一頁\總數(shù)二百五十六頁\編于十八點(優(yōu)選)從零開始入門學習單片機教程.目前二頁\總數(shù)二百五十六頁\編于十八點單片機有什么用應(yīng)該學什么樣的單片機學習單片機需什么基礎(chǔ)如何學好單片機學前準備,單片機學習開發(fā)環(huán)境的建立第一課初識單片機目前三頁\總數(shù)二百五十六頁\編于十八點單片機有什么用?工業(yè)控制系統(tǒng)數(shù)據(jù)采集系統(tǒng)智能化儀器儀表通訊設(shè)備......目前四頁\總數(shù)二百五十六頁\編于十八點應(yīng)該學什么樣的單片機?在我們這個課程中,我們將選用51系列單片機作為講解。51單片機同時也是學習,ARM、DSP、FPGA等,高端應(yīng)用的基礎(chǔ)知識。目前五頁\總數(shù)二百五十六頁\編于十八點學習單片機要什么基礎(chǔ)?1.有信心,有恒心;2.只要撐握最基本的數(shù)電模電知識;3.對各種器件的認識大家都是從0開始;4.單片機編程,只要會簡單的C語言基礎(chǔ)知識。目前六頁\總數(shù)二百五十六頁\編于十八點如何學好單片機1.要領(lǐng):理論與實踐并重,實踐先行;2.學習總是從模仿開始;3.舉一反三;目前七頁\總數(shù)二百五十六頁\編于十八點學前準備1.電腦一臺2.單片機C語言書一本3.開發(fā)板一塊目前八頁\總數(shù)二百五十六頁\編于十八點51單片機C語言程序設(shè)計教程本視頻配套書籍:——王云編著目前九頁\總數(shù)二百五十六頁\編于十八點課程內(nèi)容安排基礎(chǔ)篇基于單片機最小系統(tǒng),介紹單片機的基礎(chǔ)知識;及單片機C語言基礎(chǔ)知識。實戰(zhàn)篇以YL-51開發(fā)板為平臺,逐個講解開發(fā)板上各個模塊的使用,把各器件模塊講解清楚。通過實踐深化理解數(shù)字電路的概念、C語言的基本應(yīng)用以及C語言如何同實際電路發(fā)生聯(lián)系。提高篇講解單片機應(yīng)用的擴展知識,及編程技巧。講授單片機項目開發(fā)的流程及方法。目前十頁\總數(shù)二百五十六頁\編于十八點課后作業(yè)安裝以下兩個軟件:1、STC-ISP下載軟件2、KEIL編程軟件目前十一頁\總數(shù)二百五十六頁\編于十八點第二課點亮一個發(fā)光二極管目前十二頁\總數(shù)二百五十六頁\編于十八點什么是單片機?如何選擇單片機?單片機能做什么?目前十三頁\總數(shù)二百五十六頁\編于十八點單片機指以8051為核心的單片機,統(tǒng)稱為MCS51單片機。是在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構(gòu)成了單芯片微型計算機,簡稱單片機。MCS51單片機如8031,8751,8032,8052,8752等該系列其它單片機都是在8051的基礎(chǔ)上進行功能的增、減、改變而來的。1.1什么是單片機?8051是美國INTEL公司,生產(chǎn)的一系列單片機中最早最典型的產(chǎn)品。目前十四頁\總數(shù)二百五十六頁\編于十八點1.2近年來推出MCS51的主要產(chǎn)品有:
﹡ATMEL公司的89C51、89C52系列;
﹡Philips公司的80C51、80C52系列;
﹡華邦公司的W78C51、W77C51高速低價系列;
﹡LG公司的GMS90/97低壓高速系列;
﹡宏晶公司的STC89C51、STC89C52系列。
目前十五頁\總數(shù)二百五十六頁\編于十八點1.380C51的引腳封裝總線型非總線型目前十六頁\總數(shù)二百五十六頁\編于十八點2.單片機內(nèi)部資源三大指標1、FLASH(程序存儲空間ROM)2、RAM(數(shù)據(jù)存儲器)3、SFR(特殊功能寄存器)單片機內(nèi)集成了一些常用的I/O接口電路,如并行的I/O端口、串行口、定時器/計數(shù)器、中斷控制器等,這些I/O接口單元電路,統(tǒng)稱為特殊功能寄存器(SFR)。目前十七頁\總數(shù)二百五十六頁\編于十八點單片機的選擇STC89C52:8KFLASH,512字節(jié)RAM,32個I/O口,
3個定時器,1個UART,8個中斷源。SST89E516:64KFLASH,1024字節(jié)RAM,32個I/O口,3個定時器,1個UART,10個中斷源。支持與KEIL連線進行在線仿真。目前十八頁\總數(shù)二百五十六頁\編于十八點單片機最小系統(tǒng)特點:用最少的元件組成的單片機工作系統(tǒng)。由四大硬件組成:單片機、電源電路、晶振電路、復(fù)位電路。目前十九頁\總數(shù)二百五十六頁\編于十八點31腳是內(nèi)部程序存儲器和外部程序存儲器選擇端。為高電平時,訪問內(nèi)部程序存儲器;為低電平時,則訪問外部程序存儲器。目前二十頁\總數(shù)二百五十六頁\編于十八點
點亮一個LED發(fā)光二極管發(fā)光二極管:通常紅色貼片LED:正向壓降1.6-2.4V,電流2-20mA。2-5mA亮度有明顯變化,5mA以上亮度基本沒變化。R≈V/I一般應(yīng)用取I=3~5mA,則R=?。LED與單片機,成為一個最小的控制單元,實現(xiàn)控制發(fā)光二極管的亮滅。目前二十一頁\總數(shù)二百五十六頁\編于十八點目前二十二頁\總數(shù)二百五十六頁\編于十八點特殊功能寄存器聲明
語法:sfrsfr_name=int_constant
例:sfrP0=0x80;
sfrSCON=0X98;特殊功能位聲明
例:sbitCY=PSW^7;
sbitLED=P1^0;目前二十三頁\總數(shù)二百五十六頁\編于十八點Main函數(shù)
格式:voidmain()
特點:無返回值,無參。
任何一個C程序有且僅有一個main函數(shù),它是整個程序開始執(zhí)行的入口。
例:voidmain()
{
總程序從這里開始執(zhí)行;
其他語句;
}目前二十四頁\總數(shù)二百五十六頁\編于十八點三、建立獨立的KEIL工程:
1.點亮第一個發(fā)光管
2.點亮最后一個發(fā)光管3.點亮一、三、五、七二、理解單片機單片機最小系統(tǒng)的組成。一、了解發(fā)光二極管參數(shù)及限流電阻計算方法。作業(yè)
4.點亮二、四、五、六目前二十五頁\總數(shù)二百五十六頁\編于十八點第三課C51基礎(chǔ)知識及流水燈設(shè)計目前二十六頁\總數(shù)二百五十六頁\編于十八點電平特性單片機的數(shù)制C51的特點C51基礎(chǔ)知識C51簡介目前二十七頁\總數(shù)二百五十六頁\編于十八點關(guān)于電平特性1、數(shù)字電路中只有兩種電平(本課程中)定義單片機為TTL電平高電平:+5V低電平:0V2、RS232電平:計算機串口
高電平:-12V低電平:+12V
所以計算機串口與單片機進行通信時,需加電平轉(zhuǎn)
換芯片MAX232。目前二十八頁\總數(shù)二百五十六頁\編于十八點單片機的數(shù)制1、單片機內(nèi)部的數(shù)制:二進制2、單片機編程常用的數(shù)制:十六進制目前二十九頁\總數(shù)二百五十六頁\編于十八點二進制數(shù)字電路中的兩種電平特性決定了它
0 0 6 1101 1 7 1112 10 8 10003 11 9 10014 100 10 10105 101 11 1011目前三十頁\總數(shù)二百五十六頁\編于十八點十六進制數(shù)
是二進制的簡短表示形式。
十進制中的0-15在十六進制數(shù)中分別表示為0、
1、2、3、4、5、6、7、8、9、A、B、C、
D、E、F熟練掌握二進制與十六進制之間的轉(zhuǎn)換。
規(guī)律:一般把四個二進制數(shù)放在一起轉(zhuǎn)換成一個十六進制數(shù),轉(zhuǎn)換時先把二進制數(shù)轉(zhuǎn)換成十進制數(shù),再把十進制數(shù)轉(zhuǎn)換成十六進制數(shù)。目前三十一頁\總數(shù)二百五十六頁\編于十八點如:0001B→1→1HB表示為二進制,H為十六進制1001B→9→9H1010B→10→AH10011010→154→9AH目前三十二頁\總數(shù)二百五十六頁\編于十八點
各種進制的對應(yīng)關(guān)系目前三十三頁\總數(shù)二百五十六頁\編于十八點二進制數(shù)的邏輯運算1."與"運算
"與"運算是實現(xiàn)“必須有,否則就沒有”這種邏輯關(guān)系的一種運算。運算符為“
·
”
其運算規(guī)則如下:
0·0=0;0·1=1·0=0;1·1=1目前三十四頁\總數(shù)二百五十六頁\編于十八點2."或"運算
"或"運算是實現(xiàn)“只要其中之一有,就有”這種邏輯關(guān)系的一種運算,其運算符為“
+”
“或”運算規(guī)則如下:
0+0=0;0+1=1+0=1;1+1=1目前三十五頁\總數(shù)二百五十六頁\編于十八點3.是“非”運算
“非”運算是實現(xiàn)“求反”這種邏輯的一種運算,如變量A的“非”運算記作“
A”其運算規(guī)則如下: 1=0;0=1目前三十六頁\總數(shù)二百五十六頁\編于十八點4.“異或”運算“異或”運算是實現(xiàn)“必須不同,否則就沒有”這種邏輯的一種運算。運算符為“⊕”。其運算規(guī)則是:0⊕0=0;0⊕1=1⊕0=1;1⊕1=0目前三十七頁\總數(shù)二百五十六頁\編于十八點C51的特點C語言是一種結(jié)構(gòu)化程序設(shè)計語言,它支持當前程序設(shè)計中廣泛采用的由頂向下結(jié)構(gòu)化程序設(shè)計技術(shù)。此外,C語言程序具有完善的模塊程序結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計方法提供了有力的保障。使用C語言進行程序設(shè)計已成為軟件開發(fā)的一個主流。用C語言來編寫目標系統(tǒng)軟件,會大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。因此,用C語言進行單片機程序設(shè)計是單片機開發(fā)與應(yīng)用的必然趨勢。目前三十八頁\總數(shù)二百五十六頁\編于十八點C-51的優(yōu)點:1、對單片機的指令系統(tǒng)不要求了解,僅要求對8051的存貯器結(jié)構(gòu)有初步了解。2、寄存器分配,不同存貯器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理。3、程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化。4、提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能力。5、由于具有方便的模塊化編程技術(shù),使已編好程序可容
易地移植。目前三十九頁\總數(shù)二百五十六頁\編于十八點C-51的基本數(shù)據(jù)類型類型符號關(guān)鍵字數(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目前四十頁\總數(shù)二百五十六頁\編于十八點+ -*/(加減乘除)> >=<<=(大于大于等于小于小于等于)==!=(測試等于測試不等于)
&&|| !(邏輯與邏輯或邏輯非)>><< (位右移位左移)& | (按位與按位或)^ ~ (按位異或按位取反)
C-51的運算符:(與C語言基本相同)目前四十一頁\總數(shù)二百五十六頁\編于十八點C-51的基本語句與標準C語言基本相同:
if選擇語言
switch/case多分支選擇語言
while循環(huán)語言
do-while循環(huán)語言
for循環(huán)語言目前四十二頁\總數(shù)二百五十六頁\編于十八點常用的延時方法一.非精確延時方法1.for(i=0;i<100;i++);2.i=100;while(i--);二.精確延時方法1.利用庫函數(shù)_nop_();(需要include<intrins.h>)2.利用定時器進行定時(后邊的課程進行介紹)目前四十三頁\總數(shù)二百五十六頁\編于十八點流水燈實驗8個發(fā)光二極管,分別對應(yīng)單片機I/O口的P1.0到P1.7,8個單片機IO口組成一個字節(jié),在程序編寫過程中,可以直接用P1來進行操作。C語言的8位二進制數(shù)代表了8個I/O口P1=0XFE;它是二進制11111110的簡短表示形式, 它分別表示
P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0
11111110
目前四十四頁\總數(shù)二百五十六頁\編于十八點1.了解單片機C語言都有哪方面的內(nèi)容。2.掌握延時語句的用法及運行時間計算。3.用3個LED小燈做一個交通燈的程序。4.根據(jù)原理圖,獨立完成流水燈反方向流動,和全部點亮到一個個熄滅。
作業(yè)目前四十五頁\總數(shù)二百五十六頁\編于十八點第四課數(shù)碼管結(jié)構(gòu)及靜態(tài)顯示原理數(shù)碼管的結(jié)構(gòu)和顯示原理數(shù)碼管靜態(tài)顯示數(shù)組的定義及調(diào)用子程序調(diào)用、帶參數(shù)子程序設(shè)計目前四十六頁\總數(shù)二百五十六頁\編于十八點
數(shù)碼管,根據(jù)內(nèi)部結(jié)構(gòu),可分為共陰極數(shù)碼管和共陽極數(shù)碼管。七段發(fā)光管加上一個小數(shù)點,共計8段。因此我們對它編碼時,剛好是用一個字節(jié)。共陰極共陽極共陰極共陽極目前四十七頁\總數(shù)二百五十六頁\編于十八點顯示段符號十六進制代碼dpgfedcba共陰極0123456789AbCdEF無00000000000000000001111101111011101000111011111011010100010101111110101101101101111001101111111110100011111001111001000101101111110101100x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x710x00共陰數(shù)碼管真值表目前四十八頁\總數(shù)二百五十六頁\編于十八點數(shù)碼管的顯示方法(2)動態(tài)顯示。(1)靜態(tài)顯示。目前四十九頁\總數(shù)二百五十六頁\編于十八點——>靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是占用I/O口多,增加了電路的復(fù)雜性。(1)靜態(tài)顯示。目前五十頁\總數(shù)二百五十六頁\編于十八點(2)動態(tài)顯示?!?gt;動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。目前五十一頁\總數(shù)二百五十六頁\編于十八點數(shù)組二.數(shù)組定義:類型說明符數(shù)組名[表達式];三.數(shù)組賦值:inta[5]={A,B,C,D,E}inta[]={A,B,C,D,E}a[0]=A;a[1]=B;a[2]=C;a[3]=D;a[4]=E;一.數(shù)組需滿足三個條件:1.元素具有相同的數(shù)據(jù)類型2.用不同的下標來區(qū)分數(shù)組中的元素3.在存儲器中是被連續(xù)存放的目前五十二頁\總數(shù)二百五十六頁\編于十八點函數(shù)定義的一般形式1.無參函數(shù)的定義形式類型標識符函數(shù)名(){聲明部分語句}2.有參函數(shù)的定義形式類型標識符函數(shù)名(形式參數(shù)列表){聲明部分語句}目前五十三頁\總數(shù)二百五十六頁\編于十八點中斷概念單片機中斷的應(yīng)用單片機的定時器應(yīng)用第五課中斷與定時器目前五十四頁\總數(shù)二百五十六頁\編于十八點單片機的中斷系統(tǒng)
一、中斷的概念CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷產(chǎn)生);CPU暫時中斷當前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));待CPU將事件B處理完畢后,再回到原來事件A中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷。目前五十五頁\總數(shù)二百五十六頁\編于十八點MCS-51單片機的中斷系統(tǒng)結(jié)構(gòu)執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回目前五十六頁\總數(shù)二百五十六頁\編于十八點引起CPU中斷的根源叫做中斷源。中斷源向CPU的請求,叫做中斷請求。CUP暫時中斷原來的事件A,轉(zhuǎn)去處理事件B。對事件B處理完畢后,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機構(gòu))。目前五十七頁\總數(shù)二百五十六頁\編于十八點隨著計算機技術(shù)的應(yīng)用,人們發(fā)現(xiàn)中斷技術(shù)不僅解決了快速主機與慢速I/O設(shè)備的數(shù)據(jù)傳送問題,而且還具有如下優(yōu)點:分時操作。CPU可以分時為多個I/O設(shè)備服務(wù),提高了計算機的利用率;實時響應(yīng)。CPU能夠及時處理應(yīng)用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;可靠性高。CPU具有處理設(shè)備故障及掉電等突發(fā)性事件能力。從而使系統(tǒng)的可靠性提高。目前五十八頁\總數(shù)二百五十六頁\編于十八點8051中斷系統(tǒng)的結(jié)構(gòu)8051的中斷系統(tǒng)有5個中斷源,2個優(yōu)先級,可實現(xiàn)二級中斷嵌套。目前五十九頁\總數(shù)二百五十六頁\編于十八點8051中斷系統(tǒng)的結(jié)構(gòu)圖目前六十頁\總數(shù)二百五十六頁\編于十八點當中斷源滿足條件產(chǎn)生中斷請求時,中斷請求標記志位會置1。向CPU申請中斷。CPU響應(yīng)中斷時,TCON的中斷請求標記位由硬件自動清除;
SCON則須為軟件清零。中斷源與標記位關(guān)系目前六十一頁\總數(shù)二百五十六頁\編于十八點8051中斷系統(tǒng)的結(jié)構(gòu)圖IT0外部中斷0(INT0)觸發(fā)方式選擇位,由軟件設(shè)置。1、低電平觸發(fā)方式,INT0(P3.2)引腳上低電平可引起中斷。2、下降沿觸發(fā)方式,INT0(P3.2)引腳上電平由高變低負跳變可引起中斷。目前六十二頁\總數(shù)二百五十六頁\編于十八點中斷允許控制位在IE特殊功能寄存器上的分布中斷優(yōu)先級控制位在IP特殊功能寄存器上的分布目前六十三頁\總數(shù)二百五十六頁\編于十八點在8051單片機中有兩個定時器/計數(shù)器,分別稱為定時器/計數(shù)器0和定時器/計數(shù)器1。
(在本課程中)將采用:
T/C0:表示定時器/計數(shù)器0
T/C1:表示定時器/計數(shù)器1
T0:表示定時器0
T1:表示定時器1
C0:表示計數(shù)器0
C1:表示計數(shù)器1如果是對內(nèi)部振蕩源12分頻的脈沖信號進行計數(shù)(即對每個機器周期計數(shù)),它是定時器(T0,T1)。如果是對單片機引腳T0(P3.4)或T1(P3.5)輸入的外部脈沖信號進行計數(shù),則它是計數(shù)器(C0,C1)。定時器/計數(shù)器的概念目前六十四頁\總數(shù)二百五十六頁\編于十八點定時/計數(shù)器(T/C)的結(jié)構(gòu)圖
一、定時/計數(shù)器的結(jié)構(gòu):1、由兩個加1計數(shù)寄存器(由高8位和低8位兩個寄存器組成,共16位),分別對應(yīng)T/C0和T/C1.2、TMOD是定時/計數(shù)器的工作方式寄存器,確定工作方式和功能。3、TCON是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標志。目前六十五頁\總數(shù)二百五十六頁\編于十八點加1計數(shù)寄存器輸入的計數(shù)脈沖有兩個來源:1、一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后送來;2、一個是從單片機引腳T0(P3.4)或T1(P3.5)輸入的外部脈沖源。每來一個脈沖計數(shù)器加1,當加到計數(shù)器為全1時,再輸入一個脈沖就使計數(shù)器回零;且計數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿??梢姡梢绯鰰r計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)值。
目前六十六頁\總數(shù)二百五十六頁\編于十八點
二、控制寄存器TCON
TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下:TF1(TCON.7):T/C1溢出中斷請求標志位。T/C1計數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。T/C1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):T/C1運行控制位。TR1置1時,T/C1開始工作;TR1置0時,T/C1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。TF0(TCON.5):T/C0溢出中斷請求標志位,其功能與TF1類同。TR0(TCON.4):T/C0運行控制位,其功能與TR1類同。目前六十七頁\總數(shù)二百五十六頁\編于十八點三、工作方式寄存器TMOD工作方式寄存器TMOD用于設(shè)置定時/計數(shù)器的工作方式,低四位用于T/C0,高四位用于T/C1。其格式如下:GATE:門控位。GATE=0時,只要使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器(T/C)工作。(其中:TR0對應(yīng)T/C0;TR1對應(yīng)T/C1)GATA=1時,要滿足兩個條件,才能啟動定時/計數(shù)器(T/C)工作:使TR0或TR1為1。同時外部中斷引腳INT0/1也為高電平時。(INT0對應(yīng)T/C0;INT1對應(yīng)T/C1)
:定時/計數(shù)模式選擇位。=0為定時模式;=1為計數(shù)模式。目前六十八頁\總數(shù)二百五十六頁\編于十八點M1M0:工作方式設(shè)置位。定時/計數(shù)器有四種工作方式,由M1M0進行設(shè)置。方式1:常用的16位定時器/定數(shù)器。(本節(jié)課主要講:方式1定時器模式)方式2:主要用在串口波特率發(fā)生器。(在串口通信里再作詳細講解)方式0和方式3:幾乎不用。目前六十九頁\總數(shù)二百五十六頁\編于十八點
四、方式1(定時器0模式)方式1的計數(shù)位數(shù)是16位,由TL0作為低8位、TH0作為高8位,組成了16位加1計數(shù)器。16位定時器0裝初值的計算公式:假設(shè)要計的個數(shù)是n,TH0=(65536-n)/256
TL0=(65536-n)%256目前七十頁\總數(shù)二百五十六頁\編于十八點8051的基本時序周期振蕩周期:為單片機提供振蕩源的周期(是指振蕩源的兩個相鄰?fù)较蚍逯抵g的時間)機器周期:1個機器周期等于12個振蕩周期若:fosc=12M,則8051的各周期參數(shù)如下:振蕩周期=1/12us;機器周期=1us;目前七十一頁\總數(shù)二百五十六頁\編于十八點初始化程序應(yīng)完成如下工作:1、對TMOD賦值,以確定T0和T1的工作方式。2、計算初值,并將其寫入TH0、TL0或TH1、TL1。3、使TR0或TR1置位,啟動定時/計數(shù)器定時或計數(shù)。4、中斷方式時,則對IE賦值,開放中斷。定時/計數(shù)器應(yīng)用舉例
目前七十二頁\總數(shù)二百五十六頁\編于十八點作業(yè)1、利用定時/計數(shù)器T1從P1.0輸出周期為1s的方波,讓發(fā)光二極管以1HZ閃爍,設(shè)晶振頻率為12MHz。試設(shè)計程序。2、利用定時/計數(shù)器T0產(chǎn)生定時時鐘,由P1口控制8個發(fā)光二極管。編一個程序,使8個指示燈依次一個一個閃動,閃動頻率為10次/秒(8個燈依次亮一遍為一個周期)。3、用定時器以間隔500MS在6位數(shù)碼管上依次顯示0、1、
2、3….C、D、E、F,重復(fù)。目前七十三頁\總數(shù)二百五十六頁\編于十八點
第六課數(shù)碼管動態(tài)顯示及定時器應(yīng)用目前七十四頁\總數(shù)二百五十六頁\編于十八點中斷請求主程序執(zhí)行主程序執(zhí)行中斷處理程序繼續(xù)執(zhí)行主程序斷點中斷響應(yīng)中斷返回MCS-51單片機的中斷系統(tǒng)結(jié)構(gòu)目前七十五頁\總數(shù)二百五十六頁\編于十八點三、工作方式寄存器TMOD工作方式寄存器TMOD用于設(shè)置定時/計數(shù)器的工作方式,低四位用于T/C0,高四位用于T/C1。其格式如下:GATE:門控位。GATE=0時,只要使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器(T/C)工作。(其中:TR0對應(yīng)T/C0;TR1對應(yīng)T/C1)GATA=1時,要滿足兩個條件,才能啟動定時/計數(shù)器(T/C)工作:使TR0或TR1為1。同時外部中斷引腳INT0/1也為高電平時。(INT0對應(yīng)T/C0;INT1對應(yīng)T/C1)
:定時/計數(shù)模式選擇位。=0為定時模式;=1為計數(shù)模式。目前七十六頁\總數(shù)二百五十六頁\編于十八點M1M0:工作方式設(shè)置位。定時/計數(shù)器有四種工作方式,由M1M0進行設(shè)置。方式1:常用的16位定時器/定數(shù)器。(本節(jié)課主要講:方式1定時器模式)方式2:主要用在串口波特率發(fā)生器。(在串口通信里再作詳細講解)方式0和方式3:幾乎不用。目前七十七頁\總數(shù)二百五十六頁\編于十八點動態(tài)顯示的特點是將所有數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描,即是通過分時輪流送出字形碼和相應(yīng)的位選,使各個數(shù)碼管輪流受控顯示。在輪流顯示過程中,每1位數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。
動態(tài)顯示目前七十八頁\總數(shù)二百五十六頁\編于十八點1、利用動態(tài)掃描方法在六位數(shù)碼管上顯示出穩(wěn)定654321。2、用動態(tài)掃描方法和定時器0在數(shù)碼管的前三位顯示出秒表,精確到1%秒,即后兩位顯示1%秒,一直循環(huán)下去。3、
利用動態(tài)掃描和定時器0在數(shù)碼管上顯示出從543210開始以1%秒的速度往下遞減直至543111并保持顯示此數(shù),與此同時利用定時器0以500MS速度進行流水燈從上至下移動,同時蜂鳴器發(fā)聲,當數(shù)碼管上數(shù)減到停止時,實驗板上流水燈全部閃爍4次,數(shù)碼管全熄滅。單片機進入休眠狀態(tài)。課后練習目前七十九頁\總數(shù)二百五十六頁\編于十八點
第七課鍵盤的應(yīng)用目前八十頁\總數(shù)二百五十六頁\編于十八點以下為鍵盤輸入信息的主要過程如下:1、CPU判斷是否有按鍵按下。2、確定按下的是哪一個按鍵。3、把此按鍵代表的信息翻譯成CPU所能識別的代碼,如ASCII或其他特征碼。以上第2,3步由專用硬件編碼器完成的,稱為編碼鍵盤。如果由軟件完成的,稱為非編碼鍵盤。在單片機組成的各種系統(tǒng)中,用的最多的是非編碼鍵盤;當然也可以使用編碼鍵盤。鍵盤的分類目前八十一頁\總數(shù)二百五十六頁\編于十八點非編碼鍵盤又分為:獨立鍵盤和行列式鍵盤(矩陣鍵盤)目前八十二頁\總數(shù)二百五十六頁\編于十八點歡迎進入云龍電子科技大講堂S2S3S4S5目前八十三頁\總數(shù)二百五十六頁\編于十八點獨立鍵盤的檢測過程:先給按鍵對應(yīng)的I/O口置1;再來讀這個I/0是否等于1;若是1,說明按鍵沒有按下,若是0,說明按鍵已按下。獨立鍵盤的檢測
目前八十四頁\總數(shù)二百五十六頁\編于十八點按鍵在閉合和斷開時,觸點會存在抖動現(xiàn)象:
前沿抖動后沿抖動按鍵抖動時間由按鍵的機械特性決定:一般為5ms~10ms。
目前八十五頁\總數(shù)二百五十六頁\編于十八點歡迎進入云龍電子科技大講堂目前八十六頁\總數(shù)二百五十六頁\編于十八點矩陣鍵盤檢測原理:查詢是否有鍵按下。鍵的抖動處理。查詢按下鍵所在行和列位置,并對行號和列號譯碼,得到鍵值。目前八十七頁\總數(shù)二百五十六頁\編于十八點1、數(shù)碼管前三位顯示一個跑表,從000到999之間以1%秒速度運行,當按下一個獨立鍵盤時跑表停止,松開手后跑表繼續(xù)運行。(用定時器設(shè)計表)。2、在上題的基礎(chǔ)上,用另外三個獨立鍵盤實現(xiàn)按下第一個時計時停止,按下第二個時計時開始,按下第三個是計數(shù)值清零從頭開始。3、按下16個矩陣鍵盤依次在數(shù)碼管上顯示1-16的平方。如按下第一個顯示1,第二個顯示4...作業(yè)目前八十八頁\總數(shù)二百五十六頁\編于十八點第八課D/A轉(zhuǎn)換器與單片機接口目前八十九頁\總數(shù)二百五十六頁\編于十八點D/A轉(zhuǎn)換器及其與單片機接口常用電阻分壓/分流來實現(xiàn)D/A轉(zhuǎn)換,讓模擬量的輸出變化與數(shù)字量的輸入變化成線性關(guān)系。一.D/A轉(zhuǎn)換器的基本原理及分類2.分為權(quán)電阻解碼網(wǎng)絡(luò)與T型解碼網(wǎng)絡(luò)兩種構(gòu)建方法,其中又以T型解碼網(wǎng)絡(luò)最為常用。目前九十頁\總數(shù)二百五十六頁\編于十八點D/A轉(zhuǎn)換器及其與單片機接口二.T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器:第個2R支路的電流均為上一個支路的1/2:I7=(Vref/2R)I6=(Vref/2R)/2I5=(Vref/2R)/4I4=(Vref/2R)/8I3=(Vref/2R)/16I2=(Vref/2R)/32I1=(Vref/2R)/64I0=(Vref/2R)/128
目前九十一頁\總數(shù)二百五十六頁\編于十八點三、D/A轉(zhuǎn)換器的主要性能指標1、分辨率分辨率是指輸入數(shù)字量的最低有效位(LSB)發(fā)生變化時,所對應(yīng)的輸出模擬量(電壓或電流)的變化量。它反映了輸出模擬量的最小變化值。分辨率與輸入數(shù)字量的位數(shù)有確定的關(guān)系,可以表示成FS/。FS表示滿量程輸入值,n為二進制位數(shù)。對于5V的滿量程,采用8位的DAC時,分辨率為5V/256=19.5mV;當采用12位的DAC時,分辨率則為5V/4096=1.22mV。顯然,位數(shù)越多分辨率就越高。2、線性度線性度(也稱非線性誤差)是實際轉(zhuǎn)換特性曲線與理想直線特性之間的最大偏差。常以相對于滿量程的百分數(shù)表示。如±1%是指實際輸出值與理論值之差在滿刻度的±1%以內(nèi)。目前九十二頁\總數(shù)二百五十六頁\編于十八點3、絕對精度和相對精度絕對精度(簡稱精度)是指在整個刻度范圍內(nèi),任一輸入數(shù)碼所對應(yīng)的模擬量實際輸出值與理論值之間的最大誤差。絕對精度是由DAC的增益誤差(當輸入數(shù)碼為全1時,實際輸出值與理想輸出值之差)、零點誤差(數(shù)碼輸入為全0時,DAC的非零輸出值)、非線性誤差和噪聲等引起的。絕對精度(即最大誤差)應(yīng)小于1個LSB。相對精度與絕對精度表示同一含義,用最大誤差相對于滿刻度的百分比表示。目前九十三頁\總數(shù)二百五十六頁\編于十八點4、建立時間建立時間是將一個數(shù)字量轉(zhuǎn)換為穩(wěn)定模擬信號所需的時間。是描述D/A轉(zhuǎn)換速率的一個動態(tài)指標。電流輸出型DAC的建立時間短。電壓輸出型DAC的建立時間主要決定于運算放大器的響應(yīng)時間。根據(jù)建立時間的長短,可以將DAC分成超高速(<1μS)、高速(10~1μS)、中速(100~10μS)、低速(≥100μS)幾檔。應(yīng)注意,精度和分辨率具有一定的聯(lián)系,但概念不同。DAC的位數(shù)多時,分辨率會提高,對應(yīng)于影響精度的量化誤差會減小。但其它誤差(如溫度漂移、線性不良等)的影響仍會使DAC的精度變差。目前九十四頁\總數(shù)二百五十六頁\編于十八點DAC0832芯片及其與單片機接口
DAC0832是使用非常普遍的8位D/A轉(zhuǎn)換器,由于其片內(nèi)有輸入數(shù)據(jù)寄存器,故可以直接與單片機接口相連。DAC0832以電流形式輸出,當需要轉(zhuǎn)換為電壓輸出時,可外接運算放大器。屬于該系列的芯片還有DAC0830、DAC0831,它們可以相互代換。DAC0832主要特性:分辨率8位;電流建立時間1μS;數(shù)據(jù)輸入可采用雙緩沖、單緩沖或直通方式;輸出電流線性度可在滿量程下調(diào)節(jié);邏輯電平輸入與TTL電平兼容;單一電源供電(+5V~+15V);低功耗,20mW。
目前九十五頁\總數(shù)二百五十六頁\編于十八點DAC0832內(nèi)部結(jié)構(gòu)及引腳鎖CS目前九十六頁\總數(shù)二百五十六頁\編于十八點目前九十七頁\總數(shù)二百五十六頁\編于十八點DAC0832利用WR1
、WR2
、ILE、XFER控制信號可以構(gòu)成三種不同的工作方式。DAC0832工作方式目前九十八頁\總數(shù)二百五十六頁\編于十八點1、單緩沖工作方式兩個寄存器之一始終處于直通,即WR1=0或WR2=0,另一個寄存器處于受控狀態(tài)。目前九十九頁\總數(shù)二百五十六頁\編于十八點2、雙緩沖工作方式
兩個寄存器均處于受控狀態(tài)。這種工作方式適合于多模擬信號同時輸出的應(yīng)用場合。目前一百頁\總數(shù)二百五十六頁\編于十八點3、直通工作方式當DAC0832芯片的片選信號、寫信號、及傳送控制信號的引腳全部接地,允許輸入鎖存信號ILE引腳接+5V時,DAC0832芯片就處于直通工作方式,數(shù)字量一旦輸入,就直接進入DAC寄存器,進行D/A轉(zhuǎn)換。目前一百零一頁\總數(shù)二百五十六頁\編于十八點第九課A/D轉(zhuǎn)換器與單片機接口目前一百零二頁\總數(shù)二百五十六頁\編于十八點
A/D將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號。目前一百零三頁\總數(shù)二百五十六頁\編于十八點雙積分型A/D轉(zhuǎn)換器。逐次逼近比較型AD/轉(zhuǎn)換器。并行A/D轉(zhuǎn)換器。根據(jù)A/D電路的工作原理可分為以下幾大型:目前一百零四頁\總數(shù)二百五十六頁\編于十八點逐次逼近式ADC的轉(zhuǎn)換原理目前一百零五頁\總數(shù)二百五十六頁\編于十八點A/D轉(zhuǎn)換器的主要技術(shù)指標1、分辨率ADC的分辨率是指使輸出數(shù)字量變化一個最小量時模擬信號的變化量。常用二進制的位數(shù)表示。例如8位ADC的分辨率就是8位,或者說分辨率為滿刻度FS的1/28
。一個5V滿刻度的8位ADC能分辨輸入電壓變化最小值是5V×1/28=19.53mV。目前一百零六頁\總數(shù)二百五十六頁\編于十八點2、量化誤差A(yù)DC把模擬量變?yōu)閿?shù)字量,用數(shù)字量近似表示模擬量,這個過程稱為量化。量化誤差是ADC的有限位數(shù)對模擬量進行量化而引起的誤差。實際上,要準確表示模擬量,ADC的位數(shù)需很大甚至無窮大。一個分辨率有限的ADC的階梯狀轉(zhuǎn)換特性曲線與具有無限分辨率的ADC轉(zhuǎn)換特性曲線(直線)之間的最大偏差即是量化誤差。
目前一百零七頁\總數(shù)二百五十六頁\編于十八點3、偏移誤差偏移誤差是指輸入信號為零時,輸出信號不為零的值,所以有時又稱為零值誤差。假定ADC沒有非線性誤差,則其轉(zhuǎn)換特性曲線各階梯中點的連線必定是直線,這條直線與橫軸相交點所對應(yīng)的輸入電壓值就是偏移誤差。4、滿刻度誤差滿刻度誤差又稱為增益誤差。ADC的滿刻度誤差是指滿刻度輸出數(shù)碼所對應(yīng)的實際輸入電壓與理想輸入電壓之差。目前一百零八頁\總數(shù)二百五十六頁\編于十八點5、線性度線性度有時又稱為非線性度,它是指轉(zhuǎn)換器實際的轉(zhuǎn)換特性與理想直線的最大偏差。6、絕對精度在一個轉(zhuǎn)換器中,任何數(shù)碼所對應(yīng)的實際模擬量輸入與理論模擬輸入之差的最大值,稱為絕對精度。對于ADC而言,可以在每一個階梯的水平中點進行測量,它包括了所有的誤差。7、轉(zhuǎn)換速率ADC的轉(zhuǎn)換速率是能夠重復(fù)進行數(shù)據(jù)轉(zhuǎn)換的速度,即每秒轉(zhuǎn)換的次數(shù)。而完成一次A/D轉(zhuǎn)換所需的時間(包括穩(wěn)定時間),則是轉(zhuǎn)換速率的倒數(shù)。目前一百零九頁\總數(shù)二百五十六頁\編于十八點第十課1602液晶的顯示原理及應(yīng)用
1、1602液晶硬件原理。
2、1602液晶操作時序。
3、如何在1602液晶上顯示一個字符A。
4、如何在1602液晶上顯示一串字符。
目前一百一十頁\總數(shù)二百五十六頁\編于十八點目前一百一十一頁\總數(shù)二百五十六頁\編于十八點第十一課串口通信1、80C51的串行口結(jié)構(gòu)和工作原理2、單片機串行口編程應(yīng)用舉例目前一百一十二頁\總數(shù)二百五十六頁\編于十八點通信基礎(chǔ)知識計算機通信是指計算機與外部設(shè)備或計算機與計算機之間的信息交換。通信有并行通信和串行通信兩種方式。在多微機系統(tǒng)以及現(xiàn)代測控系統(tǒng)中信息的交換多采用串行通信方式。目前一百一十三頁\總數(shù)二百五十六頁\編于十八點并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時進行傳送。并行通信特點:控制簡單、傳輸速度快;但傳輸線較多,長距離傳送時成本高且接收方的各位同時接收存在困難。目前一百一十四頁\總數(shù)二百五十六頁\編于十八點串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個地傳送。串行通信的特點:傳輸線少,長距離傳送時成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。目前一百一十五頁\總數(shù)二百五十六頁\編于十八點一、串行通信的傳輸方向1、單工單工是指數(shù)據(jù)傳輸僅能沿一個方向,不能實現(xiàn)反向傳輸。2、半雙工半雙工是指數(shù)據(jù)傳輸可以沿兩個方向,但需要分時進行。3、全雙工全雙工是指數(shù)據(jù)可以同時進行雙向傳輸。
單工半雙工全雙工目前一百一十六頁\總數(shù)二百五十六頁\編于十八點串行通信的分類
分為兩大類:異步通信與同步通信1、異步通信
異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時鐘盡可能一致。目前一百一十七頁\總數(shù)二百五十六頁\編于十八點
異步通信是以字符(構(gòu)成的幀)為單位進行傳輸,字符與字符之間的間隙(時間間隔)是任意的,但每個字符中的各位是以固定的時間傳送的,即字符之間不一定有“位間隔”的整數(shù)倍的關(guān)系,但同一字符內(nèi)的各位之間的距離均為“位間隔”的整數(shù)倍。目前一百一十八頁\總數(shù)二百五十六頁\編于十八點異步通信的數(shù)據(jù)格式:異步通信的特點:不要求收發(fā)雙方時鐘的嚴格一致,實現(xiàn)容易,設(shè)備開銷較小,但每個字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。目前一百一十九頁\總數(shù)二百五十六頁\編于十八點2、同步通信同步通信時要建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。此時,傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。發(fā)送方對接收方的同步可以通過兩種方法實現(xiàn)。
外同步自同步目前一百二十頁\總數(shù)二百五十六頁\編于十八點串行通信接口標準
一、RS-232C接口
RS-232C是EIA(美國電子工業(yè)協(xié)會)1969年修訂RS-232C標準。RS-232C定義了數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù)通信設(shè)備(DCE)之間的物理接口標準。1、機械特性RS-232C接口規(guī)定使用25針連接器,連接器的尺寸及每個插針的排列位置都有明確的定義。(陽頭)目前一百二十一頁\總數(shù)二百五十六頁\編于十八點公頭母頭串口線(公對母)串口線(母對母)串口線(公對公)目前一百二十二頁\總數(shù)二百五十六頁\編于十八點2、功能特性目前一百二十三頁\總數(shù)二百五十六頁\編于十八點80C51串行口
SBUF為兩個物理上獨立的接收、發(fā)送緩沖器,它們有相同的名字和地址空間,共用地址99H,但不會產(chǎn)生沖突;因為接收器只能被CPU讀出數(shù)據(jù);發(fā)送緩沖器只能被CPU寫入數(shù)據(jù),不會產(chǎn)生重疊錯誤。
80C51串行口的結(jié)構(gòu)目前一百二十四頁\總數(shù)二百五十六頁\編于十八點
SCON是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標志:
80C51串行口的控制寄存器
SM0和SM1為工作方式選擇位,可選擇四種工作方式:目前一百二十五頁\總數(shù)二百五十六頁\編于十八點●SM2,多機通信控制位,主要用于方式2和方式3。1.當SM2=1時,只有接收到第9位數(shù)據(jù)(RB8)為1,RI才會置1,(此時RB8具有控制RI激活的功能;進而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。2.當SM2=0時,收到字符R1就置1,使收到的數(shù)據(jù)進入SBUF,(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實現(xiàn)多機通信。●REN,允許串行接收位。由軟件置REN=1,則啟動串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。目前一百二十六頁\總數(shù)二百五十六頁\編于十八點●TB8,在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗位,或在多機通信中,作為地址幀/數(shù)據(jù)幀的標志位。在方式0和方式1中,該位未用,默認為0?!馬B8,在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。目前一百二十七頁\總數(shù)二百五十六頁\編于十八點●TI,發(fā)送中斷標志位。在方式0時,當串行發(fā)送第8位數(shù)據(jù)結(jié)束時,或在其它方式,串行發(fā)送停止位的開始時,由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請?!馬I,接收中斷標志位。在方式0時,當串行接收第8位數(shù)據(jù)結(jié)束時,或在其它方式,串行接收停止位的中間時,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請。目前一百二十八頁\總數(shù)二百五十六頁\編于十八點PCON中只有一位SMOD與串行口工作有關(guān)
:
SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關(guān),當SMOD=1時,波特率提高一倍。復(fù)位時,SMOD=0。目前一百二十九頁\總數(shù)二百五十六頁\編于十八點
80C51串行口的工作方式一、方式0
方式0時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。
1、方式0輸出目前一百三十頁\總數(shù)二百五十六頁\編于十八點
2、方式0輸入方式0接收和發(fā)送電路目前一百三十一頁\總數(shù)二百五十六頁\編于十八點
二、方式1
方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。
1、方式1輸出目前一百三十二頁\總數(shù)二百五十六頁\編于十八點
2、方式1輸入用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。目前一百三十三頁\總數(shù)二百五十六頁\編于十八點
三、方式2和方式3
方式2或方式3時為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳。方式2和方式3時起始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時為SCON中的TB8,接收時為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時器T1的溢出率決定。目前一百三十四頁\總數(shù)二百五十六頁\編于十八點
1、方式2和方式3輸出發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時,停止位“1”移入輸出移位寄存器的第9位上,以后每次移位,左邊都移入0。當停止位移至輸出位時,左邊其余位全為0,檢測電路檢測到這一條件時,使控制電路進行最后一次移位,并置TI=1,向CPU請求中斷。目前一百三十五頁\總數(shù)二百五十六頁\編于十八點
2、方式2和方式3輸入接收時,數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位0移到最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的第9位數(shù)據(jù)為1)時,接收到的數(shù)據(jù)裝入接收緩沖器SBUF和RB8(接收數(shù)據(jù)的第9位),置RI=1,向CPU請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD引腳的負跳變。目前一百三十六頁\總數(shù)二百五十六頁\編于十八點四、波特率的計算
串行口的四種工作方式對應(yīng)三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不相同。方式0的波特率=fosc/12方式2的波特率=(/64)·fosc方式1的波特率=(/32)·(T1溢出率)方式3的波特率=(/32)·(T1溢出率)目前一百三十七頁\總數(shù)二百五十六頁\編于十八點當定時器1作波特率發(fā)生器使用時,通常選用可自動裝入初值模式(方式2),在方式2中,TL1作為計數(shù)用,而自動裝入的初值放在TH1中,假設(shè)計數(shù)初值為x,則每過“256-x”個機器周期,定時器T1就會產(chǎn)生一次溢出。這時溢出率取決于TH1中的計數(shù)值。T1溢出率=溢出周期的倒數(shù);溢出周期=(256-TH1)×12/Fosc;(其中:12/Fosc表示一個機器周期)因此方式1和方式3:波特率:Baud=(2×Fsoc)/{32×12×(256-TH1)}我們一般不太關(guān)注波特率的計算,而是關(guān)心選用的波特率(傳輸速度)去反算定時器1(自動重裝模式)的初值(TH1),所以將上面的公式導一下,得到TH1的公式:TH1=256-(Fsoc×2)/(12×32×Baud)目前一百三十八頁\總數(shù)二百五十六頁\編于十八點在單片機的應(yīng)用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對固定。常用的串行口波特率以及各參數(shù)的關(guān)系如表所示。目前一百三十九頁\總數(shù)二百五十六頁\編于十八點
串行口工作之前,應(yīng)對其編程進行初始化設(shè)置,主要是設(shè)置產(chǎn)生波特率的定時器1、串行口控制和中斷控制。具體步驟如下:確定T1的工作方式(編程TMOD寄存器);計算T1的初值,裝載TH1、TL1;啟動T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);串行口在中斷方式工作時,要進行中斷設(shè)置(編程IE、IP寄存器)。目前一百四十頁\總數(shù)二百五十六頁\編于十八點1.以16進制發(fā)送一個0-65536之間的任一數(shù),當單片機收到后在數(shù)碼管上動態(tài)顯示出來,波特率自定。2.按下矩陣鍵盤第一行時以1200bps發(fā)送,1,2,3,4,第二行時以2400bps發(fā)送5,6,7,8,第三行以4800bps發(fā)送,9,10,11,12,第四行以9600pbs發(fā)送,13,14,15,16.3.以2400bps從計算機發(fā)送任一字節(jié)數(shù)據(jù),當單片機收到該數(shù)據(jù)后,在此數(shù)據(jù)基礎(chǔ)上加1,然后把加1后的數(shù)據(jù)發(fā)回給計算機。4.用AD以1HZ的頻率采集模擬信號,然后轉(zhuǎn)換成數(shù)字量,再將其以1200bps發(fā)送到計算機,在計算機上顯示。作業(yè)目前一百四十一頁\總數(shù)二百五十六頁\編于十八點第十二課I2C串行總線原理及模塊化編程方法目前一百四十二頁\總數(shù)二百五十六頁\編于十八點單片機系統(tǒng)-常見的存儲器件介紹常見存儲器件:鐵電,EEPROM,F(xiàn)LASH共同特點:掉電后數(shù)據(jù)不丟失各自特點:鐵電:理論上可以無限次擦寫,操作簡單,但容量小。EEPROM:理論上擦寫次數(shù)在30W到100W不等,操作簡單,容量中等。FLASH:理論上擦寫次數(shù)在10W到100W不等,容量大,但操作復(fù)雜,若要改變一個字節(jié)就要改變整個扇區(qū)。目前一百四十三頁\總數(shù)二百五十六頁\編于十八點我們單片機系統(tǒng)用得最多的是I2C接口的EEPROM。比如24C系列的,有24C01、24C02、24C04、
24C08等。
常用的串行擴展總線有:I2C(InterICBUS)總線、單總線(1-WIREBUS)、SPI(SerialPeripheralInterface)總線及Microwire/PLUS等。常見的EEPROM芯片按其接口方式來分,有I2C、Microwire、SPI三種。本節(jié)課我們主要討論I2C總線工作原理和應(yīng)用方法。目前一百四十四頁\總數(shù)二百五十六頁\編于十八點I2C串行總線概述
I2C總線是PHLIPS公司推出的一種串行總線,是具備多主機系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線。
I2C總線只有兩根雙向信號線。一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。目前一百四十五頁\總數(shù)二百五十六頁\編于十八點
I2C總線通過上拉電阻接正電源。當總線空閑時,兩根線均為高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的SDA及SCL都是線“與”關(guān)系。目前一百四十六頁\總數(shù)二百五十六頁\編于十八點每個接到I2C總線上的器件都有唯一的地址。主機與其它器件間的數(shù)據(jù)傳送可以是由主機發(fā)送數(shù)據(jù)到其它器件,這時主機即為發(fā)送器。由總線上接收數(shù)據(jù)的器件則為接收器。
在多主機系統(tǒng)中,可能同時有幾個主機企圖啟動總線傳送數(shù)據(jù)。為了避免混亂,I2C總線要通過總線仲裁,以決定由哪一臺主機控制總線。
在80C51單片機應(yīng)用系統(tǒng)的串行總線擴展中,我們經(jīng)常遇到的是以80C51單片機為主機,其它接口器件為從機的單主機情況。
目前一百四十七頁\總數(shù)二百五十六頁\編于十八點I2C總線在傳送數(shù)據(jù)過程中共有三種特殊類型信號,它們分別是:I2C總線的數(shù)據(jù)傳送終止信號起始信號應(yīng)答信號目前一百四十八頁\總數(shù)二百五十六頁\編于十八點一、起始和終止信號
SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。
目前一百四十九頁\總數(shù)二百五十六頁\編于十八點
起始和終止信號都是由主機發(fā)出的,在起始信號產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號產(chǎn)生后,總線就處于空閑狀態(tài)。主機可以采用不帶I2C總線接口的單片機,如80C51、AT89C2051等單片機,利用軟件實現(xiàn)I2C總線的數(shù)據(jù)傳送,即軟件與硬件結(jié)合的信號模擬。I2C總線的起始信號、終止信號、可以讓單片機I/O口不斷的發(fā)送“0”和發(fā)送“1”進行模擬時序:目前一百五十頁\總數(shù)二百五十六頁\編于十八點模塊化編程的優(yōu)點隨著代碼量的增加,將所有代碼都放在同一個.C文件中的做法,會使得程序結(jié)構(gòu)混亂、可讀性與可移植性變差;而模塊化編程是解決這個問題的常用而有效的方法。目前一百五十一頁\總數(shù)二百五十六頁\編于十八點模塊化設(shè)計原則:“高內(nèi)聚,低耦合”高內(nèi)聚:一個C文件里面的函數(shù),只有相互之間的調(diào)用,而沒有調(diào)用其它文件里面的函數(shù),這樣可以視為高內(nèi)聚。盡量減小不同文件里函數(shù)的交叉引用。低耦合:一個完整的系統(tǒng),模塊與模塊之間,盡可能的使其獨立存在。也就是說,讓每一個模塊,盡可能的獨立完成某個特定的子功能。模塊與模塊之間的接口,盡量的少而簡單。目前一百五十二頁\總數(shù)二百五十六頁\編于十八點模塊化編程-創(chuàng)建步驟第一步:創(chuàng)建頭文件例如:I2C函數(shù)相關(guān)的源文件與頭文件命名為i2c.c與i2c.h。建立一個.C文件(源文件)和一個.h文件(頭文件)。原則上文件可以任意命名;但強烈推薦如下原則:.c文件與.h文件同名;文件名要有意義,最好能夠體現(xiàn)該文件代碼的功能定義。目前一百五十三頁\總數(shù)二百五十六頁\編于十八點第二步:頭文件中需要防重復(fù)包含處理防止頭文件在被多個文件引用的時候,讓編譯器在編譯時不會多次編譯。在.h文件中加入如下代碼1#ifndefXXX2#defineXXX3//此處添加代碼(比如聲明或定義語句)4#endif其中的XXX原則上可以是任意字符,在同一個工程中各個.h文件的XXX不能相同,因此強烈推薦如下的規(guī)則:將.h文件的文件名全部都大寫,“.”替換成下劃線”_”,首尾各添加2個下劃線”__”作為XXX。目前一百五十四頁\總數(shù)二百五十六頁\編于十八點第三步:代碼封裝將需要模塊化的代碼封裝成函數(shù)與宏定義。.C文件中放置內(nèi)容通常是:函數(shù)體?;蛘咧槐槐?c文件調(diào)用的宏定義。.h文件中放置內(nèi)容通常是:對需要被外部調(diào)用的函數(shù)要在.h文件中聲明一下。需要被外部調(diào)用的宏定義要放在.h文件中。目前一百五十五頁\總數(shù)二百五十六頁\編于十八點第四步:添加源文件將.c文件添加到工程之中;.h的不用添加到工程里面。同時在.c文件里把對應(yīng)的.h文件包含進去。目前一百五十六頁\總數(shù)二百五十六頁\編于十八點目前一百五十七頁\總數(shù)二百五十六頁\編于十八點目前一百五十八頁\總數(shù)二百五十六頁\編于十八點二、I2C總線數(shù)據(jù)操作
在I2C總線上,數(shù)據(jù)是伴隨著時鐘脈沖,一位一位的傳送的,數(shù)據(jù)位由高到低傳送,每位數(shù)據(jù)占一個時鐘脈沖。在時鐘線SCL為高電平期間,數(shù)據(jù)線SDA的狀態(tài)就表示要傳送的數(shù)據(jù);高電平為數(shù)據(jù)1,低電平為數(shù)據(jù)0。在數(shù)據(jù)傳送時,SDA上數(shù)據(jù)的改變要在時鐘線為低電平時完成,而SCL為高電平時,SDA必須保持穩(wěn)定;否則SDA上的變化會被當作起始或終止信號而致使數(shù)據(jù)傳輸停止。目前一百五十九頁\總數(shù)二百五十六頁\編于十八點三、I2C的數(shù)據(jù)讀寫和應(yīng)答每一個字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時,先傳送最高(MSB)。主機寫數(shù)據(jù)時,每發(fā)送一個字節(jié),接收機需要回復(fù)一個應(yīng)答位“0”,通過應(yīng)答位來判斷從機是否接收成功。主機讀數(shù)據(jù)時,接收一個字節(jié)結(jié)束后,主機也需要發(fā)送一個應(yīng)答位“0”,但是接收最后一個字節(jié)結(jié)束后,則需發(fā)
送非應(yīng)答位“1”,發(fā)完了1后,再發(fā)一個停止信號,最終
結(jié)束通信。目前一百六十頁\總數(shù)二百五十六頁\編于十八點2.非應(yīng)答:是一個高電平信號應(yīng)答:是一個低電平信號。應(yīng)答位分為:目前一百六十一頁\總數(shù)二百五十六頁\編于十八點1.應(yīng)答信號ACK:I2C總線的數(shù)據(jù)都是以字節(jié)(8位)的方式傳送的,發(fā)送器每發(fā)送一個字節(jié)之后,在時鐘的第9個脈沖期間釋放SDA數(shù)據(jù)線,由接收器發(fā)送一個ACK(把數(shù)據(jù)線電平拉低)來表示數(shù)據(jù)成功接收。目前一百六十二頁\總數(shù)二百五十六頁\編于十八點2.無應(yīng)答信號NACK在時鐘的第9個脈沖期間發(fā)送器釋放數(shù)據(jù)線,接收器不拉低數(shù)據(jù)線表示一個NACK。NACK有兩個用途:1.一般表示接收器未成功接收數(shù)據(jù)字節(jié)。2.當接收器是主機時,它收到最后一個字節(jié)后,應(yīng)發(fā)送一個NACK,以通知被控從機結(jié)束數(shù)據(jù)發(fā)送,并釋放總線,以便主機發(fā)送一個停止信號。目前一百六十三頁\總數(shù)二百五十六頁\編于十八點目前一百六十四頁\總數(shù)二百五十六頁\編于十八點如何發(fā)送I2C總線數(shù)據(jù)I2C總線發(fā)送到SDA線上的每一個字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時,先傳送最高位(MSB),每一個被傳送的字節(jié)后面都必須跟隨一位應(yīng)答位(即一幀共有9位)。依據(jù)I2C總線規(guī)定,SCL線呈高電平期間,SDA線上的電平必須保持穩(wěn)定。只有SCL線為低電平期間SDA線上的電平才允許變化。因此發(fā)送數(shù)據(jù)函數(shù)可在SCL線為低電平期間將數(shù)據(jù)賦值給SDA線,由于每一個字節(jié)必須為8位,因此循環(huán)8次即可將數(shù)據(jù)傳送給從器件。目前一百六十五頁\總數(shù)二百五十六頁\編于十八點如何接收I2C總線數(shù)據(jù)依據(jù)I2C總線規(guī)定,SCL線呈高電平期間,SDA線上的電平必須保持穩(wěn)定,因此應(yīng)在SCL線為高電平的時候讀取SDA數(shù)據(jù)狀態(tài)。I2C總線每次傳輸?shù)氖且粋€字節(jié)數(shù)據(jù),對于I2C數(shù)據(jù)的接收同樣也應(yīng)接收8位為一字節(jié)數(shù)據(jù),因此循環(huán)8次即可接收一個字節(jié)數(shù)據(jù)。目前一百六十六頁\總數(shù)二百五十六頁\編于十八點I2C器件寫操作基本步驟目前一百六十七頁\總數(shù)二百五十六頁\編于十八點移位操作左移時最低位補0,最高位移入PSW的CY位右移時最高位保持原數(shù),最低位移除。目前一百六十八頁\總數(shù)二百五十六頁\編于十八點作業(yè)理解I2C總線的工作原理,對著時序圖把各個子函數(shù)搞明白;將今天課堂內(nèi)容自己完全獨立做出即可。目前一百六十九頁\總數(shù)二百五十六頁\編于十八點第十三課紅外通信原理及應(yīng)用目前一百七十頁\總數(shù)二百五十六頁\編于十八點紅外線:在光譜中,波長在0.76至400微米的一段,我們稱為紅外線。什么是紅外線所有高于絕對零度(-273.15℃)的物質(zhì)都可以產(chǎn)生紅外線。紅外線是不可見光線。目前一百七十一頁\總數(shù)二百五十六頁\編于十八點紅外通信原理紅外通信是利用紅外技術(shù)實現(xiàn)兩點間的近距離保密通信和信息轉(zhuǎn)發(fā)。他一般由紅外發(fā)射和接收系統(tǒng)兩部分組成。今天我們就以紅外遙控為代表,具體講一講紅外通信的具體過程。目前一百七十二頁\總數(shù)二百五十六頁\編于十八點紅外遙控的優(yōu)點及應(yīng)用場合紅外線遙控是目前使用最廣泛的一種通信和遙控手段。紅外線遙控裝置的優(yōu)點:體積小、功耗低、功能強、成本低。應(yīng)用場合:在家用電器中,彩電、錄像機,錄音機、音響設(shè)備、空凋機以及玩具等產(chǎn)品中應(yīng)用非常廣泛。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。目前一百七十三頁\總數(shù)二百五十六頁\編于十八點紅外對管紅外發(fā)光管:
紅外發(fā)光二極管通常使用砷化鎵(GaAs)、砷鋁化鎵(GaAlAs)等材料,采用全透明或淺藍色、黑色的樹脂封裝。
通電后會產(chǎn)生的光波波長為940nm左右的紅外線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中考語文一輪復(fù)習:小說中的環(huán)境描寫知識點及訓練
- 2025年中考語文一輪復(fù)習:古詩詞閱讀重點考點解讀 講義
- 廣東省廣州市藝術(shù)中學2024-2025學年高一上學期期末考試數(shù)學試卷(解析版)
- 屏蔽機房施工方案模板
- 基礎(chǔ)分部工程施工方案
- 室外大棚導線施工方案
- 2025年葡語語音考試題及答案
- 6個月寶寶早教兒歌
- 低分子量聚丙烯酸對卡波姆樹脂的影響
- 4年級下冊人教版要寫的字第三課
- GB/T 3683.1-2006橡膠軟管及軟管組合件鋼絲編織增強液壓型規(guī)范第1部分:油基流體適用
- 探究反應(yīng)后溶液中的溶質(zhì)
- 景觀照明燈具技術(shù)規(guī)格標準附詳圖參考
- 《簡·愛》外國小說閱讀,初中語文下冊名著閱讀精講課件(部編版)
- 滬教版高一英語上冊(牛津版)全冊課件【完整版】
- 疾控中心考試試題
- 2023門球競賽規(guī)則電子版圖文并茂
- DB13T 2801-2018 水利工程質(zhì)量監(jiān)督規(guī)程
- Q∕SY 05262-2019 機械清管器技術(shù)條件
- 耳鼻咽喉頭頸外科學耳鼻咽喉應(yīng)用解剖
- 科學研究方法與學術(shù)論文寫作
評論
0/150
提交評論