




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、任務(wù)1: 點(diǎn)亮你的LED-初識單片機(jī)如何實(shí)現(xiàn)軟件設(shè)計硬件電路設(shè)計功能要求引出問題預(yù)備知識 電平特性 2進(jìn)制與16進(jìn)制的表示及轉(zhuǎn)換 二進(jìn)制數(shù)的邏輯運(yùn)算 8051單片機(jī)介紹 C51基礎(chǔ)知識關(guān)于電平特性數(shù)字電路中只有兩種電平:高和低(本課程中)定義單片機(jī)為TTL電平 高 +5V 低 0VRS232電平:計算機(jī)的串口 高 -12V 低+12V 所以計算機(jī)與單片機(jī)之間通訊時需要加電平轉(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ī)律:一般把四個二進(jìn)制數(shù)放在一起轉(zhuǎn)換成一個十六進(jìn)制數(shù),轉(zhuǎn)換時先把二進(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)位制的對應(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ī)最小控制系統(tǒng) 設(shè)計一個彩燈點(diǎn)亮的單片機(jī)控制系統(tǒng),即在單片機(jī)的P2端口上接8個發(fā)光二極管,使其點(diǎn)亮。功能要求系統(tǒng)方案設(shè)計硬件方案確定總設(shè)計電路原理圖(SCH)硬件電路設(shè)計系統(tǒng)方案設(shè)計 圖1.1 LED彩燈閃爍控制系統(tǒng)組成方框圖 單 片 機(jī)LED彩燈電路復(fù)位電路時鐘電路電源電路硬件方案確定電源選擇單片機(jī)復(fù)位電路硬件方案時鐘電路設(shè)計接口電路設(shè)計 常用單片機(jī)系列目前單片機(jī)產(chǎn)品有60多個系列, 1000多種型號, 流行體系結(jié)構(gòu)有30多個系列, 門類齊全, 能滿足各種應(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型; 從功耗上可分為普通型和低功耗型; 從性價比上可分為普通型和經(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è)備比較齊全, 價格也比較便宜。 另外, 從學(xué)習(xí)的角度來看, 有了51單片機(jī)的基礎(chǔ)后, 再學(xué)習(xí)其他單片機(jī)時則
6、非常容易。 1. MCS 51系列單片機(jī)MCS 51系列單片機(jī)是Intel公司生產(chǎn)的功能比較強(qiáng)、 價格比較低, 較早應(yīng)用的單片機(jī), 目前仍被廣泛應(yīng)用。2. ATMEL公司的89系列單片機(jī)美國ATMEL公司的89系列單片機(jī)是以8051核構(gòu)成的, 它和8051系列單片機(jī)是兼容的系列。MCS-51系列單片機(jī)配置一覽表系列片內(nèi)存儲器(字節(jié))定時器計數(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)時鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時計數(shù)器結(jié)構(gòu)框圖中央處理器CPU:8位,運(yùn)算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)
8、部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/計數(shù)器,實(shí)現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2 個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ8051單片機(jī)的基本組成中央處理器CPU:8位,運(yùn)算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/
9、計數(shù)器,實(shí)現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、P2、P3。串行口:一個全雙工串行口。中斷控制系統(tǒng):5個中斷源(外中斷2個,定時/計數(shù)中斷2 個,串行中斷1個)時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ硬件方案確定 單片機(jī)的選擇單片機(jī)內(nèi)部資源的三大指標(biāo): 1.FLASH (程序存儲空間) 2.RAM(內(nèi)存) 3.SFR(特殊功能寄存器)單片機(jī)的選擇STC89C52: 8KFLASH、512字節(jié)RAM、32個IO口、3個定時器、1個UART、8個中斷源。 P89V51RD+: 64KFLASH、1024字節(jié)RAM、32個IO口、3個定時器、1個UART
10、、8個中斷源、1個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的電源硬件方案確定 時鐘電路(1)單片機(jī)的連接引腳XTAL1、XTAL2 ;連接方法內(nèi)部時鐘方式 外部時鐘方式 內(nèi)部機(jī)器頻率F=fosc/12C1和C2的一般取值2030pF陶瓷電容硬件方案確定 復(fù)位電路(1)復(fù)位電路設(shè)計單片機(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ù)兩個機(jī)器周期以上的時間RC電路的充電時間為:=R*C電路參數(shù) R、C器件值得選擇R*C 2*TCN (TCN為機(jī)器周期)點(diǎn)亮一個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ī)來控制一個燈的亮滅。硬件方案確定 LED彩燈接口電路設(shè)計拉電流 高電平輸出時,一般
12、是對負(fù)載提供電流,其提供電流的數(shù)值叫“拉電流”; (5V-2V)/10mA=300電阻的選擇 灌電流 低電平輸出時,一般是要吸收負(fù)載的電流,其吸收電流的數(shù)值叫“灌電流”; 硬件方案確定 系統(tǒng)電路圖單片機(jī)系統(tǒng)的PROTUES交互式仿真實(shí)時顯示系統(tǒng)輸出結(jié)果 實(shí)時顯示元器件 引腳電平軟件設(shè)計為什么要使用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í)難度低高第一個程序/*ex101.c-點(diǎn)亮LED. */ /注釋#include /預(yù)處理命令(頭文件包含) void main( ) /程序入口(主函數(shù)) /函數(shù)體開始 P2=0 x00; /功能語句 /函數(shù)體結(jié)束注釋 /* */或/ C程序中的“/* */”或/稱為注釋,是程序編寫者給程序閱讀者留下的一些說明(注
14、釋),以幫助閱讀者理解程序。編譯器不對注釋進(jìn)行編譯,只將它們當(dāng)作空白看待。/* */:對C程序的任何一部分作為注釋,從/*開始后,一直到*/為止中間的任何內(nèi)容都為注釋/:語句注釋,只對本行有效庫函數(shù)與頭文件包含命令include庫函數(shù):系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù),程序可直接使用, 使用庫函數(shù)必須將其有關(guān)說明信息寫入程序。為了用戶方便,系統(tǒng)定義庫函數(shù)時,把一類相關(guān)庫函數(shù)的說明信息,分別寫在一些文件中。本例中使用了51單片機(jī)I/O口 ,其有關(guān)說明信息寫在文件reg51.h中。所以在程序的開始加入了#include “頭文件包含”(命令include):指一個文件將另一個文件的內(nèi)容全部包含進(jìn)來。頭文件一般在
15、C:KELLC51INC下,INC文件夾里面有不少頭文件,并且里面還有很多以公司分類的文件夾,里面也都是相關(guān)產(chǎn)品的頭文件。在單片機(jī)中用C語言編程時,往往第一行就是頭文件或者其它的自定義頭文件。#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程序都必須有且只能有一個主函數(shù)main(),它是程序的入口,也是程序的出口。其中,ma
16、in是函數(shù)名,()內(nèi)可以包含一些參數(shù); 的內(nèi)容稱為函數(shù)體,其包含若干條C程序語句;不同語句之間用分號分隔;一般情況下,每個程序都由一至多個函數(shù)組成;表示main函數(shù)沒有返回值函數(shù)名函數(shù)體語句void main( ) P1=0 x00; 演示ex101語句 P2=0 x00;C語言的主函數(shù)體由一些語句組成。每個語句由一個分號結(jié)束。如本例中,主函數(shù)的一個語句:P2=0 x00;說明:P2是單片機(jī)的I/ O口,該語句功能是將LED點(diǎn)亮(共陽極);C基本語句 C語言的語句可分為以下四類: 表達(dá)式語句 空語句 復(fù)合語句 流程控制語句表達(dá)式語句就是一個表達(dá)式加上一個分號。其一般形式如下: 表達(dá)式;執(zhí)行表達(dá)
17、式語句就是計算表達(dá)式的值 如:a+; x=1; 2. 空語句用一個分號表示,其一般形式為: ;程序執(zhí)行空語句時需要占用一條指令的執(zhí)行時間,但是什么也不做。在C51程序中常常把空語句作為循環(huán)體,用于消耗CPU時間等待事件發(fā)生的場合。 復(fù)合語句用一對花括號 將多條語句組合在一起,在語法上相當(dāng)于一條語句。組合在一起形成具有一定功能的模塊。1、一般形式: 內(nèi)部數(shù)據(jù)說明; 語句1; 語句n; 注意:(1)在復(fù)合語句中說明的變量,是局部變量, 僅在復(fù)合語句中有效。(2)復(fù)合語句的 之后,不能有分號。(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é):一個C語言源程序是由一個或若干個函數(shù)組成,每一個函數(shù)完成相對獨(dú)立的功能。每個C程序都必須有(且僅有)一個主函數(shù)main(),程序的執(zhí)行總是從主函數(shù)開始,調(diào)用其他函數(shù)后返回主函數(shù)main(),不管函數(shù)的排列順序如何,最后在主函數(shù)中結(jié)束整個程序。C語言程序中可以有預(yù)處理命令,預(yù)處理命令通常放在源程序的最前面。C語言程序使用“;”作為語句的結(jié)束符,一條語句可以多行書寫,也可以一行書寫多條語句。C語言程序設(shè)計基本結(jié)構(gòu):/*xxxx.c 文件說明. */#include /預(yù)處理命令 void main( ) /程序入口(主函數(shù)) /函數(shù)體開始 ; /功能語句 /函數(shù)體結(jié)束認(rèn)識C語言結(jié)構(gòu)化語言豐富的數(shù)據(jù)類型便于維護(hù)管理與匯編語言相比,C語言的優(yōu)點(diǎn)如下:不要求編程者詳細(xì)了解單片機(jī)的指令系統(tǒng),但需了解單片機(jī)的存儲器結(jié)構(gòu);寄存器分配、不同存儲器的尋址及數(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 液體壓強(qiáng)復(fù)習(xí)課件
- 門店店長禮儀培訓(xùn)
- 健全藥物載體靶向遞送改進(jìn)體系
- 學(xué)校宿管員聘用合同
- 銀行文件解讀培訓(xùn)
- 小區(qū)門衛(wèi)勞務(wù)合同
- 場地設(shè)備租賃合同協(xié)議
- 骨科考試題庫及答案
- 電廠運(yùn)行考試題庫及答案
- 事業(yè)單位人員聘用勞動合同
- 2025購銷商品合同模板
- 2024年山西華陽新材料科技集團(tuán)有限公司招聘筆試真題
- 2025年03月雙鴨山市“市委書記進(jìn)校園”引才活動黑龍江能源職業(yè)學(xué)院13人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年湖南興湘投資控股集團(tuán)有限公司春季校園招聘28人筆試參考題庫附帶答案詳解
- 隧道二襯臺車安裝拆除施工方案
- 農(nóng)業(yè)機(jī)械設(shè)備使用與操作指南
- 2025年03月州省氣象部門第二批公開招聘應(yīng)屆高校畢業(yè)生34人(第6號)筆試歷年參考題庫考點(diǎn)剖析附解題思路及答案詳解
- 南通市如東縣事業(yè)單位招聘真題2024
- 上海市第一至十八屆高一物理基礎(chǔ)知識競賽試題及答案
- 《建筑工程設(shè)計文件編制深度規(guī)定》(2022年版)
- 病例報告表(CRF)模板
評論
0/150
提交評論