480 likes | 758 Views
電腦硬體裝修乙級. 指導老師 : 協和工商 電子資訊科 邱正益老師. 第一站 微電腦檢修卡及介面控制. 微電腦檢修卡試題要求. 依試題提供之微電腦檢修卡參考電路圖,零件配置圖,製作完成檢修卡。 將檢修卡安裝於外接式介面緩衝保護器上測試開機,完成正常開機程序 C:>_ 設計一程式能測試 I/O 位址 80H 上的每一 LED ,當程式執行時若按 F1 鍵,則可將 LED1~LED8 依序逐一點亮 ( 每一 LED 亮燈時間為 1Sec ,其餘不發光,最後全滅 ) 。 本站測驗 時間 180 分鐘。. 微電腦檢修卡製作流程. 焊接微電腦檢修卡硬體電路。
E N D
電腦硬體裝修乙級 指導老師:協和工商 電子資訊科 邱正益老師 第一站 微電腦檢修卡及介面控制
微電腦檢修卡試題要求 • 依試題提供之微電腦檢修卡參考電路圖,零件配置圖,製作完成檢修卡。 • 將檢修卡安裝於外接式介面緩衝保護器上測試開機,完成正常開機程序C:\>_ • 設計一程式能測試I/O位址80H上的每一LED,當程式執行時若按F1鍵,則可將LED1~LED8依序逐一點亮(每一LED亮燈時間為1Sec,其餘不發光,最後全滅)。 • 本站測驗 時間 180 分鐘。
微電腦檢修卡製作流程 • 焊接微電腦檢修卡硬體電路。 • 設計PLD程式(GAL22V10) • 設計QBASIC控制驅動程式 • 執行程式QBASIC設計QBASIC程式燒錄PLD設計PLD程式焊接硬體電路執行QBASIC程式
焊接微電腦檢修卡製作 微電腦檢修卡硬體圖
公版檢修卡硬體圖-正面 檢修卡作者:陳致中老師
公版檢修卡硬體圖-背面 注意 IC 腳位 請對齊 檢修卡作者:陳致中老師
快速版檢修卡硬體圖-背面 注意 IC 腳位 請對齊 PS:檢定試題,只要求功能。 檢修卡作者:陳致中老師
I/O介面卡PAL的燒錄說明 • 使用軟體: • PALASM : PAL組譯程式 • LP10 : 燒錄程式 • DEVICE請選擇GAL、AMD、GAL22V10H。
燒錄方法: • 先寫好燒錄原始程式 • 利用PALASM將原始程式轉譯成*.JED檔。 • 使用LP10燒錄器將程式燒入GAL 22V10H。 • 執行QBASIC程式。 • 測試執行是否成功。
燒錄步驟(1) 利用編輯軟體(EDIT)編輯 EX1。PLD程式 Chip Ader pal22v10 ;Pin 1 2 3 4 5 6 7 8 9 10 11 12 clk sa0 sa1 sa2 sa3 sa4 sa5 sa6 sa7 sa8 sa9 gnd ;Pin 13 14 15 16 17 18 19 20 21 22 23 24 aen iow l9 l10 l11 l12 l13 l14 l15 h80 h200 vcc Equations h80=/sa9*/sa8*sa7*/sa6*/sa5*/sa4*/sa3*/sa2*/sa1*/sa0*/iow h200=sa9*/sa8*sa7*/iow*/aen /l9:=sa0 /l10:=sa1 /l11:=sa2 /l12:=sa3 /l13:=sa4 /l14:=sa5 /l15:=sa6
燒錄步驟(1)-1 程式說明 Chip Ader pal22v10 ; 定義 CHIP元件PAL22V10 ,ADER為自取名稱 ;Pin 1 2 3 4 5 6 7 8 9 10 11 12 ;腳位號碼 clk sa0 sa1 sa2 sa3 sa4 sa5 sa6 sa7 sa8 sa9 gnd ;定義PIN~PIN12的接腳 ;Pin 13 14 15 16 17 18 19 20 21 22 23 24 ;腳位號碼 Aen iow L9 L10 L11 L12 L13 L14 L15 H80 H200 VCC ;定義PIN~PIN12的接腳 Equations ;布林方程式
燒錄步驟(1)-1-1 程式說明 h80=/sa9*/sa8*sa7*/sa6*/sa5*/sa4*/sa3*/sa2*/sa1*/sa0*/iow h200=sa9*/sa8*sa7*/iow*/aen ;H80微電腦故障代碼顯示位址,檢修卡顯示代表的LED是LED1到LED8 ,剛好利用SA0至SA9的位址線,列出布林方程式,只有SA7為1 ,其餘為0 ,所以前面都加/ ,IOW為低態工作所以都要加 / 。 ; H200為自行設定位址,顯示代表是LED9到LED15 ,利用SA0至SA9位址線解出上列布林方程式,只有SA9為1不加/ ,其餘為0 ,所以前面都加/ ,IOW、AEN為低態工作所以都要加 / 。
燒錄步驟(1)-1-2 /l9:=sa0 ; 當SA 0 = 1 時,LED 9 亮 /l10:=sa1 ; 當SA 1 = 1 時,LED 10亮 /l11:=sa2 ; 當SA 2 = 1 時,LED 11亮 /l12:=sa3 ; 當SA3 = 1 時,LED 12亮 /l13:=sa4 ; 當SA4= 1 時,LED13 亮 /l14:=sa5 ; 當SA5= 1 時,LED14 亮 /l15:=sa6 ; 當SA6= 1 時,LED15 亮
燒錄步驟(2) 利用PALASM將原始程式轉譯成*.JED檔。
燒錄步驟(2)-01 按任意鍵, 進入主畫面
燒錄步驟(2)-02 選擇功能列中的FILE
燒錄步驟(2)-03 選Retrieve existing design 按ENTER
燒錄步驟(2)-04 TEXT(設定值) 按ENTER
燒錄步驟(2)-05 (1) 選擇已存的檔案 EX1.PDS (2) 按 <F10> (代表 FORM OK) 執行
燒錄步驟(2)-06 (1)選擇功能列中的 RUN(執行) (2)選Compilation按Enter
燒錄步驟(2)-07 出現 PALASM.log 按 <F10> (代表 FORM OK) 執行
燒錄步驟(2)-08 進行編譯程序,編譯完成後出現 ERROR COUNT:0 WARNING COUNT:0 按ESC 跳出
燒錄步驟(2)-09 (1)選擇功能列中的FILE (2)選QUIT
燒錄步驟(2)-10 按 Y 結束
備註 EX1。PDS檔經COMPILE成功後,在目錄中會產生下列7檔案 EX1.PDS TMP_FILE.@@1 PALASM.LOG SP.@@ 1 EX1.XPT EX1.JED 此檔既為燒錄的檔案 PALASM2.TRE
燒錄步驟(3) 使用LP10燒錄器將程式燒入GAL 22V10H
(1)選擇功能列中的Device 燒錄步驟(3)-02 (2)選Category
燒錄步驟(3)-03 選擇 GAL按ENTER 廠牌編號選擇 PALCE22V10 > AMD公司 > GAL 選項 GAL22V10 > Lattice公司> GAL 選項 PEEL22V10 > ICT公司 > PEEL 選項
燒錄步驟(3)-04 選擇 公司 ,AMD 按ENTER
燒錄步驟(3)-05 選擇 型號 11。PALCE22V10H 按ENTER
(1)選擇功能列中的FILE 燒錄步驟(3)-06 (2)選擇Load GAL file 按ENTER
燒錄步驟(3)-07 鍵入Ex1.Jed的檔名
燒錄步驟(3)-08 載入成功出現下圖
(1)選擇功能列中的Process 燒錄步驟(3)-09 (2)選Erase按ENTER
燒錄步驟(3)-10 選Execute 按ENTER 正確出現 PASS
燒錄步驟(3)-11 (1)選擇功能列中的FILE (2)選EXIT
燒錄步驟(3)-12 按 Y 結束
燒錄步驟(4) 設計 QBASIC 程式
燒錄步驟(4)-1 Dim Port(7) ; 設定陣列為7個。 Port(1) = &H201; LED9~LED15跑燈順序,是自201H的位址開始計算, Port(2) = &H202 201H依16進制解出 。 Port(3) = &H204 Port(4) = &H208 Port(5) = &H210 Port(6) = &H220 Port(7) = &H240 GoSub SHOW ; 跳到副程式 SHOW 。 OUT &H80, 0 ; 80H清除為0,LED1~LED8燈全熄。 OUT &H200, 0; 200H清除為0,LED9~LED15燈全熄。
燒錄步驟(4)-1-2 While Kcode$ < > Chr$(27) ; 當為ESC鍵時,結束。 Kcode$ = INKEY$ ; 設定Kcoed$為鍵盤按到的key。 If Len(Kcode$) = 2 Then Kcode$ = Right$(Kcode$, 1) ; 判斷字串的長度是否為 2 bytes ,如果是,則取右邊第一個bytes 。 LOCATE 1, 70: Print Time$; 在第一列的第70個位置起,顯示目前時間。 If Len(Kcode$) = 0 Then GoTo Other ; 判斷字串長度為0 bytes,到Other。 Select Case Asc(Kcode$); 選擇讀取到右邊的ASCII碼。 Case 59; 59為十進制,等於按下 F1 鍵。
燒錄步驟(4)-1-3 For I = 0 To 7; 驅動LED1~LED8 。 OUT &H80, 2 ^ I LOCATE 1, 70: Print Time$; 在第一列的第70個位置起,顯示目前時間。 SLEEP 1; 間隔 1秒。 Next I; 回到 FOR “I” OUT &H80, 0; 80H清除為0,LED1~LED8燈全熄。
燒錄步驟(4)-1-4 Case 60 ; 60為十進制,等於按下 F1 鍵。 For i = 1 To 7 ; 代入陣列 Port(i) →7次,驅動LED9~LED15。 OUT Port(i), 0 LOCATE 1, 70: Print Time ; 在第一列的第70個位置起,顯示目前時間。 SLEEP 1 ; 間隔 1秒 Next I ; 回到 FOR “I” OUT &H200, 0 ; 80H清除為0,LED1~LED8燈全熄。
燒錄步驟(4)-1-5 End Select ; 結束選擇迴圈 Other: ; WHILE 迴圈結束 Wend End ; 主程式結束
燒錄步驟(4)-1-6 SHOW: ;SHOW 副程式開始,當程式開始執行,畫面秀出題目指定畫面。 Cls LOCATE 1, 1: Print "Hit <F1> to test 80H I/O" LOCATE 2, 1: Print "Hit <F2> to test LED9-15" LOCATE 3, 1: Print "Hit <ESC> to quit" LOCATE 4, 1: Print "Please hit a key ----->" LOCATE 1, 61: Print "Now Time:"; Time$ Return ;返回主程式
第一站結束 下一站 網路架設
微電腦檢修卡之測試與除錯 • 檢查微電腦檢修卡之電源,絕對要正確 • 執行QBASIC程式測試微電腦檢修卡 • 功能不正常, 找出是軟體還是硬體錯誤 • 消除DEBUG • 重複步驟1 至4直到合乎功能要求為止