DM642和CPLD外部中斷的寄存器式鍵盤設(shè)計
這里將擴(kuò)展的寄存器端口地址設(shè)置為PORTAdd,PORTAdd在CE1空間中擁有一個32位的端口地址,PoRTAdd[31:0]與DM642的CE1信號和EA[22:3]地址信號之間的定義關(guān)系如表1所列。CE1信號決定了PORTAdd31位,EA[22:3]地址信號決定了寄存器端口地址的PORTAdd[19:0]位,PORTAdd端口的其他位保留未用。根據(jù)表1中的映射關(guān)系就可以確定CPLD內(nèi)部寄存器端口的物理地址。在圖4中,CE1信號保持低電平、EA22信號保持高電平時選中74138_1芯片,則PORTAdd的第31位和第19位均應(yīng)為高電平“1”;EA8~EA6為高位譯碼地址線,EA5~EA3為低位譯碼地址線,兩片74138芯片配合使用,能夠產(chǎn)生64路片選信號;片選信號KEYCS1和KEYCS2低電平有效,兩片74373在DM642的CE1空間中的地址分別為0x90080019和0x9008001A。本文引用地址:http://www.ex-cimer.com/article/191054.htm
3 軟件設(shè)計
在CCS編程環(huán)境中,編寫main.C、boot.a(chǎn)sm、ves_dm642.a(chǎn)sm、key.cmd等文件,由于在CSL中包含boot.a(chǎn)sm函數(shù),所以只需要自行編寫main.c和ves_dm642.a(chǎn)sm、key.cmd三個文件,然后添加到所創(chuàng)建的Key.pJt項(xiàng)目中。
ves dm642.a(chǎn)sm是DM642的中斷向量表文件,聲明中斷函數(shù)名稱及與中斷編號的映射關(guān)系,KeyIsr是INT4對應(yīng)的按鍵中斷響應(yīng)函數(shù),其主要代碼如下:
評論