綜合電子設(shè)計與實踐-趙云偉課件5.2.1單片機C語言介紹學(xué)習(xí)資料_第1頁
綜合電子設(shè)計與實踐-趙云偉課件5.2.1單片機C語言介紹學(xué)習(xí)資料_第2頁
綜合電子設(shè)計與實踐-趙云偉課件5.2.1單片機C語言介紹學(xué)習(xí)資料_第3頁
綜合電子設(shè)計與實踐-趙云偉課件5.2.1單片機C語言介紹學(xué)習(xí)資料_第4頁
綜合電子設(shè)計與實踐-趙云偉課件5.2.1單片機C語言介紹學(xué)習(xí)資料_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

5.2單片機C語言介紹

51單片機設(shè)計開發(fā)常用語言是匯編語言與C語言。C語言是一種計算機程序設(shè)計語言,C語言兼顧了多種高級語言的特點,并具備匯編語言的功能。它的優(yōu)點是:簡潔緊湊、靈活方便、應(yīng)用范圍廣、可移植性好。很多硬件開發(fā)都用C語言編程,它具有開發(fā)周期短、程序可讀性好、通用性強等優(yōu)勢,便于改進、擴充和移植。支持多種類型單片機、DSP、ARM等。

C51是專門為51系列單片機設(shè)計的,是以C語言為基礎(chǔ),根據(jù)51單片機自身的特點進行了若干擴展,在結(jié)構(gòu)、定義及函數(shù)表達式等方面兩者相同,不同的是C51的寄存器、位操作、數(shù)據(jù)分區(qū)等的表述、應(yīng)用方式。

C-51與ASM-51相比,優(yōu)點如下:※不需要了解單片機的指令系統(tǒng),僅要求對存儲器結(jié)構(gòu)有初步了解;※寄存器分配、存儲器尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理;※程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),使得程序結(jié)構(gòu)化;※可讀性高、編程及程序調(diào)試效率高,匯編語言不便表達人們?nèi)粘=鉀Q問題的思路和方法,編程工作量大、容易出現(xiàn)錯誤、編寫的程序不容易移植等缺點,故匯編語言一般只適用于小型程序的編寫或整個軟件中對執(zhí)行效率要求較高的關(guān)鍵部分;※提供的庫函數(shù)包含很多標(biāo)準(zhǔn)子程序,具有較強的數(shù)據(jù)處理能力。※功能齊全,具有各種各樣的數(shù)據(jù)類型,并引入了指針的概念,使程序效率更高。5.2.1C51的數(shù)據(jù)類型

C語言數(shù)據(jù)類型包括:基本類型、構(gòu)造類型、指針類型、空類型1、基本類型:紅色為編譯器KEIL所支持的數(shù)據(jù)類型類型符號關(guān)鍵字所占位數(shù)數(shù)的表示范圍整型有(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~2147483647無unsignedint160~65535★unsignedlong320~4294967295實型有float浮點型323.42e-38~3.4e38有double雙精度641.7e-308~1.7e308字符型有char8-128~127無unsignedchar80~255★使用typedef為現(xiàn)有類型定義一個新名字:例如:typedefunsignedcharuint8;typedefunsignedint

uint16;typedefunsignedlonguint32;注意:typedef

并不創(chuàng)建新的類型。它僅僅為現(xiàn)有類型添加一個同義字。

2、C51數(shù)據(jù)類型的擴充定義:數(shù)據(jù)類型長度數(shù)的表示范圍bit10或1sfr80~255sfr16160~65535sbit10或1※bit:可用于定義位變量,它的值是一個二進制數(shù),不是0就是1?!鵶bit特殊功能位聲明、sfr特殊功能寄存器聲明。sfr特殊功能寄存器聲明:每個SFR在單片機內(nèi)部都有一個地址,使用前需先進行聲明,可用“sfr”數(shù)據(jù)類型來聲明,例如:sfrP0=0x80;//用P0表示端口P0,地址為80HsfrTCON=0x88;//用TCON表示定時器控制寄存器,地位為88Hsbit特殊功能位聲明:

利用sbit可以訪問內(nèi)部RAM中的可尋址位或特殊功能寄存器中的可尋址位,例如:sbitLED=P0^0;//P0口共8位,只使用其中一個I/O口就進行位聲明,此處聲明用LED表示P0中的P0.0引腳,以后程序就可以用LED來對P0.0引腳進行讀寫操作。sbitIT0=TCON^0;//用IT0表示特殊功能寄存器TCON的D0位。為了方便訪問8051片內(nèi)資源,KEILC提供了reg51.h、reg52.h等頭文件,對相應(yīng)型號單片機的特殊功能寄存器及可按位訪問的各個控制位進行了聲明,在應(yīng)用程序中包含該頭文件后,可方便地訪問單片機的片內(nèi)資源,簡化了應(yīng)用程序的編寫。

#include<reg52.h>C51包含的頭文件通常還有:math.h

cype.h

stdio.h

stdlib.h

absacc.h

等5.2.2常量與變量常量:在程序運行過程中,其值不能被改變的量。變量:在程序運行過程中,其值可以被改變的量。變量的定義可以使用所有C51編譯器支持的數(shù)據(jù)類型,而常量的數(shù)據(jù)類型只有位型、整型、浮點型、字符型和字符串型。1、常量※整型常量:表示為十進制:按傳統(tǒng)的寫法,如23、54、-45等。表示為十六進制:以0X開頭,如0X2A、0XED等。※浮點型常量(實數(shù)):表示為十進制:3.2、0.36482等。表示為指數(shù):3.2e3(3200)、-45.32e-2等?!址统A浚簡蝹€字符用單引號括起來’A’字符串用雙引號括起來”ABC”2、變量變量主要有兩部分構(gòu)成:變量名+變量值變量本質(zhì)是內(nèi)存中的一段存儲空間,存儲空間中存放的是變量的值,為這一段存儲空間命名即是變量名,使用變量前要先定義。定義變量舉例如下:

inta,b;//定義兩個整型變量a和b,

a=3;//并給這些變量賦值(初始化)

b=5;

另:inta=3,b=5;

溫馨提示

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

最新文檔

評論

0/150

提交評論