單片機(jī)課件:第4章 單片機(jī)C程序設(shè)計(jì)_第1頁(yè)
單片機(jī)課件:第4章 單片機(jī)C程序設(shè)計(jì)_第2頁(yè)
單片機(jī)課件:第4章 單片機(jī)C程序設(shè)計(jì)_第3頁(yè)
單片機(jī)課件:第4章 單片機(jī)C程序設(shè)計(jì)_第4頁(yè)
單片機(jī)課件:第4章 單片機(jī)C程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章C51程序設(shè)計(jì)2本章內(nèi)容4.1C51特點(diǎn)4.2C51數(shù)據(jù)類型

4.3C51變量與存儲(chǔ)類型4.4C51絕對(duì)地址4.5C51重要函數(shù)4.6C51基本運(yùn)算符34.1C51特點(diǎn)1.C51的函數(shù)printf為串行輸出,函數(shù)scanf為串行輸入。2.C51擴(kuò)展了位數(shù)據(jù)類型。3.C51數(shù)據(jù)對(duì)象含有存儲(chǔ)類型,即數(shù)據(jù)可能在片內(nèi)RAM、片外RAM、ROM中。4.C51中擴(kuò)充了SFR。5.C51中有特殊的中斷程序。CONTENT4.2C51數(shù)據(jù)類型除了標(biāo)準(zhǔn)C的char、int、long、float等數(shù)據(jù)類型之外,C51擴(kuò)展了以下幾種:

bit-位數(shù)據(jù)類型

sbit-SFR中的可尋址位

sfr-8位SFR

sfr16-16位SFR4.3C51的變量定義與存儲(chǔ)類型C51數(shù)據(jù)對(duì)象定義格式:數(shù)據(jù)類型

存儲(chǔ)類型

變量名(初值)

char

datax=12;

int

xdatax=1122;

floatdatax=124.75;其中char,int是數(shù)據(jù)類型,data,xdata是存儲(chǔ)類型4.3C51變量與存儲(chǔ)類型---常用存儲(chǔ)類型data:內(nèi)部低128字節(jié)RAM區(qū)bdata:16字節(jié)可位尋址RAM區(qū)idata:內(nèi)部高128字節(jié)RAM,僅限89S52pdata:外部RAM低256字節(jié)xdata:外部RAM64K字節(jié)code:ROM4.3C51變量與存儲(chǔ)類型---存儲(chǔ)模式如果不指定存儲(chǔ)器類型,編譯器根據(jù)存儲(chǔ)模式,給對(duì)象指定存儲(chǔ)類型small:變量在片內(nèi)RAM中,即datacompact:變量在片外RAM的低256字節(jié)中,即pdatalarge:變量在片外RAM中,即xdata4.3C51變量與存儲(chǔ)類型---SFR對(duì)SFR的定義,通過(guò)頭文件reg51.h或reg52.h,已做了預(yù)定義。 用#include“reg51.h”引用即可。reg51.h中對(duì)21個(gè)SFR做了定義,如P0~P3的。4.3C51變量與存儲(chǔ)類型---位變量bit和sbit1、bit:需要自定義,如bitx;2、sbit:格式,sbit位變量名=位地址;大部分SFR可尋址位,在頭文件reg51.h或reg52.h中用sbit做了預(yù)定義,如CY、P等。注意:在reg51.h中,P0~P3的32個(gè)位,如P0.0,沒(méi)有預(yù)定義,需要用戶用sbit先定義,后使用。如:sbitled=P0^0;4.3C51變量與存儲(chǔ)類型---數(shù)組與指針1、數(shù)組charcodeseg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽(yáng)極0-9字形碼2、指定存儲(chǔ)區(qū)的指針格式:[指針變量存儲(chǔ)類型]

指向數(shù)的數(shù)據(jù)類型指向數(shù)的存儲(chǔ)類型*指針名如: chardata*str

int

xdata*pow指針實(shí)例#defineucharunsignedchar#defineuintunsignedintvoidfunc(void){uchardatavar1;ucharpdata*dp1;uintxdata*dp2;uchardata*dp3;dp1=0x30;dp2=0x1000;*dp1=0xff;*dp2=0x1234;dp3=&var1;*dp3=0x20;}main(){while(1) {;}}114.4絕對(duì)地址絕對(duì)地址訪問(wèn)宏XBYTE[0x數(shù)字]形式對(duì)外部RAM或外設(shè)進(jìn)行訪問(wèn),需頭文件absacc.h支持。相當(dāng)于匯編指令MOVX的功能,執(zhí)行總線操作。4.5C51重要函數(shù)1、中斷函數(shù)P101 函數(shù)名()

interruptn[m]

n---0~4,表示5個(gè)中斷

m---0~3,表示選用某個(gè)工作寄存器組2、幾個(gè)重要的庫(kù)函數(shù) (1)adsacc.h中的I/O地址訪問(wèn)宏XBYTE (2)stdio.h中的printf和scanf函數(shù) (3)intrins.h中的移位:_c[或i,l]rol[或r]_(uchar,uchar);和空函數(shù):_nop_()。4.6C51基本運(yùn)算1、算術(shù):+、-、*、/、%2、自加自減:++、--3、關(guān)系:>、<、>=、<=、==、!=4、賦值:=5、邏輯:&&、||、^、!,結(jié)果為“1-真”或“0-假”6、按位邏輯:&、|、

~

、<<、>>,對(duì)象為字符或整型7、在可位尋址的SFR中,^表示SFR中的某一位,如P0^0。注意:在表達(dá)式中直接出現(xiàn)的^號(hào)表示異或,P1的第0位必須用sbit重定義才能使用,如“sbitK1=P1^0;”。作業(yè)1、編寫程序,初始化將P3口上的LED最低位點(diǎn)亮(為0點(diǎn)亮),判斷P1.1按鍵,如閉合(為0),則

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論