技术热线: 4007-888-234

PIC 单片机BASIC 编程应用

更新时间: 2019-03-23
阅读量:2055

十年专注单片机方案开发的方案公司英锐恩,分享PIC 单片机BASIC 编程应用。英锐恩现提供服务产品涉及主控芯片:8位单片机、16位单片机、32位单片机及各类运算放大器等。

本教程目的在于 教会你如何编写程序, 如何编译,以及如何使用它们使得单片机工作。我们这里提供了大量的实际应用实例以及其必须的外围接口及其设备连接: 如使用温度传感器,AD 和DA 转换, LCD 和LED 显示,延时,通讯,而且本书还一直不断地补充更新一些新的应用内容。 所有的编码都为初学者考虑,尽可能地详尽描述。 对于指令集,运算符,控制体,和其他的一些basic 的基本元素在许多实例中都有完全解释。 而且,本书包括了一些有用的mikroBasic 开发环境的介绍: 如何安装以及如何开发它可能完成的任务的潜力。

为了使问题简化以及破除一些固有成见,请允许我在你开始阅读此书之前给你一些建议。 你可以一开始就阅读此书中某些章节内你认为最感兴趣的内容,任何你认为适合你需要的内容。然后再在设计工作的同时,不断地阅读你亟需的内容。如果一些功能出现之后,你可能还不是很了解它,也不必产生太多的困扰。 无论如何,使得你的程序工作起来是第一位的。应该一直不断尝试,而且要按时完成工作,还要使得它有良好的可靠性,当然,你就可以凭借它赚到钱了。

换句话说,你不用管你是否十分清楚电子是如何在PN结里运动的。你也不必靠知道整个电子发展历史担保你或你的家庭的收入。别希望你可以从一本书里就得到所有你需要的。 各种信息总是分散地漫布于我们周围,细心地收集和给与它们有效的分类。如果你这样做的话,成功就是必然的。

编译器Compiler):这是一个运行于PC计算机中的程序,它的任务是把你所用BASIC语言写出的程序翻译成为单片机可以执行的“0”、“1”语言。这将BASIC程序翻译成可以执行的16进制HEX编码的过程如下面的图示。用BASIC编写的程序是以:program_name. pbas 的格式存储的,然后编译器把它转化为:program_name.asm 的格式。这个格式的文件然后再转化为单片机可执行的HEX 形式,就可以将其由下面的机器写入单片机的存储器了。

编程机(Programmer):这是一个将我们转换后的HEX(16进制)编码文件从计算机传送到单片机的存储器中的器件(也常称为编程器)。

1.1 为什么使用BASIC(Why BAISIC)?

最初,BASIC语言是作为一种“易于使用”的工具语言,而在1980年代广泛应用于家用计算机的,而且直到今天也是应用十分普及的少数的不断拓展的语言之一。BASIC 的名字来自于传统的,计算机科学上习惯采用的缩写词,但所表示的意义却非常贴切, Beginner’s All-purpose Symbolic Instruction Code – 为“初学者的通用符号指令编码”

现在,BASIC语言依然被若干的计算机用户认为是最简单易用的编程语言而使用着。这样,这种情况也被转移到了单片机领域里来。BASIC 语言对于PIC的应用来说,较比Microchip 的 MPASM 在应用和开发中使用起来更容易和便捷。在对MCU的编码过程中,编程者经常要面对对于相同模块的处理,比如串行通讯,LCD的显示,PWM 信号的产生等等。为了更好地处理这些情况,BASIC 就提供了大量的内置以及库范例(Library routine) 子程序供调用和开发。

如果单从程序简捷和执行速度上考虑,MPASM还是比BASIC小有优点的。所以,现在依然在BASIC里保留了一个为某些情况下直接使用MPASM的指令,以期在某些特定情况下由用户使用。现在大多的单片机,比如PIC, 其一般是单周期执行指令。比如,单片机的时钟是4MHz 的话,那一个汇编指令执行需要 250ns * 4 = 1us。 而BASIC 命令通常是一系列的汇编指令,所以其执行时间就是其构成中的各个汇编指令的总和。

1.2 不同的需要选择不同的PIC 单片机

当前,选择BASIC语言作为开发应用最多的是: PIC16F84, PIC16F87x, PIC16F62x, PIC18Fxxx等。这些单片机具有内置的FLASH程序存储器,为快速擦除和重新写入程序提供了保证,所以可快速调试。只要用鼠标轻轻一点编程软件,单片机的程序就可以被立即擦除,然后重新载入新的程序而不必把芯片拔出。而且,被写入FLASH 存储器的数据不会在断电之后丢失。除了FLASH存储器之外,PIC16F87x 和PIC16F84系列的单片机还包括了64-256字节的内置EEPROM(电擦写只读存储器), 这同样可以用于储存程序数据或者参数而掉电后不会丢失。 BASIC 具有内置的 EEPROM_Read 和 EEPROM_Write 指令 that can 用于将数据载入和储存以及读出于 EEPROM.

较早的 PIC 单片机系列 (12C67x, 14C000, 16C55x, 16C6xx, 16C7xx, and 16C92x)的程序存储器是建立于EPROM/ROM 技术上的, 所以它们只能够被一次编程 (带有 ROM 存储器的OTP版本) 或者带有一个玻璃窗口 ( 具有 EPROM 存储器的JW版本,这种版本可以允许当UV光照射玻璃窗口几分钟后将其程序内容擦除) 。 OTP 版本通常价格便宜,可以在大规模生产时考虑选择。

关于更多的单片机特殊品种及其应用的信息,可以查阅数据手册或者Microchip 的CD-ROM.