新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 介绍CH Basic Compiler

介绍CH Basic Compiler

作者:包起龙时间:2003-07-21来源:电子设计应用收藏
一.前言
你想学,一定会为难以记住的汇编语言头痛。今给想学习开发PIC系列单片机的朋友介绍一款软件CH Basic Compiler.这编辑器是为单片机PIC系列设计,它适用于PIC12,PIC14,PIC16系列单片机。它采取全新编辑思路。CH Basic是一工具,他简化了对Microchip 开发,编写程序和调试程序的手续。不用PIC汇编语言,而用CH Basic来编程,大大节省时间。CH Basic包含标准的Basic指令子集和有关的某些特殊指令。 你不会汇编语言,你只要输入Basic语言码,编辑器就立刻解释这码,并把它翻译成等效的汇编语言指令。在你输入的Basic码的每一改变,在汇编码窗口也会实时改变。

二.用CH Basic 作为编程的工具有以下好处。
1.不需要学习PIC 汇编语言指令。
即使你不会PIC单片机汇编语言,你能够编写用于任何目的PIC单片机程序。如果你懂得PIC汇编语言,可以用在线汇编功能(in-line assembly function)直接输入汇编码到basic 程序中。当你输入你的简单Basic命令,你将在屏幕的右面的汇编窗口看到每一个命令的汇编语言。
我们知道PIC单片机有RISC核心,这意味他有较少数量的指令,他执行较快,使程序执行也较快。这带来的问题是程序比用CISC内核的单片机的要长得多。对以RISC为核心的单片机的任何一复杂运算都需要写比以CISC为核心的单片机更多的汇编指令。用于12,16系列PIC单片机算术指令仅仅是加法和减法。这意味汇编级的程序员要编制更多的程序。而CH Basic将使程序员在大大缩短了时间达到他的目标。
一旦程序用CH Basic编辑后,只需把他输入到MPASM OR MPLAB软件编辑成机器码,把他烧到你选择的单片机芯片上就可。
2.简单而直观的指令。
所用的basic指令比汇编语言要简洁,清楚,便捷。故他设用于初学者,也设于专业人员。初学者可以用指令按钮,可以减少句法错误。也可以用键盘输入码,也可以安自己喜好用文本编辑器进行输入。
基本指令有;For...Next;If...EndIf;Clear;Goto;Gosub;Return;SetPort;PinHigh;PinLow;PortOut;PinRD;PortRD.(有关其功能可在软件HELP中查阅。)

3.简洁的指令便于调试。
他的basic程序比汇编程序短很多,故他简洁和容易了解,使调试容易,容易发现程序的各个部分。
他支持Microchip PIC12,PIC14,PIC16系列单片机。
支持8位和16位有符号数和无符号数。
支持算术和逻辑运算。
支持在行汇编码输入。
自动设置正确的存储体和页面。
有I/O端口操作的Basic命令。

三.软件介面说明;

软件下载,安装,运行后。(见图一)幕分成几部分。左面是一组按钮,用于输入适当的basic指令.指令也可以从菜单选取输入和,或从键盘打字输入。当用键盘时,你能直接输入到中央的基本窗口。在那里列出了整个basic程序。右面是汇编窗口,在那里列出相对照的汇编码。在输入任何指令后,这些窗口的码都自动实时的修改。状态窗口在右顶部。在那里显示有关PIC单片机类型,basic语言和汇编语言行的数目,所用程序的百分率及所选PIC单片机程序存储器,数据存储器的情况。
[图一]
建立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输出口经1k电阻和发光二极管LED一端相联。发光二极管另一端接地。实验要求发光二极管交替的亮和灭。
例子example.bsc的BASIC程序如下:
第1句 'LED's are on port B---<发光二极管接B口>
第2句 'first set port B as output---<设置B口为输出口>
第3句 setport b,%00000000
第4句led_on:'<第一个发光管亮>
第5句 'set the RB0 'LED on
第6句 b1=%00000001---<设一常数把b1来确定那个LED亮。>
第7句 portout B,b1---<把常数从B口输出>
第8句 'create a time delay---<延迟一段时间>
第9句 for cn1=1 to 1500
第10句 next
第11句LED_OFF: <发光管灭>
第12句 B1=%00000000
第13句 Portout B, b1
第14句 for nk1=1 to 1500
第15句 next
第16句 goto led_on返回

可以用文本编辑器写basic程序,以example.bsc存盘。
现在我们用CH BASIC软件左边的命令按钮来输入。
从击菜单栏NEW建立新文件,输入example.bsc。
第一步,先从菜单Option选取Change PIC type输入单片机型号。
第二步,在这程序中有两个常数b1,nk1。按命令按钮variables钮,输入变量b1,cn1。

然后用命令按钮输入basic语句:
第1句是注释,按COMMT钮,弹出一对话框,在框内输入文字。'LED's are on port B---<发光二极管接B口>
第2句也是注释,按COMMT钮,弹出一对话框,在框内输入文字。'first set port B as output---<设置B口为输出口>.
第3句,按setport,输入b,%00000000 (注解:%00000001表示是二进制数。用$FF表示十六进制数.)
第4句是标号,按Label钮,输入led_on:
第5句是注释,按COMMT钮,弹出一对话框,在框内输入文字'set the RB0 'LED on
第6句是符值b1的表达式,按Expr钮,再输入 b1=%00000001
第7句,按portout钮,再输入 portout B,b1
第8句是注释,按COMMT钮,弹出一对话框,在框内输入文字'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

输入编写完成后记住存盘。现在你可以对所编写的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)



关键词: PIC单片机

评论


相关推荐

技术专区

关闭