學習情境1單片機控制LED彩燈的亮滅-項目1-5C語言基礎(chǔ)2-常量變量和類型_第1頁
學習情境1單片機控制LED彩燈的亮滅-項目1-5C語言基礎(chǔ)2-常量變量和類型_第2頁
學習情境1單片機控制LED彩燈的亮滅-項目1-5C語言基礎(chǔ)2-常量變量和類型_第3頁
學習情境1單片機控制LED彩燈的亮滅-項目1-5C語言基礎(chǔ)2-常量變量和類型_第4頁
學習情境1單片機控制LED彩燈的亮滅-項目1-5C語言基礎(chǔ)2-常量變量和類型_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目-1單片機控制LED彩燈的亮滅4C語言基礎(chǔ)-常量變量和類型學習情境1-單片機控制LED燈的顯示常量整型常量:如1000,12345,0,-345實型常量十進制小數(shù)形式:如0.34-56.790.0指數(shù)形式:如12.34e3(代表12.34103)字符常量:如’?’轉(zhuǎn)義字符:如’\n’字符串常量:如”boy”符號常量:#definePI3.1416常量:在程序運行過程中,其值不能被改變的量變量變量必須先定義,后使用定義變量時指定該變量的名字和類型變量名和變量值是兩個不同的概念變量名實際上是以一個名字代表的一個存儲地址從變量中取值,實際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)變量:在程序運行期間,變量的值是可以改變的定義變量時要指定變量名和數(shù)據(jù)類型,方式如下:

數(shù)據(jù)類型說明符變量名;變量的命名C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線合法的標識符:如sum,average,_total,Class,day,BASIC,li_ling不合法的標識符:M.D.John,¥123,#33,3D64,a>b引導問題24以下變量名稱錯誤的有哪些:i、a、3com、a*b、count、number_of_book、BOOK_NUMBER、char、sum100、_total?數(shù)據(jù)類型所謂類型,就是對數(shù)據(jù)分配存儲單元的安排,包括存儲單元的長度(占多少字節(jié))以及數(shù)據(jù)的存儲形式;不同的類型分配不同的長度和存儲形。類型所占位數(shù)數(shù)的范圍說明int16-32768~32767整型short[int]16-32768~32767短整型long[int]322147483648~2147483647長整型unsignedint160~65535無符號整型unsignedshort160~65535無符號短整型unsignedlong320~4294967295無符號長整型float3210-38~1038單精度實型double6410-308~10308雙精度實型char8-128~+127字符型unsignedchar80~255無符號字符型51單片機的數(shù)據(jù)類型標準C語言存在六種基本數(shù)據(jù)類型:1、char:字符型;2、short=shortint:短整型3、int:整型4、long=longint:長整型5、float:單精度浮點型6、double:雙精度浮點型標準C和51單片機C語言的類型對比面向51單片機的KeiluVision對此進行了簡化,因此,可以理解為只存在如下四種基本數(shù)據(jù)類型:1、char:字符型2、int=short=shortint:整型3、long=longint:長整型4、float=double:單精度浮點型1、bit:聲明一個普通的位變量。例如:“bitflag;”。2、sbit:聲明特殊功能寄存器中的某一位。例如,使用“sbitT1=SCON^0;”,就聲明了T1為特殊功能寄存器SCON的第0位。3、sfr:聲明一個8位寄存器為特殊功能寄存器。例如,將51單片機內(nèi)存地址0x98處的存儲單元聲明為8位特殊功能寄存器SCON,可以使用“sfrSCON=0x98;”語句。4、sfr16:聲明一個16位的寄存器為特殊功能寄存器。為了將51單片機內(nèi)存地址0xCC處開始的連續(xù)兩個存儲單元聲明為一個統(tǒng)一的16位特殊功能寄存器T2,可以使用“sfr16T2=0xCC;”語句。應(yīng)對51單片機硬件的一些特點,KeiluVision還擴展了bit、sbit、sfr、sfr16等四種特殊基本數(shù)據(jù)類型,它們都是標準C中所沒有的。其中:在KeiluVision中,用sbit、sfr、sfr16聲明特殊功能寄存器變量或特殊功能寄存器位變量時,其聲明語句都只能放在函數(shù)外,而不能放在函數(shù)內(nèi),否則出現(xiàn)語法錯誤;而用bit聲明普通位變量時,聲明語句既可放在函數(shù)外,也可放在函數(shù)內(nèi)。此外,bit、sbit、sfr、sfr16都不支持指針和數(shù)組擴展,因此,不能定義bit、sbit、sfr、sfr16型指針和數(shù)組。對于初學者來說,其實沒有必要深究sbit、sfr、sfr16的用法,它們通常用在51單片機的系統(tǒng)自帶頭文件中,一般情況下無需用戶關(guān)心。bit型:用于定義一個位變量。語法規(guī)則:bitbit_name[=0或1];例如:bitdoor=0;//定義一個叫door的位變量且初值為0sfr或sfr16型:用于定義SFR字節(jié)地址變量。語法規(guī)則:sfrsfr_name=字節(jié)地址常數(shù);

sfr16sfr_name=字節(jié)地址常數(shù);例如:sfrP0=0x80;//定義P0口地址80H

sfrPCON=0x87;//定義PCON地址87Hsfr16DPTR=0x82;//定義DPTR的低地址82Hsbit型:用于定義SFR位地址變量。sbit型可用三種定義形式:1)將SFR的絕對位地址定義為位變量名

sbitbit_name=位地址常數(shù);例如,sbitCY=0xD7;2)將SFR的絕對位地址定義為位變量名

sbitbit_name=

位地址常數(shù);例如,sbitCY=0xD7;3)將SFR的相對位位置定義位變量名

sbitbit_name=sfr_name^

位位置;例如,sbitCY=PSW^7;C51編譯器在頭文件“REG51.H”中定義了全部sfr/sfr16和sbit變量。引導問題22查閱REG51.H頭文件,寫出P0,P1,P2,P3口的定義地址。存儲類型體現(xiàn)了變量的存放區(qū)域。51系列單片機共有6個存儲類型(分布在3個邏輯存儲空間中)。字符型數(shù)據(jù)大多數(shù)系統(tǒng)采用ASCII字符集ASCII((AmericanStandardCodeforInformationInterchange):美國信息交換標準代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言。字符’1’和整數(shù)1字符’1’只是代表一個形狀為’1’的符號,在需要時按原樣輸出,在內(nèi)存中以ASCII碼形式存儲,占1個字節(jié)標準C和51單片機C語言的類型對比整數(shù)1是以整數(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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論