2009-08-29 16 views
10

作爲一個愛好項目,讓自己擺脫困境,我想建立一個小程序員計時器設備。它將基本上接受一個程序,該程序是一個時間列表,然後每次倒數。什麼是微控制器(和其他組件),我需要創建一個計時器設備?

我想使用C或Java微控制器。過去我使用過BASIC來製作一個小型自主機器人,所以這次我想要一些不同的東西。

你會推薦什麼樣的微控制器和顯示器?我期望保持它簡單,所以程序將通過計算機加載到內存(串行是好的,但USB會讓它更容易)

+0

你如何輸入列表?串行端口?內存設備?硬編碼?數字鍵盤? – 2009-08-29 14:59:04

+0

內存,我已經更新了問題 – Bob 2009-08-29 15:15:23

+0

添加更多信息到答案 – 2009-08-29 15:53:47

回答

10

只需使用PIC如16F84或16F877爲此。這是綽綽有餘。

由於LCD使用16 x 2 LCD。它很容易使用+會給你的項目帶來美好的感受。

LCD

語言不是問題。您可以使用PIC C,Micro C或任何您喜歡的東西。 LCD的接口非常容易驅動。

作爲其他組件,您只需要晶振和2個電容作爲振盪器+上拉電阻。其餘組件取決於您將用於設置時間的輸入法。

如果您使用計算機加載列表,則需要額外的電路來更改協議。使用MAX 232來做到這一點。如果你想使用USB,你需要繼續使用USB支持的PIC。 (18F系列)

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

這是一組nice tutorials就可以使用。您也可以從中購買產品。我從他們那裏購買過一次。

+1

感謝您的教程,很好的資源! – Bob 2009-08-29 15:20:55

+0

可以使用USB轉UART適配器,無需使用MAX232;請參閱下面的答案。 – 2009-08-30 15:22:47

+0

爲什麼有這麼多的提倡PIC的答案,甚至沒有提到AVR(關於這個問題非常相似)?這是否像一個宗教? – ziggystar 2012-09-25 10:56:22

2

有幾種方法可以做到這一點,網上有很多信息。如果你打算使用微控制器,那麼你可能需要爲他們投資一些編程設備。雖然這不會花費太多。

最簡單的方法是使用電網中的正弦波。在歐洲,AC電源的頻率爲50Hz,您可以將其用作時鐘信號的基礎。

我已經使用了Atmel的ATtiny和ATmega,它們非常適合編程簡單和高級的項目。你可以用C或者Assembly對它進行編程,網上有很多很棒的項目,而且可用的程序員非常便宜。

這是我發現的projectGoogling AVR 7 segment clock

+0

交流電源頻率可以視爲高安全性振盪器嗎?我不這麼認爲.. :) – 2009-08-29 14:55:58

+2

是的,它可以。您的電視使用交流頻率來保持時間(這就是美國有60Hz電視和歐洲有50Hz電視的原因)。 http://leapsecond.com/pages/mains/ – Marius 2009-08-29 15:10:39

+0

謝謝...... :)對我來說這是一件新事物。 – 2009-08-29 15:18:10

5

我會用msp430去的。 ez430的價格是20美元,你可以直接在digikey或ti上購買,然後3套微控制器板以10美元價格購買。 llvm和gcc(和binutils)編譯器支持。編程超級簡單,功率極小,功耗極低。

+0

我已經爲eZ430-Chronos套件創建了一個stackexchange提案: http://area51.stackexchange.com/proposals/13122/ti-ez430-chronos-development-tool?referrer= YppEIivQP8lCxT7Iq4t4JA2 – lImbus 2010-07-14 11:44:23

+0

www.ti.com/launchpadwiki,你可以得到一個msp430套件,只需4.30美元 – 2011-03-20 23:00:42

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,它完美適用於這種應用。

5

有很多方法可以做到這一點,許多人已經給出了相當不錯的建議AVR或PIC是微控制器工作的良好起點,並不需要太多複雜的設置方式(硬件&軟件)或費用(這些微型計算機非常便宜)。老實說,我有點驚訝,沒有人在這裏提到Arduino,這恰好具有很容易入門的優點,提供了USB連接(USB-> Serial,真的),如果你不喜歡ATMega MCU插入的板子,您可以稍後將其插入任何您想要的地方。另外,雖然提供的編程環境提供了一些高級工具來輕鬆地對事物進行初始化,但您仍然可以自由地調整設備上的寄存器並編寫任何您可能想要在其上運行的C代碼。至於液晶顯示器的使用,我會建議尋找任何基於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)。

我並不一定是要揍你一個Arduino,因爲有很多方法可以做這種事情。最近我一直在使用32位ARM微處理器(不要先這樣做,更加陡峭的學習曲線,但它們有很多好處),而且我現在可能會在該生態系統中使用某些東西,但是Arduino很容易推薦因爲它相對便宜,所以有大量人在使用它,並且有可能你至少可以找到你想要做的一部分代碼示例。當你需要具有更多功能,配置選項或RAM的東西時,那裏有選項。

這裏有幾個地方,你可以找到一些巧妙的硬件像您所描述的一個項目(Arduino的相關和其他):

雖然有一定噸:-)

0

PIC系列將會很好,因爲您正在創建一個計時器,所以我推薦C或彙編(彙編很好),並使用MPLAB作爲開發環境。您可以通過MPLAB中的「秒錶」檢查定時器的準確度。另外PIC16F877內置了硬件串行端口。此外PIC16F628還內置了硬件串行端口。但PIC16F877有更多的端口。要獲得更精確的定時器,建議使用更高頻率的振盪器。

相關問題