單片機(jī)PPT課件_第1頁(yè)
單片機(jī)PPT課件_第2頁(yè)
單片機(jī)PPT課件_第3頁(yè)
單片機(jī)PPT課件_第4頁(yè)
單片機(jī)PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩205頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、十天學(xué)會(huì)單片機(jī) 完整版 十天學(xué)會(huì)單片機(jī) 完整版第一講 學(xué)單片機(jī)需要什么基礎(chǔ)? 什么是單片機(jī)、單片機(jī)能做什么、怎么開始學(xué)習(xí)單片機(jī)。 學(xué)單片機(jī)需要的一些預(yù)備知識(shí) C51基礎(chǔ)知識(shí)。 了解TX-1C單片機(jī)學(xué)習(xí)板系統(tǒng)結(jié)構(gòu) 如何用TX-1C單片機(jī)學(xué)習(xí)板在短時(shí)間內(nèi)掌握51單片機(jī)和C語(yǔ)言編程。 KEIL工程建立詳細(xì)介紹及KEIL軟件使用方法 從點(diǎn)亮實(shí)驗(yàn)板上的一個(gè)發(fā)光二極管開始學(xué)單片機(jī)需要什么基礎(chǔ)?與以前所學(xué)的知識(shí)關(guān)聯(lián)很少;與以前所學(xué)的知識(shí)關(guān)聯(lián)很少;只需要掌握很基本的數(shù)電模電知識(shí),如只需要掌握很基本的數(shù)電模電知識(shí),如二進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換,二進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換,與、或、非邏輯關(guān)系等;與

2、、或、非邏輯關(guān)系等;對(duì)各種器件的概念基本上是從對(duì)各種器件的概念基本上是從0開始;開始;如果要用如果要用C語(yǔ)言編程,需具備簡(jiǎn)單的語(yǔ)言編程,需具備簡(jiǎn)單的C語(yǔ)語(yǔ)言基礎(chǔ);言基礎(chǔ);所有人都站在了同一起跑線上所有人都站在了同一起跑線上; 什么是單片機(jī)?什么是單片機(jī)?單板機(jī)單板機(jī) 將將CPU芯片、芯片、存儲(chǔ)器存儲(chǔ)器芯片、芯片、I/O接口接口芯片和芯片和簡(jiǎn)單的簡(jiǎn)單的I/O設(shè)備設(shè)備(小鍵盤、(小鍵盤、LED顯示器)等裝顯示器)等裝配在一塊印刷電路板上,再配上配在一塊印刷電路板上,再配上監(jiān)控程序監(jiān)控程序(固(固化在化在ROM中),就構(gòu)成了一臺(tái)單板微型計(jì)算中),就構(gòu)成了一臺(tái)單板微型計(jì)算機(jī)(簡(jiǎn)稱單板機(jī))。機(jī)(簡(jiǎn)稱單板

3、機(jī))。單板機(jī)單板機(jī)單板機(jī)的單板機(jī)的I/O設(shè)備簡(jiǎn)單,軟件資設(shè)備簡(jiǎn)單,軟件資源少,使用不方便。早期主要用源少,使用不方便。早期主要用于微型計(jì)算機(jī)原理的于微型計(jì)算機(jī)原理的教學(xué)教學(xué)及及簡(jiǎn)單簡(jiǎn)單的測(cè)控系統(tǒng)的測(cè)控系統(tǒng),現(xiàn)在已很少使用。,現(xiàn)在已很少使用。 單片機(jī)單片機(jī) 在一片集成電路芯片上集成微處理器、在一片集成電路芯片上集成微處理器、存儲(chǔ)器、存儲(chǔ)器、I/O接口電路,從而構(gòu)成了接口電路,從而構(gòu)成了單芯片單芯片微型計(jì)算機(jī),即單片機(jī)微型計(jì)算機(jī),即單片機(jī)。 Intel公司推出了公司推出了MCS-51系列單片機(jī):系列單片機(jī):集成集成 8位位CPU、4K字字節(jié)節(jié)ROM、128字節(jié)字節(jié)RAM、4個(gè)個(gè)8位并口、位并口、1

4、個(gè)個(gè)全雙工串行口、全雙工串行口、2個(gè)個(gè)16位定時(shí)位定時(shí)/計(jì)數(shù)器。尋址計(jì)數(shù)器。尋址范圍范圍64K,并有控制功能較強(qiáng)的布爾處理器。,并有控制功能較強(qiáng)的布爾處理器。單板機(jī)單板機(jī)單片機(jī)單片機(jī)單片機(jī)能做什么實(shí)物展示用到單片機(jī)的項(xiàng)目經(jīng)驗(yàn)介紹 手持糧庫(kù)溫度尋檢設(shè)備畢設(shè)答辯打分器電話臺(tái)燈自動(dòng)感應(yīng)水龍頭1.凡是與控制或簡(jiǎn)單計(jì)算有關(guān)的電子設(shè)備都可以用單片機(jī)來(lái)實(shí)現(xiàn),再根據(jù)具體實(shí)際情況選擇不同性能的單片機(jī),如:atmel,stc,pic,avr,凌陽(yáng),80C51,arm等 工業(yè)自動(dòng)化:數(shù)據(jù)采集、測(cè)控技術(shù)。 智能儀器儀表:數(shù)字示波器、數(shù)字信號(hào)源、數(shù)字萬(wàn)用表、感應(yīng)電流表等。 消費(fèi)類電子產(chǎn)品:洗衣機(jī)、電冰箱、空調(diào)機(jī)、電視機(jī)

5、、微波爐、手機(jī)、IC卡、汽車電子設(shè)備等。 通訊方面:調(diào)制解調(diào)器、程控交換技術(shù)、手機(jī)、小靈通等。 武器裝備:飛機(jī)、軍艦、坦克、導(dǎo)彈、航天飛機(jī)、魚雷制導(dǎo)、智能武器等。 等等.怎么開始學(xué)習(xí)? 實(shí)踐第一。 補(bǔ)充必要的理論知識(shí),即缺什么補(bǔ)什么。 做工程項(xiàng)目積累經(jīng)驗(yàn)。(可在網(wǎng)絡(luò)上搜集題目,也可自己有什么想法大膽的去試驗(yàn))預(yù)備知識(shí) 電平特性電平特性 2進(jìn)制與進(jìn)制與16進(jìn)制的表示及轉(zhuǎn)換進(jìn)制的表示及轉(zhuǎn)換 二進(jìn)制數(shù)的邏輯運(yùn)算二進(jìn)制數(shù)的邏輯運(yùn)算 8051單片機(jī)介紹單片機(jī)介紹 C51基礎(chǔ)知識(shí)基礎(chǔ)知識(shí)關(guān)于電平特性 數(shù)字電路中只有兩種電平:高和低 (本課程中)定義單片機(jī)為TTL電平: 高 +5V 低 0V RS232電平

6、:計(jì)算機(jī)的串口 高 -12V 低+12V 所以計(jì)算機(jī)與單片機(jī)之間通訊時(shí)需要加電平轉(zhuǎn)換芯片max232(實(shí)驗(yàn)板上左下角)。二進(jìn)制 數(shù)字電路中的兩種電平特性決定了它0 0 6 1101 171112 10810003 11910014 1001010105 10111 1011十六進(jìn)制 是二進(jìn)制的簡(jiǎn)短表示形式。 十進(jìn)制中的0-15分別表示為十六進(jìn)制的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ù)。如:0001B - 1 - 1H

7、 B表示為二進(jìn)制,H為十六進(jìn)制 1001B - 9 - 9H 1010B - 10 - AH 0010 1100 - 44 - 2CH 各種進(jìn)位制的對(duì)應(yīng)關(guān)系 十進(jìn)制十進(jìn)制二進(jìn)制二進(jìn)制十六進(jìn)制十六進(jìn)制十進(jìn)制十進(jìn)制二進(jìn)制二進(jìn)制十六進(jìn)制十六進(jìn)制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117161000010810008 二進(jìn)制數(shù)的邏輯運(yùn)算二進(jìn)制數(shù)的邏輯運(yùn)算 1. “與與”運(yùn)算運(yùn)算 “與”運(yùn)算是實(shí)現(xiàn)“必須都有,否則就沒(méi)有”這種邏輯關(guān)系的一種運(yùn)算。 運(yùn)算符為“ ”, 其運(yùn)算規(guī)則如下:00

8、=0, 01=10=0, 11=1 2. “或或”運(yùn)算運(yùn)算 “或”運(yùn)算是實(shí)現(xiàn)“只要其中之一有,就有”這種邏輯關(guān)系的一種運(yùn)算, 其運(yùn)算符為“+”。 “或”運(yùn)算規(guī)則如下:0+0=0, 0+1=1+0=1, 1+1=1 3. “非非”運(yùn)算運(yùn)算 “非”運(yùn)算是實(shí)現(xiàn)“求反”這種邏輯的一種運(yùn)算,如變量A的“非”運(yùn)算記作 。 其運(yùn)算規(guī)則如下: A10, 01 4. “異或異或”運(yùn)算運(yùn)算 “異或”運(yùn)算是實(shí)現(xiàn)“必須不同, 否則就沒(méi)有”這種邏輯的一種運(yùn)算, 運(yùn)算符為“”。其運(yùn)算規(guī)則是: 011 , 101 , 110 , 000 80C51 80C51系列介紹系列介紹 Intel的:的:80C31、80C51、87

9、C51,80C32、80C52、87C52等;等; ATMEL的:的:89C51、89C52、89C2051等;等; Philips、華邦、華邦、Dallas 、STC Siemens(Infineon)等公司的許多產(chǎn)品等公司的許多產(chǎn)品 。補(bǔ)充:關(guān)于型號(hào)的介紹補(bǔ)充:關(guān)于型號(hào)的介紹 80C51是是MCS-51系列中的一個(gè)典型品種;系列中的一個(gè)典型品種;其它廠商其它廠商以以8051為基核為基核開發(fā)出的開發(fā)出的CMOS工藝工藝單片機(jī)產(chǎn)品單片機(jī)產(chǎn)品統(tǒng)稱為統(tǒng)稱為80C51系列系列。當(dāng)前常用的。當(dāng)前常用的80C51系列單片機(jī)主要產(chǎn)品有:系列單片機(jī)主要產(chǎn)品有:80C5180C51的引腳封裝的引腳封裝總線型總

10、線型非總線型非總線型第二功能各引腳功能定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時(shí)器0外部輸入P3.5:T1定時(shí)器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制 總線(BUS)是計(jì)算機(jī)各部件之間傳送信息的公共通道。微機(jī)中有內(nèi)部總線和外部總線兩類。內(nèi)部總線是CPU內(nèi)部之間的連線。外部總線是指CPU與其它部件之間的連線。 外部總線有三種: 數(shù)據(jù)總線DB(Data Bus), 地址總線 AB(Address Bus)和控制總線 CBControl Bus)。 CPU:由運(yùn)算和控制邏輯組成,同時(shí)

11、還包括:由運(yùn)算和控制邏輯組成,同時(shí)還包括中斷系統(tǒng)和部分外部特殊功能寄存器;中斷系統(tǒng)和部分外部特殊功能寄存器; RAM:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù); ROM:用以存放程序、一些原始數(shù)據(jù)和表格;:用以存放程序、一些原始數(shù)據(jù)和表格; I/O口:四個(gè)口:四個(gè)8位并行位并行I/O口,既可用作輸入,口,既可用作輸入,也可用作輸出;也可用作輸出; T/C:兩個(gè)定時(shí):兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)記數(shù)器,既可以工作在定時(shí)模式,也可以工作在記數(shù)模式;模式,也可以工作在記數(shù)模式; 五個(gè)中斷源的中斷控制

12、系統(tǒng);五個(gè)中斷源的中斷控制系統(tǒng); 一個(gè)全雙工一個(gè)全雙工UART(通用異步接收發(fā)送器)(通用異步接收發(fā)送器)的串行的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)口,用于實(shí)現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信;與微機(jī)之間的串行通信; 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率取決于單片調(diào)電容需要外接。最高振蕩頻率取決于單片機(jī)型號(hào)及性能。機(jī)型號(hào)及性能。C51知識(shí) C語(yǔ)言是一種編譯型程序設(shè)計(jì)語(yǔ)言,它兼顧了多種高級(jí)語(yǔ)言的特點(diǎn),并具備匯編語(yǔ)言的功能。目前,使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)已經(jīng)成為軟件開發(fā)的一個(gè)主流。用C語(yǔ)言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明

13、顯增強(qiáng)程序的可讀性,便于改進(jìn)、擴(kuò)充和移植。而針對(duì)8051的C語(yǔ)言日趨成熟,成為了專業(yè)化的實(shí)用高級(jí)語(yǔ)言。C C語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛的支持,很多硬件開發(fā)都用的支持,很多硬件開發(fā)都用C C語(yǔ)言編程,如:語(yǔ)言編程,如:各種單片機(jī)、各種單片機(jī)、DSPDSP、ARMARM等等. .C C語(yǔ)言程序本身不依賴于機(jī)器硬件系統(tǒng),基語(yǔ)言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中本上不作修改就可將程序從不同的單片機(jī)中移植過(guò)來(lái)。移植過(guò)來(lái)。C C提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開發(fā)效率高,故可縮短開發(fā)時(shí)間

14、,增加程序可發(fā)效率高,故可縮短開發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。讀性和可維護(hù)性。 C-51C-51的特點(diǎn)的特點(diǎn)C-51C-51與與ASM-51ASM-51相比,有如下優(yōu)點(diǎn):相比,有如下優(yōu)點(diǎn):1.1. 對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)要求對(duì)8051 8051 的存貯器結(jié)構(gòu)有初步了解;的存貯器結(jié)構(gòu)有初步了解;2.2. 寄存器分配、不同存貯器的尋址及數(shù)寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理;據(jù)類型等細(xì)節(jié)可由編譯器管理;3.3. 程序有規(guī)范的結(jié)構(gòu),可分成不同的函程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;數(shù),這種方式可使程序結(jié)

15、構(gòu)化;4.4. 提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;較強(qiáng)的數(shù)據(jù)處理能力;5.5. 由于具有方便的模塊化編程技術(shù),使由于具有方便的模塊化編程技術(shù),使已編好程序可容易地移植;已編好程序可容易地移植;C C5151的數(shù)據(jù)類型的數(shù)據(jù)類型基本數(shù)據(jù)類型基本數(shù)據(jù)類型類型類型符號(hào)符號(hào)關(guān)鍵字關(guān)鍵字?jǐn)?shù)的表示范圍數(shù)的表示范圍所占位數(shù)所占位數(shù)整型整型字符型字符型實(shí)型實(shí)型有有無(wú)無(wú)(signed) int16-3276832767(signed) short16-3276832767(signed) long32-2147483648214748364716unsigned

16、 int0655353204294967295unsigned long intunsigned short int16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127無(wú)無(wú)unsigned char80255C C語(yǔ)言中的基本數(shù)據(jù)類型語(yǔ)言中的基本數(shù)據(jù)類型類型類型符號(hào)符號(hào)關(guān)鍵字關(guān)鍵字?jǐn)?shù)的表示范圍數(shù)的表示范圍所占位數(shù)所占位數(shù)整型整型字符型字符型實(shí)型實(shí)型有有無(wú)無(wú)(signed) int16-3276832767(signed) short16-3276832767(signed) long32-2147483648

17、214748364716unsigned int0655353204294967295unsigned long intunsigned short int16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127無(wú)無(wú)unsigned char80255C C5151的數(shù)據(jù)類型擴(kuò)充定義的數(shù)據(jù)類型擴(kuò)充定義sfr:sfr:特殊功能寄存器聲明特殊功能寄存器聲明sfr16:sfrsfr16:sfr的的1616位數(shù)據(jù)聲明位數(shù)據(jù)聲明sbit:sbit:特殊功能位聲明特殊功能位聲明bitbit: :位變量聲明位變量聲明例:例:s

18、fr SCON = 0X98;sfr SCON = 0X98; sfr16 T2 = 0 xCC;sfr16 T2 = 0 xCC; sbit OV = PSW2;sbit OV = PSW2;例:例:數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名char var1;char var1;bit flags;bit flags;unsigned char vextor10;unsigned char vextor10;int wwww;int wwww;注意:變量名不能用注意:變量名不能用C C語(yǔ)言中的關(guān)語(yǔ)言中的關(guān)鍵字表示。鍵字表示。C-51C-51數(shù)據(jù)的存儲(chǔ)類型數(shù)據(jù)的存儲(chǔ)類型C-51C-51的包含的頭文件的包

19、含的頭文件通常有通常有: :reg51.h reg52.h math.h reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.hctype.h stdio.h stdlib.h absacc.h常用有常用有: :reg51.h reg52.hreg51.h reg52.h (定義特殊功能寄存器和位寄存器);(定義特殊功能寄存器和位寄存器); math.h math.h (定義常用數(shù)學(xué)運(yùn)算);(定義常用數(shù)學(xué)運(yùn)算); C-51C-51的運(yùn)算符的運(yùn)算符與與C C語(yǔ)言基本相同:語(yǔ)言基本相同:+ - + - * * / / (加(加 減減 乘乘

20、除)除) = = (位右移(位右移 位左移)位左移)& |& | ( (按位與按位與 按位或按位或) ) ( (按位異或按位異或 按位取反按位取反) ) C-51C-51的基本語(yǔ)句的基本語(yǔ)句 與標(biāo)準(zhǔn)與標(biāo)準(zhǔn)C C語(yǔ)言基本相同:語(yǔ)言基本相同: if if 選擇語(yǔ)言選擇語(yǔ)言 while while 循環(huán)語(yǔ)言循環(huán)語(yǔ)言 for for 循環(huán)語(yǔ)言循環(huán)語(yǔ)言 switch/case switch/case 多分支選擇語(yǔ)言多分支選擇語(yǔ)言 do-while do-while 循環(huán)語(yǔ)言循環(huán)語(yǔ)言 中斷服務(wù)程序中斷服務(wù)程序函數(shù)名()函數(shù)名()interrupt interrupt n n using u

21、sing m m 函數(shù)內(nèi)部實(shí)現(xiàn)函數(shù)內(nèi)部實(shí)現(xiàn) . . I/OI/O口定義口定義sbit beep=P23;sbit beep=P23;單片機(jī)主要掌握以下幾點(diǎn) 最小系統(tǒng)能夠運(yùn)行起來(lái)的必要條件。 1.電源 2.晶振3.復(fù)位電路 對(duì)單片機(jī)任意IO口的隨意操作 1.輸出控制電平高低2.輸出檢測(cè)電平高低。 定時(shí)器:重點(diǎn)掌握最常用的方式2 中斷:外部中斷、定時(shí)器中斷、串口中斷 串口通信:?jiǎn)纹瑱C(jī)之間、單片機(jī)與計(jì)算機(jī)間KEIL的使用 掌握KEIL工程的建立和軟件的開發(fā); 掌握KEIL中軟件仿真的基本應(yīng)用; 掌握用KEIL直接硬件仿真TX-1C單片機(jī)學(xué)習(xí)板的方法Main 函數(shù)格式:void main()特點(diǎn):無(wú)返

22、回值,無(wú)參。任何一個(gè)C程序有且僅有一個(gè)main函數(shù),它是整個(gè)程序開始執(zhí)行的入口。例:void main() 總程序從這里開始執(zhí)行; 其他語(yǔ)句; 課后練習(xí) 對(duì)照TX-1C單片機(jī)學(xué)習(xí)板原理圖寫程序 用位操作和總線操作兩種方法完成以下題目1.熟練建立KEIL工程2.點(diǎn)亮第一個(gè)發(fā)光管.3.點(diǎn)亮最后一個(gè)發(fā)光管4.點(diǎn)亮1、3、5、75.點(diǎn)亮二、四、五、六6.嘗試讓第一個(gè)發(fā)光管閃爍7.嘗試設(shè)計(jì)出流水燈程序自己動(dòng)手實(shí)踐需要硬件材料 DIP40腳座一個(gè)。 杜邦線,單頭帶冒,40根。 單排針 兩排。 小電路板一塊。 DS12C887 一片(舊10元,新22元)。 焊錫、單片機(jī)工作的基本時(shí)序單片機(jī)工作的基本時(shí)序 機(jī)

23、器周期和指令周期機(jī)器周期和指令周期 (1) 振蕩周期振蕩周期: 也稱時(shí)鐘周期也稱時(shí)鐘周期, 是指為單片機(jī)提是指為單片機(jī)提供時(shí)鐘脈沖信號(hào)的振蕩源的周期,供時(shí)鐘脈沖信號(hào)的振蕩源的周期,TX實(shí)驗(yàn)板上為實(shí)驗(yàn)板上為11.0592MHZ。 (2) 狀態(tài)周期狀態(tài)周期: 每個(gè)狀態(tài)周期為時(shí)鐘周期的每個(gè)狀態(tài)周期為時(shí)鐘周期的 2 倍倍, 是振蕩周期經(jīng)二分頻后得到的。是振蕩周期經(jīng)二分頻后得到的。 (3) 機(jī)器周期機(jī)器周期: 一個(gè)機(jī)器周期一個(gè)機(jī)器周期包含包含 6 個(gè)狀態(tài)周個(gè)狀態(tài)周期期S1S6, 也就是也就是 12 個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期。 在一個(gè)機(jī)器周在一個(gè)機(jī)器周期內(nèi)期內(nèi), CPU可以完成一個(gè)獨(dú)立的操作??梢酝瓿梢粋€(gè)獨(dú)立

24、的操作。 (4) 指令周期指令周期: 它是指它是指CPU完成一條操作所需完成一條操作所需的全部時(shí)間。的全部時(shí)間。 每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)機(jī)器周期組成。機(jī)器周期組成。MCS - 51 系統(tǒng)中系統(tǒng)中, 有單周期指令、有單周期指令、雙周期指令和四周期指令。雙周期指令和四周期指令。 第二講 如何申請(qǐng)免費(fèi)樣片 簡(jiǎn)單延時(shí)程序 子程序調(diào)用 帶參數(shù)子程序設(shè)計(jì) C51庫(kù)函數(shù)的方便調(diào)用 如何驅(qū)動(dòng)蜂鳴器 如何驅(qū)動(dòng)繼電器 集電極開路的概念及應(yīng)用。 While (表達(dá)式)語(yǔ)句(內(nèi)部也可為空)特點(diǎn):先判斷表達(dá)式,后執(zhí)行語(yǔ)句。原則:若表達(dá)式不是0,即為真,那么執(zhí)行語(yǔ)句。否則跳出wh

25、ile 語(yǔ)句。For (表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句(內(nèi)部可為空)執(zhí)行過(guò)程:1.求解一次表達(dá)式1.2.求解表達(dá)式2,若其值為真(非0 即為真),則執(zhí)行for中語(yǔ)句。然后執(zhí)行第3步。否則結(jié)束for 語(yǔ)句,直接跳出,不再執(zhí)行第3步。3.求解表達(dá)式3.4.跳到第2步重復(fù)執(zhí)行。集電極開路典型圖P0iQ19013VCCGNDOUTPUT課后練習(xí)第一個(gè)發(fā)光管以間隔第一個(gè)發(fā)光管以間隔200ms閃爍閃爍8個(gè)發(fā)光管由上至下間隔個(gè)發(fā)光管由上至下間隔1s流動(dòng),其中每個(gè)管亮流動(dòng),其中每個(gè)管亮500ms,滅滅500ms,亮?xí)r蜂鳴器響,滅時(shí)關(guān)閉蜂鳴器,一直重復(fù)下去。亮?xí)r蜂鳴器響,滅時(shí)關(guān)閉蜂鳴器,一直重復(fù)下去。8個(gè)

26、發(fā)光管來(lái)回流動(dòng),第個(gè)管亮個(gè)發(fā)光管來(lái)回流動(dòng),第個(gè)管亮100ms,流動(dòng)時(shí)讓蜂鳴器發(fā)出流動(dòng)時(shí)讓蜂鳴器發(fā)出“滴滴滴滴”聲。聲。用用8個(gè)發(fā)光管演示出個(gè)發(fā)光管演示出8位二進(jìn)制數(shù)累加過(guò)程。位二進(jìn)制數(shù)累加過(guò)程。8個(gè)發(fā)光管間隔個(gè)發(fā)光管間隔200ms由上至下,再由下至上,再重復(fù)一次由上至下,再由下至上,再重復(fù)一次,然后全部熄滅再以,然后全部熄滅再以300ms間隔全部閃爍間隔全部閃爍5次。重復(fù)此過(guò)程次。重復(fù)此過(guò)程。間隔間隔300ms第一次一個(gè)管亮流動(dòng)一次,第二次兩個(gè)管亮流動(dòng)第一次一個(gè)管亮流動(dòng)一次,第二次兩個(gè)管亮流動(dòng),依次到,依次到8個(gè)管亮,然后重復(fù)整個(gè)過(guò)程。個(gè)管亮,然后重復(fù)整個(gè)過(guò)程。間隔間隔300ms先奇數(shù)亮再偶數(shù)

27、亮,循環(huán)三次;一個(gè)燈上下循環(huán)先奇數(shù)亮再偶數(shù)亮,循環(huán)三次;一個(gè)燈上下循環(huán)三次;兩個(gè)分別從兩邊往中間流動(dòng)三次;再?gòu)闹虚g往兩邊流三次;兩個(gè)分別從兩邊往中間流動(dòng)三次;再?gòu)闹虚g往兩邊流動(dòng)三次;動(dòng)三次;8個(gè)全部閃爍個(gè)全部閃爍3次;關(guān)閉發(fā)光管,程序停止。次;關(guān)閉發(fā)光管,程序停止。第三講 數(shù)碼管是如何顯示出字符的 數(shù)碼管靜態(tài)顯示與動(dòng)態(tài)顯示原理 中斷概念 單片機(jī)的定時(shí)器應(yīng)用顯示器及其接口顯示器及其接口單片機(jī)系統(tǒng)中常用的顯示器有: 發(fā)光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結(jié)構(gòu)

28、:段顯示(7段、米字型等)和點(diǎn)陣顯示(58、88點(diǎn)陣等)。 使用LED顯示器時(shí),要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對(duì)數(shù)字或字符進(jìn)行編碼。七段數(shù)碼管加上一個(gè)小數(shù)點(diǎn),共計(jì)8段。因此為L(zhǎng)ED顯示器提供的編碼正好是一個(gè)字節(jié)。TX實(shí)驗(yàn)板用共陰LED顯示器,根據(jù)電路連接圖顯示16進(jìn)制數(shù)的編碼已列在下表。 abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b)共陰極共陽(yáng)極共陰數(shù)碼管碼表 0 x3f , 0 x06 , 0 x5b , 0 x4f , 0 x66 , 0 x6d , 0 1 2 3 4 5 0 x7d , 0 x07 , 0 x7

29、f , 0 x6f , 0 x77 , 0 x7c , 6 7 8 9 A B 0 x39 , 0 x5e , 0 x79 , 0 x71 , 0 x00 C D E F 無(wú)顯示 LED數(shù)碼顯示方式及電路數(shù)碼顯示方式及電路 靜態(tài)顯示方式靜態(tài)顯示方式LED顯示器工作方式有兩種:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來(lái)保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用CPU時(shí)間少,顯示便于監(jiān)測(cè)和控制。缺點(diǎn)是硬件電路比較復(fù)雜,成本較高。 動(dòng)態(tài)顯示 動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制

30、是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。 ALEWRRDRXDTXDINT0EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P

31、2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U189C52PSENP10P11P12P13P14P15P16P17T0T1INT1P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27P20P21P22P23abfcgdeDPY117421105ab cd e fg3dpdpabfcgdedpabfcgdedpabfcgdedpC06C28C39C412LEDDPY 4-LED12345678161514131211109R1KP00P01P02P03P04P05P

32、06P075VK99K10AK15FP10P11P12P13P14P15P16P17EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U189C52P10P11P12P13P14P15P16P17K00K11K22K33K55K66K77K88K44K11BK1

33、2CK13DK14E 中斷系統(tǒng)中斷系統(tǒng)3.1 80C51的中斷系統(tǒng)的中斷系統(tǒng) 3.1.1 80C513.1.1 80C51的中斷系統(tǒng)結(jié)構(gòu)的中斷系統(tǒng)結(jié)構(gòu)一、中斷的概念一、中斷的概念 CPUCPU在處理某一事件在處理某一事件A A時(shí),發(fā)生了另一事件時(shí),發(fā)生了另一事件B B請(qǐng)求請(qǐng)求CPUCPU迅速去處理(迅速去處理(中斷發(fā)生中斷發(fā)生);); CPUCPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B B(中斷響應(yīng)和中斷服務(wù)中斷響應(yīng)和中斷服務(wù));); 待待CPUCPU將事件將事件B B處理完畢后,再回到原來(lái)事處理完畢后,再回到原來(lái)事件件A A被中斷的地方繼續(xù)處理事件被中斷的地方繼續(xù)

34、處理事件A A(中斷返中斷返回回),這一過(guò)程稱為),這一過(guò)程稱為中斷中斷 。MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點(diǎn)中斷請(qǐng)求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回引起引起CPU中斷的根源,稱為中斷的根源,稱為中斷源中斷源。中斷源向。中斷源向CPU提出提出的中斷請(qǐng)求。的中斷請(qǐng)求。CPU暫時(shí)中斷原來(lái)的事務(wù)暫時(shí)中斷原來(lái)的事務(wù)A,轉(zhuǎn)去處理事件,轉(zhuǎn)去處理事件B。對(duì)事件對(duì)事件B處理完畢后,再回到原來(lái)被中斷的地方(即處理完畢后,再回到原來(lái)被中斷的地方(即斷點(diǎn)斷點(diǎn)),),稱為中斷返回。實(shí)現(xiàn)上述中斷功能的部件稱為稱為中斷返回。實(shí)現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)中斷系統(tǒng)(中(中斷機(jī)構(gòu))。斷機(jī)構(gòu)

35、)。 隨著計(jì)算機(jī)技術(shù)的應(yīng)用,人們發(fā)現(xiàn)中斷技隨著計(jì)算機(jī)技術(shù)的應(yīng)用,人們發(fā)現(xiàn)中斷技術(shù)不僅解決了快速主機(jī)與慢速術(shù)不僅解決了快速主機(jī)與慢速I/O設(shè)備的數(shù)據(jù)設(shè)備的數(shù)據(jù)傳送問(wèn)題,而且還具有如下優(yōu)點(diǎn):傳送問(wèn)題,而且還具有如下優(yōu)點(diǎn): 分時(shí)操作分時(shí)操作。CPU可以分時(shí)為多個(gè)可以分時(shí)為多個(gè)I/O設(shè)備設(shè)備服務(wù),提高了計(jì)算機(jī)的利用率;服務(wù),提高了計(jì)算機(jī)的利用率;實(shí)時(shí)響應(yīng)實(shí)時(shí)響應(yīng)。CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng);隨機(jī)事件,系統(tǒng)的實(shí)時(shí)性大大增強(qiáng);可靠性高可靠性高。CPU具有處理設(shè)備故障及掉電具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。等突發(fā)性事件能力,從

36、而使系統(tǒng)可靠性提高。80C51中斷系統(tǒng)的結(jié)構(gòu)中斷系統(tǒng)的結(jié)構(gòu) 80C51的中斷系統(tǒng)有的中斷系統(tǒng)有5個(gè)中斷源個(gè)中斷源(8052有 6個(gè)) ,2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套 。 1 1、(、(P3.2P3.2)可由)可由IT0(TCON.0)IT0(TCON.0)選擇其為低電平選擇其為低電平有效還是下降沿有效。當(dāng)有效還是下降沿有效。當(dāng)CPUCPU檢測(cè)到檢測(cè)到P3.2P3.2引腳上引腳上出現(xiàn)有效的中斷信號(hào)時(shí),中斷標(biāo)志出現(xiàn)有效的中斷信號(hào)時(shí),中斷標(biāo)志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 2 2、(P3.3(P3.3)可由

37、)可由IT1(TCON.2)IT1(TCON.2)選擇其為低電平選擇其為低電平有效還是下降沿有效。當(dāng)有效還是下降沿有效。當(dāng)CPUCPU檢測(cè)到檢測(cè)到P3.3P3.3引腳上引腳上出現(xiàn)有效的中斷信號(hào)時(shí),中斷標(biāo)志出現(xiàn)有效的中斷信號(hào)時(shí),中斷標(biāo)志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 3 3、TF0TF0(TCON.5TCON.5),片內(nèi)定時(shí)),片內(nèi)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T0T0溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí)溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T0T0發(fā)生發(fā)生溢出時(shí),置位溢出時(shí),置位TF0TF0,并向,并向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 4 4、TF

38、1TF1(TCON.7TCON.7),片內(nèi)定時(shí)),片內(nèi)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T1T1溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí)溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器T1T1發(fā)生發(fā)生溢出時(shí),置位溢出時(shí),置位TF1TF1,并向,并向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 5 5、RIRI(SCON.0SCON.0)或)或TITI(SCON.1SCON.1),串行口),串行口中斷請(qǐng)求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)中斷請(qǐng)求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí)置位據(jù)時(shí)置位RIRI或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時(shí)置位時(shí)置位TITI,向,向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 二、中斷請(qǐng)求標(biāo)志二、中斷請(qǐng)求標(biāo)

39、志1、TCON的中斷標(biāo)志的中斷標(biāo)志IT0(TCON.0),外部中斷),外部中斷0觸發(fā)方式控制位。觸發(fā)方式控制位。當(dāng)當(dāng)IT0=0時(shí),為電平觸發(fā)方式。時(shí),為電平觸發(fā)方式。當(dāng)當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。時(shí),為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷),外部中斷0中斷請(qǐng)求標(biāo)志位。中斷請(qǐng)求標(biāo)志位。IT1(TCON.2),外部中斷),外部中斷1觸發(fā)方式控制位。觸發(fā)方式控制位。IE1(TCON.3),外部中斷),外部中斷1中斷請(qǐng)求標(biāo)志位。中斷請(qǐng)求標(biāo)志位。TF0(TCON.5),定時(shí)),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志位。溢出中斷請(qǐng)求標(biāo)志位。TF1(TCON.7),

40、定時(shí)),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志位。溢出中斷請(qǐng)求標(biāo)志位。 2、SCON的中斷標(biāo)志的中斷標(biāo)志RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置位硬件置位RI。注意,。注意,RI必須由軟件清除。必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個(gè)發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),將一個(gè)發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),就啟動(dòng)了發(fā)送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬就啟動(dòng)了發(fā)送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬件置位件置位TI。CP

41、U響應(yīng)中斷時(shí),不能自動(dòng)清除響應(yīng)中斷時(shí),不能自動(dòng)清除TI,TI必須由軟件清除。必須由軟件清除。 一、中斷允許控制一、中斷允許控制 CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開放和屏對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開放和屏蔽是由中斷允許寄存器蔽是由中斷允許寄存器IE控制的??刂频摹?.1.3 80C513.1.3 80C51中斷的控制中斷的控制 EX0(IE.0),外部中斷,外部中斷0允許位;允許位;ET0(IE.1),定時(shí),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0中斷允許位;中斷允許位; EX1(IE.2),外部中斷,外部中斷0允許位;允許位;ET1(IE.3),定時(shí),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T1中斷允許位;中斷允許位

42、;ES(IE.4),串行口中斷允許位;,串行口中斷允許位;EA (IE.7), CPU中斷允許(總允許)位。中斷允許(總允許)位。二、中斷優(yōu)先級(jí)控制二、中斷優(yōu)先級(jí)控制 80C51單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)二級(jí)單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器優(yōu)先級(jí)寄存器IP中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的 。PX0(IP.0),外部中斷),外部中斷0優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PT0(IP.1),定時(shí)),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PX1(IP.2),外部中斷)

43、,外部中斷0優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PT1(IP.3),定時(shí)),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PS (IP.4),串行口優(yōu)先級(jí)設(shè)定位;),串行口優(yōu)先級(jí)設(shè)定位;PT2 (IP.5) ,定時(shí),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。優(yōu)先級(jí)設(shè)定位。PX0(IPH.0),外部中斷),外部中斷0優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PT0(IPH.1),定時(shí)),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PX1(IPH.2),外部中斷),外部中斷0優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PT1(IPH.3),定時(shí)),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;優(yōu)先級(jí)設(shè)定位;PS (IPH.4),串行口優(yōu)先級(jí)

44、設(shè)定位;),串行口優(yōu)先級(jí)設(shè)定位;PT2 (IPH.5) ,定時(shí),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。優(yōu)先級(jí)設(shè)定位。而而80C52單片機(jī)有四個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)四級(jí)單片機(jī)有四個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)四級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)由中斷優(yōu)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器先級(jí)寄存器IP和和IPH中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的 。 同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問(wèn)題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),斷優(yōu)先權(quán)排隊(duì)問(wèn)題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如由中斷系

45、統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如所示:所示: 設(shè)置設(shè)置52單片機(jī)的單片機(jī)的4個(gè)中斷源個(gè)中斷源,使他們的優(yōu)順使他們的優(yōu)順序?yàn)樾驗(yàn)門1,INT1,INT0,T0.IPH = 0X08;PT1 = 1;IP = 0X40;PX1 = 1;80C51單片機(jī)的中斷優(yōu)先級(jí)有三條原則:?jiǎn)纹瑱C(jī)的中斷優(yōu)先級(jí)有三條原則:CPU同時(shí)接收到幾個(gè)中斷時(shí),同時(shí)接收到幾個(gè)中斷時(shí),首先響應(yīng)優(yōu)先級(jí)別最首先響應(yīng)優(yōu)先級(jí)別最高的中斷請(qǐng)求高的中斷請(qǐng)求。正在進(jìn)行的中斷過(guò)程正在進(jìn)行的中斷過(guò)程不能被新的同級(jí)或低優(yōu)先級(jí)的不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷中斷請(qǐng)求所中斷。正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù),正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù),能被高優(yōu)

46、先級(jí)中斷能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷請(qǐng)求所中斷。 為了實(shí)現(xiàn)上述后兩條原則,為了實(shí)現(xiàn)上述后兩條原則,中斷系統(tǒng)內(nèi)部設(shè)有兩中斷系統(tǒng)內(nèi)部設(shè)有兩個(gè)用戶不能尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器。個(gè)用戶不能尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器。其中一個(gè)置其中一個(gè)置1,表示正在響應(yīng)高優(yōu)先級(jí)的中斷,它將阻斷后來(lái)所有表示正在響應(yīng)高優(yōu)先級(jí)的中斷,它將阻斷后來(lái)所有的中斷請(qǐng)求;另一個(gè)置的中斷請(qǐng)求;另一個(gè)置1,表示正在響應(yīng)低優(yōu)先級(jí)中,表示正在響應(yīng)低優(yōu)先級(jí)中斷,它將阻斷后來(lái)所有的低優(yōu)先級(jí)中斷請(qǐng)求。斷,它將阻斷后來(lái)所有的低優(yōu)先級(jí)中斷請(qǐng)求。3.2 80C51單片機(jī)中斷處理過(guò)程單片機(jī)中斷處理過(guò)程 中斷響應(yīng)條件中斷響應(yīng)條件 中斷源有中斷請(qǐng)求;中斷源有中斷請(qǐng)求;

47、 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開中斷(即開中斷(即EA=1)。)。以上三條同時(shí)滿足時(shí),以上三條同時(shí)滿足時(shí),CPU才有可能響才有可能響應(yīng)中斷應(yīng)中斷。3.2.1 3.2.1 中斷響應(yīng)條件和時(shí)間中斷響應(yīng)條件和時(shí)間 3.3 80C51的定時(shí)的定時(shí)/計(jì)數(shù)器計(jì)數(shù)器 實(shí)現(xiàn)定時(shí)功能,實(shí)現(xiàn)定時(shí)功能,比較方便的辦法是利用單比較方便的辦法是利用單片機(jī)內(nèi)部的定時(shí)片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器計(jì)數(shù)器。也可以采用下面三。也可以采用下面三種方法:種方法:軟件定時(shí)軟件定時(shí):軟件定時(shí)不占用硬件資源,但占用了:軟件定時(shí)不占用硬件資源,但占用了CPU時(shí)間,降低了時(shí)間,降低了CPU的利用率。的利用率。采用時(shí)基電路

48、定時(shí)采用時(shí)基電路定時(shí):例如采用:例如采用555電路,外接必要電路,外接必要的元器件(電阻和電容),即可構(gòu)成硬件定時(shí)電路。的元器件(電阻和電容),即可構(gòu)成硬件定時(shí)電路。但在硬件連接好以后,定時(shí)值與定時(shí)范圍不能由軟但在硬件連接好以后,定時(shí)值與定時(shí)范圍不能由軟件進(jìn)行控制和修改,即不可編程。件進(jìn)行控制和修改,即不可編程。采用可編程芯片定時(shí)采用可編程芯片定時(shí):這種定時(shí)芯片的定時(shí)值及定:這種定時(shí)芯片的定時(shí)值及定時(shí)范圍很容易用軟件來(lái)確定和修改,此種芯片定時(shí)時(shí)范圍很容易用軟件來(lái)確定和修改,此種芯片定時(shí)功能強(qiáng),使用靈活。在單片機(jī)的定時(shí)功能強(qiáng),使用靈活。在單片機(jī)的定時(shí)/計(jì)數(shù)器不夠用計(jì)數(shù)器不夠用時(shí),可以考慮進(jìn)行擴(kuò)展

49、。時(shí),可以考慮進(jìn)行擴(kuò)展。3.3.1 3.3.1 定時(shí)定時(shí)/ /計(jì)數(shù)器的結(jié)構(gòu)和工作原理計(jì)數(shù)器的結(jié)構(gòu)和工作原理 一、定時(shí)一、定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)計(jì)數(shù)器的結(jié)構(gòu) 定時(shí)定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(計(jì)數(shù)器(16位),由高位),由高8位和低位和低8位兩個(gè)寄存器組成。位兩個(gè)寄存器組成。TMOD是定時(shí)是定時(shí)/計(jì)數(shù)器的工作方式寄存計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;器,確定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。 二、定時(shí)二、定時(shí)/計(jì)數(shù)器的工作原理計(jì)數(shù)器的工作原理 加加1計(jì)數(shù)器計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)

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

51、則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。則表示計(jì)數(shù)值已滿。 可見,由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加可見,由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加1計(jì)數(shù)器的計(jì)數(shù)值計(jì)數(shù)器的計(jì)數(shù)值。 設(shè)置為定時(shí)器模式時(shí)設(shè)置為定時(shí)器模式時(shí),加,加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(計(jì)數(shù)(1個(gè)機(jī)器周期等于個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的為晶振頻率的1/12)。)。計(jì)數(shù)值計(jì)數(shù)值N乘以機(jī)器周期乘以機(jī)器周期Tcy就就是定時(shí)時(shí)間是定時(shí)時(shí)間t 。設(shè)置為設(shè)置為計(jì)數(shù)器模式時(shí)計(jì)數(shù)器模式時(shí),外部事件計(jì)數(shù)脈沖由,外部事件計(jì)數(shù)脈沖由T0或或T1引腳輸入到計(jì)數(shù)器。在每

52、個(gè)機(jī)器周期的引腳輸入到計(jì)數(shù)器。在每個(gè)機(jī)器周期的S5P2期間采期間采樣樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時(shí),則計(jì)數(shù)器加而下一周期又采樣到一低電平時(shí),則計(jì)數(shù)器加1,更,更新的計(jì)數(shù)值在下一個(gè)機(jī)器周期的新的計(jì)數(shù)值在下一個(gè)機(jī)器周期的S3P1期間裝入計(jì)數(shù)期間裝入計(jì)數(shù)器。由于檢測(cè)一個(gè)從器。由于檢測(cè)一個(gè)從1到到0的下降沿需要的下降沿需要2個(gè)機(jī)器周期,個(gè)機(jī)器周期,因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。當(dāng)因此要求被采樣的電平至少要維持一個(gè)機(jī)器周期。當(dāng)晶振頻率為晶振頻率為12MHz時(shí)時(shí),最高計(jì)數(shù)頻率不超過(guò),最高計(jì)數(shù)頻率不超過(guò)1/2

53、MHz,即計(jì)數(shù)脈沖的周期要大于即計(jì)數(shù)脈沖的周期要大于2 s。 3.3.2 定時(shí)定時(shí)/計(jì)數(shù)器的控制計(jì)數(shù)器的控制 80C51單片機(jī)定時(shí)單片機(jī)定時(shí)/計(jì)數(shù)器的工作由兩個(gè)特殊功計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。能寄存器控制。TMOD用于設(shè)置其工作方式;用于設(shè)置其工作方式;TCON用于控制其啟動(dòng)和中斷申請(qǐng)。用于控制其啟動(dòng)和中斷申請(qǐng)。一、工作方式寄存器一、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于設(shè)置定時(shí)用于設(shè)置定時(shí)/計(jì)數(shù)器的計(jì)數(shù)器的工作方式,低四位用于工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式。其格式如下:如下:GATE:門控位。:門控位。GATE0時(shí),只要用軟

54、件使時(shí),只要用軟件使TCON中的中的TR0或或TR1為為1,就可以啟動(dòng)定時(shí),就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;計(jì)數(shù)器工作;GATA1時(shí),時(shí),要用軟件使要用軟件使TR0或或TR1為為1,同時(shí)外部中斷引腳或也為高電,同時(shí)外部中斷引腳或也為高電平時(shí),才能啟動(dòng)定時(shí)平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。即此時(shí)定時(shí)器的啟動(dòng)多計(jì)數(shù)器工作。即此時(shí)定時(shí)器的啟動(dòng)多了一條件。了一條件。 :定時(shí)定時(shí)/計(jì)數(shù)模式選擇位。計(jì)數(shù)模式選擇位。 0為定時(shí)模式;為定時(shí)模式; =1為計(jì)數(shù)模式。為計(jì)數(shù)模式。M1M0:工作方式設(shè)置位。定時(shí):工作方式設(shè)置位。定時(shí)/計(jì)數(shù)器有四種工作方式,計(jì)數(shù)器有四種工作方式,由由M1M0進(jìn)行設(shè)置。進(jìn)行設(shè)置。C/TC/T

55、C/T 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中斷位用于控制外部中斷,已在前面介紹。已在前面介紹。TCON的高的高4位用于位用于控制定時(shí)控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下:計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下:TF1(TCON.7):):T1溢出中斷請(qǐng)求標(biāo)志位。溢出中斷請(qǐng)求標(biāo)志位。T1計(jì)數(shù)溢出時(shí)由硬件自計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置動(dòng)置TF1為為1。CPU響應(yīng)中斷后響應(yīng)中斷后TF1由硬件自動(dòng)清由硬件自動(dòng)清0。T1工作時(shí),工作時(shí),CPU可隨時(shí)查詢可隨時(shí)查詢TF1的狀態(tài)。所以,的狀態(tài)。所以,TF1可用作查詢測(cè)試的標(biāo)志。可用作查詢測(cè)試的標(biāo)志。TF1也可也可以用軟件置以

56、用軟件置1或清或清0,同硬件置,同硬件置1或清或清0的效果一樣。的效果一樣。TR1(TCON.6):):T1運(yùn)行控制位。運(yùn)行控制位。TR1置置1時(shí),時(shí),T1開始工作;開始工作;TR1置置0時(shí),時(shí),T1停止工作。停止工作。TR1由軟件置由軟件置1或清或清0。所以,用軟件可控制定時(shí)。所以,用軟件可控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止。計(jì)數(shù)器的啟動(dòng)與停止。TF0(TCON.5):):T0溢出中斷請(qǐng)求標(biāo)志位,其功能與溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類同。類同。TR0(TCON.4):):T0運(yùn)行控制位,其功能與運(yùn)行控制位,其功能與TR1類同。類同。 3.3.3 定時(shí)定時(shí)/計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式 一

57、、方式一、方式0 方式方式0為為13位計(jì)數(shù)位計(jì)數(shù),由,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位組成。位組成。TL0的低的低5位溢出時(shí)向位溢出時(shí)向TH0進(jìn)位,進(jìn)位,TH0溢出時(shí),溢出時(shí),置位置位TCON中的中的TF0標(biāo)志,向標(biāo)志,向CPU發(fā)出中斷請(qǐng)求。發(fā)出中斷請(qǐng)求。定時(shí)器模式時(shí)定時(shí)器模式時(shí)有有:Nt/ Tcy 計(jì)數(shù)初值計(jì)算的公式為:計(jì)數(shù)初值計(jì)算的公式為:定時(shí)器的初值還可以采用計(jì)數(shù)個(gè)數(shù)直接取補(bǔ)法獲得定時(shí)器的初值還可以采用計(jì)數(shù)個(gè)數(shù)直接取補(bǔ)法獲得。計(jì)數(shù)模式時(shí),計(jì)數(shù)脈沖是計(jì)數(shù)模式時(shí),計(jì)數(shù)脈沖是T0引腳上的外部脈沖。引腳上的外部脈沖。13X=2 -N門控位門控位GATE具有特殊的

58、作用。當(dāng)具有特殊的作用。當(dāng)GATE=0時(shí),經(jīng)反相后使時(shí),經(jīng)反相后使或門輸出為或門輸出為1,此時(shí)僅由,此時(shí)僅由TR0控制與門的開啟,與門輸出控制與門的開啟,與門輸出1時(shí),控制開關(guān)接通,計(jì)數(shù)開始;時(shí),控制開關(guān)接通,計(jì)數(shù)開始;當(dāng)當(dāng)GATE=1時(shí)時(shí),由外中斷引,由外中斷引腳信號(hào)控制或門的輸出,此時(shí)控制腳信號(hào)控制或門的輸出,此時(shí)控制與門的開啟由外中斷引與門的開啟由外中斷引腳信號(hào)和腳信號(hào)和TR0共同控制共同控制。當(dāng)。當(dāng)TR0=1時(shí),外中斷引腳信號(hào)引腳時(shí),外中斷引腳信號(hào)引腳的的高電平啟動(dòng)計(jì)數(shù)高電平啟動(dòng)計(jì)數(shù),外中斷引腳信號(hào)引腳的,外中斷引腳信號(hào)引腳的低電平停止計(jì)低電平停止計(jì)數(shù)數(shù)。這種方式常用來(lái)測(cè)量外中斷引腳上

59、正脈沖的寬度。這種方式常用來(lái)測(cè)量外中斷引腳上正脈沖的寬度。 16X=2 -N二、方式二、方式1 方式方式1的計(jì)數(shù)位數(shù)是的計(jì)數(shù)位數(shù)是16位,由位,由TL0作為低作為低8位、位、TH0作為高作為高8位,組成了位,組成了16位加位加1計(jì)數(shù)器計(jì)數(shù)器 。計(jì)數(shù)個(gè)數(shù)與計(jì)數(shù)初值的關(guān)系為:計(jì)數(shù)個(gè)數(shù)與計(jì)數(shù)初值的關(guān)系為: 8X=2 -N三、方式三、方式2 方式方式2為自動(dòng)重裝初值的為自動(dòng)重裝初值的8位計(jì)數(shù)方式。位計(jì)數(shù)方式。 工作方式2特別適合于用作較精確的脈沖信號(hào)發(fā)生器。 計(jì)數(shù)個(gè)數(shù)與計(jì)數(shù)初值的關(guān)系為計(jì)數(shù)個(gè)數(shù)與計(jì)數(shù)初值的關(guān)系為: 四、方式四、方式3 方式方式3只適用于定時(shí)只適用于定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0,定時(shí)器定時(shí)器T

60、1處于方式處于方式3時(shí)相當(dāng)時(shí)相當(dāng)于于TR1=0,停止計(jì)數(shù)。,停止計(jì)數(shù)。 工作方式工作方式3將將T0分成為兩個(gè)獨(dú)立的分成為兩個(gè)獨(dú)立的8位計(jì)數(shù)器位計(jì)數(shù)器TL0和和TH0 。 3.3.4 定時(shí)定時(shí)/計(jì)數(shù)器應(yīng)用舉例計(jì)數(shù)器應(yīng)用舉例 初始化程序應(yīng)完成如下工作:初始化程序應(yīng)完成如下工作:對(duì)對(duì)TMOD賦值,以確定賦值,以確定T0和和T1的工作方式。的工作方式。計(jì)算初值計(jì)算初值,并將其寫入并將其寫入TH0、TL0或或TH1、TL1。中斷方式時(shí),則對(duì)中斷方式時(shí),則對(duì)IE賦值,開放中斷。賦值,開放中斷。使使TR0或或TR1置位,啟動(dòng)定時(shí)置位,啟動(dòng)定時(shí)/計(jì)數(shù)器定時(shí)或計(jì)數(shù)。計(jì)數(shù)器定時(shí)或計(jì)數(shù)。 例例 利用定時(shí)利用定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T1的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論