代码之家  ›  专栏  ›  技术社区  ›  Bob

我需要什么微控制器(和其他组件)来创建计时器设备?

  •  10
  • Bob  · 技术社区  · 16 年前

    我想用C或Java微控制器。我过去用BASIC做过一个小型自主机器人,所以这次我想要一些不同的东西。

    7 回复  |  直到 13 年前
        1
  •  10
  •   Chathuranga Chandrasekara    16 年前

    只需使用16F84或16F877等PIC即可。这已经足够了。

    LCD使用16 x 2 LCD。它易于使用+会给你的项目一个很好的外观。

    LCD

    语言不是问题。你可以使用PIC C、Micro C或任何你喜欢的东西。LCD的界面非常易于驱动。

    与其他组件一样,您只需要晶体和2个电容器作为振荡器+上拉电阻器。其余组件取决于您将用于设置时间的输入法。

    如果您使用计算机加载列表,则需要额外的电路来更改协议。使用MAX 232执行此操作。如果你想使用USB,你需要继续使用支持USB的PIC。(18F系列)

    alt text
    (来源: sodoityourself.com )

    这是一套 nice tutorials 你可以使用。你也可以从他们那里购买产品。我从他们那里买过一次。

        2
  •  5
  •   old_timer    16 年前

    我会用msp430。ez430售价20美元,您可以在digikey或直接从ti购买,然后以10美元的价格购买3块微控制器板。llvm和gcc(以及binutils)编译器支持。编程超级简单,体积极小,功耗极低。

        3
  •  5
  •   James Snyder    16 年前

    有很多方法可以做到这一点,许多人已经给出了很好的建议,AVR或PIC是微控制器的良好起点,不需要太多复杂的设置(硬件和软件)或费用(这些微控制器非常便宜)。老实说,我有点惊讶,没有人提到 Arduino 然而,这里恰好有一个很容易上手的优点,它提供了一个USB连接(USB->串行,真的),如果你不喜欢ATMega MCU插入的电路板,你可以稍后将其插入任何你想要的地方。此外,虽然提供的编程环境提供了一些高级工具来轻松地原型化东西,但你仍然可以自由地调整设备上的寄存器并编写任何你想在上面运行的C代码。

    至于要使用的LCD显示器,我建议寻找任何基于HD44780或模拟HD44780行为的显示器。这些通常会使用一组平行线与显示器通信,但有大量代码示例用于与这些线接口。在Arduino的例子中,你可以在Arduino Playground上找到这种类型的显示器和许多其他显示器的示例: http://www.arduino.cc/playground/Code/LCD

    就时钟而言,您可以使用当今许多8位微处理器提供的内置时钟,尽管它们在精度方面并不总是理想的。你可以在这里找到Arduino做这类事情的例子: http://www.arduino.cc/playground/Code/DateTime 。如果你想要更精确的东西,你可以得到DS1307(Arduino示例: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1191209057/0 ).

    我不一定要把你推向Arduino,因为有很多方法可以做到这一点。最近我一直在使用32位ARM微处理器(不要先做这条路,学习曲线要陡峭得多,但它们有很多好处),这些天我可能会在这个生态系统中使用一些东西,但Arduino很容易推荐,因为它相对便宜,有大量的人在使用它,而且你很可能可以找到一个代码示例来至少部分地完成你想做的事情。当你需要更大马力、配置选项或RAM的东西时,那里有很多选择。

    以下是一些地方,你可以在那里找到一些整洁的硬件(与Arduino相关或其他),用于你所描述的项目:

    当然还有更多:-)

        4
  •  4
  •   Steve Melnikoff    16 年前

    我同意其他关于使用PIC的答案。

    PIC16F系列确实有可用的C编译器,尽管它不适合C代码。如果性能有问题,18F系列会更好。

    另请注意,一些PIC具有内部RC振荡器。这些晶体不如外部晶体精确,但如果这不重要,那么就少了一个组件(或三个电容器)可以放在你的电路板上。

    Microchip的 ICD PIC编程器(用于下载和调试PIC软件)插入PC的USB端口,并通过RJ-11连接器连接到微控制器。

    另外,如果您希望微控制器上的软件将数据发送到PC(例如在超级终端中打印消息),可以使用USB到RS232/TTL转换器。一端插入电脑的USB插座,显示为普通串行端口;另一个输出5V或3.3V信号,可以直接连接到处理器的UART,不需要电平转换。

    我们用过 TTL-232R-3V3 FDTI芯片非常适合这种应用。

        5
  •  2
  •   Marius    16 年前

    有几种方法可以做到这一点,网上有很多信息。如果你打算使用微控制器,那么你可能需要为它们投资一些编程设备。不过,这不会花你很多钱。

    最简单的方法是使用来自电网的正弦波。在欧洲,交流电的频率为50Hz,您可以将其用作时钟信号的基础。

    我使用了Atmel的ATmini和ATmega,它们非常适合编写简单和高级项目。你可以用C或汇编语言编程,网上有很多很棒的项目,而且可用的程序员非常便宜。

    这是一个 project 我找到了 Googling AVR 7 segment clock .

        6
  •  1
  •   Tangurena    16 年前

    对PIC进行第二次投票。此外,我推荐《电路地窖墨水》杂志。一些技术书店有售,你也可以订阅: http://www.circellar.com/

        7
  •  0
  •   user1479203    13 年前

    PIC系列会很好,因为您正在创建计时器,我建议使用C或Assembly(Assembly很好),并使用MPLAB作为开发环境。您可以在MPLAB中使用“秒表”检查计时器的准确性。PIC16F877还内置了硬件串行端口。PIC16F628也内置了硬件串口。但PIC16F877的端口更多。为了获得更精确的计时器,建议使用更高频率的振荡器。