版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、任務1: 點亮你的LED-初識單片機如何實現(xiàn)軟件設計硬件電路設計功能要求引出問題預備知識 電平特性 2進制與16進制的表示及轉(zhuǎn)換 二進制數(shù)的邏輯運算 8051單片機介紹 C51基礎知識關于電平特性數(shù)字電路中只有兩種電平:高和低(本課程中)定義單片機為TTL電平 高 +5V 低 0VRS232電平:計算機的串口 高 -12V 低+12V 所以計算機與單片機之間通訊時需要加電平轉(zhuǎn)換芯片max232(實驗板上左下角)。二進制數(shù)字電路中的兩種電平特性決定了它0 0 6 1101 171112 10810003 11910014 1001010105 10111 1011十六進制十進制中的0-15分別表
2、示為十六進制的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為十六進制 1001B - 9 - 9H 1010B - 10 - AH 0010 1100 - 44 - 2CH 各種進位制的對應關系 十進制二進制十六進制十進制二進制十六進制000910019111101010A2102111011B3113121100C41004131101D51015141110E6110
3、6151111F71117161000010810008 二進制數(shù)的邏輯運算 1. “與”運算 “與”運算是實現(xiàn)“有0必0”這種邏輯關系的一種運算。 運算符為“ ”, 其運算規(guī)則如下:00=0, 01=10=0, 11=1 2. “或”運算 “或”運算是實現(xiàn)“有1必1”這種邏輯關系的一種運算, 其運算符為“+”。 “或”運算規(guī)則如下:0+0=0, 0+1=1+0=1, 1+1=1 3. “非”運算 “非”運算是實現(xiàn)“求反”這種邏輯的一種運算,如變量A的“非”運算記作 。 其運算規(guī)則如下: A 4. “異或”運算 “異或”運算是實現(xiàn)“相同為0,相異為1 ”這種邏輯的一種運算, 運算符為“”。其運
4、算規(guī)則是: 設計一個單片機最小控制系統(tǒng) 設計一個彩燈點亮的單片機控制系統(tǒng),即在單片機的P2端口上接8個發(fā)光二極管,使其點亮。功能要求系統(tǒng)方案設計硬件方案確定總設計電路原理圖(SCH)硬件電路設計系統(tǒng)方案設計 圖1.1 LED彩燈閃爍控制系統(tǒng)組成方框圖 單 片 機LED彩燈電路復位電路時鐘電路電源電路硬件方案確定電源選擇單片機復位電路硬件方案時鐘電路設計接口電路設計 常用單片機系列目前單片機產(chǎn)品有60多個系列, 1000多種型號, 流行體系結構有30多個系列, 門類齊全, 能滿足各種應用需求。 單片機的類型眾多的單片機可以從不同角度進行分類。 按單片機數(shù)據(jù)總線的位數(shù), 可將單片機分為4位、 8位
5、、 16位、 32位。單片機還可以從編程方式上分為OTPROM型、 Flash型、 ISP型、 IAP型及JTAG接口型; 從制造工藝技術上可分為普通MOS型、 CMOS型、 HMOS型、 CHMOS型和HCMOS型; 從功耗上可分為普通型和低功耗型; 從性價比上可分為普通型和經(jīng)濟型等。硬件方案確定 單片機的選擇目前流行的51內(nèi)核的8位單片機目前, 在國內(nèi)市場上流行的單片機不下十幾種, 占據(jù)主導地位的仍是51內(nèi)核及其兼容單片機。 這些單片機和MCS 51單片機的指令完全兼容, 資料和開發(fā)設備比較齊全, 價格也比較便宜。 另外, 從學習的角度來看, 有了51單片機的基礎后, 再學習其他單片機時則
6、非常容易。 1. MCS 51系列單片機MCS 51系列單片機是Intel公司生產(chǎn)的功能比較強、 價格比較低, 較早應用的單片機, 目前仍被廣泛應用。2. ATMEL公司的89系列單片機美國ATMEL公司的89系列單片機是以8051核構成的, 它和8051系列單片機是兼容的系列。MCS-51系列單片機配置一覽表系列片內(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單片機的基本概念-單片機硬件結構時鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時計數(shù)器結構框圖中央處理器CPU:8位,運算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)
8、部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)生時鐘脈沖序列,允許晶振頻率6MHZ和12MHZ8051單片機的基本組成中央處理器CPU:8位,運算和控制功能內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:兩個16位的定時/
9、計數(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硬件方案確定 單片機的選擇單片機內(nèi)部資源的三大指標: 1.FLASH (程序存儲空間) 2.RAM(內(nèi)存) 3.SFR(特殊功能寄存器)單片機的選擇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連機進行在線仿真。單片機最小系統(tǒng)三要素:電源電路、復位電路、晶振電路。特點:單片機可以運行程序,是單片機控制系統(tǒng)的核心。硬件方案確定 電源選擇依據(jù) AT89S52單片機的主要電源特性:電壓操作范圍為:4.05.5V電源確定 選擇+5V的電源硬件方案確定 時鐘電路(1)單片機的連接引腳XTAL1、XTAL2 ;連接方法內(nèi)部時鐘方式 外部時鐘方式 內(nèi)部機器頻率F=fosc/12C1和C2的一般取值2030pF陶瓷電容硬件方案確定 復位電路(1)復位電路設計單片機的連接引腳RST ;連接電路硬件方案確定 復位電路(2)1、復位后內(nèi)部寄存器狀態(tài) PC
11、=0000H、SP=07H、P0P3=0FFH、其他均為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.6V2.4V,電流2到20mA,在2到5mA亮度有所變化,5mA以上亮度基本無變化。(5-2)/r= 2ma (5-2)/R = 20ma 150 - 1.5K單片機(MCU),最小控制單元。首先,我們用單片機來控制一個燈的亮滅。硬件方案確定 LED彩燈接口電路設計拉電流 高電平輸出時,一般
12、是對負載提供電流,其提供電流的數(shù)值叫“拉電流”; (5V-2V)/10mA=300電阻的選擇 灌電流 低電平輸出時,一般是要吸收負載的電流,其吸收電流的數(shù)值叫“灌電流”; 硬件方案確定 系統(tǒng)電路圖單片機系統(tǒng)的PROTUES交互式仿真實時顯示系統(tǒng)輸出結果 實時顯示元器件 引腳電平軟件設計為什么要使用C語言?編程實現(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位結果MOV A,#12H; 被加數(shù)高8位AADDCADD A,#0
13、FH; 加數(shù)高8位+A+CY,A=22HMOV 41H,A; 存高8位運算結果C語言:unsigned int ans = 4772+4071;易于編寫、調(diào)試、理解C語言VS匯編語言比較項目C語言匯編語言可讀性高低硬件涉及度低高可移植性高低復雜算法容易難開發(fā)效率高低運行效率低高學習難度低高第一個程序/*ex101.c-點亮LED. */ /注釋#include /預處理命令(頭文件包含) void main( ) /程序入口(主函數(shù)) /函數(shù)體開始 P2=0 x00; /功能語句 /函數(shù)體結束注釋 /* */或/ C程序中的“/* */”或/稱為注釋,是程序編寫者給程序閱讀者留下的一些說明(注
14、釋),以幫助閱讀者理解程序。編譯器不對注釋進行編譯,只將它們當作空白看待。/* */:對C程序的任何一部分作為注釋,從/*開始后,一直到*/為止中間的任何內(nèi)容都為注釋/:語句注釋,只對本行有效庫函數(shù)與頭文件包含命令include庫函數(shù):系統(tǒng)提供的標準函數(shù),程序可直接使用, 使用庫函數(shù)必須將其有關說明信息寫入程序。為了用戶方便,系統(tǒng)定義庫函數(shù)時,把一類相關庫函數(shù)的說明信息,分別寫在一些文件中。本例中使用了51單片機I/O口 ,其有關說明信息寫在文件reg51.h中。所以在程序的開始加入了#include “頭文件包含”(命令include):指一個文件將另一個文件的內(nèi)容全部包含進來。頭文件一般在
15、C:KELLC51INC下,INC文件夾里面有不少頭文件,并且里面還有很多以公司分類的文件夾,里面也都是相關產(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 (定義常用數(shù)學運算); 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ù)體由一些語句組成。每個語句由一個分號結束。如本例中,主函數(shù)的一個語句:P2=0 x00;說明:P2是單片機的I/ O口,該語句功能是將LED點亮(共陽極);C基本語句 C語言的語句可分為以下四類: 表達式語句 空語句 復合語句 流程控制語句表達式語句就是一個表達式加上一個分號。其一般形式如下: 表達式;執(zhí)行表達
17、式語句就是計算表達式的值 如:a+; x=1; 2. 空語句用一個分號表示,其一般形式為: ;程序執(zhí)行空語句時需要占用一條指令的執(zhí)行時間,但是什么也不做。在C51程序中常常把空語句作為循環(huán)體,用于消耗CPU時間等待事件發(fā)生的場合。 復合語句用一對花括號 將多條語句組合在一起,在語法上相當于一條語句。組合在一起形成具有一定功能的模塊。1、一般形式: 內(nèi)部數(shù)據(jù)說明; 語句1; 語句n; 注意:(1)在復合語句中說明的變量,是局部變量, 僅在復合語句中有效。(2)復合語句的 之后,不能有分號。(3)復合語句之間用“”分隔,內(nèi)部各語句以;結束。(4) 復合語句允許嵌套。即中或嵌套。復合語句(程序塊)
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語言程序結構小結:一個C語言源程序是由一個或若干個函數(shù)組成,每一個函數(shù)完成相對獨立的功能。每個C程序都必須有(且僅有)一個主函數(shù)main(),程序的執(zhí)行總是從主函數(shù)開始,調(diào)用其他函數(shù)后返回主函數(shù)main(),不管函數(shù)的排列順序如何,最后在主函數(shù)中結束整個程序。C語言程序中可以有預處理命令,預處理命令通常放在源程序的最前面。C語言程序使用“;”作為語句的結束符,一條語句可以多行書寫,也可以一行書寫多條語句。C語言程序設計基本結構:/*xxxx.c 文件說明. */#include /預處理命令 void main( ) /程序入口(主函數(shù)) /函數(shù)體開始 ; /功能語句 /函數(shù)體結束認識C語言結構化語言豐富的數(shù)據(jù)類型便于維護管理與匯編語言相比,C語言的優(yōu)點如下:不要求編程者詳細了解單片機的指令系統(tǒng),但需了解單片機的存儲器結構;寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;結構清晰,程序可讀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度旅游度假合同管理及內(nèi)控風險預防合同
- 2025年度住宅小區(qū)物業(yè)退場移交與物業(yè)服務標準提升合同
- 2025年度裝修工程竣工驗收報告合同
- 2025年度餐飲管理咨詢項目租賃合同協(xié)議
- 2025年度短視頻影視作品宣傳與版權合作合同
- 2025年度車險人傷調(diào)解與保險行業(yè)規(guī)范執(zhí)行合同
- 2025年物業(yè)公司員工工作評價及勞務合同
- 2025年度黃金質(zhì)押投資擔保合同
- 2025年度農(nóng)業(yè)現(xiàn)代化項目貸款連帶擔保合同
- 2025年度酒店餐飲部服務員聘用合同及食品安全管理協(xié)議
- 醫(yī)保政策與健康管理培訓計劃
- 2024-2025年校長在教研組長和備課組長會議上講話
- 高三日語一輪復習助詞「で」的用法課件
- 2024-2030年中國銣銫及其化合物行業(yè)深度調(diào)研及投資戰(zhàn)略分析報告
- 散貨物流行業(yè)市場調(diào)研分析報告
- 痛風性關節(jié)炎中醫(yī)護理查房
- 廚房食材補貨方案
- 2024年重慶市中考數(shù)學試卷(AB合卷)【附答案】
- 宏觀利率篇:債券市場研究分析框架
- 六年級語文(上冊)選擇題集錦
- MOOC 材料科學基礎-西安交通大學 中國大學慕課答案
評論
0/150
提交評論