PIC单片机快速入门
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PIC单片机快速入门《电子制作》2008年11月站长原创,如需引用请注明出处
笔者曾经在2004年—2008年写下51单片机综合学习系统系列教程文章数十篇,很多读者朋友通过学习之后已经顺利地跨入了51单片机的大门,受到了广大读者朋友的好评,也让笔者感觉非常高兴,在学完了51单片机之后,笔者将为大家介绍一系列PIC单片机基础知道与入门学习教程,为此特地写下“PIC单片机快速入门”一文,配合文中所讲的单片机学习、开发设备,提供给学习者一个理论与实践相结合的平台,使广大单片机初学者朋友能够以最快的速度跨入PIC单片机的大门,文中讲述一些单片机常用的开发设备,我们应该如何去使用、操作它们。
首先,我们先来看一看,在下面的学习过程中将要用到的硬件设备有哪些,它们分别是:PIC编程器,ICD2仿真烧写器和增强型PIC实验板,实物如图所示,你只需要有一台电脑就可以进行学习和开发了。三板在手,可谓是资源足矣,学习起来够你用的了。至于一些难度较高的应用我们在此先不作介绍,说多了,反而会使问题复杂化。
图1
PIC编程器:如图1所示,用来将我们在PC机上编好的程序烧写至单片机芯片中去,以完成程序的固化工作,通过我们也称其叫“烧写器”,讲的是同一个东西,我们要使用的PIC编程器支持市面常见的芯片型号,如PIC16F877A,PIC16F876,PIC16F54,PIC12C508,PIC12F508,PIC16C65,PIC18F452,PIC18F6720等百余种PIC单片机芯片,相对于市场上出售的编程器,其价格已经非常低廉了。
图2
ICD2仿真烧写器:如图2所示,用来提高我们的软件开发效率,实现芯片的在线仿真,一听到仿真器大家都会想到一个贵字,但我们提供的仿真器相信大部分朋友都可以承受,所以推荐给大家。我们在MPLAB IDE编程软件中设置好要仿真的芯片型号即可。
图3
增强型PIC实验板(与PIC编程器、ICD2仿真烧写器配合使用):如图3所示,方便我们完成各种单片机实验,如流水灯,数码管显示,继电器控制,发声实验,IIC总线通信等等,应该说足够学习使用的了。
我们准备好了学习PIC单片机的硬件设备后还需要准备好哪些软件平台呢?我们完成软件开发又需要完成哪些步骤呢?
我们需要安装的软件主要有两个,分别是“MPLAB 集成开发环境”和“PIC编程器烧写软件”。
MPLAB 集成开发环境(IDE)是一个综合性的设计平台界面,适用于使用Microchip PICmicro 和dsPIC 单片机进行嵌入式设计的应用开发。我们在这个软件界面中编写程序代码,并通过它将写好的源程序代码编译成目标代码,即HEX文件,同时配合硬件调试器、开发板完成软件程序的调试工作,最终通过编程器将定型的目标代码写入到开发板的单片机芯片中去。。
首先,在配套光盘中找到MPLAB IDE安装文件,该文件也可以从Microchip网站下载,双击Install.exe 文件根据向导安装完成即可。注意:此时MPLAB IDE软件只支持使用汇编语言进行编程,我们准备使用C 语言来进行程序编缉,所以,还需要为MPLAB IDE软件安装一下C编译器插件,其具体安装方法由于文章篇幅有限,详见光盘内说明文件。
其次,将光盘“PIC编程器驱动软件”目录复制到计算机硬盘上,这是我们一会要使用的烧写软件,用来将我们编好的程序烧入PIC单片机芯片内。现在,我们将PIC编程器插上USB线与电脑连接,系统提示发现新硬件,要求用户指定驱动程序所在路径,我们将其指定到配套光盘“USB驱动程序”目录,点击确定按钮后,系统完成了编程器USB驱动程序的安装。安装好后你的电脑会增加一个串口,如图4所示,这时编程器硬件就连接在这个USB转成的串口上。
图4
“MPLAB 集成开发环境”和“PIC编程器烧写软件”都安装完成后,我们就可以进行程序编写和烧录工作了,以下我们将与这些单片机开发设备相结合来讲述具体的实践学习过程。
我们的第一个实验是要用PIC单片机点亮实验板上的其中一只LED发光管。想用单片机来完成一些智能化的控制,这个是最简单的一个程序例子,以给大家一个感性的认识。在此,出于通俗易懂的角度出发,我们使用PIC编程器与增强型PIC实验板配合来完成本次实验,力求用最简洁的代码,最方便的操作方式,让大家了解到底该如何让单片机工作。本次实验,我们使用的芯片为PIC16F877A,它涵盖了PIC16F***子系列的所有功能,特别适合初学者使用,它在PIC家族中的地位类似51家族中的S51或者S52,不过内部包含了更多的功能,比如内部集成了AD等特殊单元。
图5
图5是跟增强型PIC实验板上跟LED控制相关部分的电路,我们可以看到LED上串接的电阻是470欧姆,如果此时LED上的电压是2.0V,那么此时通过LED的电流则为(5V-2V)/470Ω=6.38mA,如果需要提高亮度,一般会电流控制在10mA左右,则此时电阻应该选择(5V-2V)/10mA=300Ω,所以可以就近选择330Ω。
电路已经确定,然后就是连接到单片机的I/O口上,见图5,我们可以看到LED的正极通过限流电阻连接到PIC单片机的I/O口,负极连接到了GND地线,因此要使LED发光,也就是使电流流过LED,只需要把I/O口置成高电平即可,所以最终我们对LED的控制变成了对一个I/O口的控制,比如要点亮标号为“D11”的LED,就是把RC1口设置成高电平而已,这就是实现方法。
下面就开始写程序了,打开MPLAB IDE软件,选择File(文件)>New(新建),出现一个文本编辑窗口,在该窗口中输入以下C语言源程序:
#include
main()
{
TRISC=0X00; /*TRISC寄存器被赋值,PORTC每一位都为输出*/
while(1) /*循环执行点亮发光二极管的语句*/
{
PORTC=0X02; /*向PORTC送数据,点亮第二个LED发光管*/