10

作为一个让自己远离麻烦的爱好项目,我想构建一个小的程序员计时器设备。它基本上会接受一个程序,该程序是一个时间列表,然后从每次开始倒计时。

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

你会推荐什么微控制器和显示器?我希望保持简单,因此程序将通过计算机加载到内存中(串行是可以的,但 USB 会更容易)

4

7 回答 7

10

只需为此使用 16F84 或 16F877 之类的 PIC。这绰绰有余。

由于 LCD 使用 16 x 2 LCD。它易于使用 + 会给您的项目一个漂亮的外观。

液晶显示器

语言不是问题。您可以使用 PIC C、Micro C 或任何您喜欢的东西。LCD的界面真的很容易驱动。

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

如果您使用计算机加载列表,那么您将需要额外的电路来更改协议。使用 MAX 232 来做到这一点。如果要使用 USB,则需要继续使用支持 USB 的 PIC。(18F系列)

替代文字
(来源:sodoityourself.com

这是一组您可以使用的不错的教程。您也可以从他们那里购买产品。我从他们那里购买过一次。

于 2009-08-29T14:45:06.800 回答
5

我会选择msp430。一个 ez430 是 20 美元,您可以在 digikey 或直接从 ti 购买它们,然后以 10 美元的价格一组 3 个微控制器板。llvm 和 gcc(和 binutils)编译器支持。超级简单的编程,极小的和极低的功耗。

于 2009-08-29T15:34:40.690 回答
5

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

至于要使用的 LCD 显示器,我建议寻找任何基于 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 相关的和其他):

不过,肯定还有更多:-)

于 2009-08-31T16:34:59.640 回答
4

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

PIC16F 系列确实有可用的 C 编译器,但它并不非常适合 C 代码。如果性能是一个问题,18F系列会更好。

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

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

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

我们使用了 FDTI Chip的 TTL-232R-3V3,它非常适合这种应用。

于 2009-08-30T15:19:41.600 回答
2

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

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

我使用过 Atmel 的 ATtiny 和 ATmega,它们非常适合编写简单和高级的项目。您可以使用 C 或汇编对其进行编程,网上有很多很棒的项目,而且可用的程序员非常便宜。

这是我通过谷歌搜索 AVR 7 segment clock找到的一个项目

于 2009-08-29T14:54:31.200 回答
1

第二次投票给PIC。另外,我推荐杂志Circuit Cellar Ink。一些技术书店自带,也可以订阅:http ://www.circellar.com/

于 2009-08-29T14:54:57.423 回答
0

PIC系列会很好,因为你要创建一个定时器,我推荐C或Assembly(Assembly很好),并使用MPLAB作为开发环境。您可以使用 MPLAB 中的“秒表”检查计时器的准确度。PIC16F877 还内置了硬件串行端口。PIC16F628 也有一个内置的硬件串行端口。但是 PIC16F877 有更多的端口。对于更精确的计时器,建议使用更高频率的振荡器。

于 2012-09-25T08:55:08.287 回答