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