知識回顧與新課引入_第1頁
知識回顧與新課引入_第2頁
知識回顧與新課引入_第3頁
知識回顧與新課引入_第4頁
知識回顧與新課引入_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、知識回顧與新課引入1、單片機的組成?各部分功能是?2、單片機與電子計算機的組成有何異同?3、ATmega16的PDIP封裝形式有多少個引腳?其中I/O占了多少個引腳?4、單片機C語言開發(fā)時常用的頭文件有?1I/O接口及應用并行接口概述并行接口應用舉例位檢測與位控制位操作實例2并行接口概述并行輸入工作原理并行輸出工作原理并行輸入/輸出接口工作原理3并行輸入工作原理 并行輸入接口中某一位的簡化電路如圖4-1所示。引腳的狀態(tài)取決于外電路,緩沖器后的狀態(tài)為引腳狀態(tài),三態(tài)門的輸出由RP端控制,當RP為0時,三態(tài)門的輸出為高阻狀態(tài),數(shù)據總線不受引腳影響;當RP為1時,三態(tài)門的輸出與輸入相同,此時為讀引腳狀

2、態(tài)。在讀接口時,RP控制端有效。4并行輸入接口某一位的簡化接口電路如圖:5并行輸出工作原理并行輸出接口中某一位的簡化接口電路如圖所示。當控制端WP為0(低電平)時,數(shù)據鎖存器的輸出端Q為上次輸出的值,與輸入端D無關,數(shù)據總線操作不影響輸出。當控制端WP為1時,數(shù)據鎖存器的輸出端Q的值為輸入端D的值,為輸出數(shù)據狀態(tài)。數(shù)據輸出到引腳。鎖存器輸出端Q為0時,輸出為低電平;鎖存器輸出端Q為1時,輸出高電平。RL控制端為讀取輸出值。6并行輸出接口某一位的簡化接口電路如圖:7并行輸入/輸出接口工作原理8并行輸入/輸出接口工作原理端口A端口B端口C端口D9端口A端口A特性端口作為通用數(shù)據I/O口端口的第二功

3、能10端口A特性 端口A是一個8位雙向I/O口。端口A包含3個I/O地址,其中有兩個寄存器和一個輸入引腳:數(shù)據寄存器PORTA、數(shù)據方向寄存器DDRA、輸入引腳PINA。數(shù)據寄存器PORTA和數(shù)據方向寄存器DDRA是可讀可寫的,而輸入引腳PINA僅僅可讀不可寫。PINA不是一個寄存器,這個地址是用來訪問端口A的物理值。當讀取PINA時,讀到的是施加于引腳上的邏輯值。端口A的所有引腳都可以單獨選擇上拉電阻,并且可吸收20mA的電流,所以可以直接驅動LED指示燈。上拉電阻被激活且引腳被拉低時,則該引腳會輸出電流。11端口作為通用數(shù)據I/O口 當端口A作為通用輸入輸出口時,它的8個引腳具有完全相同的

4、功能。數(shù)據方向寄存器DDRA的各位用于引腳方向的選擇。當DDRAn被置1時,則相應的端口A的引腳為輸出引腳;反之,為輸入引腳。12端口的第二功能端口A 的第二功能比較單一,可以作為ADC的模擬輸入端。13端口B端口特性端口作為通用數(shù)據I/O口端口的第二功能14端口特性 端口B是一個8位雙向I/O口。端口B包含3個I/O地址,其中有兩個寄存器和一個輸入引腳:數(shù)據寄存器PORTB、數(shù)據方向寄存器DDRB、輸入引腳PINB。數(shù)據寄存器PORTB和數(shù)據方向寄存器DDRB是可讀可寫的,而輸入引腳PINB僅僅可讀不可寫。PINB不是一個寄存器,這個地址是用來訪問端口B的物理值。當讀取PINB時,讀到的是施

5、加于引腳上的邏輯值。端口B的所有引腳都可以單獨選擇上拉電阻,并且可吸收20mA的電流,所以可以直接驅動LED指示燈。上拉電阻被激活且引腳被拉低時,則該引腳會輸出電流。15端口作為通用數(shù)據I/O口 當端口B作為通用輸入輸出口時,它的8個引腳具有完全相同的功能。數(shù)據方向寄存器DDRB的各位用于引腳方向的選擇。當DDRBn被置1時,則相應的端口B的引腳為輸出引腳;反之,為輸入引腳。16端口的第二功能引腳第二功能說明如下: T0 :T/C0的外部引腳輸入。 T1 :T/C1的外部引腳輸入。 AIN0 :當該引腳無上拉電阻并且被配置為輸入時,為模擬比較器的正輸入端。 AIN1 :當該引腳無上拉電阻并且被

6、配置為輸入時,為模擬比較器的負輸入端。 MOSI :SPI的主機數(shù)據輸出,從機數(shù)據輸入。 MISO :SPI的主機數(shù)據輸入,從機數(shù)據輸出。 SCK :SPI的主機時鐘輸出,從機時鐘輸入。17端口C端口特性端口作為通用數(shù)據I/O口18端口特性 端口C是一個8位雙向I/O口。端口C包含3個I/O地址,其中有兩個寄存器和一個輸入引腳:數(shù)據寄存器PORTC、數(shù)據方向寄存器DDRC、輸入引腳PINC。數(shù)據寄存器PORTC和數(shù)據方向寄存器DDRC是可讀可寫的,而輸入引腳PINC僅僅可讀不可寫。PINC不是一個寄存器,這個地址是用來訪問端口A的物理值。當讀取PINC時,讀到的是施加于引腳上的邏輯值。端口C的

7、所有引腳都可以單獨選擇上拉電阻,并且可吸收20mA的電流,所以可以直接驅動LED指示燈。上拉電阻被激活且引腳被拉低時,則該引腳會輸出電流。19端口作為通用數(shù)據I/O口 當端口C作為通用輸入輸出口時,它的8個引腳具有完全相同的功能。數(shù)據方向寄存器DDRC的各位用于引腳方向的選擇。當DDRCn被置1時,則相應的端口C的引腳為輸出引腳;反之,為輸入引腳。20端口D端口特性端口作為通用數(shù)據I/O口端口的第二功能21端口特性 端口D是一個8位雙向I/O口。端口D包含3個I/O地址,其中有兩個寄存器和一個輸入引腳:數(shù)據寄存器PORTD、數(shù)據方向寄存器DDRD、輸入引腳PIND。數(shù)據寄存器PORTD和數(shù)據方

8、向寄存器DDRD是可讀可寫的,而輸入引腳PIND僅僅可讀不可寫。PIND不是一個寄存器,這個地址是用來訪問端口D的物理值。當讀取PIND時,讀到的是施加于引腳上的邏輯值。端口D的所有引腳都可以單獨選擇上拉電阻,并且可吸收20mA的電流,所以可以直接驅動LED指示燈。上拉電阻被激活且引腳被拉低時,則該引腳會輸出電流。22端口作為通用數(shù)據I/O口 當端口D作為通用輸入輸出口時,它的8個引腳具有完全相同的功能。數(shù)據方向寄存器DDRD的各位用于引腳方向的選擇。當DDRDn被置1時,則相應的端口D的引腳為輸出引腳;反之,為輸入引腳。23端口的第二功能 RXD :UART的數(shù)據接收引腳。 TXD :UAR

9、T的數(shù)據發(fā)送引腳。 INT0 :外部中斷源0。 INT1 :外部中斷源1。 OCIB :比較匹配B的外部輸出。 OCIA :比較匹配A的外部輸出。 ICP :輸入捕獲引腳。 OC2:比較匹配的外部輸出。24并行接口應用舉例例4.2.1彩燈控制例4.2.2二進制數(shù)輸出控制25彩燈控制如圖4-4所示的電路,有8只發(fā)光二極管接在PC口,每只發(fā)光管低電平點亮。如果按圖4-5所示的方式點亮,每次點亮兩只發(fā)光亮,間隔0.2s后,再換成點亮相鄰的兩只,依此類推,4次后,再回到第一次,周而復始,形成彩燈的移動。 圖4-4 彩燈控制電路 圖4-5 彩燈點亮示意圖26彩燈控制程序#include #include

10、 void main( ) char i,j ; /* PORTC定義 */PORTC=0 x00 ;DDRC=0X11; while(1) j=0 x11 ; For (i=0; i4 ;i+) PORTC= j ; delay_ms(100) ; j =j 1 ; ;27例4.2.2二進制數(shù)輸出控制如圖4-6所示為二進制數(shù)輸入、輸出控制的電路原理圖。 圖4-6 并行輸入/輸出應用28PC口作為輸入接口使用,每一位接有上拉電阻和開關。當開關斷開時,輸入為高電平,讀取的結果為1;當開關閉合時,輸入為低電平,讀取的結果為0。這樣8個開關s0s7的狀態(tài)可以組成一個8位的二進制輸入數(shù)。如圖4-7所示

11、,s7、s5、s2、s0斷開,s6、s4、s3、s1閉合。 開關: S7 S6 S5 S4 S3 S2 S1 S0 狀態(tài): 開 閉 開 閉 閉 開 閉 開 輸入值:1 0 1 0 0 1 0 1 所以,輸入的二進制數(shù)為0 xa5。29PD口作為輸出口使用,每一位與VCC之間接有一個限流電阻和一個發(fā)光二級管。當PD口的某位輸出1時,引腳為高電平,發(fā)光管不亮;當PD口的某位輸出0時,引腳為低電平,發(fā)光管點亮。如果輸出二進制數(shù)10100101,結果如下: 位數(shù): 7 6 5 4 3 2 1 0 輸出: 1 0 1 0 0 1 0 1 燈: 滅 亮 滅 亮 亮 滅 亮 滅 所以,可以用燈的亮和滅來表示

12、二進制數(shù)。30例如:8個燈從高位到低位的狀態(tài)為滅滅亮亮亮滅滅滅,則二進制數(shù)為11000111。現(xiàn)要求輸入變化時,輸出顯示輸入的結果,則程序如下:#include void main( )DDRC= 0 x00 ;PORTC=0 x00 ;DDRD= 0 xff ;while(1) PORTD=PINC ; 31位檢測與位控制位變量位檢測位控制位運算位測試32位變量在CVAVR中可以直接定義位變量為全局變量,例如:bit on;也可以在定義時賦值:bit on=1, off=0;33位檢測 位檢測具有位讀取的含義,根據C語言中賦值語句的含義,等號右邊的為讀取值。所以等號右邊出現(xiàn)位變量,就是對位的

13、檢測。如果要檢測某個輸入引腳的狀態(tài),可以在賦值語句的右邊使用接口輸入變量的位操作符。 例如讀取C口的第0位到位變量weib1,可以編程如下: bit weib1; weib1=PINC.0;34位控制位控制具有把一個位變量輸出到某個引腳的含義。所以位控制時,賦值語句的左邊為接口輸出變量的位操作符。例如把C口的第0位控制為高電平,可編寫程序如下: DDRC=0 xff; PORTC.0=1;35位運算位運算一般有:置1、清0、取反、與、或、非、異或等運算。置1:位變量=1;清0:位變量=0;取反:位變量=!位變量與運算:位變量3=位變量1&位變量2或運算:位變量3=位變量1|位變量2異或運算:位

14、變量3=位變量1位變量2非運算:位變量2=!位變量136位測試在很多應用中需要知道一個變量的狀態(tài)。例如某一運算為:如果字符變量AA的第二位為0時,變量BB清0;AA的第二位為1時,BB加10。這個運算要測試變量AA的第二位。“按位與”運算規(guī)則,某位與1“與”,本位不變,與0“與”,本位變0。所以使測試位不變,其它位變0。如果被測試位是0,則整個運算結果是0;如被測試位為1,則整個結果為非0。通過判斷結果是否為非0,就能測試需要的位。對上例可以用下面的程序實現(xiàn): if(AA&0b00000100) BB=BB+10;else BB=0;37位操作應用實例例43按鍵處理例44加減計數(shù)例45方波輸出

15、38例43按鍵處理如圖4-7所示的電路圖,PC3口的按鍵每按一次,PD3口的發(fā)光管的狀態(tài)改變一次。圖4-7 鍵控指示燈電路39按鍵不按下時,PC3為高電平;按下時,為低電平。閉合與斷開的瞬間伴有一連串的抖動,抖動時間一般為510ms。40按鍵抖動影響的消除:每隔20ms檢測一次按鍵的狀態(tài)。檢查是否按了一次鍵,可以檢查高電平到低電平的變化,或低電平到高電平的變化。41下列程序段實現(xiàn)例4-3的功能。bit j ;main()DDRD=0 xff;DDRC=0 x00;j=PINC.3;while(1)j=PINC.3;delay_ms(20);if(PINC.3=0) &(j=1) PORTD.3

16、=! PORTD.3;42例44加減計數(shù)如圖4-9所示的電路圖,PD口的8個發(fā)光管顯示一個8位的二進制數(shù),j04按鍵每按一次,PD口顯示的二進制數(shù)加1,j05按鍵每按一次,PD口顯示的二進制數(shù)減1。 圖4-9 鍵控計數(shù)電路 43下列程序段實現(xiàn)例4-4的功能。#include #include bit p1,p2;void main( ) PORTC=0 xfe ;DDRC=0 x0f ;PORTD=0 xff ;DDRD=0 xff ;while(1) p1= PINC.4; p2= PINC.5; delay_ms(20); if( (PINC.4=0)&(p1=1) PORTD-; if( (PINC.5=0)&(p2=1) PORTD+;44例45方波輸出 如圖4-1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論