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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]AVR單片機(jī)C語(yǔ)言入門知識(shí)

1、基本語(yǔ)法介紹

一個(gè)簡(jiǎn)單的AVR程序

#include

#include

void main()

{

PORTA = 0x0F; //給PA口賦值,讓PA口低四位為1,高四位為0

while(1)

;

}本程序的作用是把PA口的值設(shè)為0x0F。

1、程序中以井號(hào)開頭的語(yǔ)句#include 是包含特定的頭文件,叫預(yù)處理指令,i0m16v表示使用的是mega16,macros.h包含了必須的avr操作命令。

2、C語(yǔ)言的程序是由函數(shù)構(gòu)成的,如上面的那個(gè)void main(),前面的void表明函數(shù)沒有返回值。每一個(gè)c程序里面里有且只有一個(gè)main()函數(shù),系統(tǒng)啟動(dòng)后就從main()開始運(yùn)行。

3、函數(shù)內(nèi)部的內(nèi)容以大括號(hào)“{”和"}"擴(kuò)起來,每句語(yǔ)句用分號(hào)“;”結(jié)束,若分號(hào)前面沒有內(nèi)容,編譯之后也無任何操作語(yǔ)句。

4、C程序中可以加入一些說明文字,單行以雙斜扛“//”開始,如果是多行,就用"/*"開始,以“*/”結(jié)束,如 /*注釋 */ 。

5、函數(shù)可以有參數(shù),一律放在小括號(hào)內(nèi)。

6、利用C語(yǔ)言可以輕松的對(duì)AVR的設(shè)備組件進(jìn)行操作,如程序中的PORTA = 0x0F;

7、任何一個(gè)AVR C程序都必須是一個(gè)無限循環(huán),否則程序會(huì)沿著程序存儲(chǔ)區(qū)一直運(yùn)行,直至溢出程序存儲(chǔ)區(qū),程序從頭運(yùn)行。

2、AVR C語(yǔ)言的基本字符、標(biāo)識(shí)符和關(guān)鍵字

avr c語(yǔ)言和普通c語(yǔ)言一樣,基本字符有阿拉伯?dāng)?shù)字0~9;大小寫拉丁字母a~z和A~Z;一些選定的可打印字符,如"~!@#¥%^&*()_-+={}[],.;<>/?|\";空格符、換行符和制表符這三種空白符起到分割成分和編排格式的作用。

對(duì)系統(tǒng)對(duì)象命名,稱為標(biāo)識(shí)符。標(biāo)識(shí)符由數(shù)字、字母、下劃線組合的字符串序列構(gòu)成,字母區(qū)分大小寫。如下都是合法的表示符:

AVR_IO PORTA CSR IT0 temp1

注意:不能以數(shù)字開頭的字符串做標(biāo)識(shí)符。比如 1abc 是不合法的。

C語(yǔ)言的合法標(biāo)識(shí)符有一部分被編譯器保留作為特殊用途,這樣的標(biāo)識(shí)符稱為關(guān)鍵字。C語(yǔ)言的關(guān)鍵字有:(以字母先后為序)

auto break case char const continue default do double else enum extern float for goto if int long register return short signed

sizeof statIC struct switch typedef union unsigned void volatile while

注意,原則上除關(guān)鍵字外,可以使用任何有效的標(biāo)識(shí)符。但實(shí)際上,根據(jù)系統(tǒng)不同,有些特殊標(biāo)識(shí)符具有特殊含義,不應(yīng)被使用。在AVR里,一些端口的名稱、寄存器的名稱已經(jīng)被系統(tǒng)定義,最好不要改變其定義,如PORTA DDRA TIMASK 等。

3、數(shù)據(jù)類型

C語(yǔ)言嚴(yán)格規(guī)定數(shù)據(jù)類型,AVR資源有限,如果數(shù)據(jù)類型選用不好,資源很快就會(huì)耗盡。如,盡量不要使用浮點(diǎn)類型的運(yùn)算,1.2*1.2的浮點(diǎn)數(shù)運(yùn)算至少要占用mega16的百分之十以上的空間。

選擇數(shù)據(jù)類型時(shí)需要注意不要操作數(shù)據(jù)能表示的范圍,比如要表示60000,就不能用char,必須用int。

整數(shù)類型的類型名前可加修飾符unsigned和signed,表示無符號(hào)數(shù)和有符號(hào)數(shù),其中unsigned可以省略,默認(rèn)表示無符號(hào)數(shù),一般來說,盡量使用無符號(hào)數(shù)可以節(jié)約資源。

以下三種為整數(shù)類型:

1、整數(shù)類型:一般類型的整型 int,16位二進(jìn)制編碼,表示的數(shù)0~65536,及216。有符號(hào)類型,signed int 表示范圍-32768~32767。

2、長(zhǎng)整型類型:長(zhǎng)整型(long int)類型的二進(jìn)制編碼是32位。有符號(hào)的長(zhǎng)整型類型(long)表示范圍-231~231-1;無符號(hào)的類型(unsigned long)的表示范圍為0~232-1。

3、超長(zhǎng)整數(shù)類型:超長(zhǎng)整數(shù)類型(long long)的二進(jìn)制編碼是64位。有符號(hào)的長(zhǎng)整型類型(long)表示范圍-263~263-1;無符號(hào)的類型(unsigned long)的表示范圍為0~264-1。

以下為實(shí)數(shù)類型(浮點(diǎn)數(shù)類型):

1、單精度浮點(diǎn)數(shù)類型:float,用32位二進(jìn)制數(shù)表示。

2、雙精度浮點(diǎn)數(shù)類型:long double,用64位二進(jìn)制數(shù)表示。

字符類型和字符串

字符類型的類型名為char,目前最常用的是ASCII字符集,其中字符包擴(kuò)所有的大小寫字母,數(shù)字,常用字符等共計(jì)128割字符。擴(kuò)展的ASCII字符集包括256個(gè)字符,字符類型占用一個(gè)字節(jié)。

一些特殊的字符串的表示方法:以反斜扛加特定字符。如 ’ \n ’ 回車符; ‘ \" ’ 雙引號(hào); ‘ \’ ’ 單引號(hào)字符; ‘ \\ ’ 反斜杠。

無符號(hào)的字符類型: char 表示范圍 0~255。

有符號(hào)的字符類型: signed char表示范圍-128~127。

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