




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)C程序設(shè)計(jì) (C Programming for MCU)第一章 概述2 2本課程總成績(jī)成績(jī)組成考核/評(píng)價(jià)環(huán)節(jié)分值平時(shí)成績(jī)60%考勤10平時(shí)作業(yè)20上機(jī)測(cè)試30期末考試40%卷面成績(jī)40教材:教材:C程序設(shè)計(jì)(第四版)程序設(shè)計(jì)(第四版),譚浩強(qiáng),譚浩強(qiáng) 著著, 清華大學(xué)出版社清華大學(xué)出版社參考:參考:Arduino C語(yǔ)言編程實(shí)戰(zhàn)語(yǔ)言編程實(shí)戰(zhàn),美美Jack Purdum 著,人民郵電出版社著,人民郵電出版社3本章目標(biāo)本章目標(biāo)n了解了解C語(yǔ)言的歷史及現(xiàn)狀;語(yǔ)言的歷史及現(xiàn)狀;n初步了解初步了解C程序的結(jié)構(gòu)及其開發(fā)調(diào)試環(huán)境;程序的結(jié)構(gòu)及其開發(fā)調(diào)試環(huán)境;n了解什么是單片機(jī),與計(jì)算機(jī)有哪些差異;了
2、解什么是單片機(jī),與計(jì)算機(jī)有哪些差異;n了解了解Arduino單片機(jī)硬件及開發(fā)工具;單片機(jī)硬件及開發(fā)工具;n寫第一寫第一個(gè)程序個(gè)程序Hello World。41.1 C語(yǔ)言概述語(yǔ)言概述51.1 C語(yǔ)言概述語(yǔ)言概述n程序設(shè)計(jì)程序設(shè)計(jì)(Programming): 為計(jì)算機(jī)解決問題所需的分析、設(shè)計(jì)、編寫及調(diào)試程序過(guò)程。n程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言(Programming Language): 用來(lái)表達(dá)程序的計(jì)算機(jī)能夠執(zhí)行的人工語(yǔ)言,用于人與計(jì)算機(jī)之間通訊的語(yǔ)言。61.1 C語(yǔ)言概述語(yǔ)言概述n信息交流(地位平等)信息交流(地位平等)有思維和推理有思維和推理n人機(jī)交流(命令方式)人機(jī)交流(命令方式)無(wú)思維和
3、推理,有計(jì)算與邏輯判斷無(wú)思維和推理,有計(jì)算與邏輯判斷n語(yǔ)法、句法規(guī)則靈活語(yǔ)法、句法規(guī)則靈活可省略可顛倒可省略可顛倒n語(yǔ)法、句法規(guī)則固定語(yǔ)法、句法規(guī)則固定一般不可省略、顛倒,必須按部就班一般不可省略、顛倒,必須按部就班n表達(dá)方式多種多樣表達(dá)方式多種多樣n算法多樣算法多樣7為什么要學(xué)為什么要學(xué)C程序設(shè)計(jì)程序設(shè)計(jì)nC語(yǔ)言仍是目前廣泛使用的編程語(yǔ)言,主要特點(diǎn):語(yǔ)言仍是目前廣泛使用的編程語(yǔ)言,主要特點(diǎn):l表達(dá)能力強(qiáng),支持結(jié)構(gòu)化程序設(shè)計(jì);l語(yǔ)言簡(jiǎn)潔、緊湊、靈活;l代碼效率高: C編寫的程序僅比用匯編語(yǔ)言編寫的程序相差20%;l可移植性好;l特別適合編寫操作系統(tǒng)、編譯程序、數(shù)據(jù)庫(kù)系統(tǒng)、嵌入式軟件嵌入式軟件及
4、圖形/圖象處理等對(duì)性能要求高的軟件;nC語(yǔ)言是目前廣泛流行的面向?qū)ο笳Z(yǔ)言語(yǔ)言是目前廣泛流行的面向?qū)ο笳Z(yǔ)言C+、C#及及Java的基礎(chǔ)的基礎(chǔ)8C語(yǔ)言歷史語(yǔ)言歷史Dennis Ritchie C語(yǔ)言之父語(yǔ)言之父K.Thompson UNIX之父之父CPL1963 英國(guó)劍橋英國(guó)劍橋BCPL1967 M.Richards馬丁馬丁理查德理查德B1970 K.Thompson肯肯湯普遜湯普遜C1972 Dennis Ritchie丹尼斯丹尼斯里奇里奇C+1983 B.Stroustrup本賈尼本賈尼斯特勞斯特盧普斯特勞斯特盧普9一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的C程序:在屏幕上顯示一行正文程序:在屏幕上顯示一行正文例1
5、-1/* file: hello.c */ #include main( )printf(This is a C program.n);/* */ 為注釋注釋,不可嵌套#include為一條預(yù)處理預(yù)處理指令,當(dāng)程序中用到輸入/輸出函數(shù)時(shí),應(yīng)在文件開始處加上該指令。 main為一函數(shù)名函數(shù)名。 由 括起來(lái)的部分為函數(shù)體函數(shù)體。函數(shù)名為一標(biāo)識(shí)符標(biāo)識(shí)符。 printf為一條輸出語(yǔ)句語(yǔ)句,在C語(yǔ)言中分號(hào)(;)為語(yǔ)句的結(jié)束符。 printf為標(biāo)準(zhǔn)I/O庫(kù)中標(biāo)準(zhǔn)輸出函數(shù)。 為一字符串常量常量。 n為C語(yǔ)言轉(zhuǎn)義字符轉(zhuǎn)義字符,表示回車。10標(biāo)識(shí)符標(biāo)識(shí)符n在C語(yǔ)言中標(biāo)識(shí)符定義為:由字母、數(shù)字、下劃線(_)組成,
6、必須以字母或下劃線開頭。n標(biāo)識(shí)符在C語(yǔ)言中可作為變量名變量名、常量名常量名、函數(shù)名函數(shù)名、參數(shù)名參數(shù)名、類型名類型名、枚舉名枚舉名和標(biāo)號(hào)標(biāo)號(hào)等。11C程序結(jié)構(gòu)程序結(jié)構(gòu)n一個(gè)C程序程序由一系列外部說(shuō)明外部說(shuō)明和函數(shù)函數(shù)組成;n一個(gè)函數(shù)函數(shù)則由局部變量說(shuō)明變量說(shuō)明及語(yǔ)句語(yǔ)句序列組成;n一個(gè)C程序可由一個(gè)或多個(gè)函數(shù)組成,但其中必有一個(gè)(也只能有一個(gè))命名為main(主函數(shù)),其它函數(shù)可由用戶任取名字。程序運(yùn)行時(shí)必需從main開始,但main函數(shù)在程序中的前后位置沒有關(guān)系 ;n組成C程序的各個(gè)函數(shù)可在一個(gè)源文件源文件上,也可以分放在多個(gè)文件上(函數(shù)不能跨文件),每個(gè)源文件可單獨(dú)編譯。C源文件必須以.c
7、作后綴(.h為C程序的頭文件) ;12C程序的編輯、編譯和運(yùn)行13在在Windows下使用下使用VC編寫及運(yùn)行編寫及運(yùn)行C程序程序項(xiàng)目名項(xiàng)目名14創(chuàng)建一個(gè)控制臺(tái)的空項(xiàng)目創(chuàng)建一個(gè)控制臺(tái)的空項(xiàng)目15右鍵菜單右鍵菜單16輸入輸入C源源文件名文件名17編譯及連接編譯及連接Build編譯及連編譯及連接信息接信息運(yùn)行運(yùn)行Execute編輯編輯C程程序序18運(yùn)行結(jié)果運(yùn)行結(jié)果19一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的C程序:在屏幕上顯示一行正文程序:在屏幕上顯示一行正文例1-2#include stdio.h /頭文件void main() /*主函數(shù)*/int a,b,sum; /*定義變量*/a=123;b=456; /*
8、變量賦值*/sum=a+b; /*求和表達(dá)式*/printf(sum is %dn,sum); /*輸出結(jié)果*/getchar(); /*輸入任意字符關(guān)閉調(diào)試窗口*/20一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的C程序:在屏幕上顯示一行正文程序:在屏幕上顯示一行正文練習(xí)1-1* Very Good!*#include stdio.hvoid main()printf(*nn); printf( Very Good! nn); printf(*nn); getchar(); 1.2 單片機(jī)概述21n單片機(jī)(Single-chip Microcomputer):在在一個(gè)集成芯片中,集成有微處理器一個(gè)集成芯片中,集成有微
9、處理器CPUCPU、存儲(chǔ)器、存儲(chǔ)器RAMRAM和和ROMROM、基本的、基本的I IO O接口以及定時(shí)計(jì)數(shù)部件,接口以及定時(shí)計(jì)數(shù)部件,即在一個(gè)芯片上實(shí)現(xiàn)一臺(tái)微型計(jì)算機(jī)的基本功能。即在一個(gè)芯片上實(shí)現(xiàn)一臺(tái)微型計(jì)算機(jī)的基本功能。 微型計(jì)算機(jī)微型計(jì)算機(jī)單片機(jī)單片機(jī)計(jì)算機(jī)基本結(jié)構(gòu)22匈牙利匈牙利籍?dāng)?shù)學(xué)家籍?dāng)?shù)學(xué)家馮馮諾依曼諾依曼在方案的設(shè)計(jì)上做出了重要的在方案的設(shè)計(jì)上做出了重要的貢獻(xiàn)。貢獻(xiàn)。1946年年6月,他又月,他又提出提出了了程序存儲(chǔ)程序存儲(chǔ)和和二進(jìn)制運(yùn)二進(jìn)制運(yùn)算算的的思想,進(jìn)一步構(gòu)建了思想,進(jìn)一步構(gòu)建了計(jì)算機(jī)由運(yùn)算器、控制器、存計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備組成儲(chǔ)器、輸入設(shè)備和
10、輸出設(shè)備組成這一計(jì)算機(jī)的經(jīng)典結(jié)構(gòu)。這一計(jì)算機(jī)的經(jīng)典結(jié)構(gòu)。計(jì)算機(jī)基本結(jié)構(gòu)計(jì)算機(jī)基本結(jié)構(gòu)單片機(jī)的發(fā)展23l 19711971年,年,IntelIntel的的特德特德霍霍夫研制出第一個(gè)夫研制出第一個(gè)4 4位微處理器,位微處理器,Intel 4004Intel 4004。l 19761976年,年,IntelIntel研制研制出出MCS-48MCS-48系列系列8 8位的單片機(jī),這也是單片機(jī)的問世。位的單片機(jī),這也是單片機(jī)的問世。 80488048頻率為頻率為6MHz6MHz,64Byte RAM64Byte RAM,1KB ROM1KB ROM。l 19801980年年,IntelIntel在在MC
11、S-48MCS-48系列單片機(jī)的基礎(chǔ)上,推出了系列單片機(jī)的基礎(chǔ)上,推出了MCS-51MCS-51系列系列8 8位高檔單位高檔單片機(jī)片機(jī)。奠定了嵌入式應(yīng)用的單片微型計(jì)算機(jī)的經(jīng)典奠定了嵌入式應(yīng)用的單片微型計(jì)算機(jī)的經(jīng)典體系結(jié)構(gòu)。體系結(jié)構(gòu)。l 19811981年年后后,IntelIntel開放了開放了80518051核心技術(shù),核心技術(shù),PhilipsPhilips著力發(fā)展著力發(fā)展80C5180C51的控制功能及的控制功能及外圍單元。外圍單元。迅速迅速將將MCS-51MCS-51單片機(jī)推進(jìn)到單片機(jī)推進(jìn)到80C5180C51時(shí)代,形成了可以滿足大量嵌入時(shí)代,形成了可以滿足大量嵌入式應(yīng)用的單片機(jī)系列產(chǎn)品。式
12、應(yīng)用的單片機(jī)系列產(chǎn)品。Intel 4004Intel 80C51Arduino單片機(jī)24Arduino是一款便捷靈活、方便上手的開源電子原型平臺(tái)。包含硬件(是一款便捷靈活、方便上手的開源電子原型平臺(tái)。包含硬件(各種型號(hào)的各種型號(hào)的Arduino板)和軟件(板)和軟件(Arduino IDE)。由一個(gè)歐洲開發(fā)團(tuán)隊(duì)。由一個(gè)歐洲開發(fā)團(tuán)隊(duì)于于2005年冬季開發(fā)年冬季開發(fā)。馬西莫馬西莫班茲班茲Arduino硬件硬件25Arduino Uno采用采用ATmega328 8位位AVR 處理器,具有處理器,具有14個(gè)數(shù)個(gè)數(shù)字字IO接口,其中接口,其中3/5/6 /9/10/11引腳可作為引腳可作為6路路PWM輸出,具有輸出,具有6個(gè)模擬量接口,一個(gè)個(gè)模擬量接口,一個(gè)16MHz晶體振蕩器晶體振蕩器,SRAM 2K,F(xiàn)lash 32KbArduino MEGA 2560采用采用ATmega2560 8位位AVR 處理器,具有處理器,具有54路路數(shù)字輸入數(shù)字輸入/輸出口(輸出口(16路可作為路可作為PWM輸出),輸出),16路模擬輸入,路模擬輸入,4路路UART接口,一個(gè)接口,一個(gè)16MHz晶體晶體振蕩器振蕩器, SRAM 8K,F(xiàn)lash 256KbArduino硬件硬件26Arduino IDE27Arduino
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)3%呋喃丹數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)震動(dòng)感應(yīng)器市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)鋁牌油墨市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)遠(yuǎn)程溫度控制器市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)茶水柜市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)磚用回彈儀市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)電動(dòng)冷裱機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)游泳池雙值過(guò)濾離心泵市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)湯圓機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)機(jī)箱電柜五金沖壓件市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 《史記》上冊(cè)注音版
- YY/T 0450.3-2016一次性使用無(wú)菌血管內(nèi)導(dǎo)管輔件第3部分:球囊擴(kuò)張導(dǎo)管用球囊充壓裝置
- JJG 33-2002萬(wàn)能角度尺
- GB/T 26150-2019免洗紅棗
- 城市基礎(chǔ)設(shè)施PPP項(xiàng)目運(yùn)營(yíng)維護(hù)方案
- SDS汽油安全技術(shù)說(shuō)明書
- 【企業(yè)安全管理】粉塵涉爆企業(yè)安全培訓(xùn)
- GeneralEnglish-入學(xué)測(cè)試(劍橋五級(jí))附有答案
- 教海探航論文
- IPC-A-610國(guó)際標(biāo)準(zhǔn)中英文對(duì)照(doc 17)
- JJF(建材)110-2019水泥雷氏夾膨脹測(cè)定儀校準(zhǔn)規(guī)范-(高清現(xiàn)行)
評(píng)論
0/150
提交評(píng)論