看完这篇文章,PIC单片机就能入门了.doc

看完这篇文章,PIC单片机就能入门了.doc

ID:28114355

大小:843.00 KB

页数:14页

时间:2018-12-08

看完这篇文章,PIC单片机就能入门了.doc_第1页
看完这篇文章,PIC单片机就能入门了.doc_第2页
看完这篇文章,PIC单片机就能入门了.doc_第3页
看完这篇文章,PIC单片机就能入门了.doc_第4页
看完这篇文章,PIC单片机就能入门了.doc_第5页
资源描述:

《看完这篇文章,PIC单片机就能入门了.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、看完这篇文章,PIC单片机就能入门了  可能很多网友奇怪,在数字芯片高速发展的今天,32位单片机价格低廉,功能强大,芯片成本已经不是产品开发的主要问题,那为什么还要普及PIC单片机,这样一款中低端的单片机呢?原因很简单,既然现在还没有被淘汰的,总有它存在的理由,PIC单片机号称稳定性极好,可以在十分恶劣的环境下稳定工作,因此在工业领域受到工程师们的偏爱,而且目前来看,任何一个系列的单片机都在不断的推陈出新,产品性能也在不断的提升,PIC单片机也一样,高端的PIC单片机也有32位的,主频高达上百兆,详细介绍大家可以去官网查看。  促使我写这样一片文章的另外一个原因是,网上关于PIC单片机

2、的入门或者学习资料相对较少,不像STM32或者51单片机那样丰富,如果是有一定单片机基础的,想学习PIC单片机,看完这篇文章,应该就可以入门了。  来介绍一下我所使用的平台信息、调试工具。  PIC单片机型号:dsPIC30F6014A  开发环境:MPLABXIDEv3.05  下载工具:PICKit3.5    PICKit3.5下载器  一、安装开发环境  我是直接在官网(www.microchip.com)上下载的MPLABXIDEv3.05版本,400多兆,应该是最新版本了,安装过程中使用推荐选项就可以,还安装了一个C30编译器(MPLAB_C30_V3.0)。  二、新建项

3、目  我安装开发环境的时候,选择了中文版本,进入开发环境后,点击:文件à新建项目,弹出如下界面:选择独立项目,然后点下一步。    步骤一  点击下一步后弹出如下界面:选择你使用的单片机型号,这里我使用的是dsPIC30F6014A16位单片机。    步骤二  继续点下一步,这里选择调试/下载工具,我使用的是PICkit3。    步骤三  下一步,这一步选择的是编译器,选择C30编译器。    步骤四  最后一步,选择项目的保存目录,编码这里选择的是GB2312,这样做的目的是使项目中的中文字符能够被识别,否则,添加中文注释时会出现乱码。    步骤五  至此,项目新建完毕,界面如

4、下,项目目录里面,我们目前只需要关注头文件和源文件即可,在头文件上右键可以选择添加现有的头文件,源文件同理。    文件添加完成后,点击编译按钮进行编译,编译通过后会在环境下方提示编译信息,    编译成功后,可以进行下载和在线调试,下载按钮用于将程序下载到单片机内部,调试按钮用于在线调试程序,注意,点击调试按钮程序不会下载到单片机内。  接下来以闪灯测试程序来讲解这款单片机的使用,在此之前先来了解一下《配置位》,在开发环境中,点击运行àSetConfiguraTIonBits,即可在环境下方调出配置窗口,OpTIon下面的定义可以修改,    这里说一下时钟配置和看门狗配置,FOSC

5、用于配置系统时钟,FWDT用于看门狗的配置,如果你想使用外部晶振、内部进行16倍频,就选择XT_PLL16即可,如果是内部时钟、4倍频,就在选项中选择FRC_PLL4,同理,看门狗的开启和关闭,以及开启后的设置也可以通过FWDT来配置,这里我们选择关闭看门狗,只需将WDT选项选择为WDT_OFF即可,注意,这里选择好之后,必须点击输出生成源代码,会自动生成源码,生成的源码拷贝到你的项目文件中才有效。  至于一些详细的配置请自行参见手册。    生成代码  下面贴出LED闪灯的源码,并逐语句进行讲解。  本文引用地址:http://www.eepw.com.cn/arTIcle/2794

6、41.htm    #include“p30f6014A.h”//包含头文件  _FOSC(CSW_FSCM_OFF&XT_PLL16);//配置时钟  _FWDT(WDT_OFF);//关闭看门狗  假设使用的外部晶振为5Mhz,系统指令周期的计算方法为:  5M*16/4=20MIPS  16为16倍频,每执行一条指令要4个时钟周期,因此要除四,就得到了实际的系统时钟。  IO端口的配置  IO端口使用很简单,和51相比只是多了一个方向控制,在使用端口之前,先设置好方向。假设我们使用的端口A的第十位作为LED的控制位,首先设置该管脚的方向,  TRISAbits.TRISA10=0

7、;//该位置零为输出,置1位输入  控制端口实际输出高低电平的寄存器位LATAbits,将该寄存器的LATA10位进行置1置0操作,即可输出高、低电平。  #defineLEDLATAbits.LATA10  值得注意的是,当进行读引脚操作时,要读PORTAbits寄存器,而不是LATAbits寄存器。  我们是采用定时500ms中断的方式来进行LED的亮灭控制,因此需要进行定时器的配置,这里使用的是16位定时器TImer1。涉及到两个函数。 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。