任務(wù)1:點(diǎn)亮你的LED-初識(shí)單片機(jī)_第1頁
任務(wù)1:點(diǎn)亮你的LED-初識(shí)單片機(jī)_第2頁
任務(wù)1:點(diǎn)亮你的LED-初識(shí)單片機(jī)_第3頁
任務(wù)1:點(diǎn)亮你的LED-初識(shí)單片機(jī)_第4頁
任務(wù)1:點(diǎn)亮你的LED-初識(shí)單片機(jī)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、任務(wù)1: 點(diǎn)亮你的LED-初識(shí)單片機(jī)如何實(shí)現(xiàn)軟件設(shè)計(jì)硬件電路設(shè)計(jì)功能要求引出問題預(yù)備知識(shí) 電平特性 2進(jìn)制與16進(jìn)制的表示及轉(zhuǎn)換 二進(jìn)制數(shù)的邏輯運(yùn)算 8051單片機(jī)介紹 C51基礎(chǔ)知識(shí)關(guān)于電平特性數(shù)字電路中只有兩種電平:高和低(本課程中)定義單片機(jī)為TTL電平 高 +5V 低 0VRS232電平:計(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)制中的0-15分別表

2、示為十六進(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 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)制000910019111101010A2102111011B3113121100C41004131101D51015141110E6110

3、6151111F71117161000010810008 二進(jìn)制數(shù)的邏輯運(yùn)算 1. “與”運(yùn)算 “與”運(yùn)算是實(shí)現(xiàn)“有0必0”這種邏輯關(guān)系的一種運(yùn)算。 運(yùn)算符為“ ”, 其運(yùn)算規(guī)則如下:00=0, 01=10=0, 11=1 2. “或”運(yùn)算 “或”運(yùn)算是實(shí)現(xiàn)“有1必1”這種邏輯關(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)算是實(shí)現(xiàn)“求反”這種邏輯的一種運(yùn)算,如變量A的“非”運(yùn)算記作 。 其運(yùn)算規(guī)則如下: A 4. “異或”運(yùn)算 “異或”運(yùn)算是實(shí)現(xiàn)“相同為0,相異為1 ”這種邏輯的一種運(yùn)算, 運(yùn)算符為“”。其運(yùn)

4、算規(guī)則是: 設(shè)計(jì)一個(gè)單片機(jī)最小控制系統(tǒng) 設(shè)計(jì)一個(gè)彩燈點(diǎn)亮的單片機(jī)控制系統(tǒng),即在單片機(jī)的P2端口上接8個(gè)發(fā)光二極管,使其點(diǎn)亮。功能要求系統(tǒng)方案設(shè)計(jì)硬件方案確定總設(shè)計(jì)電路原理圖(SCH)硬件電路設(shè)計(jì)系統(tǒng)方案設(shè)計(jì) 圖1.1 LED彩燈閃爍控制系統(tǒng)組成方框圖 單 片 機(jī)LED彩燈電路復(fù)位電路時(shí)鐘電路電源電路硬件方案確定電源選擇單片機(jī)復(fù)位電路硬件方案時(shí)鐘電路設(shè)計(jì)接口電路設(shè)計(jì) 常用單片機(jī)系列目前單片機(jī)產(chǎn)品有60多個(gè)系列, 1000多種型號(hào), 流行體系結(jié)構(gòu)有30多個(gè)系列, 門類齊全, 能滿足各種應(yīng)用需求。 單片機(jī)的類型眾多的單片機(jī)可以從不同角度進(jìn)行分類。 按單片機(jī)數(shù)據(jù)總線的位數(shù), 可將單片機(jī)分為4位、 8位

5、、 16位、 32位。單片機(jī)還可以從編程方式上分為OTPROM型、 Flash型、 ISP型、 IAP型及JTAG接口型; 從制造工藝技術(shù)上可分為普通MOS型、 CMOS型、 HMOS型、 CHMOS型和HCMOS型; 從功耗上可分為普通型和低功耗型; 從性價(jià)比上可分為普通型和經(jīng)濟(jì)型等。硬件方案確定 單片機(jī)的選擇目前流行的51內(nèi)核的8位單片機(jī)目前, 在國內(nèi)市場上流行的單片機(jī)不下十幾種, 占據(jù)主導(dǎo)地位的仍是51內(nèi)核及其兼容單片機(jī)。 這些單片機(jī)和MCS 51單片機(jī)的指令完全兼容, 資料和開發(fā)設(shè)備比較齊全, 價(jià)格也比較便宜。 另外, 從學(xué)習(xí)的角度來看, 有了51單片機(jī)的基礎(chǔ)后, 再學(xué)習(xí)其他單片機(jī)時(shí)則

6、非常容易。 1. MCS 51系列單片機(jī)MCS 51系列單片機(jī)是Intel公司生產(chǎn)的功能比較強(qiáng)、 價(jià)格比較低, 較早應(yīng)用的單片機(jī), 目前仍被廣泛應(yīng)用。2. ATMEL公司的89系列單片機(jī)美國ATMEL公司的89系列單片機(jī)是以8051核構(gòu)成的, 它和8051系列單片機(jī)是兼容的系列。MCS-51系列單片機(jī)配置一覽表系列片內(nèi)存儲(chǔ)器(字節(jié))定時(shí)器計(jì)數(shù)器并行I/O串行I/O中斷源片內(nèi)ROM片內(nèi)RAM無有ROM有EPROMIntel51子系列803180C31805180C51(4K字節(jié))875187C51(4K字節(jié))128字節(jié)2x164x8位15Intel52子系列803280C32805280C52(

7、8K字節(jié))875287C52(8K字節(jié))256字節(jié)3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20條引腳DIP封裝)1282151589C51(4K)/89C52(8K)(40條引腳DIP封裝)128/2562/33215/6單片機(jī)的基本概念-單片機(jī)硬件結(jié)構(gòu)時(shí)鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時(shí)計(jì)數(shù)器結(jié)構(gòu)框圖中央處理器CPU:8位,運(yùn)算和控制功能內(nèi)部RAM:共256個(gè)RAM單元,用戶使用前128個(gè)單元,用于存放可讀寫數(shù)據(jù),后128個(gè)單元被專用寄存器占用。內(nèi)

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

9、計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。并行I/O口:4個(gè)8位的I/O口P0、P1、P2、P3。串行口:一個(gè)全雙工串行口。中斷控制系統(tǒng):5個(gè)中斷源(外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2 個(gè),串行中斷1個(gè))時(shí)鐘電路:可產(chǎn)生時(shí)鐘脈沖序列,允許晶振頻率6MHZ和12MHZ硬件方案確定 單片機(jī)的選擇單片機(jī)內(nèi)部資源的三大指標(biāo): 1.FLASH (程序存儲(chǔ)空間) 2.RAM(內(nèi)存) 3.SFR(特殊功能寄存器)單片機(jī)的選擇STC89C52: 8KFLASH、512字節(jié)RAM、32個(gè)IO口、3個(gè)定時(shí)器、1個(gè)UART、8個(gè)中斷源。 P89V51RD+: 64KFLASH、1024字節(jié)RAM、32個(gè)IO口、3個(gè)定時(shí)器、1個(gè)UART

10、、8個(gè)中斷源、1個(gè)SPI、PWM、并且支持與KEIL連機(jī)進(jìn)行在線仿真。單片機(jī)最小系統(tǒng)三要素:電源電路、復(fù)位電路、晶振電路。特點(diǎn):單片機(jī)可以運(yùn)行程序,是單片機(jī)控制系統(tǒng)的核心。硬件方案確定 電源選擇依據(jù) AT89S52單片機(jī)的主要電源特性:電壓操作范圍為:4.05.5V電源確定 選擇+5V的電源硬件方案確定 時(shí)鐘電路(1)單片機(jī)的連接引腳XTAL1、XTAL2 ;連接方法內(nèi)部時(shí)鐘方式 外部時(shí)鐘方式 內(nèi)部機(jī)器頻率F=fosc/12C1和C2的一般取值2030pF陶瓷電容硬件方案確定 復(fù)位電路(1)復(fù)位電路設(shè)計(jì)單片機(jī)的連接引腳RST ;連接電路硬件方案確定 復(fù)位電路(2)1、復(fù)位后內(nèi)部寄存器狀態(tài) PC

11、=0000H、SP=07H、P0P3=0FFH、其他均為00H。 2、電路參數(shù)選擇依據(jù) RST引腳出現(xiàn)的高電平持續(xù)兩個(gè)機(jī)器周期以上的時(shí)間RC電路的充電時(shí)間為:=R*C電路參數(shù) R、C器件值得選擇R*C 2*TCN (TCN為機(jī)器周期)點(diǎn)亮一個(gè)LED發(fā)光二極管發(fā)光二極管(LED):通常紅色貼片LED:電壓1.6V2.4V,電流2到20mA,在2到5mA亮度有所變化,5mA以上亮度基本無變化。(5-2)/r= 2ma (5-2)/R = 20ma 150 - 1.5K單片機(jī)(MCU),最小控制單元。首先,我們用單片機(jī)來控制一個(gè)燈的亮滅。硬件方案確定 LED彩燈接口電路設(shè)計(jì)拉電流 高電平輸出時(shí),一般

12、是對(duì)負(fù)載提供電流,其提供電流的數(shù)值叫“拉電流”; (5V-2V)/10mA=300電阻的選擇 灌電流 低電平輸出時(shí),一般是要吸收負(fù)載的電流,其吸收電流的數(shù)值叫“灌電流”; 硬件方案確定 系統(tǒng)電路圖單片機(jī)系統(tǒng)的PROTUES交互式仿真實(shí)時(shí)顯示系統(tǒng)輸出結(jié)果 實(shí)時(shí)顯示元器件 引腳電平軟件設(shè)計(jì)為什么要使用C語言?編程實(shí)現(xiàn):4772+4071=?匯編語言:(12A4H+0FE7H=?)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,#0

13、FH; 加數(shù)高8位+A+CY,A=22HMOV 41H,A; 存高8位運(yùn)算結(jié)果C語言:unsigned int ans = 4772+4071;易于編寫、調(diào)試、理解C語言VS匯編語言比較項(xiàng)目C語言匯編語言可讀性高低硬件涉及度低高可移植性高低復(fù)雜算法容易難開發(fā)效率高低運(yùn)行效率低高學(xué)習(xí)難度低高第一個(gè)程序/*ex101.c-點(diǎn)亮LED. */ /注釋#include /預(yù)處理命令(頭文件包含) void main( ) /程序入口(主函數(shù)) /函數(shù)體開始 P2=0 x00; /功能語句 /函數(shù)體結(jié)束注釋 /* */或/ C程序中的“/* */”或/稱為注釋,是程序編寫者給程序閱讀者留下的一些說明(注

14、釋),以幫助閱讀者理解程序。編譯器不對(duì)注釋進(jìn)行編譯,只將它們當(dāng)作空白看待。/* */:對(duì)C程序的任何一部分作為注釋,從/*開始后,一直到*/為止中間的任何內(nèi)容都為注釋/:語句注釋,只對(duì)本行有效庫函數(shù)與頭文件包含命令include庫函數(shù):系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù),程序可直接使用, 使用庫函數(shù)必須將其有關(guān)說明信息寫入程序。為了用戶方便,系統(tǒng)定義庫函數(shù)時(shí),把一類相關(guān)庫函數(shù)的說明信息,分別寫在一些文件中。本例中使用了51單片機(jī)I/O口 ,其有關(guān)說明信息寫在文件reg51.h中。所以在程序的開始加入了#include “頭文件包含”(命令include):指一個(gè)文件將另一個(gè)文件的內(nèi)容全部包含進(jìn)來。頭文件一般在

15、C:KELLC51INC下,INC文件夾里面有不少頭文件,并且里面還有很多以公司分類的文件夾,里面也都是相關(guān)產(chǎn)品的頭文件。在單片機(jī)中用C語言編程時(shí),往往第一行就是頭文件或者其它的自定義頭文件。#include的預(yù)處理命令C-51的包含的頭文件通常有:reg51.h reg52.h math.h intrins.h ctype.h stdio.h stdlib.h absacc.h常用有:reg51.h reg52.h (定義特殊功能寄存器和位寄存器); math.h (定義常用數(shù)學(xué)運(yùn)算); main函數(shù)任何C程序都必須有且只能有一個(gè)主函數(shù)main(),它是程序的入口,也是程序的出口。其中,ma

16、in是函數(shù)名,()內(nèi)可以包含一些參數(shù); 的內(nèi)容稱為函數(shù)體,其包含若干條C程序語句;不同語句之間用分號(hào)分隔;一般情況下,每個(gè)程序都由一至多個(gè)函數(shù)組成;表示main函數(shù)沒有返回值函數(shù)名函數(shù)體語句void main( ) P1=0 x00; 演示ex101語句 P2=0 x00;C語言的主函數(shù)體由一些語句組成。每個(gè)語句由一個(gè)分號(hào)結(jié)束。如本例中,主函數(shù)的一個(gè)語句:P2=0 x00;說明:P2是單片機(jī)的I/ O口,該語句功能是將LED點(diǎn)亮(共陽極);C基本語句 C語言的語句可分為以下四類: 表達(dá)式語句 空語句 復(fù)合語句 流程控制語句表達(dá)式語句就是一個(gè)表達(dá)式加上一個(gè)分號(hào)。其一般形式如下: 表達(dá)式;執(zhí)行表達(dá)

17、式語句就是計(jì)算表達(dá)式的值 如:a+; x=1; 2. 空語句用一個(gè)分號(hào)表示,其一般形式為: ;程序執(zhí)行空語句時(shí)需要占用一條指令的執(zhí)行時(shí)間,但是什么也不做。在C51程序中常常把空語句作為循環(huán)體,用于消耗CPU時(shí)間等待事件發(fā)生的場合。 復(fù)合語句用一對(duì)花括號(hào) 將多條語句組合在一起,在語法上相當(dāng)于一條語句。組合在一起形成具有一定功能的模塊。1、一般形式: 內(nèi)部數(shù)據(jù)說明; 語句1; 語句n; 注意:(1)在復(fù)合語句中說明的變量,是局部變量, 僅在復(fù)合語句中有效。(2)復(fù)合語句的 之后,不能有分號(hào)。(3)復(fù)合語句之間用“”分隔,內(nèi)部各語句以;結(jié)束。(4) 復(fù)合語句允許嵌套。即中或嵌套。復(fù)合語句(程序塊)

18、示例【例3.3】main( ) int x=1; int x=2; int x=3; printf(“x=%d”, x); printf(“x=%d”, x); printf(“x=%d”, x);C語言程序結(jié)構(gòu)小結(jié):一個(gè)C語言源程序是由一個(gè)或若干個(gè)函數(shù)組成,每一個(gè)函數(shù)完成相對(duì)獨(dú)立的功能。每個(gè)C程序都必須有(且僅有)一個(gè)主函數(shù)main(),程序的執(zhí)行總是從主函數(shù)開始,調(diào)用其他函數(shù)后返回主函數(shù)main(),不管函數(shù)的排列順序如何,最后在主函數(shù)中結(jié)束整個(gè)程序。C語言程序中可以有預(yù)處理命令,預(yù)處理命令通常放在源程序的最前面。C語言程序使用“;”作為語句的結(jié)束符,一條語句可以多行書寫,也可以一行書寫多條語句。C語言程序設(shè)計(jì)基本結(jié)構(gòu):/*xxxx.c 文件說明. */#include /預(yù)處理命令 void main( ) /程序入口(主函數(shù)) /函數(shù)體開始 ; /功能語句 /函數(shù)體結(jié)束認(rèn)識(shí)C語言結(jié)構(gòu)化語言豐富的數(shù)據(jù)類型便于維護(hù)管理與匯編語言相比,C語言的優(yōu)點(diǎn)如下:不要求編程者詳細(xì)了解單片機(jī)的指令系統(tǒng),但需了解單片機(jī)的存儲(chǔ)器結(jié)構(gòu);寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理;結(jié)構(gòu)清晰,程序可讀

溫馨提示

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

評(píng)論

0/150

提交評(píng)論