介紹用BASIC Stamp制作數字時鐘 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
我們將使用BASIC Stamp的輸入輸出引腳來顯示數字。在數字時鐘部分,我們了解了如何連接7447芯片的7段顯示發光二極管。7447芯片可以和BASIC Stamp協同工作。將BASIC Stamp的四根輸入輸出引腳直接與7447相連,就可以很的顯示0到9的數字。BS-1版本的Stamp有8根輸入輸出引腳,這樣可以直接驅動兩片7447芯片。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
就一個時鐘而言,至少顯示4個數字。用8個輸入輸出引腳驅動4片7447,我們更有創造性。下圖給出了一種辦法:
溫馨提示:將鼠標指針放在圖片上,滾動鼠標可以動態改變圖片大小,方便分析電路圖。 |
上圖中,8根輸入輸出引腳從左邊引入。該方法用4個輸入輸出引腳驅動的4片7447。剩余的4個引腳,用來按順序激活4片7447(芯片上的“E”表示“Enable 使能”——7447芯片上的5號引腳)。要讓系統工作,Stamp的程序首先通過4根數據線發出第一個數字,并且把第一片7447的E引腳與第一根控制線置位,從而把7447激活。然后發出第二個數字,激活第二片7447,就這樣按順序不停的反復激活四片7447。 上,稍微改動一下連線,一片7447就可以實現這些功能。使用74154多路轉換芯片以及驅動,就可以用這種方法驅動多達16個數字。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
這中控制發光二極管顯示屏的標準方法。你有一個老式的發光二極管顯示的計算器,邊晃動邊觀察顯示屏。你會發現同一時刻只有一個數字被點亮。這種技術被稱為多路復用顯示。
這種技術在時鐘和計算器上有很好的應用,但是存在兩個重要問題:
發光二極管耗電量大。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
7 段顯示發光二極管只能顯示數字。
另一方法是使用液晶顯示屏。 液晶顯示屏應用廣泛,而且與Stamp連接方便。 例如,下圖的兩行字母數字式的液晶顯示屏在Jameco公司(部件號150990)和Parallax公司(部件號27910)都可以買到。 此處展示的是一個典型的液晶顯示屏,將液晶顯示屏插在面包板上,便于和其他芯片連接: <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
這類液晶顯示屏的優點:
一根引腳就可以驅動顯示。 顯示屏包含允許Stamp以串行方式與自己通信的邏輯電路,只需一根引腳。 此外,BASIC Stamp中的SEROUT命令可以十分的實現串口通信,控制顯示屏十分簡單。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
液晶顯示屏可以顯示字母數字文本,: 字母和數字,甚至可以是自定義字符。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
液晶顯示屏耗電量極低——只需3毫安的電流。
唯一美中不足,這樣的一個液晶顯示屏要花費59美元。顯然,沒有人會在烤箱上裝這樣的顯示屏。 而設計烤箱時,會先用這樣的顯示屏作樣品試驗,而后用自己設計的芯片和軟件驅動便宜的顯示屏,用于最終的產品。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
驅動這樣的顯示屏,你只需提供5伏的電源和地線(Stamp的9伏電池滿足這兩個條件),然后把Stamp的一個輸入輸出引腳與顯示輸入線連接。 要將Stamp的輸入輸出引腳連接到像液晶顯示屏這樣的設備,我能找到的最輕松的方法,是使用Jameco公司生產的連線工具(部件號34577)和30-gauge規格的連接線(部件號22541)。這樣不焊接,并且連接結實、可靠。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
下面的程序中,BASIC Stamp完成了一個時鐘的功能,通過液晶顯示屏輸出時間(假定液晶顯示屏接在Stamp輸入輸出0號引腳上):
pause 1000 '等待液晶顯示屏啟動
serout 0, n2400, (254,1) '清除顯示
serout 0, n2400, ("time:") 顯示屏上 顯示“time:”
'在加載程序之前進行預設
b0 = 0 '秒數
b1 = 27 '分鐘數
b2 = 6 '小時數
again:
b0 = b0 1 '秒數加1
if b0 < 60 then minutes
b0 = 0 '秒數等于60
b1 = b1 1 '則分鐘數加1
minutes:
if b1 < 60 then hours
b1 = 0 '分鐘數等于 60
b2 = b2 1 '則小時數加1
hours:
if b2 < 13 then show
b2 = 1 '小時數等于13,則重置為1
show:
serout 0, n2400, (254, 135) '在顯示屏上定位光標,
'然后顯示時間
serout 0, n2400, (#b2, ":", #b1, ":", #b0, " ")
pause 950 '暫停950毫秒
goto again '重復
<<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
程序中,通過SEROUT命令向液晶顯示屏發送數據。 序列 (254, 1) 用于清空液晶顯示屏,其中254是轉義字符,1是清空屏幕的指令。 序列(254, 135)用于定位光標。其他兩個SEROUT指令只是將文本字符串發送到顯示屏。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
這種方法將得到一個比較精確的時鐘。通過PAUSE語句,可以將每天的誤差控制在數秒之內。顯然,真正的時鐘一到兩個按鈕來校正時間—— 在程序中,你在向 Stamp 載入程序前,預先設置時間。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
此方法簡單、有效,但并不十分準確。你提高計時精度,在Stamp上連接實時時鐘芯片是一種好的選擇。這樣,每過一秒左右就會從芯片讀取時間并顯示出來。實時時鐘芯片中使用石英晶體獲得極佳的精確度。 時鐘芯片通常還包含日期信息,并可以自動進行閏年修正。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
要讓實時時鐘和Stamp實現對接,一個簡單的辦法是使用稱為Pocket Watch B的元件。
溫馨提示:將鼠標指針放在圖片上,滾動鼠標可以動態改變圖片大小,方便分析電路圖。 |
Pocket Watch B在Jameco公司(部件號145630)和Parallax公司(部件號 27962)都可以買到。該元件只有一枚硬幣大小,時鐘芯片、石英晶體和與輸入輸出引腳通信用的串行接口。它的價格在30美元左右,也不適用于烤箱,但卻非常適合在搭建樣品模型時使用。 <<與廣大電子愛好者更好的互動交流,容源電子網已開通電子論壇,歡迎來到電子論壇與同行們分享、學習經驗。》
本文地址:http://www.189yp.com/dz/22/462819003.shtml
本文標簽:
猜你感興趣:
無