第3章 單片機C語言程序設(shè)計1_第1頁
第3章 單片機C語言程序設(shè)計1_第2頁
第3章 單片機C語言程序設(shè)計1_第3頁
第3章 單片機C語言程序設(shè)計1_第4頁
第3章 單片機C語言程序設(shè)計1_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計 單片機C語言程序設(shè)計D.1 D.1 D.1 匯編語言與匯編語言與匯編語言與C C C語言語言語言D.2 C51D.2 C51D.2 C51基本元素基本元素基本元素D.3 C51D.3 C51D.3 C51運算符和表達式運算符和表達式運算符和表達式D.4 C51D.4 C51D.4 C51語句和控制結(jié)構(gòu)語句和控制結(jié)構(gòu)語句和控制結(jié)構(gòu)D.5 C51D.5 C51D.5 C51函數(shù)函數(shù)函數(shù)D.6 D.6 D.6

2、 數(shù)據(jù)排序數(shù)據(jù)排序數(shù)據(jù)排序ProteusProteusProteus仿真仿真仿真習(xí)習(xí)習(xí) 題題題 單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計D.1 匯編語言與匯編語言與C語言語言 一、匯編語言1.特點:直接操作單片機的特點:直接操作單片機的硬件資源硬件資源,執(zhí)行,執(zhí)行速度快速度快,實時性好實時性好,代碼效率高代碼效率高;2.為什么為什么早期單片機早期單片機系統(tǒng)開發(fā)系統(tǒng)開發(fā)采用匯編語言采用匯編語言:由于早期的單片機存儲器(包括:由于早期的單片機存儲器

3、(包括數(shù)據(jù)存儲器和程序存儲器)數(shù)據(jù)存儲器和程序存儲器)容量較小容量較小,處理器速度較慢。,處理器速度較慢。3.現(xiàn)在為什么逐步用現(xiàn)在為什么逐步用C語言替代匯編語言:單片機硬件資源不斷豐富,存儲容語言替代匯編語言:單片機硬件資源不斷豐富,存儲容量越來越大,量越來越大,C有很多優(yōu)點。有很多優(yōu)點。二、二、C語言語言1.編程效率高,移植性好;編程效率高,移植性好;2.以以MCS-51及其兼容的單片機為目標(biāo)處理器的及其兼容的單片機為目標(biāo)處理器的C語言稱為語言稱為C51;3.C51的單片機開發(fā)平臺:的單片機開發(fā)平臺:(1)德國的)德國的KEIL:代碼緊湊,使用方便。代碼緊湊,使用方便。(2)瑞典的)瑞典的I

4、AR:性能好,資料豐富。性能好,資料豐富。 單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計 以冒泡法排序為例,感受一下匯編程序和以冒泡法排序為例,感受一下匯編程序和以冒泡法排序為例,感受一下匯編程序和以冒泡法排序為例,感受一下匯編程序和以冒泡法排序為例,感受一下匯編程序和以冒泡法排序為例,感受一下匯編程序和C51C51C51C51C51C51程序的區(qū)別:程序的區(qū)別:程序的區(qū)別:程序的區(qū)別:程序的區(qū)別:程序的區(qū)別:1.C511.C511.C511.C5

5、11.C511.C51程序結(jié)構(gòu)簡單,語句條數(shù)也少;占用存儲器大,程序執(zhí)程序結(jié)構(gòu)簡單,語句條數(shù)也少;占用存儲器大,程序執(zhí)程序結(jié)構(gòu)簡單,語句條數(shù)也少;占用存儲器大,程序執(zhí)程序結(jié)構(gòu)簡單,語句條數(shù)也少;占用存儲器大,程序執(zhí)程序結(jié)構(gòu)簡單,語句條數(shù)也少;占用存儲器大,程序執(zhí)程序結(jié)構(gòu)簡單,語句條數(shù)也少;占用存儲器大,程序執(zhí)行速度較慢。行速度較慢。行速度較慢。行速度較慢。行速度較慢。行速度較慢。2.2.2.2.2.2.匯編語言程序較復(fù)雜,指令條數(shù)也較多匯編語言程序較復(fù)雜,指令條數(shù)也較多匯編語言程序較復(fù)雜,指令條數(shù)也較多匯編語言程序較復(fù)雜,指令條數(shù)也較多匯編語言程序較復(fù)雜,指令條數(shù)也較多匯編語言程序較復(fù)雜,指令

6、條數(shù)也較多 ;占用存儲器少,;占用存儲器少,;占用存儲器少,;占用存儲器少,;占用存儲器少,;占用存儲器少,程序執(zhí)行速度快。程序執(zhí)行速度快。程序執(zhí)行速度快。程序執(zhí)行速度快。程序執(zhí)行速度快。程序執(zhí)行速度快。 3.3.3.3.3.3.將兩組程序代碼在將兩組程序代碼在將兩組程序代碼在將兩組程序代碼在將兩組程序代碼在將兩組程序代碼在KEILKEILKEILKEILKEILKEIL平臺編譯,結(jié)果顯示:平臺編譯,結(jié)果顯示:平臺編譯,結(jié)果顯示:平臺編譯,結(jié)果顯示:平臺編譯,結(jié)果顯示:平臺編譯,結(jié)果顯示:(1)(1)(1)(1)(1)(1)匯編語言占存儲器情況:匯編語言占存儲器情況:匯編語言占存儲器情況:匯編

7、語言占存儲器情況:匯編語言占存儲器情況:匯編語言占存儲器情況:“Program Size: data=8.0 Program Size: data=8.0 Program Size: data=8.0 Program Size: data=8.0 Program Size: data=8.0 Program Size: data=8.0 xdataxdataxdataxdataxdataxdata=0 code=67”.=0 code=67”.=0 code=67”.=0 code=67”.=0 code=67”.=0 code=67”.程序運行時間為:程序運行時間為:程序運行時間為:程序運行

8、時間為:程序運行時間為:程序運行時間為:376us.376us.376us.376us.376us.376us.(2)C51(2)C51(2)C51(2)C51(2)C51(2)C51占存儲器的情況:占存儲器的情況:占存儲器的情況:占存儲器的情況:占存儲器的情況:占存儲器的情況:“Program Size: data=19.0 Program Size: data=19.0 Program Size: data=19.0 Program Size: data=19.0 Program Size: data=19.0 Program Size: data=19.0 xdataxdataxdata

9、xdataxdataxdata=0 code=211”. =0 code=211”. =0 code=211”. =0 code=211”. =0 code=211”. =0 code=211”. 程序運行時間為:程序運行時間為:程序運行時間為:程序運行時間為:程序運行時間為:程序運行時間為:1033us.1033us.1033us.1033us.1033us.1033us.單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計D.2 C51基本元素C51的

10、基本元素是指構(gòu)成C51程序的基本要素,主要包括關(guān)鍵字、常量和變量等。 D.2.1 關(guān)鍵字1.關(guān)鍵字又稱保留字,是在程序中有特定意義的字符或字符串,它是C51規(guī)定的特定字符序列,必須在特定的地方,以特定的格式出現(xiàn)。2.程序員不能更改,定義對象時不能與它們同名。3.與匯編語言不同,C51是大小寫敏感語言。4.標(biāo)準(zhǔn)C語言關(guān)鍵字,見P271。5.C51擴展關(guān)鍵字,見P72。單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計1.常量:在程序運行過程中其值保持固定不

11、變的量。2.常量分為數(shù)值常量和符號常量。3.使用符號常量可以增加程序的可讀性。應(yīng)該先定義,后使用。格式如下: #define常量名常量值相當(dāng)于匯編語言偽指令“EQU”的功能。 #definePI3.1416D.2.2 D.2.2 D.2.2 常量常量常量單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計D.2.3 變量變量:在程序運行過程中變量:在程序運行過程中其值可變其值可變的量。的量。變量由變量由變量名變量名和和變量值變量值組成。組成。定義變量的格式

12、如下:定義變量的格式如下: 存儲種類存儲種類 數(shù)據(jù)類型數(shù)據(jù)類型 存儲器類型存儲器類型 變量名表;變量名表;1.1.定義變量時,定義變量時,數(shù)據(jù)類型數(shù)據(jù)類型和和變量名表變量名表是必須的,存儲種類和是必須的,存儲種類和存儲器類型是可選的。存儲器類型是可選的。2.2.存儲種類有存儲種類有4 4種:種:自動自動(autoauto)、)、外部外部(externextern)、)、靜態(tài)靜態(tài)(staticstatic)和)和寄存器寄存器(registerregister),),缺省缺省存儲種類存儲種類為自動為自動。3.3.數(shù)據(jù)類型分為數(shù)據(jù)類型分為基本數(shù)據(jù)類型基本數(shù)據(jù)類型和和復(fù)雜數(shù)據(jù)類型復(fù)雜數(shù)據(jù)類型,復(fù)雜數(shù)據(jù)

13、類,復(fù)雜數(shù)據(jù)類型由基本數(shù)據(jù)類型構(gòu)造而成,如:數(shù)組、結(jié)構(gòu)體等。型由基本數(shù)據(jù)類型構(gòu)造而成,如:數(shù)組、結(jié)構(gòu)體等。4.C514.C51支持的基本數(shù)據(jù)類型,及其長度和值域如表支持的基本數(shù)據(jù)類型,及其長度和值域如表3-13-1所示。所示。單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計數(shù)據(jù)類型數(shù)據(jù)類型長度長度值域值域unsigned char單字節(jié)單字節(jié)0255signed char單字節(jié)單字節(jié)-128127unsigned int雙字節(jié)雙字節(jié)065535sign

14、ed int雙字節(jié)雙字節(jié)-3276832767unsigned long四字節(jié)四字節(jié)04294967295signed long四字節(jié)四字節(jié)-21474836482147483647float四字節(jié)四字節(jié)1.175494E-383.402823E+38*13字節(jié)字節(jié)對象地址對象地址sfr單字節(jié)單字節(jié)0255sfr16雙字節(jié)雙字節(jié)065535sbit位位0或或1bit位位0或或1單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計經(jīng)常使用模式經(jīng)常使用模式事先

15、定義:事先定義: #define uint unsigned int #define uchar unsigned char uint a,b,c ; /可以使用到可以使用到065535uchar d=0 x56; /只可以使用到只可以使用到0255單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計pppsfr/sfr/sfr/sfr/sfr/sfr/sfr16sfr16sfr16sfr16sfr16sfr16:用于定義用于定義用于定義用于定義用于定義用

16、于定義515151515151單片機內(nèi)部單片機內(nèi)部單片機內(nèi)部單片機內(nèi)部單片機內(nèi)部單片機內(nèi)部1/1/1/1/1/1/2 2 2 2 2 2字節(jié)特殊功能字節(jié)特殊功能字節(jié)特殊功能字節(jié)特殊功能字節(jié)特殊功能字節(jié)特殊功能寄存器。寄存器。寄存器。寄存器。寄存器。寄存器。 sfrsfrsfrsfrsfrsfr或或或或或或sfr16 sfr16 sfr16 sfr16 sfr16 sfr16 特殊功能寄存器名特殊功能寄存器名特殊功能寄存器名特殊功能寄存器名特殊功能寄存器名特殊功能寄存器名= = = = = =地址;地址;地址;地址;地址;地址;特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址特殊功能寄存器

17、名一般用大寫字母表示。地址一般用直接地址特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址形式,具體特殊功能寄存器地址見前面內(nèi)容。形式,具體特殊功能寄存器地址見前面內(nèi)容。形式,具體特殊功能寄存器地址見前面內(nèi)容。形式,具體特殊功能寄存器地址見前面內(nèi)容。形式,具體特殊功能寄存器地址見前面內(nèi)容。形式,具體特殊功能寄存器地址見前面內(nèi)容?!纠纠纠纠纠纠?-33-33-3】特殊功能寄存器的定義?!刻厥夤δ芗拇嫫鞯亩x?!刻厥夤δ芗拇?/p>

18、器的定義?!刻厥夤δ芗拇嫫鞯亩x?!刻厥夤δ芗拇嫫鞯亩x?!刻厥夤δ芗拇嫫鞯亩x。 sfrsfrsfr PSW=0 xd0 PSW=0 xd0 PSW=0 xd0; sfrsfrsfr SCON=0 x98 SCON=0 x98 SCON=0 x98; sfrsfrsfr TMOD=0 x89 TMOD=0 x89 TMOD=0 x89; sfrsfrsfr P1=0 x90 P1=0 x90 P1=0 x90; sfr16 DPTR=0 x82sfr16 DPTR=0 x82sfr16 DPTR=0 x82; sfr16 T1=0X8Asfr16 T1=0X8Asfr16 T1=0X8A;單

19、片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計bit定義位變量,但不能定義位指針,也不能定義位數(shù)組。 bit status; /定義位變量sbit用于定義51單片機內(nèi)可位尋址位,包括特殊功能寄存器中的可位尋址位。有三種格式:(1)sbit LED=P11; (2)sbit LED=0X91; (3)sbitLED=0X901sbit CY=PSW7; sbit CY=0XD7; sbit CY=0XD07; 字節(jié)地址與位號之間、特殊功能寄存器與位號之間

20、一般用“”作間隔。單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計 在在在在在在C51C51C51中,為了用戶處理方便,中,為了用戶處理方便,中,為了用戶處理方便,中,為了用戶處理方便,中,為了用戶處理方便,中,為了用戶處理方便,C51C51C51編譯器把編譯器把編譯器把編譯器把編譯器把編譯器把89C5189C5189C51單片機的常用的特殊功能寄存器和特殊位進行了單片機的常用的特殊功能寄存器和特殊位進行了單片機的常用的特殊功能寄存器和特殊位進行了單片

21、機的常用的特殊功能寄存器和特殊位進行了單片機的常用的特殊功能寄存器和特殊位進行了單片機的常用的特殊功能寄存器和特殊位進行了定義,放在一個定義,放在一個定義,放在一個定義,放在一個定義,放在一個定義,放在一個“reg51.h”reg51.h”reg51.h”或或或或或或“reg52.h”reg52.h”reg52.h”的頭文件中,的頭文件中,的頭文件中,的頭文件中,的頭文件中,的頭文件中,當(dāng)用戶要使用時,只須要在使用之前用一條預(yù)處理命當(dāng)用戶要使用時,只須要在使用之前用一條預(yù)處理命當(dāng)用戶要使用時,只須要在使用之前用一條預(yù)處理命當(dāng)用戶要使用時,只須要在使用之前用一條預(yù)處理命當(dāng)用戶要使用時,只須要在使

22、用之前用一條預(yù)處理命當(dāng)用戶要使用時,只須要在使用之前用一條預(yù)處理命令令令令令令#include #include #include 把這個頭文件包含到程序中,把這個頭文件包含到程序中,把這個頭文件包含到程序中,把這個頭文件包含到程序中,把這個頭文件包含到程序中,把這個頭文件包含到程序中,然后就可使用殊功能寄存器名和特殊位名稱。然后就可使用殊功能寄存器名和特殊位名稱。然后就可使用殊功能寄存器名和特殊位名稱。然后就可使用殊功能寄存器名和特殊位名稱。然后就可使用殊功能寄存器名和特殊位名稱。然后就可使用殊功能寄存器名和特殊位名稱。單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原

23、理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計5.存儲器類型:指定變量在51單片機系統(tǒng)中所保存的存儲區(qū)域及尋址方式。存儲器類型說明data以直接尋址方式訪問內(nèi)部數(shù)據(jù)存儲器,速度最快bdata以直接尋址方式訪問內(nèi)部可位尋址數(shù)據(jù)存儲器,允許位與字節(jié)混合訪問idata以間接尋址方式訪問內(nèi)部數(shù)據(jù)存儲器,允許訪問全部內(nèi)部數(shù)據(jù)存儲器pdata分頁訪問外部數(shù)據(jù)存儲器,用MOVX Ri指令訪問xdata訪問外部數(shù)據(jù)存儲器,用MOVX DPTR指令訪問code訪問程序存儲器,用MOVC A+DPTR指令訪問單片機原理與應(yīng)用單片機原理與應(yīng)用

24、單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計在程序中變量的存儲模式的指定通過在程序中變量的存儲模式的指定通過在程序中變量的存儲模式的指定通過在程序中變量的存儲模式的指定通過在程序中變量的存儲模式的指定通過在程序中變量的存儲模式的指定通過#pragma#pragma#pragma預(yù)處理預(yù)處理預(yù)處理預(yù)處理預(yù)處理預(yù)處理命令來實現(xiàn)。函數(shù)的存儲模式可通過在函數(shù)定義時后命令來實現(xiàn)。函數(shù)的存儲模式可通過在函數(shù)定義時后命令來實現(xiàn)。函數(shù)的存儲模式可通過在函數(shù)定義時后命令來實現(xiàn)。函數(shù)的存儲模式可通過

25、在函數(shù)定義時后命令來實現(xiàn)。函數(shù)的存儲模式可通過在函數(shù)定義時后命令來實現(xiàn)。函數(shù)的存儲模式可通過在函數(shù)定義時后面帶存儲模式說明。如果沒有指定,則系統(tǒng)都隱含為面帶存儲模式說明。如果沒有指定,則系統(tǒng)都隱含為面帶存儲模式說明。如果沒有指定,則系統(tǒng)都隱含為面帶存儲模式說明。如果沒有指定,則系統(tǒng)都隱含為面帶存儲模式說明。如果沒有指定,則系統(tǒng)都隱含為面帶存儲模式說明。如果沒有指定,則系統(tǒng)都隱含為SMALLSMALLSMALL模式。模式。模式。模式。模式。模式?!纠孔兞康拇鎯δJ?。【例】變量的存儲模式?!纠孔兞康拇鎯δJ?。【例】變量的存儲模式?!纠孔兞康拇鎯δJ?。【例】變量的存儲模式。#pragma#pr

26、agma#pragma small small small / / /* * *變量的存儲模式為變量的存儲模式為變量的存儲模式為變量的存儲模式為變量的存儲模式為變量的存儲模式為SMALLSMALLSMALL* * */ / /char k1;char k1;char k1;intintint xdata m1; xdata m1; xdata m1;#pragma#pragma#pragma compact compact compact / / /* * *變量的存儲模式為變量的存儲模式為變量的存儲模式為變量的存儲模式為變量的存儲模式為變量的存儲模式為compactcompactcompac

27、t* * */ / /char k2;char k2;char k2;intintint xdata m2; xdata m2; xdata m2; 程序編譯時,程序編譯時,程序編譯時,程序編譯時,程序編譯時,程序編譯時,k1k1k1變量存儲器類型為變量存儲器類型為變量存儲器類型為變量存儲器類型為變量存儲器類型為變量存儲器類型為datadatadata,k2k2k2變量變量變量變量變量變量存儲器類型為存儲器類型為存儲器類型為存儲器類型為存儲器類型為存儲器類型為pdatapdatapdata,而,而,而,而,而,而m1m1m1和和和和和和m2m2m2由于定義時帶了存儲由于定義時帶了存儲由于定義時

28、帶了存儲由于定義時帶了存儲由于定義時帶了存儲由于定義時帶了存儲器類型器類型器類型器類型器類型器類型xdataxdataxdata,因而它們?yōu)?,因而它們?yōu)?,因而它們?yōu)椋蚨鼈優(yōu)?,因而它們?yōu)椋蚨鼈優(yōu)閤dataxdataxdata型;如果沒有指定存型;如果沒有指定存型;如果沒有指定存型;如果沒有指定存型;如果沒有指定存型;如果沒有指定存儲模式,則隱含為儲模式,則隱含為儲模式,則隱含為儲模式,則隱含為儲模式,則隱含為儲模式,則隱含為smallsmallsmall模式。模式。模式。模式。模式。模式。單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及

29、及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計6.變量名表:指定義變量的變量名列表,可以是一個或多個變量名,多個變量名用逗號“,”分隔。例如:staticunsignedchari;signed intidatasum,max_data6;3.3 C51運算符和表達式3.4 C51語句和控制結(jié)構(gòu)單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計一指針變量的定義一指針變量的定義一指針變量的定義一指針變量的定義一

30、指針變量的定義一指針變量的定義指針變量的定義與一般變量的定義類似,定義的一般形式為:指針變量的定義與一般變量的定義類似,定義的一般形式為:指針變量的定義與一般變量的定義類似,定義的一般形式為:數(shù)據(jù)類型說明符數(shù)據(jù)類型說明符數(shù)據(jù)類型說明符數(shù)據(jù)類型說明符數(shù)據(jù)類型說明符數(shù)據(jù)類型說明符 存儲器類型存儲器類型存儲器類型存儲器類型存儲器類型存儲器類型 * * * * * *指針變量名;指針變量名;指針變量名;指針變量名;指針變量名;指針變量名;如果帶有如果帶有如果帶有“存儲器類型存儲器類型存儲器類型” ” ” 指針被定義為指針被定義為指針被定義為基于存儲器的指基于存儲器的指基于存儲器的指針針針。無此選項時,

31、為一般指針,這兩種指針的區(qū)別在于它。無此選項時,為一般指針,這兩種指針的區(qū)別在于它。無此選項時,為一般指針,這兩種指針的區(qū)別在于它們占的存儲字節(jié)不同。們占的存儲字節(jié)不同。們占的存儲字節(jié)不同。 例:例:例:intintint * * * p1 p1 p1; /; /; /; /; /; /* * *定義一個指向整型變量的指針變量定義一個指向整型變量的指針變量定義一個指向整型變量的指針變量p1p1p1* * */ / /char char char * * * p2; p2; p2; / / / / / /* * *定義一個指向字符變量的指針變量定義一個指向字符變量的指針變量定義一個指向字符變量的

32、指針變量p2p2p2* * */ / /char data char data char data * * * p3; p3; p3; / / / / / /* * *定義一個指向字符變量的指針變量定義一個指向字符變量的指針變量定義一個指向字符變量的指針變量p3p3p3,該指針訪問的數(shù)據(jù)在該指針訪問的數(shù)據(jù)在該指針訪問的數(shù)據(jù)在片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器中,該指針在內(nèi)存中中,該指針在內(nèi)存中中,該指針在內(nèi)存中占一個字占一個字占一個字節(jié)節(jié)節(jié)* * */ / /float xdatafloat xdatafloat xdata * * * p4; p4; p4; / / / / / /*

33、 * *定義一個指向字符變量的指針變量定義一個指向字符變量的指針變量定義一個指向字符變量的指針變量p4p4p4,該指針訪問的數(shù)據(jù)在,該指針訪問的數(shù)據(jù)在,該指針訪問的數(shù)據(jù)在片外數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器中,該指針在內(nèi)存中中,該指針在內(nèi)存中中,該指針在內(nèi)存中占兩占兩占兩個字節(jié)個字節(jié)個字節(jié)* * */ / /單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用單片機原理與應(yīng)用及及及及及及C51C51C51C51C51C51程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計程序設(shè)計二指針變量的引用二指針變量的引用二指針變量的引用二指針變量的引用二指針變量的引用二指針變量的引用 指針變量是存放另一變量地址的特殊變量,指針變指針變量是存放另一變量地址的特殊變量,指

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論