BASIC语言已经发展到QuickBASIC、Visual Basic以后,已经具备了很多结构化思想和编程方式,如函数、模块、局部变量、全局变量、数据传递等。
早期的BASIC语言由于生成的代码不是最终目标机器的代码,而是经过一个RUNTIME程序解释后运行的,因而执行效率低。而单片机的BASIC编译器直接将代码编译成相应芯片的机器码,不需要在单片机的内存中驻留RUNTIME程序,执行效率与其他编译器编译出来的一样。
MCS-Electronics公司开发的BASCOM-8051开发环境是以BASIC语言为基础的单片机编程系统,具有易学易用、功能强大、开发周期短等特点。
一、命令分类示例
1、伪指令
伪指令是一些对开发环境的设置指令,如:$Large是说明应用程序大于2K;$Asm~$End Asm是使用汇编语言;$Crystal是说明单片机应用系统中的时钟频率等等。
2、一般命令
这一类命令和BASIC语言中的命令用法、功能是一样的。如:For、To、Step、If、Else、End If、While……Wend、Select Case等,初学者十分容易掌握。
3、针对单片机硬件的命令
主要提供了直接对单片机及其外部硬件的操作,简化了开发过程,是开发人员重点学习的部分。如:LCD命令可以用一条命令来实现LCD的显示操作。
Cls '清LCD屏
Lcd "Hello world." '向LCD输入字符串
还有对I2C存储器的专用命令,如:I2Cstart、I2Cstop、I2Crbyte、I2Cwbyte等。
最重要的是提供了对单片机端口的直接操作,如:P1、P2、P2.1、P0.3等等。
二、应用例程示例
1、闪烁的LED
线路连接:LED接在8051的P1.1口,并加一只200欧姆左右的电阻。
目的:LED间隔两秒钟闪烁一次。
源程序(此处用无条件带参数循环指令实现):
While I = 2 '一直循环
P1.1 = Not P1.1 '使P1.1口状态反转,实现LED闪烁
Wait I '等待两秒
Wend '与While配合无条件带参数循环
End '结束程序
2、串口通信
线路连接:8051串口接Max232,再接到PC机串行口。
目的:接受PC数据,并返回。
源程序:
$Band = 1200 '定义串口速率为1200bps
$Crystal = 12000000 '申明8051主频为12MHz
Dim S As String*8 '定义一个字符串变量
Input "输入姓氏", S '从串口接受数据
Print "你好!", S '发送数据到串口
End '程序结束