新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 介紹CH Basic Compiler

介紹CH Basic Compiler

作者:包起龍 時間:2003-07-21 來源:電子設(shè)計應(yīng)用 收藏
一.前言
你想學(xué),一定會為難以記住的匯編語言頭痛。今給想學(xué)習(xí)開發(fā)PIC系列單片機的朋友介紹一款軟件CH Basic Compiler.這編輯器是為單片機PIC系列設(shè)計,它適用于PIC12,PIC14,PIC16系列單片機。它采取全新編輯思路。CH Basic是一工具,他簡化了對Microchip 開發(fā),編寫程序和調(diào)試程序的手續(xù)。不用PIC匯編語言,而用CH Basic來編程,大大節(jié)省時間。CH Basic包含標(biāo)準(zhǔn)的Basic指令子集和有關(guān)的某些特殊指令。 你不會匯編語言,你只要輸入Basic語言碼,編輯器就立刻解釋這碼,并把它翻譯成等效的匯編語言指令。在你輸入的Basic碼的每一改變,在匯編碼窗口也會實時改變。

二.用CH Basic 作為編程的工具有以下好處。
1.不需要學(xué)習(xí)PIC 匯編語言指令。
即使你不會PIC單片機匯編語言,你能夠編寫用于任何目的PIC單片機程序。如果你懂得PIC匯編語言,可以用在線匯編功能(in-line assembly function)直接輸入?yún)R編碼到basic 程序中。當(dāng)你輸入你的簡單Basic命令,你將在屏幕的右面的匯編窗口看到每一個命令的匯編語言。
我們知道PIC單片機有RISC核心,這意味他有較少數(shù)量的指令,他執(zhí)行較快,使程序執(zhí)行也較快。這帶來的問題是程序比用CISC內(nèi)核的單片機的要長得多。對以RISC為核心的單片機的任何一復(fù)雜運算都需要寫比以CISC為核心的單片機更多的匯編指令。用于12,16系列PIC單片機算術(shù)指令僅僅是加法和減法。這意味匯編級的程序員要編制更多的程序。而CH Basic將使程序員在大大縮短了時間達到他的目標(biāo)。
一旦程序用CH Basic編輯后,只需把他輸入到MPASM OR MPLAB軟件編輯成機器碼,把他燒到你選擇的單片機芯片上就可。
2.簡單而直觀的指令。
所用的basic指令比匯編語言要簡潔,清楚,便捷。故他設(shè)用于初學(xué)者,也設(shè)于專業(yè)人員。初學(xué)者可以用指令按鈕,可以減少句法錯誤。也可以用鍵盤輸入碼,也可以安自己喜好用文本編輯器進行輸入。
基本指令有;For...Next;If...EndIf;Clear;Goto;Gosub;Return;SetPort;PinHigh;PinLow;PortOut;PinRD;PortRD.(有關(guān)其功能可在軟件HELP中查閱。)

3.簡潔的指令便于調(diào)試。
他的basic程序比匯編程序短很多,故他簡潔和容易了解,使調(diào)試容易,容易發(fā)現(xiàn)程序的各個部分。
他支持Microchip PIC12,PIC14,PIC16系列單片機。
支持8位和16位有符號數(shù)和無符號數(shù)。
支持算術(shù)和邏輯運算。
支持在行匯編碼輸入。
自動設(shè)置正確的存儲體和頁面。
有I/O端口操作的Basic命令。

三.軟件介面說明;

軟件下載,安裝,運行后。(見圖一)幕分成幾部分。左面是一組按鈕,用于輸入適當(dāng)?shù)腷asic指令.指令也可以從菜單選取輸入和,或從鍵盤打字輸入。當(dāng)用鍵盤時,你能直接輸入到中央的基本窗口。在那里列出了整個basic程序。右面是匯編窗口,在那里列出相對照的匯編碼。在輸入任何指令后,這些窗口的碼都自動實時的修改。狀態(tài)窗口在右頂部。在那里顯示有關(guān)PIC單片機類型,basic語言和匯編語言行的數(shù)目,所用程序的百分率及所選PIC單片機程序存儲器,數(shù)據(jù)存儲器的情況。
[圖一]
建立basic文件,有兩種方法;
一。用文本編輯器;任何文本編輯器都能夠用于寫basic程序。寫完后以*.bsc存盤。再運行CH Basic Compiler。打開*.bsc文件。
二,在CH Basic中用按鈕或菜單選擇輸入basic程序。
在每個basic程序開始必需定義單片機型號。如用文本編輯第一行必需是單片機型號,例如;PIC 16C74A等。
如果選取了無效型號程序自動采用默認值PIC 16C73.
在CH BASIC 編輯器從菜單Opions/Change PIC Type選取。
第二步是定義變量;所有在程序中使用變量必需先定義。例如我們要用兩個Byte變量。則定義為 BYTE X,Y。
四.軟件使用實例
以下我們將舉一例子,一步步說明如何用CH Basic Compiler來編寫程序。
例子是用單片機PIC16F84,B口作為輸出口,在B輸出口經(jīng)1k電阻和發(fā)光二極管LED一端相聯(lián)。發(fā)光二極管另一端接地。實驗要求發(fā)光二極管交替的亮和滅。
例子example.bsc的BASIC程序如下:
第1句 'LED's are on port B---<發(fā)光二極管接B口>
第2句 'first set port B as output---<設(shè)置B口為輸出口>
第3句 setport b,%00000000
第4句led_on:'<第一個發(fā)光管亮>
第5句 'set the RB0 'LED on
第6句 b1=%00000001---<設(shè)一常數(shù)把b1來確定那個LED亮。>
第7句 portout B,b1---<把常數(shù)從B口輸出>
第8句 'create a time delay---<延遲一段時間>
第9句 for cn1=1 to 1500
第10句 next
第11句LED_OFF: <發(fā)光管滅>
第12句 B1=%00000000
第13句 Portout B, b1
第14句 for nk1=1 to 1500
第15句 next
第16句 goto led_on返回

可以用文本編輯器寫basic程序,以example.bsc存盤。
現(xiàn)在我們用CH BASIC軟件左邊的命令按鈕來輸入。
從擊菜單欄NEW建立新文件,輸入example.bsc。
第一步,先從菜單Option選取Change PIC type輸入單片機型號。
第二步,在這程序中有兩個常數(shù)b1,nk1。按命令按鈕variables鈕,輸入變量b1,cn1。

然后用命令按鈕輸入basic語句:
第1句是注釋,按COMMT鈕,彈出一對話框,在框內(nèi)輸入文字。'LED's are on port B---<發(fā)光二極管接B口>
第2句也是注釋,按COMMT鈕,彈出一對話框,在框內(nèi)輸入文字。'first set port B as output---<設(shè)置B口為輸出口>.
第3句,按setport,輸入b,%00000000 (注解:%00000001表示是二進制數(shù)。用$FF表示十六進制數(shù).)
第4句是標(biāo)號,按Label鈕,輸入led_on:
第5句是注釋,按COMMT鈕,彈出一對話框,在框內(nèi)輸入文字'set the RB0 'LED on
第6句是符值b1的表達式,按Expr鈕,再輸入 b1=%00000001
第7句,按portout鈕,再輸入 portout B,b1
第8句是注釋,按COMMT鈕,彈出一對話框,在框內(nèi)輸入文字'create a time delay
第9句按FOR鈕,輸入cn1= 1 to 1500
第10句按next鈕
第11句是注釋按Label鈕,輸入LED_OFF:
第12句按Expr鈕,輸入B1=%00000000
第13句按Portout鈕,輸入 Portout B, b1
第14句按for鈕,輸入for nk1=1 to 1500
第15句按next鈕,
第16句按goto鈕,輸入goto led_on

輸入編寫完成后記住存盤?,F(xiàn)在你可以對所編寫的BASIC程序進行編輯。選菜單欄FILE的Compile & check項,編輯成功,顯示編輯成功對話框。則在CH Basic 子目錄中就生成一同名的匯編文件example.ASM。把他輸入到MPASM 或MPLAB軟件編輯成機器碼,將機器碼燒到你選擇的單片機芯片上就可。

有興趣讀者的可以到http://hongyu98.xiloo.com下載試用軟件。

五.參考文獻
Basic Compile Programming Guide,19page,[chbas_pg.pdf]
(http://www.celestialhorizons.com)



關(guān)鍵詞: PIC單片機

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉