日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]先來簡單說說C語言的標(biāo)識符和關(guān)鍵字。 標(biāo)識符是用來標(biāo)識源順序中某個(gè)對象的名字的, C語言是大小字敏感的一種高級語言, 假設(shè)我們要定義一個(gè)定時(shí)器1, 標(biāo)識符由字符串, 數(shù)字和下劃線等組成, 留意的是第一個(gè)字符必須

先來簡單說說C語言的標(biāo)識符和關(guān)鍵字。 標(biāo)識符是用來標(biāo)識源順序中某個(gè)對象的名字的, C語言是大小字敏感的一種高級語言, 假設(shè)我們要定義一個(gè)定時(shí)器1, 標(biāo)識符由字符串, 數(shù)字和下劃線等組成, 留意的是第一個(gè)字符必須是字母或下劃線, 如“1Timer”是錯誤的, 編譯時(shí)便會有錯誤提示。 所以普通不要以下劃線開頭命名標(biāo)識符。 含義明晰, 這樣有助于閱讀理解順序。 在C51編譯器中, 只支持標(biāo)識符的前32位為有效標(biāo)識, 普通情況下也足夠用了。 在順序編寫中不允許標(biāo)識符與關(guān)鍵字相同。 在KEILuVision2中的關(guān)鍵字除了有ANSIC標(biāo)準(zhǔn)的32個(gè)關(guān)鍵字外還依據(jù)51單片機(jī)的特點(diǎn)擴(kuò)展了相關(guān)的關(guān)鍵字(比如for, while等標(biāo)準(zhǔn)的還有sbit, interrupt等擴(kuò)展的, 詳細(xì)列表可以在網(wǎng)上查到)。 其真實(shí)KEILuVision2的文本編輯器中編寫C順序, 零碎可以把保留字以不同顏色顯示, 缺省顏色為天藍(lán)色。 分無符號字符類型unsignedchar和有符號字符類型signedchar, 所可以表達(dá)的數(shù)值范圍是0~255。 “0”表示負(fù)數(shù), “1”表示負(fù)數(shù), 負(fù)數(shù)用補(bǔ)碼表示。 所能表示的數(shù)值范圍是-128~+127。   ??菏?牟孤胗朐?胂嗤??負(fù)二進(jìn)制數(shù)的補(bǔ)碼等于它的相對值按位取反后加1。 用于寄存一個(gè)雙字節(jié)數(shù)據(jù)。 signedint表示的數(shù)值范圍是-32768~+32767, 字節(jié)中最高位表示數(shù)據(jù)的符號, “0”表示負(fù)數(shù), “1”表示負(fù)數(shù)。 unsignedint表示的數(shù)值范圍是0~65535。   float浮點(diǎn)型在十進(jìn)制中具有7位有效數(shù)字, 是符合IEEE-754標(biāo)準(zhǔn)的單精度浮點(diǎn)型數(shù)據(jù), 占用四個(gè)字節(jié)。 因浮點(diǎn)數(shù)的結(jié)構(gòu)較復(fù)雜在以后再做詳細(xì)的討論。 在這個(gè)變量中寄存的指向另一個(gè)數(shù)據(jù)的地址。 對不同的處理器長度也不盡相同, 指針變量也具有類型, 在以后專門探討。   bit位標(biāo)量是C51編譯器的一種擴(kuò)充數(shù)據(jù)類型, 但不能定義位指針, 也不能定義位數(shù)組。 不是0就是1, 類似一些高級語言中的Boolean類型中的True和False。 值域?yàn)?~255。 應(yīng)用它可以訪問51單片機(jī)外部的一切特殊功能寄存器。 在后面的語句中我們用以用P1=255(對P1端口的一切引腳置高電平)之類的語句來操作特殊功能寄存器。   sfr16占用兩個(gè)內(nèi)存單元, sfr16和sfr一樣用于操作特殊功能寄存器, 所不同的是它用于操作占兩個(gè)字節(jié)的寄存器,   sbit是C51中的一種擴(kuò)充數(shù)據(jù)類型, 應(yīng)用它可以訪問芯片外部的RAM中的可尋址位或特殊功能寄存器中的可尋址位。 如先前我們定義了sfrP1=0x90;, 因P1端口的寄存器是可位尋址的, 所以我們可以定義sbitP1_1=P1^1;, 異樣我們可以用P1. 1的地址去寫, 通常這些可以直接運(yùn)用零碎提供的預(yù)處理文件(如reg51. h, h), 直接援用可以省去一點(diǎn)時(shí)間, #####include//預(yù)處理文件外面定義了特殊寄存器的稱號, 如P1口定義為P1  對應(yīng)硬件電路圖如下:  順序中的把戲數(shù)據(jù)可以自以去定義, 因這里我們的LED要AT89C51的P1引腳為低電平才會點(diǎn)亮, 所以我們要向P1口的各引腳寫數(shù)據(jù)0, P1口的八個(gè)引腳剛好對應(yīng)P1口特殊寄存器的八個(gè)二進(jìn)位, 如向P1口定數(shù)據(jù)0xFE, 最C語言低位D0為0, 如此類推, 大家不難算出自己想要做的效果了。 大家編譯燒寫看看, 顯示的速度您可以依據(jù)需求調(diào)整延時(shí)a的值, 不要超過變量類型的值域就行了。 也沒關(guān)系, 還記得Keil的I/O口仿真功能嗎?看看這里就知道該怎樣辦了。 所以P1可以直接運(yùn)用不會出錯啦。 接上去順序直接跳轉(zhuǎn)到main函數(shù)執(zhí)行, do-while循環(huán)保證單片機(jī)不時(shí)循環(huán)工作。   下面我們把順序換一種方式寫, 以加深對寄存器的理解。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉