成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 到 send you MicroZine.

pic微控制器介绍

什么 你可以用微控制器吗?

回答: 几乎任何项目
容易地!...


微控制器给你一个美妙的方式 创建项目。 PIC微控制器是内置内置的处理器 和RAM,您可以使用它来控制您的项目(或在周围构建项目 它)。因此,它可以节省您构建一个具有独立外部RAM,ROM的电路 和外围芯片。

这对你来说真正意味着你有一个非常强大的设备 有许多有用的内置模块,例如:


  • EEPROM.。
  • 定时器。
  • 模拟比较器。
  • UART。


即使只是这四个模块(注意它们只是示例模块 - 那里 更多)您可以构成许多项目e.g:

*频率计数器 - using the 内部定时器和通过UART(RS232)或输出到LCD的报告。

*电容计 - analogue 比较器振荡器。

*活动计时器 - using internal timers.

*事件数据记录器 -capturing analogue 使用内部ADC的数据并使用内部EEPROM来存储数据 (使用外部I2C进行高数据存储容量。

*伺服控制器 (Control through UART) - 使用内部PWM模块或使用软件创建PWM。

pic Micro是最受欢迎的微控制器之一,以防你是 想知道微处理器和微控制器之间的差异 微控制器具有内置存储器和外设的内部总线。

实际上,12F675的8个引脚(DIL)版本具有令人惊叹的内部 外围设备。这些都是:

  • 两个计时器。
  • 具有4个可选输入的一个10位ADC。
  • 内部振荡器(或者您可以使用外部晶体)。
  • 模拟比较器。
  • 1024程序内存的单词。
  • 64个字节的RAM。
  • 128字节的EEPROM内存。
  • 外部中断(以及来自内部外围设备的中断)。
  • 外部水晶可以高达20MHz。
  • ICSP.:PIC标准编程界面。

所有这些都在8个PIN DIL包内工作!


在中档设备中,存储空间范围从1K到8K(18F部件 更多) - 这听起来不像很多,但处理器有效 指令集,即使使用1K,您也可以制作有用的项目。 LM35. 温度传感项目 that reports 数据到串口的数据在1K中轻松符合。

特征

实际上,PIC微控制器是一个非常强大的功能齐全的处理器 使用内部RAM,EEROM闪存和外设。其中一个最小的 那些占据555计时器的空间,但有一个10位ADC,1K的内存,2 定时器,高电流I / O端口一个比较器看狗计时器......我可以继续 as there is more!

编程

pic微控制器的最有用功能之一是您可以 在使用闪存时重新编程它们(如果您选择具有F的零件 部件号。 12f675不是12c509)。您还可以使用ICSP串行接口 内置于每个PIC微控制器,用于编程,甚至可以进行编程 while it's仍然插入电路!

您可以使用汇编程序或高级编程PIC微控制器 语言和我建议使用a 高水平 language 如C,因为它更容易使用(在初始学习之后 曲线)。一旦你学到了你没有被迫的高级语言 使用相同的处理器。你可以去AVR或达拉斯微控制器 并且仍然使用相同的高级语言。

输入/输出 - I / O

pic微控制器可以控制输出并反应输入例如输入。你 可以驱动继电器或读取输入按钮。

使用较大的设备'可以驱动LCD或七个段显示 由于所有工作都在PIC Micro内完成了很少的控制线。


比较A. 频率计数器 to 离散网设计您'LL为微控制器找到两组或三个筹码 为离散设计设计和十个或更多。所以使用它们可以节省原型 设计努力,因为您可以使用内置外围设备以照顾许多 circuit operation.


许多人现在有一个内置的ADC,所以你可以读取模拟信号电平,所以你 don'T需要添加外部设备。你可以读一个 LM35温度传感器 directly with no interface logic.

外围设备

pic微控制器有许多内置的外围设备,这可以使用 他们起初非常令人生畏,这就是我制作这个介绍性页面的原因 概述每个主要的外围块。  


最后是简短的摘要 项目中使用的主要设备 shown on this site.

开始的最佳方法是了解芯片的主要功能然后 开始在项目中使用每个外设。我认为通过做学习是 best way.

pic microcontroller
Feature
pic microcontroller.
feature description
闪光 记忆 重新编程计划 storage.
内存 记忆 存储变量。
EEPROM. 长期 稳定内存:电可擦除可编程 读 Only 记忆。
I / O. ports 高电流输入/输出端口 (with pin direction 改变).
定时器/柜台 通常是3。
USART. 内置 RS232协议(仅需要级别翻译 chip).
CCP. 捕获/比较/ PWM模块。
SSP. I2C和 SPI Interfaces.
比较器 模拟比较器和内部电压 reference.
ADC 类似物 数字转换器。
PSP.
并行从站端口(8位 微处理器系统)。
液晶 液晶 interface.
特别的 features
ICSP.,WDT,BOR,POR,PWRT,OST,睡眠
ICSP. 简单的编程使用 电路串行编程。


注意:这些 是一些主要功能 
(有些筹码都有所有这些和一些唐't).

闪存

这是程序存储区域,给您 最重要的好处 for using a PIC 微控制器 - 您多次编程设备。从什么时候有人得到 第一次是一个程序吗?

设备 在项目中使用 网站可以重新编程到 10,000 时间(可能更多),因为它们使用闪存 - 这些都有字母f 零件名称。您可以获得更便宜的(OTP)设备,但这些是 一次性可编程;一旦编程,您就可以了't program it again!

ICSP.

在电路串行编程(ICSP.) 是个 下一个最重要的 benefit. Instead of 将芯片从程序员传输到您的开发板 把它留在董事会里。通过安排与您的编程连接 电路正确地你赢了 'T需要删除芯片!

你可以 重新编程 the device while it's still 在电路中 so once your 程序员是设置,您可以将其留在替补席上并测试您的程序 在不移动芯片的情况下,它使整个过程更容易。

I / O端口

输入/输出端口让您 交流 与外面的世界,所以你可以 控制LED,LCD或与右接口的任何内容。你可以 还将它们设置为收集信息的输入。

钉方向

大多数PIC微控制器引脚可以设置为输入或输出和此 可以在飞行中完成。对于达拉斯1线系统,可以写入引脚 生成数据并在稍后阶段读取。 TRIS寄存器控制I / O. 该寄存器中的方向和设置一点 将引脚设置为 输出 在将它设置时 将引脚设置为 输入.

这允许您使用PIN用于多个操作。这 实时时钟项目 uses RA0, the first POR的PIN,将数据输出到七个段显示器和稍后的点 程序将模拟值读取为输入。

当前的

pic I / O端口是能够直接驱动LED的高电流端口 (最多25mA输出电流) - 允许的总电流通常〜200mA这是 通常用于整个芯片(或为几个端口指定 together). 

计时器/柜台

每张PIC微控制器最多可以使用三次定时器,您可以使用 计时器或计数器(计时器1&2)或波特点(定时器2)。  

计时器0.


原始计时器:定时器0是第一个开发的计时器,您可以找到 它在所有最早的设备中。 16F84到最电流E,G,16F877A。  

它是一个8位计时器,其中8位预分频器可以从一个驱动 内部(FOSC / 4)或外部时钟。它会在溢出时生成中断 当计数从255到零时。

定时器0始终同步输入时钟(使用外部时钟时)。

注意:您可以读取和编写计时器0,但您无法读取预分频器。

注意:预分频器根据它是计时器而改变其效果 预分频器或手表狗预分频器 - 所以相同的预分频器设置可能会预先定位 根据其使用,通过2或×1!

定时器1

这是一个16位计时器,它会产生溢出中断 从65535到零。它有一个8位可编程预分频器,您可以  将其从内部时钟(FOSC / 4)或外部引脚驱动。  

要消除错误触发,它还具有可选的输入同步器 external pin input.

此计时器可用于睡眠模式,并将生成唤醒中断 overflow.  

CCP.模块还读取计时器1以捕获事件时间。

注意:在睡眠模式下使用此计时器将使用更多的电流。

此外,它可用于驱动低功耗表晶体。这是 听起来不错的东西,但我不'T建议你这样做是看晶体 非常难以正确驾驶。如果您是,您应该只使用它 要制作PCB并遵循所有指导方针,使其无噪音。一世 used a DS1307 in the 实时时钟 project 直接驱动晶体,但即使这很难得到 准确操作。

定时器2.

这是一个8位计时器,具有8位预分频器和8位后的后机。它 仅从内部振荡器(FOSC / 4)取出其输入。

当PWM处于活动状态时,该计时器用于PWM的时基,它可以是 SSP模块选择的软件作为波特时钟。

它还具有一个允许轻松控制该时段的时段寄存器。什么时候 定时器2到达PR2寄存器值,然后它重置。这可以节省 检查软件中的定时器值,然后重置计时器,因为它完成 在硬件中,操作更快 - 因此您可以生成快速时钟 是主时钟的倍数的时期。

USART.

USART.是一个有用的模块,并保存必须编写软件版本 所以它可以节省有价值的节目记忆。您可以在RS232上找到更多信息 这里 以及如何 让它起作用。看 这里 for pin outs.

所有您需要将其接触到PC串口是MAX232芯片(或 equivalent).

注意:相同的MAX232芯片是具有相同引脚的SP202ECP max232但是让您使用100nf电容器 - 所以你不't need the large 1uF caps.

波特率

您必须小心使用波特率,因为它们依赖于主时钟 在使用中,正常振荡器值一般不合适'real' baud rates.  

Microchip数据表DS33023A中有一个波特率表,指示 特定时钟速率的预期百分比误差和一般情况 越高主时钟越低误差。


您有时必须使用寄存器设置来播放更好 适合您想要的时钟率和波特率。一个例子是为了一个 8MHz时钟 - 如果使用BRGH = 1和8MHz时钟(参见16F88数据表) 获得最高38.4kbaud的准确波特率。你必须强迫这个工作。 在Mikroc内置USART例程,使用BRGH = 0所以,在8MHz中,波特率是 只准确到9.6kbaud。


如果您想要超级准确的波特率,最好的方法是使用时钟水晶 最终会给你那个波特率i.e。通过波特率恢复 等式以找到所需的水晶。

CCP. 

捕获/比较/ PWM模块有三种操作模式:

  • 捕获 - 捕获事件的时间。
  • 比较 - 当定时器1到达值时会生成输出。
  • PWM. - 脉冲宽度调制。

捕获 

捕获模式用于在信号处的信号时捕获定时器1的值 CCP引脚高(或根据CCP如何设置)。 CCP可以 精确地捕获CCP引脚处的信号的到达时间,以便它可以是 用于脉冲时间测量。

相比

比较模式用于当定时器1到达值时生成输出 投入CCPR1。一个特殊事件触发模式允许您启动ADC时 比较模式触发。

PWM.

PWM.为您提供一个具有10位分辨率的脉冲宽度调制输出 没有软件开销 - 一旦开始它就可以自身运作,除非您 想要改变占空比。

它使用定时器2来使用定时器2周期寄存器来定义其操作以定义 PWM的频率。

注意:占空比不是百分比,它是PWM的时期数量 输出很高的时钟!

SSP. 

同步串行端口允许您与使用的设备通信 SPI(串行外设接口)或I2C(IC IC通信) 协议。请注意,对于完整主模式I2C操作,您需要选择一个 具有MSSP设备的PIC设备(主同步串行端口)。


SPI和I2C是共享的,因此您只能一次使用一个(或者您可以使用 I2C位撞盲惯例 即时的 Clock 项目同时拥有两个)。

您可以找到一个使用I2C的项目 这里 您可以在I2C上找到更多信息 这里.

比较器和比较电压 reference 

比较器是具有两个可以设置的模拟比较器的模块 以8种不同的方式之一。数字或模拟输入可以是 与参考电压相比。

在一个模式中,内部产生的电压参考用作输入 两个比较器和相同模式多路复用允许您监控最多四个 不同的输入引脚。

您甚至可以将比较器的输出发送到引脚,以便使用它  独立于微控制器e.g.在您需要的电路中 comparator you don'T需要一个额外的芯片!

模拟水平必须在VDD和VSS之间,因为保护二极管赢了't allow anything else.  

如果比较器输出变化,模块将产生中断。

您可以在睡眠模式下使用它,中断将唤醒它。

模拟信号的源阻抗必须小于10k。

ADC 

单个10位模拟到数字转换器最多可包含8个输入 从输入引脚复用的设备。  

ADC可以在睡眠期间使用,但您必须使用RC时钟模式。一 这样的好处是,没有数字开关噪音,所以你会的 获得更好的转换精度。

对于16F877A,您不能只选择使用模拟输入如果您感觉 只有只有特定和有限数量的方式 可以启用模拟输入引脚。最好从AN0开始并添加更多 必要时 - 请参阅可以启用模拟输入的数据表。 如果您只使用AN5开始设计,您会发现您可能需要 也可以启用更多类似的模拟输入!


16F675可以测量4个模拟输入引脚!

PSP.

并行从端口可让您直接连接PIC微控制器 进入微处理器系统。它提供了一个8位读/写数据总线和RD (读取)WR(写入)和CS(芯片选择)输入 - 所有电源低。  

这将让您将PIC微控制器添加到系统,以便图片 微控制器可被视为内存映射外围设备。它会让 微控制器的行为就像它是另一个微处理器建筑一样 块一些记忆或RAM,但在这种情况下,您可以完全控制 确切的构建块是即,您可以重新编程图片 微控制器做任何事情。


这提供了一个简单的路线,可以将PIC微控制器添加到8位  已经存在的系统。

液晶

液晶接口可允许您直接接口到您的LCD保存 使用LCD模块,如HD44780。我没有使用此功能 另一个商业要求,其中删除芯片(HD44780)省钱 生产运行。我认为它能够驾驶图形LCD。

特殊功能

ICSP. 在 电路串行编程 点击 这里 (jumps to ICSP section).
WDT. 手表 dog timer 这个 是一个软件错误保护器。 
b 棕色的 Out reset 这个 检测电源是否略微倾斜并重置设备如果 so.
p 力量 on reset 这个 启动微控制器初始化。
PWRT. 力量 up Time A 让VDD上升的时间延迟。
奥斯特 振荡器 start up timer 等待 PWRT后1024个周期。
睡觉 pic 微控制器睡眠 模式 进入低电平 power mode.

WDT.

如果您的软件发生了Haywire,则此计时器将重置处理器。到 停止重置良好的软件必须定期发出CLRWDT 停止RESERT的指令。 WDT使用自己的振荡器运行。它 在睡眠期间运行并共享计时器0预分频器。

p

启动RESET启动PIC微控制器初始化时检测到a rising edge on MCLR.

PWRT.

如果在POR后,请在PIC微控制器之后启用72ms started.

奥斯特

振荡器启动定时器延迟PWRT后1024振荡器周期(如果 PWRT已启用)确保振荡器已启动并稳定。它 是自动的,仅用于晶体振荡器模式,并在POR后处于活动状态 or wake from sleep.

睡觉

通过执行睡眠模式(或低功耗模式)通过执行 'SLEEP'命令。设备可以从外部复位引起的睡眠唤醒, 观看狗定时器超时,INT引脚RB端口更改或外设中断。

项目设备概述

本网站主要使用数百个不同芯片的三个PIC设备 该微芯片产生。这听起来不像很多,但你可以使用 几乎任何项目中的设备,它们都有这么多内置的外围设备 您可以使用数百个项目。  

其他微芯片器件在不同的情况下都是有用的 - 也许是 它们有更多的内存或不同的外围设备 - 如果您愿意,这是有用的 定制您构建的系统的设计 - 但可能更有用 商业环境中的每一分钱都在生产经营中。


所有三个设备都非常强大,主要区别在于它们 有不同数量的引脚和内存大小。

注意:使用设备有差异,即某些寄存器 这是不同的,但在一般来说,你可以互换它们 - 这是 使用高级语言更轻松。

本网站中使用的设备是:

pic microcontroller. Device pic微控制器号 Pins pic微控制器闪存单词
12F675 8 1k
16F88 18 4k
16F877A 40 8k


注意:查看Microchip网站时,内存大小是KWORDS - 忽略 kbytes - 你需要KWORD大小,因为这是每个指令占据的东西 - Kbyte大小用于与其他类型的微型(可能)进行比较。但是 微控制器数据总线是8位宽,所以它是8位微控制器 (由于使用哈佛导致的不同程序内存和数据存储器 architecture).


(注意:所有这些都有字母f - 这意味着它是闪光灯 重新编程部分 - 唐't o o在它的OTP中购买o的零件 - 可编程只一次! - 只有这样做,如果你真的真实肯定's the final design).

pic微控制器闪存大小

你可能会认为1k甚至8k是如此小的't be useful but each PIC微控制器使用RISC(减少指令集计算) 意味着它具有巧妙安排的指令集,只有几个 指示。中档部件有35条指令。

如果您使用本网站推荐的高级语言,那么您赢了't 需要太了解指令集它只是意味着你可以做很多 少量记忆。这个网站上的大多数项目虽然它们是 完全工作的项目适合2K单词!

注意:如果您需要更多内存,您可以随时移动到18F系列照片 微控制器。另一种选择是添加I2C串行EPROM。

pic 微控制器RAM和EEPROM大小

pic microcontroller. 内存规模 is 同样重要的是存储所有变量和中间数据。

注意:您通常可以改变程序 采用 较少的 RAM 通过选择正确的变量大小或更改您的程序 works

例如 大学教师't use floating point 改变它以使用不同的变量类型。您可以使用长整数 固定点操作以避免浮点。


pic microcontroller eerom. : 电可擦除ROM用于存储必须保存的数据 上电和断电。  

这个区域是可读性的,可写的,比主要的寿命更长 程序存储即,它设计用于更频繁使用。

新的! Comments

让你说到你刚刚阅读的东西!留下下面的框中的评论。


跳跃 pic微控制器介绍 to
最佳微控制器项目主页。



隐私政策 | 接触 | 关于我

网站地图 | 使用条款



访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

在 tegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部