1 / 30

I/O 界面原理與實習

I/O 界面原理與實習. 發光二極體 (LED) 顯示器. 單顆 LED 七段顯示器 點矩陣 LED 鍵盤輸入. 單顆 LED. LED 是二極體的一種,具有正負極性 使用時將其長腳接正電源,短腳接地時即可讓 LED 發亮 順向電壓降的範圍值由 1.2 ~ 3.0 伏特不等 為了延長其使用壽命,通常會利用一限流電阻串接 LED ,將其工作電流限制在 10 mA ~ 20 mA 之間. = 250 ( 歐姆 ). 如何讓 LED 閃爍. 為要讓 LED 點亮與熄滅交替進行,所輸入的「 1 」、「 0 」信號圖形

talia
Download Presentation

I/O 界面原理與實習

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I/O界面原理與實習

  2. 發光二極體(LED)顯示器 • 單顆LED • 七段顯示器 • 點矩陣LED • 鍵盤輸入

  3. 單顆LED • LED是二極體的一種,具有正負極性 • 使用時將其長腳接正電源,短腳接地時即可讓LED發亮 • 順向電壓降的範圍值由1.2 ~ 3.0伏特不等 • 為了延長其使用壽命,通常會利用一限流電阻串接LED,將其工作電流限制在10 mA ~ 20 mA之間 = 250 (歐姆)

  4. 如何讓LED閃爍 • 為要讓LED點亮與熄滅交替進行,所輸入的「1」、「0」信號圖形 • 這信號就是方波訊號,但其工作週期則不限定是50%的duty cycle。 • 若要讓LED產生閃爍感,則輸入之方波控制信號須為極低頻,其頻率要小於16Hz,否則人眼將就看不到閃爍現象,主要是因人的眼睛視覺暫留現象,一般而言,視覺暫留約在1/16秒到1/24秒之間,所以方波信的週期必須大於1/16秒,實際上最好取0.25秒以上,閃爍的感覺才會更真實

  5. 微控制器之計時方式 • 使用軟體延遲迴圈:利用微控制器執行一軟體延遲迴圈,利用執行此迴圈所需的指令週期數,配合供給之工作產率,即可產生所要的時間延遲。 • 使用硬體計時器:借助外部硬體計時器(Timer),將欲延遲的時間設定給硬體計時器,當延遲時間到達時,硬體計時器會對微控制器產生硬體中斷,以告知延遲時間已到達。

  6. 使用軟體延遲迴圈 呼叫一次軟體延遲副程式所需之時間延遲為:T × [(Z˙Y + L)˙X + C]秒。

  7. 使用硬體計時器延遲 • 若供給外部硬體計時器之頻率f = 1kHz (週期為1 ms) • 若外部之硬體計時器為8-bit counter(最大的計數時間為256 ms)。 • EX: 系統要產生一個100 ms的時間延遲 • 可設定外部硬體計時器的初始值為156 • 即讓計時器是由156開始計數,當到達overflow時(即計時器由2550)即表示已經過了100 ms。

  8. 七段顯示器 • 段顯示器可分為 • 共陽(common anode) • 共陰(common cathode)

  9. 七段顯示器的驅動方式 • 靜態方式驅動七段顯示器

  10. 多工掃描驅動七段顯示器 • 利用人類眼睛視覺暫留現象 • 讓多顆七段顯示器輪流顯示,若輪流顯示的速度夠快的話,快到讓人眼睛不會感覺到閃爍現象(通常以50Hz以上的輪流顯示速度來驅動),則感覺上即是每一顆七段顯示器皆同時在顯示 • 為了讓整個顯示之亮度與單獨顯示時差不多,若有N個七段顯示器,則每個七段顯示器在顯示時的亮度(即電流強度)可為單獨顯示時的N倍,這是因為每個七段顯示器的顯示時間僅為單獨使用時的1/N倍。

  11. 多工掃瞄七段顯示器 原理

  12. 由於人類之視覺暫留約為1/16秒 ~ 1/24秒,依經驗值將其取為1/50秒,即掃描頻率為50次/秒,故每隔1/50秒 = 20 ms即要掃描一次,因圖4.9之應用為6顆七段顯示器,故每一顆七段顯示器之顯示時間約為20/6 = 3.3 ms,可以取2 ms為七段顯示器之on時間。請注意:在掃描過程中,每個七段顯示器間必須有數十微秒的關閉時間(off time)以防止七段顯示器顯示時產生殘影。

  13. LAB二、 七段顯示器

  14. 七段顯示器之掃描時序 • 先將SegA要顯示之內容輸出至DB[7:0]; • 輸出控制信號SEG_SEL,將DB[7:0]的內容Latch在74573; • 輸出掃描信號SCAN2~SCAN0使PS0#為Lo,致能SegA,使其將74573之內容顯示出來; • 將步驟1~3重複,將要顯示之內容依序改為SegB、SegC、SegD • 重複1~4步驟。

  15. 四位元掃描顯示之行程示意圖

  16. 點矩陣LED • LED點矩陣結構 • 列陽行陰 • 列陰行陽

  17. 點矩陣LED驅動電路 • 驅動電路提供LED顯示所需之電流 • 其利用R0~R7之列信號輸出準位「0」或「1」來控制功率電晶體導通或截止,以決定是否供應該顯示列之LED顯示所需之電流,所謂顯示列即為輸出為「0」之Ri列。而該列之顯示內容則由行驅動電路C1~C5決定,其主要是作汲入電流用,當第i行之Ci值為「0」時,表顯示列之第i顆LED會亮,一般而言,行驅動電路大都採用能汲入(Sink)較大電流的IC。

  18. 驅動順序 • 將R1 ~ R7禁能(輸出為高電位) • 將R1所要顯示的資料放置於C1~C5上,然後將R1致能(輸出為低電位) • 延遲一段時間,再將R1禁能(輸出為高電位) • 將R2顯示器所要顯示的資料放置C1~C5上,然後將R2致能(輸出為低電位) • 延遲一段時間,再將R2禁能(輸出為低電位) • 與多工掃描七段顯示器同,因視覺暫留時間最短為1/16秒,所以掃描週期不能大於1/16秒,否則會感覺到跳動現象。一般掃描頻率越高,顯示之視覺效果越好。在此例中,若掃描頻率取40Hz,則掃描之週期為25 ms。 • 因LED共有7列,所以每列之顯示時間為 (ms)。

  19. LAB3、 點矩陣LED顯示控制

  20. 8×16點矩陣LED之驅動電路

  21. 依據移位(DM_GCLK)與更改資料匯流排(R0~R7)的順序,可以分為三種情況依據移位(DM_GCLK)與更改資料匯流排(R0~R7)的順序,可以分為三種情況 • Case 1 先移位再更改資料: • Case 2 先更改資料再移位: • Case 3先清除資料、移位、再更新資料:

  22. 點矩陣LED顯示控制流程 每條掃描線(C0~C15)維持為「0」的時間約 ,此處我們取用 為單一行所顯示之時間

  23. 鍵盤輸入控制 • 4×3矩陣鍵盤之連接

  24. 微控制器如何得知有按鍵被按 • 中斷(Interrupt)方式: • 當有按鍵被按時,有一外部硬體電路去偵測得知,並對微控制器產生硬體中斷信號 • 以鍵盤主動通知微控制器,平常無按鍵時,微控制器可處理其它部份之程式。 • 詢問(Polling)方式: • 微控制器以軟體方式,定期去詢問外部鍵盤是否有按鍵被按。 • 以微控制器為主動,需一段時間即去詢問外部之鍵盤以得知其狀況,所以較耗微控制器之處理時間。

  25. 軟體掃描方式 • 4×3矩陣鍵盤與微控制器連接圖

  26. 開關接點彈跳(contact bounce) • 決按鍵彈跳現象的方法有二: • 硬體濾波:利用硬體濾波器產生較平滑的電壓變化。 • 軟體延遲:當軟體偵測到有鍵盤被按時,利用程式等待一段時間,讓按鍵之接點開關穩定後,再去讀取按鍵值。

  27. 避免短路之矩陣鍵盤與微控制器之接法 • 當所按下的兩鍵為同一行時,由於R1~R4之掃描輸出同時只有一列為「0」,其餘為「1」輸出,所以此時會讓此兩鍵所連接的兩列的掃描輸出短路,造成微控制器的相對輸出埠可能因此而受損

  28. 鍵盤掃描與七段顯示器掃描的結合

  29. LAB4、 鍵盤輸入控制

  30. 鍵盤掃描之時序

More Related