老古开发网首页
导航:老古开发网首页文章索引文章分类嵌入式系统→[介绍CH Basic Compiler]
| -文章搜索 - 最新文章 - |

介绍CH Basic Compiler

发布时间:2003年8月6日 点击次数:459
来源:电子设计应用   作者:包起龙
 
一.前言
你想学PIC单片机,一定会为难以记住的汇编语言头痛。今给想学习开发PIC系列单片机的朋友介绍一款软件CH Basic Compiler.这编辑器是为单片机PIC系列设计,它适用于PIC12,PIC14,PIC16系列单片机。它采取全新编辑思路。CH Basic是一工具,他简化了对Microchip PIC单片机开发,编写程序和调试程序的手续。不用PIC汇编语言,而用CH Basic来编程,大大节省时间。CH Basic包含标准的Basic指令子集和有关PIC单片机的某些特殊指令。 你不会汇编语言,你只要输入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)


欢迎进入老古论坛进行讨论
[嵌入式系统] 相关文章:
MPC555微控制器与汽车电子
简介:
摘要 介绍32位微控制器MPC555及其应用开发系统的技术特点,并分析比较国内外软硬件集成开发平台的应用现状。同时,对MPC555嵌入式系统在汽车电子领域的应用进行了总结和预测。 关键词 MPC555 集成开发环境(IDE) 实时操作系统(RTOS) 汽车电子 引言   随着汽车工业的飞速发展,汽车在控制、通信和网络方面的要求越来越复杂。以32位微控制器及嵌入式实时操作系统为基本技术特征的新一代电控单元ECU(Electronic Control Unit)成为汽车电子应用的主流。32位微控制器MPC555以其强大的性能在汽车电子等领域得到了广泛的应用。 ......

分时操作系统思想在单片机中的具体应用
PDA设备的Linux配置及其编译
基于uC/OS-II的低速率语音编码器系统设计
BLACKfinTMDSP体系结构:能实现带电源管理功能的多样性应用
用87LPC76x单片机构成的键盘显示电路
EZ-USB接口设备的软配置技术
中软Linux助力广西电子政务,打响"缩鸿"第一炮
数字温度测控芯片DS1620的应用
基于MB90F543微控制器的双CAN冗余设计
 
下一个:[新闻热点]摩托罗拉下半年将推十余款新品
简介:
日前,摩托罗拉公司全球个人通讯事业部首席执行官汤姆林奇先生在第七次访问中国时透露了这样一个信息:下半年,摩托罗拉将向中国市场推出10余款外形时尚、功能强劲的GSM和CDMA产品,以继续稳固其在中国手机市场的位置。 与以往在中国市场的叱咤风云相比,上半年的摩托罗拉略显安静。对此,摩托罗拉中国区的高层管理人员表示:今年突然爆发的非典疫情的确对整个行业带来了一些影响,但是我们通过一些积极有力的措施有效控制了这些不利因素。事实上,我们选择这段时间完成了一些策略调整。比如库存和销售策略,现在的摩托罗拉已经为下半年火热的市场竞争积蓄了巨大的力量。&quot; 在谈到行业排名时,该人士透露:&q......
 

上一个:[新闻热点]富士通上半年可能巨亏

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:31毫秒