先來簡單說說C言語的標識符和關鍵字。 標識符是用來標識源程序中某個對象的名字的, 這些對象能夠是語句、數據類型、函數、變量、數組等等。 C言語是大小字敏感的一種高級言語, 若是咱們要定義一個定時器1, 能夠寫作「Timer1」, 那麼這兩個是徹底不一樣定義的標識符。 標識符由字符串, 有些編譯零碎專用的標識符是如下劃線開頭, 因此通常不要如下劃線開頭命名標識符。 這樣有助於閱讀理解程序。 在C51編譯器中, 關鍵字則是編程言語保存的特殊標識符, 它們具備固定名稱和含義, 在程序編寫中不容許標識符與關鍵字相同。 在KEILuVision2中的關鍵字除了有ANSIC標準的32個關鍵字外還根據51單片機的特色擴展了相關的關鍵字(好比for, while等標準的還有sbit, code, interrupt等擴展的, 具體列表能夠在網上查到)。 零碎能夠把保存字以不一樣顏色顯示, 缺省顏色爲天藍色。 char類型的長度是一個字節, 一般用於定義處置字符數據的變量或常量。 分無符號字符類型unsignedchar和有符號字符類型signedchar, 默認值爲signedchar類型。 所能夠表達的數值範圍是0~255。 signedchar類型用字節中最高位字節表示數據的符號, 「0」表示正數, 正數用補碼錶示。 ????牟孤胗朐?胂嗤??負二進制數的補碼等於它的絕對值按位取反後加1。 int整型長度爲兩個字節, 用於存放一個雙字節數據。 分有符號int整型數signedint和無符號整型數unsignedint, 默認值爲signedint類型。 signedint表示的數值範圍是-32768~+32767, 字節中最高位表示數據的符號, 「1」表示正數。 float浮點型在十進制中具備7位有效數字, 佔用四個字節。 5.指針型 指針型自身就是一個變量, 在C51中它的長度通常爲1~3個字節。 指針變量也具備類型, bit位標量是C51編譯器的一種擴大數據類型, 應用它可定義一個位標量, 不是0就是1, 7.sfr特殊功能寄存器 sfr也是一種擴大數據類型, 應用它能夠訪問51單片機內部的全部特殊功能寄存器。 值域爲0~65535。 所不一樣的是它用於操做佔兩個字節的寄存器, 如定時器T0和T1。 應用它能夠訪問芯片內部的RAM中的可尋址位或特殊功能寄存器中的可尋址位。 因P1端口的寄存器是可位尋址的, 一樣咱們能夠用P1. 1的地址去寫, 1引腳進行讀寫操做了。 h, AT89X51. h), 直接援用能夠省去一點時間, 固然你也能夠本身寫本身的定義文件, 加深瞭解一下C51的程序構造。 #####include<AT89X51. 如P1口定義爲P1 對應硬件電路圖以下: 程序中的花樣數據能夠自以去定義, 因這裏咱們的LED要AT89C51的P1引腳爲低電平纔會點亮, 對應鏈接的LED纔會被點亮, P1口的八個引腳恰好對應P1口特殊寄存器的八個二進位, 如向P1口定數據0xFE, 轉成二進制就是11111110, 如此類推, 你們不難算出本身想要作的效果了。 不要超過變量類型的值域就好了。 也不要緊, 第一句的#include跟C言語裏面的援用是同樣的, 因此P1能夠直接運用不會出錯啦。 do-while循環保證單片機不斷循環任務。 下面咱們把程序換一種方式寫, 以加深對寄存器的理解。編程