單片機原理第10章_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、任務1: 點亮你的LED----初識單片機,如何實現(xiàn),,,,功能要求,引出問題,預備知識,電平特性 2進制與16進制的表示及轉(zhuǎn)換 二進制數(shù)的邏輯運算 8051單片機介紹 C51基礎知識,關于電平特性,數(shù)字電路中只有兩種電平:高和低(本課程中)定義單片機為TTL電平 高 +5V 低 0VRS232電平:計算機的串口 高

2、 -12V 低+12V 所以計算機與單片機之間通訊時需要加電平轉(zhuǎn)換芯片max232(實驗板上左下角)。,二進制,數(shù)字電路中的兩種電平特性決定了它0 0 6 1101 171112 10810003 11910014 100101010

3、5 10111 1011,十六進制,十進制中的0-15分別表示為十六進制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F熟練掌握二進制與十六進制之間的轉(zhuǎn)換。 規(guī)律:一般把四個二進制數(shù)放在一起轉(zhuǎn)換成一個十六進制數(shù),轉(zhuǎn)換時先把二進制數(shù)轉(zhuǎn)換成十進制數(shù),再把十進制數(shù)轉(zhuǎn)換成十六進制數(shù)。如:0001B -> 1 -> 1H B表示為二進制,H為十六進制 1001

4、B -> 9 -> 9H 1010B -> 10 -> AH 0010 1100 -> 44 -> 2CH,各種進位制的對應關系,二進制數(shù)的邏輯運算,1. “與”運算 “與”運算是實現(xiàn)“有0必0”這種邏輯關系的一種運算。 運算符為“· ”, 其運算規(guī)則如下:0·0=0, 0·1=1·0=0,

5、 1·1=1,2. “或”運算 “或”運算是實現(xiàn)“有1必1”這種邏輯關系的一種運算, 其運算符為“+”。 “或”運算規(guī)則如下:0+0=0, 0+1=1+0=1, 1+1=1,3. “非”運算 “非”運算是實現(xiàn)“求反”這種邏輯的一種運算,如變量A的“非”運算記作 。 其運算規(guī)則如下:,4. “異或”運算 “異或”運算是實現(xiàn)“相同為0,相異為1 ”這種邏

6、輯的一種運算, 運算符為“”。其運算規(guī)則是:,,,設計一個單片機最小控制系統(tǒng) 設計一個彩燈點亮的單片機控制系統(tǒng),即在單片機的P2端口上接8個發(fā)光二極管,使其點亮。,功能要求,,系統(tǒng)方案設計,硬件方案確定,總設計電路原理圖(SCH),硬件電路設計,系統(tǒng)方案設計,,圖1.1 LED彩燈閃爍控制系統(tǒng)組成方框圖,,,硬件方案確定,,,,,,,,電源選擇,單片機,復位電路,硬件方案,,,,,時鐘電路設計,接口電路設計

7、,常用單片機系列  目前單片機產(chǎn)品有60多個系列, 1000多種型號, 流行體系結(jié)構(gòu)有30多個系列, 門類齊全, 能滿足各種應用需求。 單片機的類型  眾多的單片機可以從不同角度進行分類。   按單片機數(shù)據(jù)總線的位數(shù), 可將單片機分為4位、 8位、 16位、 32位。單片機還可以從編程方式上分為OTPROM型、 Flash型、 ISP型、 IAP型及JTAG接口型; 從制造工藝技術(shù)上可分為普通MOS型、 CMOS型、 HMO

8、S型、 CHMOS型和HCMOS型; 從功耗上可分為普通型和低功耗型; 從性價比上可分為普通型和經(jīng)濟型等。,硬件方案確定 ––單片機的選擇,目前流行的51內(nèi)核的8位單片機  目前, 在國內(nèi)市場上流行的單片機不下十幾種, 占據(jù)主導地位的仍是51內(nèi)核及其兼容單片機。 這些單片機和MCS 51單片機的指令完全兼容, 資料和開發(fā)設備比較齊全, 價格也比較便宜。 另外, 從學習的角度來看, 有了51單片機的基礎后, 再學習其他單片機時則非

9、常容易?!?1. MCS 51系列單片機  MCS 51系列單片機是Intel公司生產(chǎn)的功能比較強、 價格比較低, 較早應用的單片機, 目前仍被廣泛應用?! ?. ATMEL公司的89系列單片機  美國ATMEL公司的89系列單片機是以8051核構(gòu)成的, 它和8051系列單片機是兼容的系列。,MCS-51系列單片機配置一覽表,單片機的基本概念---單片機硬件結(jié)構(gòu),結(jié)構(gòu)框圖,中央處理器CPU:8位,運算和控制功能,內(nèi)部RA

10、M:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。,內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。,定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。,并行I/O口:4個8位的I/O口P0、P1、P2、P3。,串行口:一個全雙工串行口。,中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2 個,串行中斷1個),時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振

11、頻率6MHZ和12MHZ,8051單片機的基本組成,中央處理器CPU:8位,運算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(

12、外中斷2個,定時/計數(shù)中斷2 個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ,硬件方案確定 ––單片機的選擇,單片機內(nèi)部資源的三大指標: 1.FLASH (程序存儲空間) 2.RAM(內(nèi)存) 3.SFR(特殊功能寄存器),單片機的選擇,STC89C52: 8KFLASH、512字節(jié)RAM、32個IO口、3個定時器、1個UART、8個中斷

13、源。 P89V51RD+: 64KFLASH、1024字節(jié)RAM、32個IO口、3個定時器、1個UART、8個中斷源、1個SPI、PWM、并且支持與KEIL連機進行在線仿真。,單片機最小系統(tǒng),三要素:電源電路、復位電路、晶振電路。特點:單片機可以運行程序,是單片機控制系統(tǒng)的核心。,硬件方案確定 ––電源選擇,,,,,依據(jù),AT89S52單片機的主要電源特性:電壓操作范圍為:4.0~5.5V,,

14、,,電源確定,選擇+5V的電源,硬件方案確定 ––時鐘電路(1),,單片機的連接引腳,XTAL1、XTAL2 ;,連接方法,內(nèi)部時鐘方式,外部時鐘方式,內(nèi)部機器頻率F=fosc/12,C1和C2的一般取值20~30pF陶瓷電容,,,硬件方案確定 ––復位電路(1),,復位電路設計,,單片機的連接引腳,RST ;,連接電路,硬件方案確定 ––復位電路(2),1、復位后內(nèi)部寄存器狀態(tài),PC=0000H、SP=07H、P0~P3=0FFH

15、、其他均為00H。,2、電路參數(shù)選擇,,,,依據(jù),RST引腳出現(xiàn)的高電平持續(xù)兩個機器周期以上的時間RC電路的充電時間為:τ=R*C,,,,電路參數(shù),R、C器件值得選擇R*C 〉2*TCN (TCN為機器周期),點亮一個LED發(fā)光二極管,發(fā)光二極管(LED):通常紅色貼片LED:電壓1.6V~2.4V,電流2到20mA,在2到5mA亮度有所變化,5mA以上亮度基本無變化。(5-2)/r= 2ma (5-2)/R = 20ma

16、 150 - 1.5K單片機(MCU),最小控制單元。首先,我們用單片機來控制一個燈的亮滅。,硬件方案確定 ––LED彩燈接口電路設計,,,(5V-2V)/10mA=300Ω,,,電阻的選擇,,,硬件方案確定 ––系統(tǒng)電路圖,,,,單片機系統(tǒng)的PROTUES交互式仿真,,實時顯示系統(tǒng)輸出結(jié)果,,實時顯示元器件 引腳電平,軟件設計,為什么要使用C語言?,編程實現(xiàn):4772+4071=?匯編語言:(12A4H+0FE7H=

17、?)MOV A,#0A4H; 被加數(shù)低8位→AADD A,#0E7H; 加數(shù)低8位E7H與之相加,A=8BH,CY=1MOV 40H,A; A→(40H),存低8位結(jié)果MOV A,#12H; 被加數(shù)高8位→AADDCADD A,#0FH; 加數(shù)高8位+A+CY,A=22HMOV 41H,A; 存高8位運算結(jié)果C語言:unsigned int ans = 4772+4071;,易于編寫、調(diào)試、理

18、解,C語言VS匯編語言,第一個程序,,/*ex101.c-點亮LED. */ //注釋#include //預處理命令(頭文件包含) void main( ) //程序入口(主函數(shù)) { //函數(shù)體開始 P2=0x00; //功能語句 }

19、 //函數(shù)體結(jié)束,①注釋 /*… */或//,C程序中的“/* … */”或//稱為注釋,是程序編寫者給程序閱讀者留下的一些說明(注釋),以幫助閱讀者理解程序。編譯器不對注釋進行編譯,只將它們當作空白看待。/*… */:對C程序的任何一部分作為注釋,從/*開始后,一直到*/為止中間的任何內(nèi)容都為注釋//:語句注釋,只對本行有效,②庫函數(shù)與頭文件包含命令include,庫函數(shù):系統(tǒng)提供的標準函數(shù),程序可直接使用

20、, 使用庫函數(shù)必須將其有關說明信息寫入程序。為了用戶方便,系統(tǒng)定義庫函數(shù)時,把一類相關庫函數(shù)的說明信息,分別寫在一些文件中。本例中使用了51單片機I/O口 ,其有關說明信息寫在文件reg51.h中。所以在程序的開始加入了#include “頭文件包含”(命令include):指一個文件將另一個文件的內(nèi)容全部包含進來。頭文件一般在C:\KELL\C51\INC下,INC文件夾里面有不少頭文件,并且里面還有很多以公司分類的文件夾

21、,里面也都是相關產(chǎn)品的頭文件。在單片機中用C語言編程時,往往第一行就是頭文件或者其它的自定義頭文件。#include的預處理命令,,C-51的包含的頭文件,,通常有:reg51.h reg52.h math.h intrins.h ctype.h stdio.h stdlib.h absacc.h常用有:reg51.h reg52.h (定義特殊功能寄存器和位寄存器); math.h (定義常用

22、數(shù)學運算);,③ main函數(shù),任何C程序都必須有且只能有一個主函數(shù)main(),它是程序的入口,也是程序的出口。其中,main是函數(shù)名,()內(nèi)可以包含一些參數(shù);{ }的內(nèi)容稱為函數(shù)體,其包含若干條C程序語句;不同語句之間用分號分隔;一般情況下,每個程序都由一至多個函數(shù)組成;,void main( ) { P1=0x00; },演示ex101,④語句 P2=0x00;,C語言的主

23、函數(shù)體由一些語句組成。每個語句由一個分號結(jié)束。如本例中,主函數(shù)的一個語句:P2=0x00;,說明:P2是單片機的I/ O口,該語句功能是將LED點亮(共陽極);,C基本語句,C語言的語句可分為以下四類: 表達式語句 空語句 復合語句 流程控制語句,表達式語句就是一個表達式加上一個分號。其一般形式如下: 表達式;執(zhí)行表達式語句就是計算表達式的值 如:a++; x=1; 2. 空語句用一個分號表

24、示,其一般形式為: ;程序執(zhí)行空語句時需要占用一條指令的執(zhí)行時間,但是什么也不做。在C51程序中常常把空語句作為循環(huán)體,用于消耗CPU時間等待事件發(fā)生的場合。,復合語句用一對花括號{ }將多條語句組合在一起,在語法上相當于一條語句。組合在一起形成具有一定功能的模塊。1、一般形式:{ [內(nèi)部數(shù)據(jù)說明;] 語句1; …… 語句n; }注意:(1)在復合語句中說明的變量,是局部變量, 僅在復合語句中有效。

25、(2)復合語句的 } 之后,不能有分號。(3)復合語句之間用“{}”分隔,內(nèi)部各語句以;結(jié)束。(4) 復合語句允許嵌套。即{}中或嵌套{}。,復合語句(程序塊) 示例【例3.3】main( ){ int x=1; { int x=2; {int x=3; printf(“x=%d”, x); } printf(“x=%d”, x);} printf

26、(“x=%d”, x);},C語言程序結(jié)構(gòu)小結(jié):,一個C語言源程序是由一個或若干個函數(shù)組成,每一個函數(shù)完成相對獨立的功能。每個C程序都必須有(且僅有)一個主函數(shù)main(),程序的執(zhí)行總是從主函數(shù)開始,調(diào)用其他函數(shù)后返回主函數(shù)main(),不管函數(shù)的排列順序如何,最后在主函數(shù)中結(jié)束整個程序。C語言程序中可以有預處理命令,預處理命令通常放在源程序的最前面。C語言程序使用“;”作為語句的結(jié)束符,一條語句可以多行書寫,也可以一行書寫多條

27、語句。,,,C語言程序設計基本結(jié)構(gòu):,/*xxxx.c 文件說明. */#include //預處理命令 void main( ) //程序入口(主函數(shù)) { //函數(shù)體開始 ………; //功能語句 }

28、 //函數(shù)體結(jié)束,認識C語言,結(jié)構(gòu)化語言豐富的數(shù)據(jù)類型便于維護管理與匯編語言相比,C語言的優(yōu)點如下:不要求編程者詳細了解單片機的指令系統(tǒng),但需了解單片機的存儲器結(jié)構(gòu);寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;結(jié)構(gòu)清晰,程序可讀性強;編譯器提供了很多標準庫函數(shù),具有較強的數(shù)據(jù)處理能力。,,1號:00000000,2號:00000000,3號:00000000,4號:00000000,5號

29、:00000000,6號:00000000,7號:00000000,8號:00000000,9號:00000000,10號:00000000,11號:00000000,12號:00000000,匯編語言程序:,ORG0000H ;程序開始 MOVP2,#00H;送顯示初值 END ;程序結(jié)束,作業(yè),1、牢記發(fā)光二極管參數(shù)和限流電阻計算方法。

溫馨提示

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

評論

0/150

提交評論