第八章 led 七段顯示器輸出實驗

18
第第第 LED 第第第第第第第第第 Ping-Liang Lai ( 第第第 )

Upload: hanh

Post on 14-Jan-2016

89 views

Category:

Documents


0 download

DESCRIPTION

第八章 LED 七段顯示器輸出實驗. Ping-Liang Lai ( 賴秉樑 ). 實驗目的. 1 、掌握 LED 七段顯示器的工作原理。 2 、掌握 S3C4510B 的外部 I/O Bank 的擴展方法和相應特殊功能暫存器的配置。 3 、掌握 LED 七段顯示器與 S3C4510B 的介面方法。 4 、熟悉實驗系統的相關硬體結構。. 實驗原理. 七段顯示器由 8 個 LED 組合而成,分成二種類型 共陽型 共陰型. 實驗原理. LED 七段顯示器,常用於各種儀器儀錶、設備的顯示器,因介面方便,價廉物美,使用非常廣泛。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第八章 LED 七段顯示器輸出實驗

第八章

LED七段顯示器輸出實驗

Ping-Liang Lai (賴秉樑 )

Page 2: 第八章 LED 七段顯示器輸出實驗

實驗目的

1 、掌握 LED 七段顯示器的工作原理。

2 、掌握 S3C4510B 的外部 I/O Bank 的擴展方法和相應特殊功能暫存器的配置。

3 、掌握 LED 七段顯示器與 S3C4510B 的介面方法。

4 、熟悉實驗系統的相關硬體結構。

Page 3: 第八章 LED 七段顯示器輸出實驗

實驗原理 七段顯示器由 8 個 LED 組合而成,分成二種類型

共陽型 共陰型

Page 4: 第八章 LED 七段顯示器輸出實驗

實驗原理 LED 七段顯示器,常用於各種儀器儀錶、設備的顯

示器,因介面方便,價廉物美,使用非常廣泛。 LED 七段顯示器可以有兩種工作方式

掃描方式:由於人眼的視覺暫留特性,可以看到穩定的顯示,但該方式要佔用 I/O 埠資源,同時由於以掃描方式工作,需要佔用較多的 CPU 時間

採用增加栓鎖電路:將 LED 顯示器接在系統的資料匯流排上,作為一個週邊進行操作,該方式佔用系統資源較少,且顯示穩定。

本系統採用第二種方式,系統硬體原理描述如下: S3C4510B 支援 4 個 Bank ,共 64KB 連續的外部 I/O

空間 每個 Bank 由 CPU 提供一個晶片選擇信號 (nECS) 硬體偏移位址設定為 0x00 、 0x10 、 0x20 、 0x30

Page 5: 第八章 LED 七段顯示器輸出實驗

實驗原理 Latch

Page 6: 第八章 LED 七段顯示器輸出實驗

實驗原理

64KB 外部 I/O 位址空間的起始位置由特殊功能暫存器 REFEXTCON 設置

暫存器可控制 DRAM 的刷新模式、刷新時序及刷新間隔

REFEXTCON 同時還包含 10 位外部 I/O Bank0 的基底指標值。

[9 : 0] 外部 I/O 基底指標 ( 基底位址 ) 該設置值左移 16 位元即為外部 I/O 組 0 的起始實際位址 外部 I/O 組 0 的結束實際位址為該設置值左移 16 位元 +16KB-

1 4 個外部 I/O 組的位址空間連續,每組均固定大小為 16KB ,因

此,通過該基底指標可以計算出其他 3 個外部 I/O 組的起始和結束位址

REFEXTCON

31

21 20 19 17 16 15 14 13 12 11 10 9 0

刷新計數值 tCSR

tCHRRSN

VSF

0 0 0 0 0外部 I/O BANK0

基底指標器

Page 7: 第八章 LED 七段顯示器輸出實驗

實驗原理 [15] 特殊功能暫存器有效性( VSF )

0 = 記憶體組不可存取 1 = 記憶體組可存取

[16] 刷新致能( REN ) 0 = 禁止 DRAM 刷新 1 = 致能 DRAM 刷新

[19:17]CAS 持續時間( tCHR ) 000 = 1 個週期 001 = 2 個週期 010 = 3 個週期 011 = 4 個週期 100 = 5 個週期 101 = ( 未用 ) 110 = ( 未用 ) 111 = ( 未用 )

[20]CAS 設置時間( tCSR ) 0 = 1 個週期 1 = 2 個週期

[31 : 21] 刷新計數值(持續時間) 刷新週期 = (211- 該值 +1)/fMCK

Page 8: 第八章 LED 七段顯示器輸出實驗

實驗原理 外部週邊的資料匯流排寬度由特殊功能暫存器

EXTDBWTH 設置 EXTDBWTH 暫存器:配置每組的資料匯流排寬度。

偏移位址 0x3010 ,可讀寫, RESET 後為 0

[1:0]ROM/SRAM/FLASH 區塊 0 的資料匯流排寬度 DSR0 的屬性為唯讀, ROM/SRAM/FLASH 區塊 0 在系統中通

常作為啟動 ROM 區,其值由 B0SIZE[1 : 0] 接腳的狀態決定。

00 = 不允許 01 = 位元組( 8 位元) 10 = 半字( 16 位元) 11 = 字( 32 位元)

Registers Offset R/W Description Reset Value

EXTDBWTH 0x3010 R/WData bus width of each

bank0x00000000

Page 9: 第八章 LED 七段顯示器輸出實驗

實驗原理 [3:2]ROM/SRAM/FLASH 組 1 的資料匯流排寬度( DSR1 ) [5:4] DSR2 , [7:6] DSR3 , [9:8] DSR4 , [11:10] DSR5

00 = 禁止 01 = 位元組( 8 位元) 10 = 半字( 16 位元) 11 = 字( 32 位元)

[13:12]DRAM 組 0 的資料匯流排寬度( DSD0 ) [15:14] DSD1 , [17:16] DSD2 , [19:18] DSD3

00 = 禁止 01 = 位元組( 8 位元) 10 = 半字( 16 位元) 11 = 字( 32 位元)

[21:20] 外部 I/O 組 0 的資料匯流排寬度( DSX0 ) [23:22] DSX1 , [25:24] DSX2 , [27:26] DSX3

00 = 禁止 01 = 位元組( 8 位元) 10 = 半字( 16 位元) 11 = 字( 32 位元)

當選擇“禁止”時, S3C4510B 不產生相應的讀 / 寫信號。

Page 10: 第八章 LED 七段顯示器輸出實驗

實驗內容

1 、編寫一個 LED 七段顯示程式,配置相應的外部I/O Bank 特殊功能暫存器,並在實驗系統的 4 個LED 七段顯示器上顯示數值。

2 、在實驗系統執行 LED 七段顯示程式,在 4 個 LED上依序顯示 0 ~ 9 。

3 、參考程式在光碟中可以找到。

Page 11: 第八章 LED 七段顯示器輸出實驗

實驗內容

Page 12: 第八章 LED 七段顯示器輸出實驗

實驗內容

Page 13: 第八章 LED 七段顯示器輸出實驗

實驗內容Hex f g e d . c b a Dec

0x00

0 0 0 0 0 0 0 0 Non

0xb7

1 0 1 1 0 1 1 1 0

0x06

0 0 0 0 0 1 1 0 1

0x73

0 1 1 1 0 0 1 1 2

0x57

0 1 0 1 0 1 1 1 3

0xc6 1 1 0 0 0 1 1 0 4

0xd5

1 1 0 1 0 1 0 1 5

0xf5 1 1 1 1 0 1 0 1 6

0x07

0 0 0 0 0 1 1 1 7

0xf7 1 1 1 1 0 1 1 1 8

0xd7

1 1 0 1 0 1 1 1 9

Page 14: 第八章 LED 七段顯示器輸出實驗

實驗內容 – 軟體模擬載入映像檔案進行除錯

Page 15: 第八章 LED 七段顯示器輸出實驗

實驗內容 – 軟體模擬 按 F10單步執行程式或點工作列上的圖示

Step Step In

Page 16: 第八章 LED 七段顯示器輸出實驗

實驗內容 – 軟體模擬觀察 led陣列變數

展開 led陣列變數 在 led變數上按滑鼠右鍵,選” Indirect through

item”

Page 17: 第八章 LED 七段顯示器輸出實驗

實驗內容 – 軟體模擬 在 while迴圈中, LED1~LED4 ,會依序顯示 led陣列的資料

初始狀值 第 1次迴圈 第 2次迴圈 第 16次迴圈

Page 18: 第八章 LED 七段顯示器輸出實驗

作業 增加顯示值 0~F ,十六進制 結合 switch ,有四種不同功能

SW0 :上數 0000 ~~ 9999 SW1 :下數 9999 ~~ 0000