PIC单片机新手快速入门

发布者:自由梦想最新更新时间:2015-04-03 来源: eechina关键字:PIC  单片机  新手快速入门 手机看文章 扫描二维码
随时随地手机看文章
  为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,专家写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见.

  1.PIC单片机的概述

  PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率.

  PIC16F616这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4MHZ,也可以用外部晶振提供时钟.内部集成有AD转换、比较器等硬件模块,还具有上电复位、欠压复位、看门狗、代码保护等功能.三个定时器、PWM发生器等可以由用户编程.下面我来一一介绍关于PIC单片机的这些模块和功能.

  2.存储器

  PIC16F616分为程序存储其和数据存储器,程序存储器的大小是2048words,数据存储器的大小是128bytes.

  程序存储器中0000H的地址为复位地址,当上电或者看门狗计时器等复位的时候,均会导致PC指针指向复位地址.地址0004H为中断地址,当无论发生什么中断的时候,PC指针就会指向此地址.在地址0005H~07FFH可以移植程序.

  数据存储器分为两个部分,分别叫做bank0和bank1,其中bank0的地址范围为:00H-7FH,Bank1的地址范围为80H-FFH.一般的寄存器都放在里面.可以通过寄存器STATUSL里面的RP0位来选择bank0和bank1.

  在编程序的时候要注意的是,当你要操作的寄存器在bank0的时候,先要选择bank0(将寄存器STATUS的RP0位置0),然后再对你所要操作的寄存器进行操作,当你要操作的寄存器在bank1的时候,同理先要选择bank1.

  如果想要定义一些变量,可以在数据存储器20H开始的地址定义,定义的地址范围为20H-7FH.一般这么多就够用了.

  3.PIC的输入输出端口

  在学习这个部分的时候,曾经遇到过一些问题.PIC单片机的引脚不多,大多都是复用引脚,例如AD、IO、比较器、外接晶振等等,所以在配置端口的时候,一定要知道每个功能怎样设置才能实现的,在这一小节中,我要讲的是通用IO口的设置问题.

  PIC16F616有12个IO口,但是有一个引脚(RA3)只能作为输入引脚用,不能用作输出,另外,A口具有电平变化中断的功能,而C口没有,在设计的时候要注意.

  在设置的时候,一般要进行以下几项设置:

  (1)设置端口是模拟端口还是数字端口,可以通过寄存器ANSEL来设置.例如你想用AD,就要将相应的引脚设置为模拟输入端口.

  (2)如果你选择的是数字端口,接下来就要设置端口的方向,是输入还是输出(RA3除外),可通过寄存器TRISA(A口)或TRISC(C口)来设置.

  (3)设置端口的输出电平,可以通过寄存器PORTA(A口)或PORTC(C口)来设置.

  这是对IO口的通用设置,但是这不是全部的设置,接下来的设置要看时A口还是C口了.对于A口,它有几个特殊的功能:内部弱上拉、电平变化中断、RA2/INT引脚的沿中断.如果想要这些功能,就要对相应的寄存器进行设置.

  弱上拉的设置:只有当引脚为输出的时候弱上拉才有效,可以通过寄存器WPUA来设置相应引脚的弱上拉,值得一提的如果开启了弱上拉,会有多余的电流浪费,这样对于低功耗的设计是不可取的,但是如果在进行一些例如键盘电路设计的候,可以开启弱上拉功能,这样就不需要在键盘电路中加上拉电阻了.

  电平变化中断的设置:可以通过寄存器IOCA来设置,但是首先要将相应引脚设置为数字端口且为输入状态.同时要将寄存器INTCON的REIE位设置为1,总中断要允许(置寄存器INTCON的GIE位),如果设置相应引脚有这个功能,当此引脚电平发生的时候,就会产生一个中断,同时一些中断标志位被置上(INTCON的RAIF位被置1),且总中断GIE被置为0.在中断服务程序中,要软件清除RAIF位和重新置GIE位才能继续开启此中断.

  RA2/INT脚的沿中断设置:同样首先要将相应引脚设置为数字端口且为输入状态,设置INTCON的INTF位为1,表示允许int引脚外部中断,寄存器OPTION_REG的INTEGD位可以设置是上升沿中断还是下降沿中断.当发生中断时,INTCON的INTF位被置为1,GIE被清零,在中断服务程序中,要软件清除INTF位和重新置GIE位才能继续开启此中断.

  对于C口,不能产生电平变化中断和沿中断.

关键字:PIC  单片机  新手快速入门 引用地址:PIC单片机新手快速入门

上一篇:PIC单片机复位系统模块有哪些?
下一篇:ANWEI1020 电话自动拨号器原理

推荐阅读最新更新时间:2024-03-16 13:57

32位单片机分析
为什么选择32位单片机? 主流32位单片机基本被ARM平台占据,原因是开发方便,工具齐全。随着就是各大单片机厂家的升级产品比如Atmel/Microchip等。而 ARM授权的单片机就遍布全球了,基本做数字的厂家都有在做相关的芯片。ARM在指令密度等等更具优势,而传统单片机厂家要求芯片针对性强,没有版权费用,成本相对较低。各类单片机功耗基本不相伯仲,主要以应用为导向 功耗并不是单片机的问题,而是原厂以及工艺决定的。在应用方案中,32位的单片机主要体现其高性能以及资源丰富等特点,同时方便的开发环境吸引着越来越多的软件工程师,因此开发难度的降低也是32位单片机迅速崛起的主要原因之一。 32位单片机,工程师最关注什么? 32位单片机由于其
[单片机]
PIC18单片机的CANopen通信协议
引 言 CAN总线由于具有实时性和可靠性高、组网成本低等优点,近年来在汽车工业、楼宇自动化、工厂自动化、机器人控制等领域得到广泛应用。CANopen协议不仅定义了通信规范,而且为可编程系统、不同器件、接口等设备应用子协议定义了大量的行规。遵循CANopen协议开发出的设备能实现不同生产厂家的产品间的互操作。 要掌握CANopen协议,重点是对对象字典和设备模型的理解以及对4类通信对象的掌握。本文先对CANopen协议进行削析,再重点介绍在PICl8F458单片机上开发基于CANopen协议的节点,最后通过温度测控系统实验验证了系统信息传递的可靠性、准确性和实时性。 1 CANopen通信协议简介 CANopen协议是
[单片机]
<font color='red'>PIC</font>18<font color='red'>单片机</font>的CANopen通信协议
什么是单片机特殊功能寄存器?作用是什么?
什么是特殊功能寄存器? 答:特殊功能寄存器是用来对片内各功能模块进行管理、控制、监视的控制寄存器和状态寄存器,是一个特殊功能的RAM区。 MCS-51单片机特殊功能寄存器的作用是什么? 答:特殊功能寄存器的作用是对片内各功能模块进行管理、控制和监视。
[单片机]
如何防止PIC微控制器代码被复制?
从所有理解中复制,对于您需要的任何解决方案来说,似乎都是一种不诚实和低于标准的策略;从在学校接受考试,到赶上你的朋友,很难找到一个只需复制一条消息或答案就可以获得奖励的时刻。另一方面,模仿是大多数专业行业的鼓励实践 - 遵循您之前制定的指导方针和道路工程,以避免为任何特定任务重新发明轮子的繁琐工作。如果复制受到惩罚,模仿得到回报,那么两者之间有什么区别?你如何保护自己免受未来的惩罚? 从我的理解来看,模仿是一种可以帮助你获得的实践在某种程度上,你可以制定自己的策略,习惯和想法 - 不是为了让你永远保持某些参数,而是为了让你更容易理解你正在从事的职业世界。 但是当你担心复制和模仿之间的争论以及每个人的道德规范时,还有其他人
[单片机]
如何防止<font color='red'>PIC</font><font color='red'>微控制器</font>代码被复制?
PIC16F877A单片机(如何写 配置字)
1 MPLAB X V5.0,编译器为XC8(V2.0) 单击production—set Configuration Bit----点击 generate source code to output ----复制生成内容到main函数 // PIC16F877A Configuration Bit Settings // 'C' source line config statements // CONFIG #pragma config FOSC = EXTRC // Oscillator Selection bits (RC oscillator) #pragma config WDTE = O
[单片机]
<font color='red'>PIC</font>16F877A<font color='red'>单片机</font>(如何写 配置字)
Spansion完成对富士通微控制器和模拟业务部门收购
2013年 08月02日,中国北京 — 行业领先的嵌入式市场闪存解决方案创新厂商Spansion 公司(纽约证交所代码:CODE)今天宣布已经完成对富士通半导体有限公司微控制器和模拟业务部门的收购。根据双方所达成的协议,Spansion将为此交易出资约1.1亿美元,另加约3800万美元收购库存 。该收购有望增强 Spansion 2013年的公司业绩。 Spansion 公司总裁兼首席执行官John Kispert 先生表示:“本次收购将创造出的新产品和业务机会,对此我们倍感兴奋。凭借闪存、微控制器、模拟业务、模拟信号及系统级芯片在内的更丰富的产品线,我们将扩大Spansion在嵌入式市场的领导地位,服务我们的客户群体,并
[嵌入式]
stm32程序下载不进去
今天在调试F429的discover板时,不小心把仿真的IO复用导致程序下载不进去。 我用的放置器是discover板自带的swd下载器,直接下载会显示找不到Cortex-M sw Device 当我按住复位键的时候却可以找到单片机,但是下载不进去。软件会报错“Could not stop Cortex-M Device!” 后来再技术群里面有人说是我错误吧下载IO口给复用了,照着他的方法最后把板子修好了 具体修复步骤如下: 1、把Boot0用10K电阻拉高 2、接上仿真器就会发现可以发现器件 3、随便下载一个可以用的程序,把以前的错误程序覆盖掉 4、把Boot0接地。一切ok!
[单片机]
HC89S103K6T6单片机的简单介绍
HC89S103K6T6是芯圣兼容STM8S系列Flash单片机,内置增强型8051内核,拥有32K的Flash内存以及1K+256Bytes的RAM;HC89S103K6T6拥有丰富的外设资源,包括5个16位的定时/计数器、3组12位带死区控制以及1路8位的PWM、16+2路12位的ADC、1个SPI、2个UART、1个IIC以及26个外部中断源;HC89S103K6T6还支持2.0~5.5V的工作电压与-40℃~+85℃的工作温度。 以下为该系列目前在售的型号及对应参数: HC89S103K6T6作为芯圣兼容STM8S系列Flash产品,资源非常丰富,客户无需更改PCB,直接替换STM8S103K3产品。可以广泛应用于
[单片机]
HC89S103K6T6<font color='red'>单片机</font>的简单介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved