第三講 單片機(jī)開發(fā)環(huán)境的建立及C51基礎(chǔ)_第1頁
第三講 單片機(jī)開發(fā)環(huán)境的建立及C51基礎(chǔ)_第2頁
第三講 單片機(jī)開發(fā)環(huán)境的建立及C51基礎(chǔ)_第3頁
第三講 單片機(jī)開發(fā)環(huán)境的建立及C51基礎(chǔ)_第4頁
第三講 單片機(jī)開發(fā)環(huán)境的建立及C51基礎(chǔ)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、3.5 C51知識 C語言是一種編譯型程序設(shè)計語言,它兼顧了多種高級語言的特點(diǎn),并具備匯編語言的功能。目前,使用C語言進(jìn)行程序設(shè)計已經(jīng)成為軟件開發(fā)的一個主流。用C語言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯增強(qiáng)程序的可讀性,便于改進(jìn)、擴(kuò)充和移植。而針對8051的C語言日趨成熟,成為了專業(yè)化的實用高級語言。 C C語言作為一種非常方便的語言而得到廣語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都用泛的支持,很多硬件開發(fā)都用C C語言編程,語言編程,如:各種單片機(jī)、如:各種單片機(jī)、DSPDSP、ARMARM等。等。(C語言在嵌入式技術(shù)領(lǐng)域市場份額較高!) C C語言程序本身不依賴于機(jī)器硬件系統(tǒng)

2、,語言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)基本上不作修改就可將程序從不同的單片機(jī)中移植過來。中移植過來。 C C提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算(實數(shù)運(yùn)算)(實數(shù)運(yùn)算),開發(fā)效率高,故可縮短開發(fā),開發(fā)效率高,故可縮短開發(fā)時間,增加程序可讀性和可維護(hù)性。時間,增加程序可讀性和可維護(hù)性。 C51C51的特點(diǎn)的特點(diǎn)C-51C-51與與ASM-51ASM-51相比,有如下優(yōu)點(diǎn):相比,有如下優(yōu)點(diǎn):1.1. 對單片機(jī)的指令系統(tǒng)不要求了解,僅對單片機(jī)的指令系統(tǒng)不要求了解,僅要求對要求對80518051的存貯器結(jié)構(gòu)有的存貯器結(jié)構(gòu)有初步了解初步了解

3、;2.2. 寄存器分配、不同存貯器的尋址及數(shù)寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可據(jù)類型等細(xì)節(jié)可由編譯器管理由編譯器管理;3.3. 程序有規(guī)范的結(jié)構(gòu),可分成不同的函程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;數(shù),這種方式可使程序結(jié)構(gòu)化;4.4. 提供的庫包含許多標(biāo)準(zhǔn)子程序,具有提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;較強(qiáng)的數(shù)據(jù)處理能力;5.5. 由于具有方便的由于具有方便的模塊化編程技術(shù)模塊化編程技術(shù),使,使已編好程序可容易地移植。已編好程序可容易地移植。C C5151的數(shù)據(jù)類型的數(shù)據(jù)類型基本數(shù)據(jù)類型基本數(shù)據(jù)類型類型類型符號符號關(guān)鍵字關(guān)鍵字?jǐn)?shù)的表示范圍數(shù)的表

4、示范圍所占位數(shù)所占位數(shù)整型整型字符型字符型實型實型有有無無(signed) int16-3276832767(signed) short16-3276832767(signed) long32-2147483648214748364716unsigned int0655353204294967295unsigned long intunsigned short int16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127無無unsigned char80255關(guān)于有符號數(shù)與無符號數(shù)有符號數(shù)和無符號數(shù)是針對二進(jìn)制

5、來講的。有符號數(shù)用最高位作為符號位,“0”代表“+”,“1”代表“-”;其余數(shù)位用作數(shù)值位,代表數(shù)值。比如:0011 表示 +3;1011 表示 -3。無符號數(shù)全部二進(jìn)制均代表數(shù)值,沒有符號位。即第一個0或1不表示正負(fù)。比如:0011 表示 3;1011 表示 11。C51C51的數(shù)據(jù)類型擴(kuò)充定義的數(shù)據(jù)類型擴(kuò)充定義(以下需要隨(以下需要隨著學(xué)習(xí)推進(jìn),慢慢領(lǐng)悟,目前了解)著學(xué)習(xí)推進(jìn),慢慢領(lǐng)悟,目前了解)sfr:sfr:特殊功能寄存器聲明特殊功能寄存器聲明sfr16:sfrsfr16:sfr的的1616位數(shù)據(jù)聲明位數(shù)據(jù)聲明sbit:sbit:特殊功能位聲明特殊功能位聲明bitbit: :位變量聲明

6、位變量聲明例:例:sfr SCON = 0X98;sfr SCON = 0X98; sfr16 T2 = 0 xCC; sfr16 T2 = 0 xCC; sbit OV = PSW2; sbit OV = PSW2;例:例:數(shù)據(jù)類型數(shù)據(jù)類型 變量名變量名char var1;char var1;bit flags;bit flags;unsigned char vextor10;unsigned char vextor10;int wwww;int wwww;注意:變量名不能用注意:變量名不能用C C語言中的關(guān)鍵字表示。語言中的關(guān)鍵字表示。C-51C-51數(shù)據(jù)的存儲類型數(shù)據(jù)的存儲類型C-51C

7、-51的包含的頭文件的包含的頭文件通常有通常有: :reg51.h reg52.h math.h reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.hctype.h stdio.h stdlib.h absacc.h常用有常用有: :reg51.h reg52.hreg51.h reg52.h(定義特殊功能寄存器和位寄存器);(定義特殊功能寄存器和位寄存器);math.h math.h (定義常用數(shù)學(xué)運(yùn)算);(定義常用數(shù)學(xué)運(yùn)算); C-51C-51的運(yùn)算符的運(yùn)算符與與C C語言基本相同:語言基本相同:+ - + - * * / / (

8、加(加 減減 乘乘 除)除) = = (位右移(位右移 位左移)位左移)& |& | ( (按位與按位與 按位或按位或) ) ( (按位異或按位異或 按位取反按位取反) ) C-51C-51的基本語句的基本語句 與標(biāo)準(zhǔn)與標(biāo)準(zhǔn)C C語言基本相同:語言基本相同: if if 選擇語言選擇語言 while while 循環(huán)語言循環(huán)語言 for for 循環(huán)語言循環(huán)語言 switch/case switch/case 多分支選擇語言多分支選擇語言 do-while do-while 循環(huán)語言循環(huán)語言 中斷服務(wù)程序(后面詳細(xì)分析)中斷服務(wù)程序(后面詳細(xì)分析)函數(shù)名()函數(shù)名()inter

9、rupt interrupt n n using using m m 函數(shù)內(nèi)部實現(xiàn)函數(shù)內(nèi)部實現(xiàn) . . I/OI/O口定義口定義sbit beep=P23;sbit beep=P23;4、了解TX-1C單片機(jī)學(xué)習(xí)板系統(tǒng)結(jié)構(gòu)(1)4、了解TX-1C單片機(jī)學(xué)習(xí)板系統(tǒng)結(jié)構(gòu)(2)5、如何用TX-1C單片機(jī)學(xué)習(xí)板在短時間內(nèi)掌握51單片機(jī)和C語言編程。1、把開發(fā)板高效率利用起來,不能閑置2、課外時間安排好3、團(tuán)隊協(xié)作,不要一個人對某一個問題糾纏太久4、C語言的書時刻拿出來查閱5、能夠根據(jù)上課講的實驗題,自己舉一反三6、KEIL工程建立詳細(xì)介紹及KEIL軟件使用方法1、創(chuàng)建文件夾 lesson12、創(chuàng)建工程

10、 lesson13、創(chuàng)建程序文件 lesson1.c4、添加程序文件到工程中5、編寫程序5、編譯、鏈接6、output hex文件main 函數(shù)格式:void main()特點(diǎn):無返回值,無參。任何一個C程序有且僅有一個main函數(shù),它是整個程序開始執(zhí)行的入口。例:void main() 總程序從這里開始執(zhí)行; 其他語句; 7、從點(diǎn)亮實驗板上的一個發(fā)光二極管開始7.1 開發(fā)板環(huán)境搭建與燒寫程序1、安裝usb下載接口驅(qū)動(先安裝驅(qū)動,再連接開發(fā)板到電腦,查看設(shè)備管理器中串口號)2、STC燒寫軟件的使用(設(shè)置單片機(jī)型號、串口號、選擇hex文件、點(diǎn)擊“下載/編程”后給開發(fā)板上電)7.2 介紹開發(fā)板原

11、理圖(局部)-11、初步認(rèn)識單片機(jī)IO口7.2 介紹開發(fā)板原理圖(局部)-22、開發(fā)板上led連接7.2 介紹開發(fā)板原理圖(局部)-32、74HC573介紹當(dāng)鎖存使能端LE為高時,這些器件的鎖存對于數(shù)據(jù)是透明的數(shù)據(jù)是透明的(也就是說輸出同步)。7.3開發(fā)板上led的連接如下關(guān)于發(fā)光二極管基本知識,關(guān)于發(fā)光二極管基本知識,參閱課本參閱課本35頁頁電阻值選?。海?V-1.7V)/3mA關(guān)于7.2及7.3部分說明1、一名優(yōu)秀的單片機(jī)工程師必須有好的硬件功底(有興趣的同學(xué),課外翻閱數(shù)字電子技術(shù)、模擬電子技術(shù)教材)2、電路原理圖的設(shè)計及PCB圖設(shè)計社會需求量大(靠的是經(jīng)驗)3、protel(或AD)電路原理圖及PCB圖設(shè)計軟件,學(xué)有余力可自學(xué)。對應(yīng)有硬件工程師崗位、PCB工程

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論