郭天祥10天學(xué)會(huì)單片機(jī)PPT課件完整版(1)匯編_第1頁(yè)
郭天祥10天學(xué)會(huì)單片機(jī)PPT課件完整版(1)匯編_第2頁(yè)
郭天祥10天學(xué)會(huì)單片機(jī)PPT課件完整版(1)匯編_第3頁(yè)
郭天祥10天學(xué)會(huì)單片機(jī)PPT課件完整版(1)匯編_第4頁(yè)
郭天祥10天學(xué)會(huì)單片機(jī)PPT課件完整版(1)匯編_第5頁(yè)
已閱讀5頁(yè),還剩206頁(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é)單片機(jī)需要什么基礎(chǔ)? 什么是單片機(jī)、單片機(jī)能做什么、怎么開(kāi)始 學(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ā)光二極管開(kāi)始 學(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)系等;與、或、非邏輯關(guān)系等; 對(duì)各種器

2、件的概念基本上是從對(duì)各種器件的概念基本上是從0開(kāi)始;開(kāi)始; 如果要用如果要用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)稱單板機(jī))。 單板

3、機(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位并口、位并

4、口、1個(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)

5、品:洗衣機(jī)、電冰箱、空調(diào)機(jī)、 電視機(jī)、微波爐、手機(jī)、IC卡、汽車電子設(shè) 備等。 通訊方面:調(diào)制解調(diào)器、程控交換技術(shù)、手 機(jī)、小靈通等。 武器裝備:飛機(jī)、軍艦、坦克、導(dǎo)彈、航天 飛機(jī)、魚雷制導(dǎo)、智能武器等。 等等. 怎么開(kāi)始學(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ī)為

6、TTL電平: 高 +5V 低 0V RS232電平:計(jì)算機(jī)的串口 高 -12V 低+12V 所以計(jì)算機(jī)與單片機(jī)之間通訊時(shí)需要加電 平轉(zhuǎn)換芯片max232(實(shí)驗(yàn)板上左下角)。 二進(jìn)制 數(shù)字電路中的兩種電平特性決定了它 0 0 6 110 1 17111 2 1081000 3 1191001 4 100101010 5 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)換

7、 成十進(jìn)制數(shù),再把十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制 數(shù)。 如:0001B - 1 - 1H 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)制 000910019 111101010A 2102111011B 3113121100C 41004131101D 51015141110E 61106151111F 71117161000010 810008 二進(jìn)制數(shù)的邏輯運(yùn)算二進(jìn)制數(shù)的邏輯運(yùn)算 1. “與與”運(yùn)算運(yùn)算 “與”

8、運(yùn)算是實(shí)現(xiàn)“必須都有,否 則就沒(méi)有”這種邏輯關(guān)系的一種運(yùn)算。 運(yùn)算符為“ ”, 其運(yùn)算規(guī)則如下: 00=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ī)則如下: A 10, 01 4. “異或異或”運(yùn)算運(yùn)算 “異或”運(yùn)算是實(shí)現(xiàn)“必須不同, 否則就沒(méi)有”這種邏輯的一種運(yùn)算, 運(yùn) 算符為“”。其運(yùn)算規(guī)則是: 011 , 1

9、01 , 110 , 000 80C51 80C51系列介紹系列介紹 Intel的:的:80C31、80C51、87C51,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為基核為基核開(kāi)發(fā)出的開(kāi)發(fā)出的CMOS工藝工藝 單片機(jī)產(chǎn)品單片機(jī)產(chǎn)品統(tǒng)稱為統(tǒng)稱為80C51系列系列。

10、當(dāng)前常用的。當(dāng)前常用的 80C51系列單片機(jī)主要產(chǎn)品有:系列單片機(jī)主要產(chǎn)品有: 80C5180C51的引腳封裝的引腳封裝 總線型總線型 非總線型非總線型 第二功能各引腳功能定義: 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與其它部件之間的連線。 外部總線有三種:

11、 數(shù)據(jù)總線DB(Data Bus), 地址總線 AB(Address Bus)和控制總線 CBControl Bus)。 CPU:由運(yùn)算和控制邏輯組成,同時(shí)還包括:由運(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口,既可用作輸入,口,既可用作輸入, 也可用作輸出;也可用作

12、輸出; T/C:兩個(gè)定時(shí):兩個(gè)定時(shí)/記數(shù)器,既可以工作在定時(shí)記數(shù)器,既可以工作在定時(shí) 模式,也可以工作在記數(shù)模式;模式,也可以工作在記數(shù)模式; 五個(gè)中斷源的中斷控制系統(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ǔ)

13、言是一種編譯型程序設(shè)計(jì)語(yǔ)言,它兼顧了 多種高級(jí)語(yǔ)言的特點(diǎn),并具備匯編語(yǔ)言的功 能。目前,使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)已經(jīng)成為 軟件開(kāi)發(fā)的一個(gè)主流。用C語(yǔ)言開(kāi)發(fā)系統(tǒng)可以 大大縮短開(kāi)發(fā)周期,明顯增強(qiáng)程序的可讀性, 便于改進(jìn)、擴(kuò)充和移植。而針對(duì)8051的C語(yǔ) 言日趨成熟,成為了專業(yè)化的實(shí)用高級(jí)語(yǔ)言。 C C語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛 的支持,很多硬件開(kāi)發(fā)都用的支持,很多硬件開(kāi)發(fā)都用C C語(yǔ)言編程,如:語(yǔ)言編程,如: 各種單片機(jī)、各種單片機(jī)、DSPDSP、ARMARM等等. . C C語(yǔ)言程序本身不依賴于機(jī)器硬件系統(tǒng),基語(yǔ)言程序本身不依賴于機(jī)器硬件系統(tǒng),基 本上

14、不作修改就可將程序從不同的單片機(jī)中本上不作修改就可將程序從不同的單片機(jī)中 移植過(guò)來(lái)。移植過(guò)來(lái)。 C C提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開(kāi)提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開(kāi) 發(fā)效率高,故可縮短開(kāi)發(fā)時(shí)間,增加程序可發(fā)效率高,故可縮短開(kāi)發(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ù)

15、寄存器分配、不同存貯器的尋址及數(shù) 據(jù)類型等細(xì)節(jié)可由編譯器管理;據(jù)類型等細(xì)節(jié)可由編譯器管理; 3.3. 程序有規(guī)范的結(jié)構(gòu),可分成不同的函程序有規(guī)范的結(jié)構(gòu),可分成不同的函 數(shù),這種方式可使程序結(jié)構(gòu)化;數(shù),這種方式可使程序結(jié)構(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)鍵字 數(shù)的表示范圍數(shù)的表示范圍所占位數(shù)所占位

16、數(shù) 整型整型字符型字符型實(shí)型實(shí)型 有有 無(wú)無(wú) (signed) int 16 -3276832767 (signed) short16 -3276832767 (signed) long32-21474836482147483647 16 unsigned int065535 3204294967295 unsigned long int unsigned short int 16 065535 有有float 323.4e-383.4e38 有有 double 641.7e-3081.7e308 有有char 8 -128127 無(wú)無(wú)unsigned char8 0255 C C語(yǔ)言中的基本

17、數(shù)據(jù)類型語(yǔ)言中的基本數(shù)據(jù)類型 類型類型符號(hào)符號(hào)關(guān)鍵字關(guān)鍵字 數(shù)的表示范圍數(shù)的表示范圍所占位數(shù)所占位數(shù) 整型整型字符型字符型實(shí)型實(shí)型 有有 無(wú)無(wú) (signed) int 16 -3276832767 (signed) short16 -3276832767 (signed) long32-21474836482147483647 16 unsigned int065535 3204294967295 unsigned long int unsigned short int 16 065535 有有float 323.4e-383.4e38 有有 double 641.7e-3081.7e308

18、 有有char 8 -128127 無(wú)無(wú)unsigned char8 0255 C C5151的數(shù)據(jù)類型擴(kuò)充定義的數(shù)據(jù)類型擴(kuò)充定義 sfr:sfr:特殊功能寄存器聲明特殊功能寄存器聲明 sfr16:sfrsfr16:sfr的的1616位數(shù)據(jù)聲明位數(shù)據(jù)聲明 sbit:sbit:特殊功能位聲明特殊功能位聲明 bitbit: :位變量聲明位變量聲明 例:例:sfr SCON = 0X98;sfr SCON = 0X98; sfr16 T2 = 0 xCC;sfr16 T2 = 0 xCC; sbit OV = PSW2;sbit OV = PSW2; 例:例: 數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名 cha

19、r 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的包含的頭文件的包含的頭文件 通常有通常有: :reg51.h reg52.h math.h reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.hctype.h stdio.h st

20、dlib.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ǔ)言基本相同: + - + - * * / / (加(加 減減 乘乘 除)除) = = (位右移(位右移 位左移)位左移) sbit beep=P23; 單片機(jī)主要掌握以下幾點(diǎn) 最小系統(tǒng)能夠運(yùn)行起來(lái)的必要條件。 1.電源 2.晶振3.復(fù)位電路 對(duì)單片機(jī)任意IO口的隨意操作 1.輸出控制

21、電平高低2.輸出檢測(cè)電平高低。 定時(shí)器:重點(diǎn)掌握最常用的方式2 中斷:外部中斷、定時(shí)器中斷、串口中斷 串口通信:?jiǎn)纹瑱C(jī)之間、單片機(jī)與計(jì)算機(jī)間 KEIL的使用 掌握KEIL工程的建立和軟件的開(kāi)發(fā); 掌握KEIL中軟件仿真的基本應(yīng)用; 掌握用KEIL直接硬件仿真TX-1C單片機(jī)學(xué)習(xí) 板的方法 Main 函數(shù) 格式:void main() 特點(diǎn):無(wú)返回值,無(wú)參。 任何一個(gè)C程序有且僅有一個(gè)main函 數(shù),它是整個(gè)程序開(kāi)始執(zhí)行的入口。 例:void main() 總程序從這里開(kāi)始執(zhí)行; 其他語(yǔ)句; 課后練習(xí) 對(duì)照TX-1C單片機(jī)學(xué)習(xí)板原理圖寫程序 用位操作和總線操作兩種方法完成以下題目 1.熟練建立K

22、EIL工程 2.點(diǎn)亮第一個(gè)發(fā)光管. 3.點(diǎn)亮最后一個(gè)發(fā)光管 4.點(diǎn)亮1、3、5、7 5.點(diǎn)亮二、四、五、六 6.嘗試讓第一個(gè)發(fā)光管閃爍 7.嘗試設(shè)計(jì)出流水燈程序 自己動(dòng)手實(shí)踐需要硬件材料 DIP40腳座一個(gè)。 杜邦線,單頭帶冒,40根。 單排針 兩排。 小電路板一塊。 DS12C887 一片(舊10元,新22元)。 焊錫、 單片機(jī)工作的基本時(shí)序單片機(jī)工作的基本時(shí)序 機(jī)器周期和指令周期機(jī)器周期和指令周期 (1) 振蕩周期振蕩周期: 也稱時(shí)鐘周期也稱時(shí)鐘周期, 是指為單片機(jī)提是指為單片機(jī)提 供時(shí)鐘脈沖信號(hào)的振蕩源的周期,供時(shí)鐘脈沖信號(hào)的振蕩源的周期,TX實(shí)驗(yàn)板上為實(shí)驗(yàn)板上為 11.0592MHZ。

23、 (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ú)立的操作。 (4) 指令周期指令周期: 它是指它是指CPU完成一條操作所需完成一條操作所需 的全部時(shí)間。的全部時(shí)間。 每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè)每條指令執(zhí)行時(shí)間都是有一個(gè)或幾個(gè) 機(jī)器周期組成。機(jī)器周期組成。MCS -

24、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)繼電器 集電極開(kāi)路的概念及應(yīng)用。 While (表達(dá)式) 語(yǔ)句(內(nèi)部也可為空) 特點(diǎn):先判斷表達(dá)式,后執(zhí)行語(yǔ) 句。 原則:若表達(dá)式不是0,即為真 ,那么執(zhí)行語(yǔ)句。否則跳出while 語(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é)束

25、for 語(yǔ)句,直 接跳出,不再執(zhí)行第3步。 3.求解表達(dá)式3. 4.跳到第2步重復(fù)執(zhí)行。 集電極開(kāi)路典型圖 P0i Q1 9013 VCC GND OUTPUT 課后練習(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è)發(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)制

26、數(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ù)亮,循環(huán)三次;一個(gè)燈上下循環(huán)先奇數(shù)亮再偶數(shù)亮,循環(huán)三次;一個(gè)燈上下循環(huán) 三次;兩個(gè)分別從兩邊往中間流動(dòng)三次;再?gòu)闹虚g往兩邊流三次;兩個(gè)分別從兩邊往中間

27、流動(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):段顯示(7段、 米字型等)和點(diǎn)陣顯示(58、88點(diǎn)陣等)。 使用LED顯示器時(shí),要注意區(qū)分這兩種不同的接法。為了顯 示數(shù)字或字符,必須

28、對(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ù) 的編碼已列在下表。 a b cde g GND f dp GND a b c e f g d dp a b c d e f g dp dp g f e d c b a 5V (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 x7f , 0 x6f , 0 x77 , 0 x7c ,

29、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)在一起,由位選線控制是哪一位數(shù)碼管有效。 選亮數(shù)碼管采用動(dòng)態(tài)掃

30、描顯示。所謂動(dòng)態(tài)掃描顯 示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選, 利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的 感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的 亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻 時(shí)應(yīng)略小于靜態(tài)顯示電路中的。 ALE WR RD RXD TXD INT0 EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P0

31、6 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 VCC 40 GND 20 U1 89C52 PSEN P10 P11 P12 P13 P14 P15 P16 P17 T0 T1 INT1 P00 P01 P02 P03 P04 P05 P06 P07 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 P20 P21 P22 P23 a bf c g d e DPY 1

32、1 7 4 2 1 10 5 ab cd e fg 3 dp dp a bf c g d e dp a bf c g d e dp a bf c g d e dp C0 6 C2 8 C3 9 C4 12 LED DPY 4-LED 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 R 1K P00 P01 P02 P03 P04 P05 P06 P07 5V K9 9 K10 A K15 F P10 P11 P12 P13 P14 P15 P16 P17 EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 1

33、3 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 VCC 40 GND 20 U1 89C52 P10 P11 P12 P13 P14 P15 P16 P17 K0 0 K1 1 K2 2 K3 3 K5 5 K6 6 K7 7 K8 8

34、K4 4 K11 B K12 C K13 D K14 E 中斷系統(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)事 件件

35、A A被中斷的地方繼續(xù)處理事件被中斷的地方繼續(xù)處理事件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)上述中斷功能的部件

36、稱為稱為中斷返回。實(shí)現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)中斷系統(tǒng)(中(中 斷機(jī)構(gòu))。斷機(jī)構(gòu))。 隨著計(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具有處

37、理設(shè)備故障及掉電具有處理設(shè)備故障及掉電 等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。等突發(fā)性事件能力,從而使系統(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)

38、IE0(TCON.1) 置置1 1,向,向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 2 2、(P3.3(P3.3)可由)可由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ù)

39、器計(jì)數(shù)器T0T0發(fā)生發(fā)生 溢出時(shí),置位溢出時(shí),置位TF0TF0,并向,并向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 4 4、TF1TF1(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ā)送完一幀

40、串行數(shù)據(jù)或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù) 時(shí)置位時(shí)置位TITI,向,向CPUCPU申請(qǐng)中斷。申請(qǐng)中斷。 二、中斷請(qǐng)求標(biāo)志二、中斷請(qǐng)求標(biāo)志 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)

41、求標(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),定時(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ù)寫入串行口

42、發(fā)送緩沖器時(shí),將一個(gè)發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí), 就啟動(dòng)了發(fā)送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬就啟動(dòng)了發(fā)送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬 件置位件置位TI。CPU響應(yīng)中斷時(shí),不能自動(dòng)清除響應(yīng)中斷時(shí),不能自動(dòng)清除TI, TI必須由軟件清除。必須由軟件清除。 一、中斷允許控制一、中斷允許控制 CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏 蔽是由中斷允許寄存器蔽是由中斷允許寄存器IE控制的??刂频?。 3.1.3 80C513.1.3 80C51中斷的控制中斷的控制 EX0(IE.0),外部中斷,外部中斷0允許位;允許位; ET0(IE.1),定時(shí),定時(shí)

43、/計(jì)數(shù)器計(jì)數(shù)器T0中斷允許位;中斷允許位; EX1(IE.2),外部中斷,外部中斷0允許位;允許位; ET1(IE.3),定時(shí),定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T1中斷允許位;中斷允許位; 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ī)定的

44、 。 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),外部中斷),外部中斷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)

45、先級(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í)設(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í)中

46、的中斷申請(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í)形成,其排列如由中斷系統(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í)別

47、最首先響應(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)先級(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,

48、表示正在響應(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)求; 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開(kāi)中斷(即開(kāi)中斷(即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í)功能,比較方便的辦法是利用單比較方便的辦法

49、是利用單 片機(jī)內(nèi)部的定時(shí)片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器計(jì)數(shù)器。也可以采用下面三。也可以采用下面三 種方法:種方法: 軟件定時(shí)軟件定時(shí):軟件定時(shí)不占用硬件資源,但占用了:軟件定時(shí)不占用硬件資源,但占用了 CPU時(shí)間,降低了時(shí)間,降低了CPU的利用率。的利用率。 采用時(shí)基電路定時(shí)采用時(shí)基電路定時(shí):例如采用:例如采用555電路,外接必要電路,外接必要 的元器件(電阻和電容),即可構(gòu)成硬件定時(shí)電路。的元器件(電阻和電容),即可構(gòu)成硬件定時(shí)電路。 但在硬件連接好以后,定時(shí)值與定時(shí)范圍不能由軟但在硬件連接好以后,定時(shí)值與定時(shí)范圍不能由軟 件進(jìn)行控制和修改,即不可編程。件進(jìn)行控制和修改,即不可編程。 采用可編程芯片

50、定時(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ò)展。時(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ù)器的

51、工作方式寄存計(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)源輸入的計(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è)脈 沖

52、就使計(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ù)模式,式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式, 則表示計(jì)數(shù)值已滿。則表示計(jì)數(shù)值已滿。 可見(jiàn),由溢出時(shí)計(jì)數(shù)器的值減去計(jì)數(shù)初值才是加可見(jiàn),由溢出時(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ì)

53、數(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ù)器。在每個(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ì)

54、數(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/2MHz, 即計(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è)置其工作方式; T

55、CON用于控制其啟動(dòng)和中斷申請(qǐng)。用于控制其啟動(dòng)和中斷申請(qǐng)。 一、工作方式寄存器一、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于設(shè)置定時(shí)用于設(shè)置定時(shí)/計(jì)數(shù)器的計(jì)數(shù)器的 工作方式,低四位用于工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式。其格式 如下:如下: GATE:門控位。:門控位。GATE0時(shí),只要用軟件使時(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í)

56、,才能啟動(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/TC/T 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中斷位用于控制外部中斷,已在前面介紹。已在前面介紹。TCON的高的高4位用于位用于 控制定時(shí)控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下:計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格

57、式如下: 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)志??捎米鞑樵儨y(cè)試的標(biāo)志。TF1也可也可 以用軟件置以用軟件置1或清或清0,同硬件置,同硬件置1或清或清0的效果一樣。的效果一樣。 TR1(TCON.6):):T1運(yùn)行控制位。運(yùn)行控制位。TR1置置1時(shí),時(shí),T1開(kāi)始工作;開(kāi)始工作;TR1置置 0時(shí),時(shí),T1停止工作。停止工作。TR1由軟

58、件置由軟件置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ù)器的工作方式 一、方式一、方式0 方式方式0為為13位計(jì)數(shù)位計(jì)數(shù),由,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0 的的8位組成。位組成。TL0的低的低5位溢出時(shí)向位溢出時(shí)向TH0進(jìn)位,進(jìn)位,TH0溢出時(shí),溢出時(shí), 置位置位T

59、CON中的中的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引腳上的外部脈沖。引腳上的外部脈沖。 13 X=2 -N 門控位門控位GATE具有特殊的作用。當(dāng)具有特殊的作用。當(dāng)GATE=0時(shí),經(jīng)反相后使時(shí),經(jīng)反相后使 或門輸出為或門輸出為1,此時(shí)僅由,此時(shí)僅由TR0控制與門的開(kāi)啟,與門輸出控制與門的開(kāi)啟,與門輸出1 時(shí),控制開(kāi)關(guān)接通,計(jì)數(shù)開(kāi)始;時(shí),控制開(kāi)關(guān)

60、接通,計(jì)數(shù)開(kāi)始;當(dāng)當(dāng)GATE=1時(shí)時(shí),由外中斷引,由外中斷引 腳信號(hào)控制或門的輸出,此時(shí)控制腳信號(hào)控制或門的輸出,此時(shí)控制與門的開(kāi)啟由外中斷引與門的開(kāi)啟由外中斷引 腳信號(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è)量外中斷引腳上正脈沖的寬度。這種方式常用來(lái)測(cè)量外中斷引腳上正脈沖的寬度。 16 X=2 -N 二、方式二、方式1 方式方式1的計(jì)數(shù)位數(shù)是的計(jì)數(shù)位數(shù)是16位,由位,由TL0作為低作為低8位、位、TH0 作為高作為

溫馨提示

  • 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)論