自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
FastAVR的IDE-編譯器指示語(yǔ)句1
FastAVR的IDE-編譯器指示語(yǔ)句1
 更新時(shí)間:2008-7-26 19:25:19  點(diǎn)擊數(shù):3
【字體: 字體顏色

先看看FastAVR的IDE,它有行號(hào),關(guān)鍵字彩色高亮顯示,工具欄,消息欄等,沒(méi)有太多豪華的東西,但是很實(shí)用也很簡(jiǎn)潔,有一點(diǎn)不爽就是你正準(zhǔn)備打開(kāi)一個(gè)文件的時(shí)候,然后你又點(diǎn)擊了取消鍵,這個(gè)時(shí)候軟件就自動(dòng)關(guān)閉了;下面是新建的一個(gè)默認(rèn)文檔,很簡(jiǎn)單也不干任何事情,但它卻是一個(gè)可以通過(guò)編譯的完整的Basic程序。

  

 

    所有帶“$”符號(hào)的關(guān)鍵字均為編譯器指示語(yǔ)句, 所有的編譯器指示語(yǔ)句必須書(shū)寫在程序的開(kāi)始的位置,它本身不編譯出具體的代碼,但是會(huì)把相應(yīng)功能的子程序連接到程序中去,效果有點(diǎn)象C里頭的一些頭文件包含某某函數(shù),在這一節(jié)我們來(lái)了解常用的編譯器指示語(yǔ)句 。

  1.$Device

處理器配置語(yǔ)句,聲明所使用芯片的型號(hào)等參數(shù),編譯器會(huì)編譯出適應(yīng)它的代碼,括號(hào)里面為可選項(xiàng)。

語(yǔ)法:
$Device=type [, Xram, FirstAdr, XramLength]

注釋:
如果芯片支持外部的RAM同時(shí)你要使用它那么你必須先聲明,比如你使用了M8515,擴(kuò)展了ram或者8255等。

例子:
$Device= 4433
$Device= tiny13
$Device= M128, Xram, 0, 32k  
'M128芯片,有外部RAM,地址從0開(kāi)始容量32K Byte

以下聲明作用相同:
$Device= ATmega16
$Device= mega16
$Device= m16

   2.$Stack
處理器配置語(yǔ)句,定義堆棧的大小,如果堆棧設(shè)置得太小就會(huì)溢出,從而得出錯(cuò)誤的運(yùn)算結(jié)果。
語(yǔ)法:
$Stack=num
注釋:
num 是為堆棧保留的字節(jié)數(shù)
例子:
$Stack = 32  '默認(rèn)保留32個(gè)字節(jié)供堆棧使用
$Stack = 50  '保留50個(gè)字節(jié)供堆棧使用
那么什么時(shí)候堆棧的空間會(huì)被使用呢?主要是:
· 調(diào)用過(guò)程和函數(shù)(返回地址)
· 自定義函數(shù)參數(shù)的傳遞(參數(shù)傳遞基于堆棧的形式)
· 局部變量 (就是聲明過(guò)程,函數(shù),中斷里面定義的變量)
· 加上進(jìn)入中斷程序的時(shí)候要保存的寄存器的空間

 

  3.$Clock
處理器配置語(yǔ)句,聲明芯片的時(shí)鐘頻率,如果聲明的時(shí)鐘頻率和芯片實(shí)際工作頻率不一樣將會(huì)影響串口波特率和其它延時(shí)指令。
語(yǔ)法:
$Clock=const
注釋:
const 單位MHz
例子:
$Clock = 3.6864 '時(shí)鐘頻率為3.6864MHz
$Clock = 8.000  '時(shí)鐘頻率為8.000MHz 

  4.$Source 
編譯器指示語(yǔ)句,將BASIC源程序里面的注釋轉(zhuǎn)移到輸出的匯編文件相應(yīng)的地方,方便大家理解與調(diào)試。
語(yǔ)法:
$Source=ON  '注釋轉(zhuǎn)移
$Source=OFF '注釋不轉(zhuǎn)移
系統(tǒng)默認(rèn)值是ON

  5.$Asm, $EndAsm
編譯器指示語(yǔ)句,在程序中插入?yún)R編
語(yǔ)法:
$Asm
...
$EndAsm
注釋:
這個(gè)指令允許在線匯編,$Asm$EndAsm 必須成對(duì)使用,全局變量可以在匯編中直接使用。
例子:
$Asm       '開(kāi)始插入?yún)R編
ldi zl,0x65
st c,zl
$EndAsm    '結(jié)束插入

   6.$Angles
編譯器指示語(yǔ)句,如果你在程序中使用了三角函數(shù),那么就要聲明三角函數(shù)的單位是度數(shù)Degrees還是弧度Radians
語(yǔ)法:
$Angles = Degrees|Radians
注釋:
系統(tǒng)默認(rèn)是弧度Radians,也就是說(shuō)你本身用弧度那么就無(wú)須聲明。
例子:
$Angles=Degrees '聲明角度單位為度
Dim f1 As Float '定義一個(gè)浮點(diǎn)型的變量f1
f1=Sin(30)      'f1=0.5000000

  7.$Baud
處理器配置,定義UART串口的波特率和工作模式
語(yǔ)法:
$Baud = const [, Parity, DataBits, StopBits]
$Baud2 = const [, Parity, DataBits, StopBits] ' 適合第二個(gè)UART
假如UART 工作在默認(rèn)的模式 (無(wú)奇偶校驗(yàn), 8數(shù)據(jù)位, 1停止位)則可以簡(jiǎn)寫成:
$Baud = 9600
如果指定奇偶校驗(yàn),將增加額外的程序進(jìn)行處理!
注釋:
const 是串口波特率的一些標(biāo)準(zhǔn)值:
1200, 2400, 4800, 9600, 19200, 38400, 56600,76800,115200
Mega系列芯片可以工作于高波特率
Parity N=無(wú)校驗(yàn), O=奇校驗(yàn), E=偶校驗(yàn), M=標(biāo)志 or S=空
DataBits 5, 6, 7, 8 or 9
StopBits 1 or 2 (在9 DataBits的時(shí)候,必須是 1 StopBit)
請(qǐng)看 AVR 數(shù)據(jù)手冊(cè) UART 設(shè)置部分
例子:
$Baud = 9600   '波特率9600bps,無(wú)奇偶校驗(yàn), 8數(shù)據(jù)位, 1停止位
$Baud2 = 9600  '第二串口波特率9600bps,無(wú)奇偶校驗(yàn), 8數(shù)據(jù)位, 1停止位

  8.$Include
編譯器指示語(yǔ)句,指示包含的basic程序的路徑,比如液晶用的軟字體。
語(yǔ)法:
$Include "Path\BasDoc.bas"
注釋:
程序中引用或包含了另外的basic程序,那么這個(gè)指令就是告訴編譯器被引用basic程序存放的路徑。
例子:
$Include "C:\FastAVR\Init.bas"  ‘包含初始化程序Init.bas
$Include "C:\FastAVR\Font.bas"  ‘包含字體程序Font.bas

  9.$IncludeAsm
編譯器指示語(yǔ)句,指示包含的ASM匯編程序的路徑。
語(yǔ)法:
$IncludeAsm "Path\Utils.asm"
注釋:
程序中引用或包含了另外的asm程序,那么這個(gè)指令就是告訴編譯器被引用asm程序存放位置。
例子:
$Include "C:\FastAVR\Init.asm"

 

  • 上一篇: AVR c語(yǔ)言編程風(fēng)格
  • 下一篇: AVR I/O 端口的設(shè)置
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1