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

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

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

    作为一个让自己远离麻烦的业余项目,我想做一个小小的程序员定时器装置。它将基本上接受一个程序,它是一个时间列表,然后从每个时间倒数。

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

    你推荐哪种微控制器和显示器?我希望保持简单,这样程序就可以通过计算机加载到内存中(串行是可以的,但USB可以使它更容易)

    7 回复  |  直到 12 年前
        1
  •  10
  •   Chathuranga Chandrasekara    15 年前

    只需使用像16F84或16F877这样的图片。这已经足够了。

    作为LCD,使用16 x 2 LCD。它很容易使用+会给你的项目一个漂亮的外观。

    LCD

    语言不是问题。你可以用pic,micro c或者任何你喜欢的东西。液晶显示器的接口非常容易驱动。

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

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

    alt text http://sodoityourself.com/wp-content/uploads/2007/02/circuit_232.jpg

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

        2
  •  5
  •   old_timer    15 年前

    我会选择MSP430。EZ430售价20美元,你可以直接从Digikey或TI那里买到,然后再花10美元买3套微控制器板。llvm和gcc(和binutils)编译器支持。超级简单的程序,非常小和极低的功率。

        3
  •  5
  •   James Snyder    15 年前

    有很多方法可以做到这一点,许多人已经给出了相当好的建议,AVR或PIC是微控制器工作的良好起点,不需要太多复杂的设置(硬件和软件)或费用(这些微控制器非常便宜)。老实说,我有点惊讶没有人提到 Arduino 不过,它的优点是启动起来非常容易,提供了一个USB连接(实际上是USB->串行),如果您不喜欢atmega mcu插入的板,可以稍后将其插入您可能需要的地方。此外,虽然所提供的编程环境提供了一些高级工具,可以轻松地重新键入内容,但您仍然可以自由地调整设备上的寄存器,并编写您可能希望在其上运行的任何C代码。

    至于要使用的LCD显示器,我建议您查找基于HD44780或模拟HD44780的任何显示器。它们通常使用一组平行线与显示器进行对话,但有许多与之交互的代码示例。在Arduino的例子中,您可以在这里的Arduino操场上找到这种类型的显示器以及其他许多显示器的示例: 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 )

    我不一定是想把你撞倒在阿杜诺身上,因为有很多方法可以做到这一点。最近,我一直在使用32位ARM micros(不要先做这条路线,学习曲线要陡得多,但它们有很多好处),这些天我可能会在该生态系统中使用某些东西,但是Arduino很容易推荐,因为它相对便宜,有大量的人在使用它,而且您有机会找到一个代码示例,至少是您要做的工作的一部分。当您需要具有更大马力、配置选项或RAM的东西时,这里有一些选项。

    以下是一些地方,您可以在这些地方为您描述的项目找到一些整洁的硬件(与Arduino相关或其他方面的硬件):

    当然还有很多吨,不过:—)

        4
  •  4
  •   Steve Melnikoff    15 年前

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

    虽然PIC16F系列不适合C代码,但它有C编译器可用。如果性能是个问题,18F家庭会更好。

    还请注意,一些pic具有内部rc振荡器。这些并不像外部晶体那么精确,但如果这无关紧要,那么在你的电路板上只需要少放一个元件(或三个带电容的元件)。

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

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

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

        5
  •  2
  •   Marius    15 年前

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

    最简单的方法是使用来自电网的窦波。在欧洲,交流电源的频率是50赫兹,你可以用它作为时钟信号的基础。

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

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

        6
  •  1
  •   Tangurena    15 年前

    第二次投票给PIC。另外,我推荐杂志电路地窖墨水。有些技术书店会提供,或者您可以订阅: http://www.circellar.com/

        7
  •  0
  •   user1479203    12 年前

    pic系列将会很好,因为您正在创建一个计时器,所以我建议使用c或assembly(assembly很好),并使用mplab作为开发环境。您可以使用MPLAB中的“秒表”检查计时器的精度。此外,pic16f877还内置了硬件串行端口。此外,PIC16F628还具有内置的硬件串行端口。但是pic16f877有更多的端口。对于更精确的计时器,建议使用更高频率的振荡器。