200 likes | 405 Views
第八章 LED 七段顯示器輸出實驗. Ping-Liang Lai ( 賴秉樑 ). 實驗目的. 1 、掌握 LED 七段顯示器的工作原理。 2 、掌握 S3C4510B 的外部 I/O Bank 的擴展方法和相應特殊功能暫存器的配置。 3 、掌握 LED 七段顯示器與 S3C4510B 的介面方法。 4 、熟悉實驗系統的相關硬體結構。. 實驗原理. 七段顯示器由 8 個 LED 組合而成,分成二種類型 共陽型 共陰型. 實驗原理. LED 七段顯示器,常用於各種儀器儀錶、設備的顯示器,因介面方便,價廉物美,使用非常廣泛。
E N D
第八章LED七段顯示器輸出實驗 Ping-Liang Lai (賴秉樑)
實驗目的 1、掌握LED七段顯示器的工作原理。 2、掌握S3C4510B的外部I/O Bank的擴展方法和相應特殊功能暫存器的配置。 3、掌握LED七段顯示器與S3C4510B的介面方法。 4、熟悉實驗系統的相關硬體結構。
實驗原理 • 七段顯示器由8個LED組合而成,分成二種類型 • 共陽型 • 共陰型
實驗原理 • LED七段顯示器,常用於各種儀器儀錶、設備的顯示器,因介面方便,價廉物美,使用非常廣泛。 • LED七段顯示器可以有兩種工作方式 • 掃描方式:由於人眼的視覺暫留特性,可以看到穩定的顯示,但該方式要佔用I/O埠資源,同時由於以掃描方式工作,需要佔用較多的CPU時間 • 採用增加栓鎖電路:將LED顯示器接在系統的資料匯流排上,作為一個週邊進行操作,該方式佔用系統資源較少,且顯示穩定。 • 本系統採用第二種方式,系統硬體原理描述如下: • S3C4510B支援4個Bank,共64KB連續的外部I/O空間 • 每個Bank由CPU提供一個晶片選擇信號(nECS) • 硬體偏移位址設定為0x00、0x10、0x20、0x30
實驗原理 Latch
實驗原理 • 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組的起始和結束位址
實驗原理 • [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
實驗原理 • 外部週邊的資料匯流排寬度由特殊功能暫存器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位元)
實驗原理 • [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不產生相應的讀/寫信號。
實驗內容 1、編寫一個LED七段顯示程式,配置相應的外部I/O Bank特殊功能暫存器,並在實驗系統的4個LED七段顯示器上顯示數值。 2、在實驗系統執行LED七段顯示程式,在4個LED上依序顯示0~9。 3、參考程式在光碟中可以找到。
實驗內容 – 軟體模擬 • 載入映像檔案進行除錯
實驗內容 – 軟體模擬 • 按F10單步執行程式或點工作列上的圖示 Step Step In
實驗內容 – 軟體模擬 • 觀察led陣列變數 • 展開led陣列變數 • 在led變數上按滑鼠右鍵,選”Indirect through item”
實驗內容 – 軟體模擬 • 在while迴圈中,LED1~LED4,會依序顯示 led陣列的資料 初始狀值 第1次迴圈 第2次迴圈 第16次迴圈
作業 • 增加顯示值0~F,十六進制 • 結合switch,有四種不同功能 • SW0:上數 0000 ~~ 9999 • SW1:下數 9999 ~~ 0000