




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、十天學會單片機 完整版第一講n 學單片機需要什么基礎?學單片機需要什么基礎?n 什么是單片機、單片機能做什么、怎么開始學習單片機。什么是單片機、單片機能做什么、怎么開始學習單片機。n 學單片機需要的一些預備知識學單片機需要的一些預備知識n C51基礎知識。基礎知識。n 了解了解TX-1C單片機學習板系統結構單片機學習板系統結構n 如何用如何用TX-1C單片機學習板在短時間內掌握單片機學習板在短時間內掌握51單片機和單片機和C語言編程。語言編程。n KEIL工程建立詳細介紹及工程建立詳細介紹及KEIL軟件使用方法軟件使用方法n 從點亮實驗板上的一個發光二極管開始從點亮實驗板上的一個發光二極管開始
2、學單片機需要什么基礎?與以前所學的知識關聯很少;與以前所學的知識關聯很少;只需要掌握很基本的數電模電知識,如只需要掌握很基本的數電模電知識,如二進制、十進制、十六進制之間的轉換,二進制、十進制、十六進制之間的轉換,與、或、非邏輯關系等;與、或、非邏輯關系等;對各種器件的概念基本上是從對各種器件的概念基本上是從0開始;開始;如果要用如果要用C語言編程,需具備簡單的語言編程,需具備簡單的C語語言基礎;言基礎;所有人都站在了同一起跑線上所有人都站在了同一起跑線上; 什么是單片機?什么是單片機?單板機單板機 將將CPU芯片、芯片、存儲器存儲器芯片、芯片、I/O接口接口芯片和芯片和簡單的簡單的I/O設備
3、設備(小鍵盤、(小鍵盤、LED顯示器)等裝顯示器)等裝配在一塊印刷電路板上,再配上配在一塊印刷電路板上,再配上監控程序監控程序(固(固化在化在ROM中),就構成了一臺單板微型計算中),就構成了一臺單板微型計算機(簡稱單板機)。機(簡稱單板機)。單板機單板機單板機的單板機的I/O設備簡單,軟件資設備簡單,軟件資源少,使用不方便。早期主要用源少,使用不方便。早期主要用于微型計算機原理的于微型計算機原理的教學教學及及簡單簡單的測控系統的測控系統,現在已很少使用。,現在已很少使用。 單片機單片機 在一片集成電路芯片上集成微處理器、在一片集成電路芯片上集成微處理器、存儲器、存儲器、I/O接口電路,從而構
4、成了接口電路,從而構成了單芯片單芯片微型計算機,即單片機微型計算機,即單片機。 Intel公司推出了公司推出了MCS-51系列單片機:系列單片機:集成集成 8位位CPU、4K字字節節ROM、128字節字節RAM、4個個8位并口、位并口、1個個全雙工串行口、全雙工串行口、2個個16位定時位定時/計數器。尋址計數器。尋址范圍范圍64K,并有控制功能較強的布爾處理器。,并有控制功能較強的布爾處理器。單板機單板機單片機單片機單片機能做什么實物展示用到單片機的項目經驗介紹 手持糧庫溫度尋檢設備畢設答辯打分器電話臺燈自動感應水龍頭1.凡是與控制或簡單計算有關的電子設備都可以用單片機來實現,再根據具體實際情
5、況選擇不同性能的單片機,如:atmel,stc,pic,avr,凌陽,80C51,arm等 工業自動化:數據采集、測控技術。 智能儀器儀表:數字示波器、數字信號源、數字萬用表、感應電流表等。 消費類電子產品:洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。 通訊方面:調制解調器、程控交換技術、手機、小靈通等。 武器裝備:飛機、軍艦、坦克、導彈、航天飛機、魚雷制導、智能武器等。 等等.怎么開始學習? 實踐第一。 補充必要的理論知識,即缺什么補什么。 做工程項目積累經驗。(可在網絡上搜集題目,也可自己有什么想法大膽的去試驗)預備知識 電平特性電平特性 2進制與進制與16進制的
6、表示及轉換進制的表示及轉換 二進制數的邏輯運算二進制數的邏輯運算 8051單片機介紹單片機介紹 C51基礎知識基礎知識關于電平特性 數字電路中只有兩種電平:高和低 (本課程中)定義單片機為TTL電平: 高 +5V 低 0V RS232電平:計算機的串口 高 -12V 低+12V 所以計算機與單片機之間通訊時需要加電平轉換芯片max232(實驗板上左下角)。二進制 數字電路中的兩種電平特性決定了它0 0 6 1101 171112 10810003 11910014 1001010105 10111 1011十六進制 是二進制的簡短表示形式。 十進制中的0-15分別表示為十六進制的0、1、2、3
7、、4、5、6、7、8、9、A、B、C、D、E、F 熟練掌握二進制與十六進制之間的轉換。 規律:一般把四個二進制數放在一起轉換成一個十六進制數,轉換時先把二進制數轉換成十進制數,再把十進制數轉換成十六進制數。如:0001B - 1 - 1H B表示為二進制,H為十六進制 1001B - 9 - 9H 1010B - 10 - AH 0010 1100 - 44 - 2CH 各種進位制的對應關系 二進制數的邏輯運算二進制數的邏輯運算 1. “與與”運算運算 “與”運算是實現“必須都有,否則就沒有”這種邏輯關系的一種運算。 運算符為“ ”, 其運算規則如下:00=0, 01=10=0, 11=1 2
8、. “或或”運算運算 “或”運算是實現“只要其中之一有,就有”這種邏輯關系的一種運算, 其運算符為“+”。 “或”運算規則如下:0+0=0, 0+1=1+0=1, 1+1=1 3. “非非”運算運算 “非”運算是實現“求反”這種邏輯的一種運算,如變量A的“非”運算記作 。 其運算規則如下: A10, 01 4. “異或異或”運算運算 “異或”運算是實現“必須不同, 否則就沒有”這種邏輯的一種運算, 運算符為“”。其運算規則是: 011 , 101 , 110 , 000 80C51 80C51系列介紹系列介紹 Intel的:的:80C31、80C51、87C51,80C32、80C52、87C
9、52等;等; ATMEL的:的:89C51、89C52、89C2051等;等; Philips、華邦、華邦、Dallas 、STC Siemens(Infineon)等公司的許多產品等公司的許多產品 。補充:關于型號的介紹補充:關于型號的介紹 80C51是是MCS-51系列中的一個典型品種;系列中的一個典型品種;其它廠商其它廠商以以8051為基核為基核開發出的開發出的CMOS工藝工藝單片機產品單片機產品統稱為統稱為80C51系列系列。當前常用的。當前常用的80C51系列單片機主要產品有:系列單片機主要產品有:80C5180C51的引腳封裝的引腳封裝總線型總線型非總線型非總線型第二功能各引腳功能
10、定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時器0外部輸入P3.5:T1定時器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制 總線(BUS)是計算機各部件之間傳送信息的公共通道。微機中有內部總線和外部總線兩類。內部總線是CPU內部之間的連線。外部總線是指CPU與其它部件之間的連線。 外部總線有三種: 數據總線DB(Data Bus), 地址總線 AB(Address Bus)和控制總線 CBControl Bus)。 CPU:由運算和控制邏輯組成,同時還包括:由運算和控制邏輯組成,同時還包
11、括中斷系統和部分外部特殊功能寄存器;中斷系統和部分外部特殊功能寄存器; RAM:用以存放可以讀寫的數據,如運算的:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;中間結果、最終結果以及欲顯示的數據; ROM:用以存放程序、一些原始數據和表格;:用以存放程序、一些原始數據和表格; I/O口:四個口:四個8位并行位并行I/O口,既可用作輸入,口,既可用作輸入,也可用作輸出;也可用作輸出; T/C:兩個定時:兩個定時/記數器,既可以工作在定時記數器,既可以工作在定時模式,也可以工作在記數模式;模式,也可以工作在記數模式; 五個中斷源的中斷控制系統;五個中斷源的中斷控制系統; 一個
12、全雙工一個全雙工UART(通用異步接收發送器)(通用異步接收發送器)的串行的串行I/O口,用于實現單片機之間或單片機口,用于實現單片機之間或單片機與微機之間的串行通信;與微機之間的串行通信; 片內振蕩器和時鐘產生電路,石英晶體和微片內振蕩器和時鐘產生電路,石英晶體和微調電容需要外接。最高振蕩頻率取決于單片調電容需要外接。最高振蕩頻率取決于單片機型號及性能。機型號及性能。C51知識 C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。目前,使用C語言進行程序設計已經成為軟件開發的一個主流。用C語言開發系統可以大大縮短開發周期,明顯增強程序的可讀性,便于改進、擴充和移
13、植。而針對8051的C語言日趨成熟,成為了專業化的實用高級語言。C C語言作為一種非常方便的語言而得到廣泛語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發都用的支持,很多硬件開發都用C C語言編程,如:語言編程,如:各種單片機、各種單片機、DSPDSP、ARMARM等等. .C C語言程序本身不依賴于機器硬件系統,基語言程序本身不依賴于機器硬件系統,基本上不作修改就可將程序從不同的單片機中本上不作修改就可將程序從不同的單片機中移植過來。移植過來。C C提供了很多數學函數并支持浮點運算,開提供了很多數學函數并支持浮點運算,開發效率高,故可縮短開發時間,增加程序可發效率高,故可縮短開發時間
14、,增加程序可讀性和可維護性。讀性和可維護性。 C-51C-51的特點的特點C-51C-51與與ASM-51ASM-51相比,有如下優點:相比,有如下優點:1.1. 對單片機的指令系統不要求了解,僅對單片機的指令系統不要求了解,僅要求對要求對8051 8051 的存貯器結構有初步了解;的存貯器結構有初步了解;2.2. 寄存器分配、不同存貯器的尋址及數寄存器分配、不同存貯器的尋址及數據類型等細節可由編譯器管理;據類型等細節可由編譯器管理;3.3. 程序有規范的結構,可分成不同的函程序有規范的結構,可分成不同的函數,這種方式可使程序結構化;數,這種方式可使程序結構化;4.4. 提供的庫包含許多標準子
15、程序,具有提供的庫包含許多標準子程序,具有較強的數據處理能力;較強的數據處理能力;5.5. 由于具有方便的模塊化編程技術,使由于具有方便的模塊化編程技術,使已編好程序可容易地移植;已編好程序可容易地移植;C C5151的數據類型的數據類型基本數據類型基本數據類型類型類型符號符號關鍵字關鍵字數的表示范圍數的表示范圍所占位數所占位數整型整型字符型字符型實型實型有有無無(signed) int16-3276832767(signed) short16-3276832767(signed) long32-2147483648214748364716unsigned int065535320429496
16、7295unsigned long intunsigned short int16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127無無unsigned char80255C C語言中的基本數據類型語言中的基本數據類型類型類型符號符號關鍵字關鍵字數的表示范圍數的表示范圍所占位數所占位數整型整型字符型字符型實型實型有有無無(signed) int16-3276832767(signed) short16-3276832767(signed) long32-2147483648214748364716unsigne
17、d int0655353204294967295unsigned long intunsigned short int16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127無無unsigned char80255C C5151的數據類型擴充定義的數據類型擴充定義sfr:sfr:特殊功能寄存器聲明特殊功能寄存器聲明sfr16:sfrsfr16:sfr的的1616位數據聲明位數據聲明sbit:sbit:特殊功能位聲明特殊功能位聲明bitbit: :位變量聲明位變量聲明例:例:sfr SCON = 0X98;sfr
18、SCON = 0X98; sfr16 T2 = 0 xCC; sfr16 T2 = 0 xCC; sbit OV = PSW2; sbit OV = PSW2;例:例:數據類型數據類型 變量名變量名char var1;char var1;bit flags;bit flags;unsigned char vextor10;unsigned char vextor10;int wwww;int wwww;注意:變量名不能用注意:變量名不能用C C語言中的關語言中的關鍵字表示。鍵字表示。C-51C-51數據的存儲類型數據的存儲類型C-51C-51的包含的頭文件的包含的頭文件通常有通常有: :reg
19、51.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 (定義常用數學運算);(定義常用數學運算); C-51C-51的運算符的運算符與與C C語言基本相同:語言基本相同:+ - + - * * / / (加(加 減減 乘乘 除)除) = = (位右移(位右移
20、 位左移)位左移)& |& | ( (按位與按位與 按位或按位或) ) ( (按位異或按位異或 按位取反按位取反) ) C-51C-51的基本語句的基本語句 與標準與標準C C語言基本相同:語言基本相同: if if 選擇語言選擇語言 while while 循環語言循環語言 for for 循環語言循環語言 switch/case switch/case 多分支選擇語言多分支選擇語言 do-while do-while 循環語言循環語言 中斷服務程序中斷服務程序函數名()函數名()interrupt interrupt n n using using m m 函數內部實現函數
21、內部實現 . . I/OI/O口定義口定義sbit beep=P23;sbit beep=P23;單片機主要掌握以下幾點 最小系統能夠運行起來的必要條件。 1.電源 2.晶振3.復位電路 對單片機任意IO口的隨意操作 1.輸出控制電平高低2.輸出檢測電平高低。 定時器:重點掌握最常用的方式2 中斷:外部中斷、定時器中斷、串口中斷 串口通信:單片機之間、單片機與計算機間KEIL的使用 掌握KEIL工程的建立和軟件的開發; 掌握KEIL中軟件仿真的基本應用; 掌握用KEIL直接硬件仿真TX-1C單片機學習板的方法Main 函數格式:void main()特點:無返回值,無參。任何一個C程序有且僅有
22、一個main函數,它是整個程序開始執行的入口。例:void main() 總程序從這里開始執行; 其他語句; 課后練習 對照TX-1C單片機學習板原理圖寫程序 用位操作和總線操作兩種方法完成以下題目1.熟練建立KEIL工程2.點亮第一個發光管.3.點亮最后一個發光管4.點亮1、3、5、75.點亮二、四、五、六6.嘗試讓第一個發光管閃爍7.嘗試設計出流水燈程序自己動手實踐需要硬件材料 DIP40腳座一個。 杜邦線,單頭帶冒,40根。 單排針 兩排。 小電路板一塊。 DS12C887 一片(舊10元,新22元)。 焊錫、單片機工作的基本時序單片機工作的基本時序 機器周期和指令周期機器周期和指令周期
23、 (1) 振蕩周期振蕩周期: 也稱時鐘周期也稱時鐘周期, 是指為單片機提是指為單片機提供時鐘脈沖信號的振蕩源的周期,供時鐘脈沖信號的振蕩源的周期,TX實驗板上為實驗板上為11.0592MHZ。 (2) 狀態周期狀態周期: 每個狀態周期為時鐘周期的每個狀態周期為時鐘周期的 2 倍倍, 是振蕩周期經二分頻后得到的。是振蕩周期經二分頻后得到的。 (3) 機器周期機器周期: 一個機器周期一個機器周期包含包含 6 個狀態周個狀態周期期S1S6, 也就是也就是 12 個時鐘周期個時鐘周期。 在一個機器周在一個機器周期內期內, CPU可以完成一個獨立的操作。可以完成一個獨立的操作。 (4) 指令周期指令周期
24、: 它是指它是指CPU完成一條操作所需完成一條操作所需的全部時間。的全部時間。 每條指令執行時間都是有一個或幾個每條指令執行時間都是有一個或幾個機器周期組成。機器周期組成。MCS - 51 系統中系統中, 有單周期指令、有單周期指令、雙周期指令和四周期指令。雙周期指令和四周期指令。 第二講 如何申請免費樣片 簡單延時程序 子程序調用 帶參數子程序設計 C51庫函數的方便調用 如何驅動蜂鳴器 如何驅動繼電器 集電極開路的概念及應用。 While (表達式)語句(內部也可為空)特點:先判斷表達式,后執行語句。原則:若表達式不是0,即為真,那么執行語句。否則跳出while 語句。For (表達式1;
25、表達式2;表達式3) 語句(內部可為空)執行過程:1.求解一次表達式1.2.求解表達式2,若其值為真(非0 即為真),則執行for中語句。然后執行第3步。否則結束for 語句,直接跳出,不再執行第3步。3.求解表達式3.4.跳到第2步重復執行。集電極開路典型圖P0iQ19013VCCGNDOUTPUT課后練習第一個發光管以間隔第一個發光管以間隔200ms閃爍閃爍8個發光管由上至下間隔個發光管由上至下間隔1s流動,其中每個管亮流動,其中每個管亮500ms,滅滅500ms,亮時蜂鳴器響,滅時關閉蜂鳴器,一直重復下去。亮時蜂鳴器響,滅時關閉蜂鳴器,一直重復下去。8個發光管來回流動,第個管亮個發光管來
26、回流動,第個管亮100ms,流動時讓蜂鳴器發出流動時讓蜂鳴器發出“滴滴滴滴”聲。聲。用用8個發光管演示出個發光管演示出8位二進制數累加過程。位二進制數累加過程。8個發光管間隔個發光管間隔200ms由上至下,再由下至上,再重復一次由上至下,再由下至上,再重復一次,然后全部熄滅再以,然后全部熄滅再以300ms間隔全部閃爍間隔全部閃爍5次。重復此過程次。重復此過程。間隔間隔300ms第一次一個管亮流動一次,第二次兩個管亮流動第一次一個管亮流動一次,第二次兩個管亮流動,依次到,依次到8個管亮,然后重復整個過程。個管亮,然后重復整個過程。間隔間隔300ms先奇數亮再偶數亮,循環三次;一個燈上下循環先奇數
27、亮再偶數亮,循環三次;一個燈上下循環三次;兩個分別從兩邊往中間流動三次;再從中間往兩邊流三次;兩個分別從兩邊往中間流動三次;再從中間往兩邊流動三次;動三次;8個全部閃爍個全部閃爍3次;關閉發光管,程序停止。次;關閉發光管,程序停止。第三講 數碼管是如何顯示出字符的 數碼管靜態顯示與動態顯示原理 中斷概念 單片機的定時器應用顯示器及其接口顯示器及其接口單片機系統中常用的顯示器有: 發光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結構:段顯示(7段、米字型等)和點陣顯
28、示(58、88點陣等)。 使用LED顯示器時,要注意區分這兩種不同的接法。為了顯示數字或字符,必須對數字或字符進行編碼。七段數碼管加上一個小數點,共計8段。因此為LED顯示器提供的編碼正好是一個字節。TX實驗板用共陰LED顯示器,根據電路連接圖顯示16進制數的編碼已列在下表。 abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b)共陰極共陽極共陰數碼管碼表 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
29、 , 0 x7c , 6 7 8 9 A B 0 x39 , 0 x5e , 0 x79 , 0 x71 , 0 x00 C D E F 無顯示 LED數碼顯示方式及電路數碼顯示方式及電路 靜態顯示方式靜態顯示方式LED顯示器工作方式有兩種:靜態顯示方式和動態顯示方式。靜態顯示的特點是每個數碼管的段選必須接一個8位數據線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優點是占用CPU時間少,顯示便于監測和控制。缺點是硬件電路比較復雜,成本較高。 動態顯示 動態顯示的特點是將所有位數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。選亮數碼管采用
30、動態掃描顯示。所謂動態掃描顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。動態顯示的亮度比靜態顯示要差一些,所以在選擇限流電阻時應略小于靜態顯示電路中的。 ALEWRRDRXDTXDINT0EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29AL
31、E/P30TXD11RXD10VCC40GND20U189C52PSENP10P11P12P13P14P15P16P17T0T1INT1P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27P20P21P22P23abfcgdeDPY117421105ab cd e fg3dpdpabfcgdedpabfcgdedpabfcgdedpC06C28C39C412LEDDPY 4-LED12345678161514131211109R1KP00P01P02P03P04P05P06P075VK99K10AK15
32、FP10P11P12P13P14P15P16P17EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U189C52P10P11P12P13P14P15P16P17K00K11K22K33K55K66K77K88K44K11BK12CK13DK14E 中斷系統中斷
33、系統3.1 80C51的中斷系統的中斷系統 3.1.1 80C513.1.1 80C51的中斷系統結構的中斷系統結構一、中斷的概念一、中斷的概念 CPUCPU在處理某一事件在處理某一事件A A時,發生了另一事件時,發生了另一事件B B請求請求CPUCPU迅速去處理(迅速去處理(中斷發生中斷發生);); CPUCPU暫時中斷當前的工作,轉去處理事件暫時中斷當前的工作,轉去處理事件B B(中斷響應和中斷服務中斷響應和中斷服務);); 待待CPUCPU將事件將事件B B處理完畢后,再回到原來事處理完畢后,再回到原來事件件A A被中斷的地方繼續處理事件被中斷的地方繼續處理事件A A(中斷返中斷返回回)
34、,這一過程稱為),這一過程稱為中斷中斷 。MCS-51單片機的中斷系統結構執行主程序主程序繼續執行主程序斷點中斷請求中斷響應執行中斷處理程序中斷返回引起引起CPU中斷的根源,稱為中斷的根源,稱為中斷源中斷源。中斷源向。中斷源向CPU提出提出的中斷請求。的中斷請求。CPU暫時中斷原來的事務暫時中斷原來的事務A,轉去處理事件,轉去處理事件B。對事件對事件B處理完畢后,再回到原來被中斷的地方(即處理完畢后,再回到原來被中斷的地方(即斷點斷點),),稱為中斷返回。實現上述中斷功能的部件稱為稱為中斷返回。實現上述中斷功能的部件稱為中斷系統中斷系統(中(中斷機構)。斷機構)。 隨著計算機技術的應用,人們發
35、現中斷技隨著計算機技術的應用,人們發現中斷技術不僅解決了快速主機與慢速術不僅解決了快速主機與慢速I/O設備的數據設備的數據傳送問題,而且還具有如下優點:傳送問題,而且還具有如下優點: 分時操作分時操作。CPU可以分時為多個可以分時為多個I/O設備設備服務,提高了計算機的利用率;服務,提高了計算機的利用率;實時響應實時響應。CPU能夠及時處理應用系統的能夠及時處理應用系統的隨機事件,系統的實時性大大增強;隨機事件,系統的實時性大大增強;可靠性高可靠性高。CPU具有處理設備故障及掉電具有處理設備故障及掉電等突發性事件能力,從而使系統可靠性提高。等突發性事件能力,從而使系統可靠性提高。80C51中斷
36、系統的結構中斷系統的結構 80C51的中斷系統有的中斷系統有5個中斷源個中斷源(8052有 6個) ,2個優先級,可實現二級中斷嵌套個優先級,可實現二級中斷嵌套 。 1 1、(、(P3.2P3.2)可由)可由IT0(TCON.0)IT0(TCON.0)選擇其為低電平選擇其為低電平有效還是下降沿有效。當有效還是下降沿有效。當CPUCPU檢測到檢測到P3.2P3.2引腳上引腳上出現有效的中斷信號時,中斷標志出現有效的中斷信號時,中斷標志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申請中斷。申請中斷。 2 2、(P3.3(P3.3)可由)可由IT1(TCON.2)IT1
37、(TCON.2)選擇其為低電平選擇其為低電平有效還是下降沿有效。當有效還是下降沿有效。當CPUCPU檢測到檢測到P3.3P3.3引腳上引腳上出現有效的中斷信號時,中斷標志出現有效的中斷信號時,中斷標志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申請中斷。申請中斷。 3 3、TF0TF0(TCON.5TCON.5),片內定時),片內定時/ /計數器計數器T0T0溢出中斷請求標志。當定時溢出中斷請求標志。當定時/ /計數器計數器T0T0發生發生溢出時,置位溢出時,置位TF0TF0,并向,并向CPUCPU申請中斷。申請中斷。 4 4、TF1TF1(TCON.7TCON.7
38、),片內定時),片內定時/ /計數器計數器T1T1溢出中斷請求標志。當定時溢出中斷請求標志。當定時/ /計數器計數器T1T1發生發生溢出時,置位溢出時,置位TF1TF1,并向,并向CPUCPU申請中斷。申請中斷。 5 5、RIRI(SCON.0SCON.0)或)或TITI(SCON.1SCON.1),串行口),串行口中斷請求標志。當串行口接收完一幀串行數中斷請求標志。當串行口接收完一幀串行數據時置位據時置位RIRI或當串行口發送完一幀串行數據或當串行口發送完一幀串行數據時置位時置位TITI,向,向CPUCPU申請中斷。申請中斷。 二、中斷請求標志二、中斷請求標志1、TCON的中斷標志的中斷標志
39、IT0(TCON.0),外部中斷),外部中斷0觸發方式控制位。觸發方式控制位。當當IT0=0時,為電平觸發方式。時,為電平觸發方式。當當IT0=1時,為邊沿觸發方式(下降沿有效)。時,為邊沿觸發方式(下降沿有效)。IE0(TCON.1),外部中斷),外部中斷0中斷請求標志位。中斷請求標志位。IT1(TCON.2),外部中斷),外部中斷1觸發方式控制位。觸發方式控制位。IE1(TCON.3),外部中斷),外部中斷1中斷請求標志位。中斷請求標志位。TF0(TCON.5),定時),定時/計數器計數器T0溢出中斷請求標志位。溢出中斷請求標志位。TF1(TCON.7),定時),定時/計數器計數器T1溢出
40、中斷請求標志位。溢出中斷請求標志位。 2、SCON的中斷標志的中斷標志RI(SCON.0),串行口接收中斷標志位。當允),串行口接收中斷標志位。當允許串行口接收數據時,每接收完一個串行幀,由許串行口接收數據時,每接收完一個串行幀,由硬件置位硬件置位RI。注意,。注意,RI必須由軟件清除。必須由軟件清除。TI(SCON.1),串行口發送中斷標志位。當),串行口發送中斷標志位。當CPU將一個發送數據寫入串行口發送緩沖器時,將一個發送數據寫入串行口發送緩沖器時,就啟動了發送過程。每發送完一個串行幀,由硬就啟動了發送過程。每發送完一個串行幀,由硬件置位件置位TI。CPU響應中斷時,不能自動清除響應中斷
41、時,不能自動清除TI,TI必須由軟件清除。必須由軟件清除。 一、中斷允許控制一、中斷允許控制 CPU對中斷系統所有中斷以及某個中斷源的開放和屏對中斷系統所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器蔽是由中斷允許寄存器IE控制的。控制的。3.1.3 80C513.1.3 80C51中斷的控制中斷的控制 EX0(IE.0),外部中斷,外部中斷0允許位;允許位;ET0(IE.1),定時,定時/計數器計數器T0中斷允許位;中斷允許位; EX1(IE.2),外部中斷,外部中斷0允許位;允許位;ET1(IE.3),定時,定時/計數器計數器T1中斷允許位;中斷允許位;ES(IE.4),串行口中斷允許
42、位;,串行口中斷允許位;EA (IE.7), CPU中斷允許(總允許)位。中斷允許(總允許)位。二、中斷優先級控制二、中斷優先級控制 80C51單片機有兩個中斷優先級,即可實現二級單片機有兩個中斷優先級,即可實現二級中斷服務嵌套。每個中斷源的中斷優先級都是由中斷中斷服務嵌套。每個中斷源的中斷優先級都是由中斷優先級寄存器優先級寄存器IP中的相應位的狀態來規定的中的相應位的狀態來規定的 。PX0(IP.0),外部中斷),外部中斷0優先級設定位;優先級設定位;PT0(IP.1),定時),定時/計數器計數器T0優先級設定位;優先級設定位;PX1(IP.2),外部中斷),外部中斷0優先級設定位;優先級設
43、定位;PT1(IP.3),定時),定時/計數器計數器T1優先級設定位;優先級設定位;PS (IP.4),串行口優先級設定位;),串行口優先級設定位;PT2 (IP.5) ,定時,定時/計數器計數器T2優先級設定位。優先級設定位。PX0(IPH.0),外部中斷),外部中斷0優先級設定位;優先級設定位;PT0(IPH.1),定時),定時/計數器計數器T0優先級設定位;優先級設定位;PX1(IPH.2),外部中斷),外部中斷0優先級設定位;優先級設定位;PT1(IPH.3),定時),定時/計數器計數器T1優先級設定位;優先級設定位;PS (IPH.4),串行口優先級設定位;),串行口優先級設定位;P
44、T2 (IPH.5) ,定時,定時/計數器計數器T2優先級設定位。優先級設定位。而而80C52單片機有四個中斷優先級,即可實現四級單片機有四個中斷優先級,即可實現四級中斷服務嵌套。每個中斷源的中斷優先級由中斷優中斷服務嵌套。每個中斷源的中斷優先級由中斷優先級寄存器先級寄存器IP和和IPH中的相應位的狀態來規定的中的相應位的狀態來規定的 。 同一優先級中的中斷申請不止一個時,則有中同一優先級中的中斷申請不止一個時,則有中斷優先權排隊問題。同一優先級的中斷優先權排隊,斷優先權排隊問題。同一優先級的中斷優先權排隊,由中斷系統硬件確定的自然優先級形成,其排列如由中斷系統硬件確定的自然優先級形成,其排列
45、如所示:所示: 設置設置52單片機的單片機的4個中斷源個中斷源,使他們的優順使他們的優順序為序為T1,INT1,INT0,T0.IPH = 0X08;PT1 = 1;IP = 0X40;PX1 = 1;80C51單片機的中斷優先級有三條原則:單片機的中斷優先級有三條原則:CPU同時接收到幾個中斷時,同時接收到幾個中斷時,首先響應優先級別最首先響應優先級別最高的中斷請求高的中斷請求。正在進行的中斷過程正在進行的中斷過程不能被新的同級或低優先級的不能被新的同級或低優先級的中斷請求所中斷中斷請求所中斷。正在進行的低優先級中斷服務,正在進行的低優先級中斷服務,能被高優先級中斷能被高優先級中斷請求所中斷
46、請求所中斷。 為了實現上述后兩條原則,為了實現上述后兩條原則,中斷系統內部設有兩中斷系統內部設有兩個用戶不能尋址的優先級狀態觸發器。個用戶不能尋址的優先級狀態觸發器。其中一個置其中一個置1,表示正在響應高優先級的中斷,它將阻斷后來所有表示正在響應高優先級的中斷,它將阻斷后來所有的中斷請求;另一個置的中斷請求;另一個置1,表示正在響應低優先級中,表示正在響應低優先級中斷,它將阻斷后來所有的低優先級中斷請求。斷,它將阻斷后來所有的低優先級中斷請求。3.2 80C51單片機中斷處理過程單片機中斷處理過程 中斷響應條件中斷響應條件 中斷源有中斷請求;中斷源有中斷請求; 此中斷源的中斷允許位為此中斷源的
47、中斷允許位為1; CPU開中斷(即開中斷(即EA=1)。)。以上三條同時滿足時,以上三條同時滿足時,CPU才有可能響才有可能響應中斷應中斷。3.2.1 3.2.1 中斷響應條件和時間中斷響應條件和時間 3.3 80C51的定時的定時/計數器計數器 實現定時功能,實現定時功能,比較方便的辦法是利用單比較方便的辦法是利用單片機內部的定時片機內部的定時/計數器計數器。也可以采用下面三。也可以采用下面三種方法:種方法:軟件定時軟件定時:軟件定時不占用硬件資源,但占用了:軟件定時不占用硬件資源,但占用了CPU時間,降低了時間,降低了CPU的利用率。的利用率。采用時基電路定時采用時基電路定時:例如采用:例
48、如采用555電路,外接必要電路,外接必要的元器件(電阻和電容),即可構成硬件定時電路。的元器件(電阻和電容),即可構成硬件定時電路。但在硬件連接好以后,定時值與定時范圍不能由軟但在硬件連接好以后,定時值與定時范圍不能由軟件進行控制和修改,即不可編程。件進行控制和修改,即不可編程。采用可編程芯片定時采用可編程芯片定時:這種定時芯片的定時值及定:這種定時芯片的定時值及定時范圍很容易用軟件來確定和修改,此種芯片定時時范圍很容易用軟件來確定和修改,此種芯片定時功能強,使用靈活。在單片機的定時功能強,使用靈活。在單片機的定時/計數器不夠用計數器不夠用時,可以考慮進行擴展。時,可以考慮進行擴展。3.3.1
49、 3.3.1 定時定時/ /計數器的結構和工作原理計數器的結構和工作原理 一、定時一、定時/計數器的結構計數器的結構 定時定時/計數器的實質是加計數器的實質是加1計數器(計數器(16位),由高位),由高8位和低位和低8位兩個寄存器組成。位兩個寄存器組成。TMOD是定時是定時/計數器的工作方式寄存計數器的工作方式寄存器,確定工作方式和功能;器,確定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志的啟動和停止及設置溢出標志。 二、定時二、定時/計數器的工作原理計數器的工作原理 加加1計數器計數器輸入的計數脈沖有兩個來源輸入的計數脈沖有兩個來源,一個是
50、由一個是由系統的時鐘振蕩器輸出脈沖經系統的時鐘振蕩器輸出脈沖經12分頻后送來;一個分頻后送來;一個是是T0或或T1引腳輸入的外部脈沖源。每來一個脈沖引腳輸入的外部脈沖源。每來一個脈沖計數器加計數器加1,當加到計數器為全,當加到計數器為全1時,再輸入一個脈時,再輸入一個脈沖就使計數器回零,且計數器的溢出使沖就使計數器回零,且計數器的溢出使TCON中中TF0或或TF1置置1,向,向CPU發出中斷請求(定時發出中斷請求(定時/計數計數器中斷允許時)。如果定時器中斷允許時)。如果定時/計數器工作于定時模計數器工作于定時模式,則表示定時時間已到;如果工作于計數模式,式,則表示定時時間已到;如果工作于計數
51、模式,則表示計數值已滿。則表示計數值已滿。 可見,由溢出時計數器的值減去計數初值才是加可見,由溢出時計數器的值減去計數初值才是加1計數器的計數值計數器的計數值。 設置為定時器模式時設置為定時器模式時,加,加1計數器是對內部機器周期計數器是對內部機器周期計數(計數(1個機器周期等于個機器周期等于12個振蕩周期,即計數頻率個振蕩周期,即計數頻率為晶振頻率的為晶振頻率的1/12)。)。計數值計數值N乘以機器周期乘以機器周期Tcy就就是定時時間是定時時間t 。設置為設置為計數器模式時計數器模式時,外部事件計數脈沖由,外部事件計數脈沖由T0或或T1引腳輸入到計數器。在每個機器周期的引腳輸入到計數器。在每
52、個機器周期的S5P2期間采期間采樣樣T0、T1引腳電平。當某周期采樣到一高電平輸入,引腳電平。當某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數器加而下一周期又采樣到一低電平時,則計數器加1,更,更新的計數值在下一個機器周期的新的計數值在下一個機器周期的S3P1期間裝入計數期間裝入計數器。由于檢測一個從器。由于檢測一個從1到到0的下降沿需要的下降沿需要2個機器周期,個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當因此要求被采樣的電平至少要維持一個機器周期。當晶振頻率為晶振頻率為12MHz時時,最高計數頻率不超過,最高計數頻率不超過1/2MHz,即計數脈沖的周期要大于即計
53、數脈沖的周期要大于2 s。 3.3.2 定時定時/計數器的控制計數器的控制 80C51單片機定時單片機定時/計數器的工作由兩個特殊功計數器的工作由兩個特殊功能寄存器控制。能寄存器控制。TMOD用于設置其工作方式;用于設置其工作方式;TCON用于控制其啟動和中斷申請。用于控制其啟動和中斷申請。一、工作方式寄存器一、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于設置定時用于設置定時/計數器的計數器的工作方式,低四位用于工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式。其格式如下:如下:GATE:門控位。:門控位。GATE0時,只要用軟件使時,只要用軟件使TCON中的中
54、的TR0或或TR1為為1,就可以啟動定時,就可以啟動定時/計數器工作;計數器工作;GATA1時,時,要用軟件使要用軟件使TR0或或TR1為為1,同時外部中斷引腳或也為高電,同時外部中斷引腳或也為高電平時,才能啟動定時平時,才能啟動定時/計數器工作。即此時定時器的啟動多計數器工作。即此時定時器的啟動多了一條件。了一條件。 :定時定時/計數模式選擇位。計數模式選擇位。 0為定時模式;為定時模式; =1為計數模式。為計數模式。M1M0:工作方式設置位。定時:工作方式設置位。定時/計數器有四種工作方式,計數器有四種工作方式,由由M1M0進行設置。進行設置。C/TC/TC/T 二、控制寄存器二、控制寄存
55、器TCON TCON的低的低4位用于控制外部中斷位用于控制外部中斷,已在前面介紹。已在前面介紹。TCON的高的高4位用于位用于控制定時控制定時/計數器的啟動和中斷申請。其格式如下:計數器的啟動和中斷申請。其格式如下:TF1(TCON.7):):T1溢出中斷請求標志位。溢出中斷請求標志位。T1計數溢出時由硬件自計數溢出時由硬件自動置動置TF1為為1。CPU響應中斷后響應中斷后TF1由硬件自動清由硬件自動清0。T1工作時,工作時,CPU可隨時查詢可隨時查詢TF1的狀態。所以,的狀態。所以,TF1可用作查詢測試的標志。可用作查詢測試的標志。TF1也可也可以用軟件置以用軟件置1或清或清0,同硬件置,同
56、硬件置1或清或清0的效果一樣。的效果一樣。TR1(TCON.6):):T1運行控制位。運行控制位。TR1置置1時,時,T1開始工作;開始工作;TR1置置0時,時,T1停止工作。停止工作。TR1由軟件置由軟件置1或清或清0。所以,用軟件可控制定時。所以,用軟件可控制定時/計數器的啟動與停止。計數器的啟動與停止。TF0(TCON.5):):T0溢出中斷請求標志位,其功能與溢出中斷請求標志位,其功能與TF1類同。類同。TR0(TCON.4):):T0運行控制位,其功能與運行控制位,其功能與TR1類同。類同。 3.3.3 定時定時/計數器的工作方式計數器的工作方式 一、方式一、方式0 方式方式0為為1
57、3位計數位計數,由,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位組成。位組成。TL0的低的低5位溢出時向位溢出時向TH0進位,進位,TH0溢出時,溢出時,置位置位TCON中的中的TF0標志,向標志,向CPU發出中斷請求。發出中斷請求。定時器模式時定時器模式時有有:Nt/ Tcy 計數初值計算的公式為:計數初值計算的公式為:定時器的初值還可以采用計數個數直接取補法獲得定時器的初值還可以采用計數個數直接取補法獲得。計數模式時,計數脈沖是計數模式時,計數脈沖是T0引腳上的外部脈沖。引腳上的外部脈沖。13X=2 -N門控位門控位GATE具有特殊的作用。當具有特殊的作用。當GATE
58、=0時,經反相后使時,經反相后使或門輸出為或門輸出為1,此時僅由,此時僅由TR0控制與門的開啟,與門輸出控制與門的開啟,與門輸出1時,控制開關接通,計數開始;時,控制開關接通,計數開始;當當GATE=1時時,由外中斷引,由外中斷引腳信號控制或門的輸出,此時控制腳信號控制或門的輸出,此時控制與門的開啟由外中斷引與門的開啟由外中斷引腳信號和腳信號和TR0共同控制共同控制。當。當TR0=1時,外中斷引腳信號引腳時,外中斷引腳信號引腳的的高電平啟動計數高電平啟動計數,外中斷引腳信號引腳的,外中斷引腳信號引腳的低電平停止計低電平停止計數數。這種方式常用來測量外中斷引腳上正脈沖的寬度。這種方式常用來測量外
59、中斷引腳上正脈沖的寬度。 16X=2 -N二、方式二、方式1 方式方式1的計數位數是的計數位數是16位,由位,由TL0作為低作為低8位、位、TH0作為高作為高8位,組成了位,組成了16位加位加1計數器計數器 。計數個數與計數初值的關系為:計數個數與計數初值的關系為: 8X=2 -N三、方式三、方式2 方式方式2為自動重裝初值的為自動重裝初值的8位計數方式。位計數方式。 工作方式2特別適合于用作較精確的脈沖信號發生器。 計數個數與計數初值的關系為計數個數與計數初值的關系為: 四、方式四、方式3 方式方式3只適用于定時只適用于定時/計數器計數器T0,定時器定時器T1處于方式處于方式3時相當時相當于
60、于TR1=0,停止計數。,停止計數。 工作方式工作方式3將將T0分成為兩個獨立的分成為兩個獨立的8位計數器位計數器TL0和和TH0 。 3.3.4 定時定時/計數器應用舉例計數器應用舉例 初始化程序應完成如下工作:初始化程序應完成如下工作:對對TMOD賦值,以確定賦值,以確定T0和和T1的工作方式。的工作方式。計算初值計算初值,并將其寫入并將其寫入TH0、TL0或或TH1、TL1。中斷方式時,則對中斷方式時,則對IE賦值,開放中斷。賦值,開放中斷。使使TR0或或TR1置位,啟動定時置位,啟動定時/計數器定時或計數。計數器定時或計數。 例例 利用定時利用定時/計數器計數器T1的方式的方式1,產生,產生10ms的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 今年高三語文作文
- 石油化工產品加工工藝考核試卷
- 紙質寵物用品市場推廣與營銷策略案例分析考核試卷
- 搶救車的管理和使用
- 5-3同步計數器的分析1-公式法
- 河南省漯河市2023~2024學年高一數學下學期5月月考試題含答案
- 河北省石家莊市2024-2025學年高一下學期第一次段考數學試題【含答案】
- 統編版語文五年級下冊第3課《月是故鄉明》精美課件
- 山東省鄒城市2025年初三3月月考化學試題文試題含解析
- 蘭州財經大學《影視創意寫作》2023-2024學年第一學期期末試卷
- 生物化學-脂類課件
- 二方審核計劃
- Q∕SY 02098-2018 施工作業用野營房
- DB62∕T 3176-2019 建筑節能與結構一體化墻體保溫系統應用技術規程
- 優秀病例演講比賽PPT
- 吉林省礦產資源概況及分布
- 公司員工基本禮儀培訓ppt完整版課件
- 八大特殊危險作業危險告知牌
- 半橋LLC諧振變換器設計與仿真
- 啟閉機及閘門安裝后檢驗說明
- 保監〔2005〕22號標準
評論
0/150
提交評論