成为订阅者(免费)

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

使用PIC Micro的实时时钟IC(DS1307)项目。

如果您的实时时钟(RTC)很简单 使用辅助芯片,如DS1307,因为您不需要跟踪 每个月的长度或闰年的帐户。这一切都为你完成了 您可以获得电池备份系统的好处,这意味着它赢了't lose the 关闭主电源时的数据或时间。

此页面项目使用I2C(或IIC)实时时钟IC(DS1307)和四个 数字七个段显示器以创建标准台时钟。

注意:如果您键入ds1703实时时钟 要查找此页面,您可能会拼写芯片类型。 

无论如何,您可以找到DS1307(RTC) 实时时钟 IC项目和信息 this page.

注意:此RTC项目已更新 更容易使用软件即,软件加载到PIC中(注意 编译器是免费的<2K和当前代码使用大约1550字节)。 还有两种用于信息的其他模式和一个 debugging:

按下第一种新模式 键3将显示当前显示器显示的指示 (有时候只需查看数字即可难以解决这个问题!)。这 其次是按下键4,该键4将通过所有RA0-RA7输出循环 引脚并显示LED在7段显示器上点亮。这意味着它更容易 弄清楚当你加入时的RA0-RA7连接是否正确(注意RA5 不使用它只能是输入 - 见下面的详细信息)。该项目有 还更新以使用最新的Mikroc编译器。

RTC DS1307实时时钟IC电路图

DS1307介绍

虽然PIC16F88具有32kHz的振荡器内置振荡器 Watch Crystal A DS1307更容易在面包板上使用。这是因为你 可以更容易地控制电路的布局。

RTC还使软件更容易,因为它照顾所有 日历功能;闰年的会计。

DS1307(RTC)实时时钟IC(I2C RTC)是8针 device using an I2C 界面(虽然 数据表未提及I2C以避免版税支付!)。它有8个 读/写寄存器存储以下信息:

地址 注册功能
0 秒0-59.
1 分钟0-59
2 小时0-24,1-12
3 第1-7天
4 日期1-31.
5 月1-12
6 0-99年
7 控制

注意:地址0x08至0xF3是用户RAM,如果您使用a 备用电池这些是非挥发性RAM i.E.他们会保存他们的 电源关闭后的内容 - 所以您有一个额外的56个字节的RAM播放 和!少于用于存储年高位数的人 在 0x20 - 您可以更改此操作以不使用RAM,但它也被用作 初始化检查 - 请参阅代码。

注意:此项目中使用地址3F作为检查 如果时钟需要初始化并存储较高年度数字(更容易 coding).

最后一个地址0x08是控制地址,它确定 在SQW / OUT PIN处生成的内容。您可以直接通过控制级别 I2C或将其设置为1Hz,4096Hz,8192Hz,或32768kHz。在这个软件中,它被设置 到1Hz并用于驱动可用作背光的LED 4x7段模块(如果您通过模块发光'll see the two 左右组之间的中心孔(如结肠字符) 两个7段。这通常用于闪烁秒,使LED放置 背后这将实现这一运作。

以与您需要添加拉动的I2C引脚相同 V +在SQW / OUT引脚处,以查看任何输出信号,因为它是一个开路输出! 或如在该电路中,LED和470R电阻串联连接到 + 5V电源。另一端进入DS1307的SWQ / OUT引脚。

DS1307规范

准确性 手表 水晶规格通常为20ppm

编译器 mikroelectronika mikroc编译器 自由!
目标 16F88 (重新瞄准具有模拟输入AN0)的其他照片)。
软件级别 中等的。
软件说明 交换 between i/p &o / p读取模拟/驱动器显示。使用I2C. routines.
硬件级别 简单。
硬件笔记 特别的 必须在放置DS1307和晶体时注意。
项目版本 1.02
项目文件 进入 你的细节得到了 下载 Link
并获得微控制器通讯:

(注意:您的电子邮件安全它永远不会 be sold or rented).
你会 get 一切C源代码和十六进制文件。

注意:检查您的电子邮件以获取项目代码下载 link.


DS1307控制位

有两种特定的'gotcha'嵌入的类型控件 使用该芯片稍微复杂的地址。

DS1307寄存器时钟停止(CH)

最重要的是时钟停止位(CH),这是第7位的 地址0.这是控制的寄存器'seconds'并且ch位必须 否则芯片停止时钟。写入零点 重置CH位,使时钟运行。 

注意:您必须将CH位重置为零,以使芯片 operate!

警告:默认状态 DS1307 is undefined
因此,您必须清除CH位以启动振荡器。

一般来说,您应该将此位置于零,只有设置它 你必须。该位包含在注册零内,这也是如此 "minutes" and "seconds"登记。通常,除非您,否则将此位保持零 正在更新寄存器的秒数(您't want the seconds 在编辑它们时更改)。

DS1307 24/12小时控制

第二是24/12小时控制,它是地址的第6位 2.它设置为12小时模式,24小时模式为4小时。在这个项目中它 设置为低24小时模式。

这两个比特的问题是你必须保留 在读取时访问寄存器时,它们会在编写数据时忽略它们 显示的值。它不是一个大问题,你可以看到它的方式's done 查看代码(请参阅函数Edit_DS1307()和第1个案例 地址0(CH)和2(12H / 24H)的陈述)。

DS1307 32KHz振荡器

令人惊讶的是,准确的32khz振荡器是一个困难的 任务(远远超过高速振荡器,即MHz晶体振荡器)。 这是因为低速振荡器驱动器设计用于低功耗 手术。这意味着高阻抗,因此是低电流 司机对噪音非常敏感(或任何可以的附近的信号 电容性地耦合到晶体线)。

使用DS1307让您将水晶放入最少的噪音中 一部分的董事会。此外,它设置了晶体负载电容 在完全32kHz的情况下使晶体振荡至关重要 - 控制其 初始错误i.e.对于指定的PPM误差值,负载电容必须 be exact.

注意:校准晶体的常用方式(不在此 项目)是晶体拉伸或改变一个水晶销的电容 相对于其他 - 所以负载电容至关重要。

DS1307用12.7pf加载晶体,所以您需要购买一个 定义为使用该负载电容的晶体。电路布局也 影响水晶引脚处的电容,因此必须将晶体保持为 尽可能靠近芯片,并且必须将来自晶体到芯片的轨道必须是 short.

确保水晶正常振荡您必须确保 :

  • Crystal使用12.7pf负载电容(正确的晶体类型)。
  • 晶体接近IC。
  • 曲目很短。
  • 芯片电源有很多去耦(电容来自+ 5V至GND)。例如 A 100n and a 10n
  • 晶体附近没有信号轨道。
  • 对于PCB:它有一个保护环和地面平面,远离数字 signals.

如果您正在进行董事会布局,请在图片中有很好的建议 16F88数据表(定时器1段)上的水晶PCB保护环。达拉斯推荐 应用笔记58尚未阅读。

DS1307电源故障。

DS1307如果输入电压(VCC),则检测电源故障 低于(VBAT)并自动切换到VBAT电源输入(您 应该在这里使用锂3V电池作为备用电池)。它还抑制了 I2C控制信号,直到VCC为1.25 x VBAT,所以您赢了't be able to put bad 电源失败时,数据进入芯片!

实时时钟设计

输入键

为了保存微控制器引脚,有四个输入键 全部连接到单个模拟输入引脚。该引脚也驱使其中一个 七个段显示LED,因此必须在输入之间切换(读取 模拟电压)和输出(驱动LED)。 

注意:这是因为模拟输入切换到 仅接收模拟仅限(150us大约)有100us延迟让 输入定居(只是猜测,可以降低 - 但它并不重要 这个应用程序)。然后读取输入信号。因为坚持不懈 视觉(整个显示方法取决于您的眼睛)无法看到 这个缺少的光脉冲所以它看起来像显示器完全稳定!

每个键将模拟输入拉到不同的电压电平 您可以使用ADC(RA0)轻松读取。

读取值的代码是:

//解码模拟物
        if (val>800 && val<860) {val=1;}
   else if (val>490 && val<530) {val=2;}
   else if (val>300 && val<350) {val=3;}
   else if (val<300){val = 4;}
   else {val=0;}

   return val; 
  
每个 按钮连接到10和5V。每个4个按钮都拉动 降至47k,10k,4k7,1k,导致以下内容 values:

按钮1将给出:(47.0 / 57.0)* 5.0 V = 4.122V给出〜844的ADC读数
按钮2将给出:(10.0 / 20.0)* 5.0 V = 2.500V给出ADC读数〜512 
按钮3将给出:(4.7 / 14.7)* 5.0 V = 1.599V给出〜327的ADC读数 
按钮4将给出:(1.0 / 11.0)* 5.0 v = 0.455V给出〜93的ADC读数   

注意:标准电阻器的电阻容差为10%,读数约为。

7段显示

显示器由内置的四个7个段组成 方便的块,所有8个LED驱动线连接在一起。你 可以加入单个7段来实现相同的结果,但这样做 焊接面包板是一种痛苦。该街区只需为您节省努力(以及错误 接线)。因此,这导致8个数据线和4位选择线。

最初我用RA0到RA7作为数据线驱动程序 RB2,5,6,7。然后我意识到RA5只是允许是一个输入,因为它 也与RESET PIN MCLR复用。因为它已经有线了 最简单的解决方案是消除ra5,但你怎么做的 更改所有驱动器数据定义? 

当消除RA5时,我将RA6和RA7移动到位B5和B6 因此,这使得LED驱动器为小数点未连接,但可以 由于我们不使用7段显示的那部分。

因此,解决方案是使用映射位的帮助函数 在将数据输出到7段LED总线之前,6,7比特5,6位 该函数有一个明显的名称:

move_b6_b7_to_b5_b6(byte num)

笔记: 其他解决方案是使用 RB0-RB7以驱动LED数据总线和RA0-RA4的柱式灯具和您 如果你愿意,可以这样做。


提示: Mikroc IDE有一个有用的 用于为段驱动器生成十六进制代码的工具 Menu-->Tools-->七个段编辑器。

数字选择行

数字选择线由晶体管开关驱动 如果需要,可以允许更多电流(注意我没有测量确切 当前电流取决于显示屏的刷新率)。

显示刷新和限流电阻

是的,没有!即RA总线和LED驱动器之间 没有极限的电阻。

为什么?

在所有其他电路中,您可以看到它们。我选择不使用它们 由于显示器仅在刷新模式下驱动。如果它被驱动 直接LED会爆炸。这种技术的商业用途是 MAX7219.

如果您对此感到不舒服,那么在330r或330r中添加8 470R电阻使每个LED的最大电流限制(例如,如果被驱动 在测试期间永久地)从每个驱动器RA总线到4x7段 display.

它有效的原因与产生的热量有关 - 如 电流流动在LED中,交界处加热,如果你推动太多 电流然后它熔化内线 - 这是最大的位置。当前的 limit comes from.

在刷新模式下驱动显示模式,显示屏保持开启 与它被保存的时间相比很短的时间,这定义了一个 在每个LED的当前限制范围内的平均电流。

嘿..不要'敲了它......它可以很好......承诺。

笔记: 这个想法来自芯片 设备绘制的电流取决于切换速度的设计 系统由于FETS的uplue和dower绘制了最大电流 开关中的FET在I.在从当前水平到下一个转换期间 i.e. when switching.

DS1307项目操作

当系统为向上电时,将检查RAM位置0x3F的值0x20。 如果存在这一点则意味着备用电池已保存内容 因此,已初始化RAM和所有寄存器。所以软件 跳过初始化序列。

笔记: 我假设你要去 作为v1.02允许您编辑这一点,将年度高点设置为20至20 值 - 只要将其关闭,否则会确保20即将到来 默认值i.e.它将重置其他寄存器到特定 初始化值。

如果找不到0x20,则初始化实时时钟IC 到以下值:

地址 初始化值
0秒 0x59(第7位清除)。
1分钟 0x59
2小时 0x24(第6位清除)。
3 Day 0x07
4 Date 0x31
5个月 0x12
6 Year 0x99(低位数)
3F一年 0x20(高 digits)

这些是实时编码的二进制编码十进制数 时钟IC适用。请注意,已选择初始化值 您可以轻松理解显示显示的显示,但从v1.02这是 不像你可以击中键3的那么重要 伪文本 上 what is displayed.

伪文本 Display

然而,在重新访问项目时,它就证明它是一个 困难的任务(究竟是究竟在显示器上究竟是什么 2014年8.20pm即,所有数字都是相同的)这就是为什么按键3 (当未编辑值时)以闪烁(慢速)速率闪烁显示屏 指示您使用以下7段输出所关注的内容。

模式 7段代码 意义
模式_hrs_mins.  Hrnn. 小时和分钟
模式_mins_secs.  NNSE. 分钟和秒
模式_day_mon. Dann. 天和月份
模式_year.
模式_init.  在里面 初始化

模式按钮

按下模式按钮循环显示显示不同数据的显示 每个按钮按下。遵循以下显示序列:

  1. 小时,分钟。
  2. 几分钟,秒。
  3. 天,月份。
  4. 年。

编辑,上下按钮

要更改值,必须按下编辑按钮(key2)。什么时候 它是,左手两位数字闪烁。现在向上按钮(key3)和 向下按钮(key4)让您编辑值。

再次击中编辑闪烁 两个右侧数字,您可以像以前一样更改值。击中编辑 按钮或模式按钮再次退出编辑模式。

编辑分钟/秒时,才会停止时钟 在编辑序列的末尾或模式按钮时显示并重新启动 被命中(例程check_start_ds1307不会改变状态或写入 振荡器寄存器如果时钟已在运行i.e.时钟 振荡器仅在前停止时启动)。这让您设置了 秒准确,但不会打扰其他模式的时钟。 

准确设置时钟

注意我不确定为什么,但它可能是DS1307如何工作 必须在期望的转换时间之前设置1秒的时间。

说时钟目前读了1328 13分钟和28秒 设置时间相当好编辑时间到13 45然后点击编辑键时 你试图同步到的时钟是在1344。这似乎得到了 秒随源时钟同时变化。这可能是由于 DS1307中的双寄存器仅在特定时间更新。

实时时钟IC硬件

实时时钟IC项目
单击数字时钟原理图以打开PDF文档。

"右点击这里"下载真实的原理图 时钟。右键单击并选择“另存为”或单击以在浏览器中打开 (如果您已启用PDF Reader插件)。

您可以使用具有ADC和足够的任何PIC微控制器 存储器以保持程序和足够的引脚用于显示多路复用。

您可以通过电路中的PIC编程 ICSP. 即使程序运行也是即使在运行的情况下也是连接器 由于没有I2C通信,因此将保持正确的时间 DS1307未更新。

笔记: 编程PGD和 将PCK行切换,这些连接到显示器,以便您看到一些 LED在编程序列期间亮起 - DON't worry about it!

DS1307项目框图

实时时钟IC硬件框图

除了放置之外,该项目还没有什么真正困难的 DS1307远离噪声源并如前所述解耦。

实时时钟IC项目软件

项目文件

编译器项目文件
6.4.0有很多更多(请参阅下载文件)。

C源文件。
16f88_rtc_ds1307.c
I2C.c

标题文件。
Bit.h - 位操作宏
I2C.H - I2C操作的定义。

输出文件
16f88_rtc_ds1307.hex.

DS1307代码描述

16f88_rtc_ds1307.c

这包含主程序和支持功能 控制DS1307。

I2C.c

这包含I2C的软件实现(时钟拉伸未通过 测试)。更改端口/引脚在开始时更改#define语句 I2C.c

功能

  • 在里面()
  • 在it_ports()
  • 在it_ds1307()
  • read_ds1307()
  • write_ds1307()
  • stop_ds1307()
  • start_ds1307()

上述功能都是自我解释的。下面需要一些解释的人。

功能Int2seg()

将数字转换为Porta的所需输出值以驱动 七个段显示。内部阵列Ret []保存7段值 - 这些是纯8位值,好像为7段的所有数据线都是如此 连接的。常规:

move_b7_b6_to_b6_b5()


...在字节中移动位,以解释未使用RA5的事实。

函数read_ana_keys()

此例程将模拟级别解码为特定键 按。它返回1-4表示键1-4的值。在逻辑界面上 是PB1,应该位于顶部的板上。

此调用decode_ana_keys()以确定按下的键。

在此例程中,模拟输入已打开,延迟 使用100us,然后解码密钥,然后返回模拟输入 digital output.

注意这是如何使用RA0引脚作为模拟输入 引脚和数字输出引脚。

这有用两个原因:

  • 系统不是中断驱动。
  • 与做一切相比,读取模拟端口的时间很小 else.

注意:如果这是中断驱动的代码POLTA(LED驱动器) 写入中断将需要读取模拟端口,以便引脚 在读取中没有改变方向,您将使用该中断 例程由于它将知道何时可以安全地阅读模拟值。 

因为它不是中断驱动代码始终关注 因此,设定的操作顺序永远不会将端口转回输出 读取模拟引脚。

当端口是时,你的眼睛看不到100us的差异 读取 - 它真的只需100us将LED关闭延伸。

函数decode_ana_keys()

这是一个简单的范围检测,返回按下的键 模拟值落在特定范围内。

函数edit_ds1307()

这是用来的"main"例程允许升级/下调当前 DS1307寄存器值。它需要输入DS1307地址和方向 期望和递增或减少寄存器值,具体取决于dir和 还限制了更新的值,以将其保留在有效范围内。 

注意它是如何管理的'problem'包含ch和的地址 12/24小时位以及所需的值。 

还请注意'one'例程使用不同的上限和 下限控制控制单个寄存器的操作I.。 根据寄存器使用,值将限制为特定限制。 

函数clock_display()

该功能提供了主要的显示能力 系统和它与传统代码略有不同。这段代码是 旨在重新参加,每次调用它时都会做不同的工作 实际上是一个具有静态变量存储状态的状态机 'digit'. 

每次被称为数字递增和 这选择了PortB上的下一个段驱动器引脚。

由于该功能也需要两个二进制编码 值作为参数(一个用于左两个7段数字和一个用于的 右两个7段数字)。它可以每次显示不同的数字 函数被调用。因此,通过将功能拨打足够快的4x7段 由于视力持久性,显示器似乎不断开启。

本例程中的复杂性是为了选择性地消隐 或右对的数字,以便可以打开和关闭它们。其他 复杂性在Addresses 0x00和0x02处保留控制位。 

注意:观察PortB上的列引脚的编码,因为它们不是 organized linearly.

函数main()

数组IDX []保存两个值,该值是DS1307的地址 时钟地址空间。 IDX [0]保存允许在左侧显示的地址 两个7段,而IDX [1]保存用于显示数据的地址 正确的两个7段。

通过更改IDX值,DS1307中的特定寄存器值可以是 显示。例如,选择小时和分钟的代码 displayed is :

案例mode_hrs_mins:idx [0] = 2; IDX [1] = 1;休息;


这使得显示程序使用DS1307地址2为左位和 DS1307地址1为右位。如果你看看地址映射 DS1307地址2用于在使用地址1时保持小时信息 持有分钟信息。

常规

CLOCK_DISPLAY(ADDR1,ADDR2,空白)


...用于使用此信息更新显示。

变量'edit'用作标志,以指示编辑的标志 进度和作为IDX数组的索引,以指定哪两个数组 值正在递增或递减。如果'edit' has the value 完成_EDIT(= -1),然后编辑未发生或刚刚完成 (在右手数字集后,通过用户按下键两个 edited.

您可以看到这两个案例陈述案例3的工作方式:和案例:4 分别上下一个值。如果没有编辑然后测试() 代替函数或display_mode()函数。

通过控制末尾的BlankIdx值来执行闪烁数字集 主要()函数。如果它是-1,则使用该值不会显示任何值 函数clock_display()。实际定时由变量控制 'flash'递增每次循环时递增。'flash' is kept to 简单的值60和30和一半的时间(最多30个数字亮起 休息了另一半)。

注意:如果更改需要手动调整的例程的更新率 此闪光率由于它不会中断驱动,因此将改变。

关键操作

在主键中被检测到一个 值返回1-4的范围

关键行动:
 

钥匙 关键功能 关键行动
1 改变 mode 选择显示的数据。小时分钟, year etc.
2 输入编辑 mode 输入当前数据显示的编辑模式 and edit left.
2 如果在编辑模式下 移动到下一个数字或退出模式。
3 如果在编辑模式下 增加所选择的数字值。
3 不在编辑模式下 显示伪文本,指示显示屏上的内容。
4 如果在编辑模式下 减少所选择的数字值。
4 不在编辑模式下 输入测试模式(每次按下移动到显示差异。LED)


笔记"Not in edit mode" are extra features.

实时时钟的测试和补充操作

功能测试() - 测试7段连接。

您可以使用此操作来检查7个段显示是否正确连接。

不在编辑模式下执行此例程,并按下键4。

在每个按键的key4时,不同的LED点亮(每个相同的LED 单个7段)。  

注意:显示以低速闪烁以指示测试模式。

订单是:

  • a
  • b
  • c
  • d
  • e
  • f
  • g
注意:请参阅每个7段上的LED名称的原理图。

函数display_mode()

此例程类似于测试,除了它采用模式值 在主常规中使用的那个。它在显示屏上显示伪文本 表示当前显示器显示的内容。

当不在编辑模式下执行此例程,按下键3。

伪文本 Display 以上用于4x7段上显示的伪文本。

内置功能

显然,编制者自动包含一些的常见做法 简单的功能,我不久前使用它们,无法弄清楚他们是如何 链接到代码,因为没有包括以下内容 functions:

  • bcd2dec()
  • DEC2BCD()
  • bytetostr()

由于它们的定义不一致,这些是令人恼火的 'To' and '2'在中间。然而,他们很有用,完成了工作。你 可以在线搜索并找到其他人如果您愿意的情况。为了 他们的操作和原型定义的定义在中搜索 MikroC help system. 

关于实时时钟系统实现的注意事项

更新速率在Clock_display()中控制 在该例程中延迟函数调用delay_ms(1),它只打开 显示为1ms,但这是一个数字。例程clock_display()是 有效地是一个再参赛者状态机和每个呼叫服务的不同 7段数字。因此,有效地整个周期的总延迟( 4个呼叫有4位数)是4ms。

在8MHz时,惯例做了很多,并且您需要20ms刷新率才能实现 稳定的愿景持久性,所以系统的其余部分必须发生 16ms(未测量),因为输出似乎足够稳定。这意味着 不是 a lot of room to do 'other' stuff.

这是因为我们正在使用8MHz的内部时钟。你 使用外部水晶可以更快地走得更快,但如果你只需要这样做 你真的有。如果您确实需要更快的操作,您可能会用完引脚, 由于两者将用于驱动XTAL振荡器,这就是为什么在其他方面 网站上的项目,例如7段频率计数器,辅助芯片是 使用 - 在这种情况下,它是4017(约翰逊柜台 - 走路)。你可以 还使用串行到并行芯片等 595 to save pins.

但是对于任务来说,它需要执行此操作 works just fine.

注意:使用RA0引脚作为A的有趣方式 数字输出和模拟输入。看 以上讨论 on this.

然后's it - enjoy.

对你的锻炼

您可能想要做的简单练习是添加警报 功能 - 目前闪光灯1552个字节的闪光灯用完了留下空间 许多额外的代码2k -1552 =剩余空间。添加警报功能将 只是添加其他定义的问题:

例如mode_alarm.

...并使用一些DS1307 RAM来存储警报设置 (由于电源故障时,它被电池备份保存)。

您需要更改模式设置的代码 更新和伪文本代码。在主循环中,你会阅读 当前小时,分钟设置,直到它匹配存储的值,然后生成 an alarm.

对于输出,有一个备用引脚RB3 - 有一个10K下拉 但如果零件已被取出LVP模式,则这无用 使用ICSP程序员编程它 - 所以它可以免费附上一个 压电盘(取出电阻 - 探测器。无论如何都没有真正需要!)。


新的! Comments

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


跳跃 实时时钟 design to
主页。


隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的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.

IntegratedInfosys.<at>
Yahoo.com.

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

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

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


- Anon.

回到顶部