當前位置:才華齋>計算機>計算機三級>

計算機三級嵌入式系統模擬試題及答案2016

計算機三級 閱讀(2.43W)

1、某機械裝置的控制器,其基本功能要求有:

計算機三級嵌入式系統模擬試題及答案2016

需要有8個數字量輸入,用於採集裝置的狀態資訊;且需要8個數字量輸出,用於控制裝置動作。

具備一個RS-232介面,可以和上位機連線,接收上位機發送的命令及引數。

需要提供一個基準定時訊號,定時時間間隔為0.01秒。

需要彩色LCD顯示器,用於顯示狀態資訊等。

根據上述功能要求的描述,若採用S3C2410晶片為核心來構建該機械裝置控制器的硬體平臺,請完善下面的敘述和C語言程式(需要使用的控制暫存器的格式見題後說明)。

(1)若硬體設計時採用GPIO埠E的GPE0~GPE7引腳作為8個數字量輸出,那麼軟體設計時其初始化語句是:rGPECON=(rGPECON|0x00005555)&___【1】____。若軟體設計時需要通過GPE5引腳輸出“1”來驅動執行機構動作,那麼語句是:rGPEDAT= rGPEDAT | ___【2】____。(注:rGPECON是埠E的控制暫存器所對應的變數,rGPEDAT是埠E的資料暫存器所對應的變數)

(2)硬體設計時,選用UART0來完成RS-232介面電路設計。在軟體設計時,其初始化程式中波特率設定為9600bps,資料格式設定為:8位資料位、奇校驗、1位停止位。請補充完善下面的UART0初始化函式(注:主頻引數為PCLK):

voidUART0_Init()

{

rGPHCON=(rGPHCON&0xFFFFFF00)|___【3】____; //埠H相應引腳功能初始化

rUFCON0=0x0; //FIFO不使能

rUMCON0=0x0;

rULCON0=___【4】____; //設定線路控制暫存器

rUCON0=0x145; //設定控制暫存器

rUBRDIV0=((int)(PCLK/___【5】____) 1); //設定波特率,小數採用四捨五入

}

(3)按照上面UART0初始化函式所設定的通訊速率,每秒鐘最多能傳輸___【6】____個位元組的資訊。若上位機有大小為4KB的初始引數需要下載到控制器中,那麼,約需傳輸____【7】___秒才能完成下載(1K=1024,精確到小數點後面1位數字)。

(4)系統中所需要的0.01秒基準定時時間選用S3C2410晶片內部的Timer0部件來產生。若系統的主頻引數PCLK為264MHz,分頻器值選擇為16,預分頻係數選擇為3,那麼,Timer0的計數常數為___【8】____。軟體設計時,設計瞭如下的Timer0初始化函式,請補充完善。(注:下面程式中⑨、⑩、⑿用8位十六進位制數表示,⑾用4位十六進位制數表示)

voidTimer0Int(void)

{

//設定定時器配置暫存器0(TCFG0)

rTCFG0=___【9】____; //Timer0預分頻係數選擇為3,該暫存器中其它無關位均為0

//設定定時器配置暫存器1(TCFG1)

rTCFG1=___【10】___; // Timer0分頻器值為16,該暫存器中其它無關位均為0

//設定計數常數

rTCNTB0=___【11】____; //設定控制暫存器TCON

rTCON=___【12】____;//更新TCNTB0和TCMPB0,該暫存器中其它無關位均為0

rTCON=0x00000009;//設定Timer0自動裝載,並啟動

}

(5)彩色LCD顯示屏的硬體介面電路由S3C2410的專用GPIO埠__【13】_____和埠___【14】____相關引腳配以驅動電路來設計。軟體設計時,需要通過設定它們控制暫存器的值分別為___【15】____和____【16】___來確定它們的引腳功能。

(6)系統的軟體可以設計為在無作業系統環境下執行。設計者自行設計系統的啟動載入程式,在該程式中完成異常向量設定、堆疊指標設定以及必要的硬體初始化。ARM9體系結構中規定的IRQ異常所對應的異常向量地址為___【17】____。Timer0部件所產生的0.01秒基準時間到時將引起IRQ異常。由於IRQ異常向量地址與下一個異常向量地址之間間隔為___【18】____個位元組,因此,通常在IRQ異常向量地址處設計一條轉移指令。堆疊指標的設定需按工作模式來進行。設定IRQ模式下的堆疊指標,需在R0“清0”後用指令ORRR1,R0,#0x12|___【19】____和MSRCPSR_CXSF,R1來使CPU核進入IRQ模式,然後再給SP暫存器賦值作為該模式下的堆疊指標。這些初始化工作完成後,即可通過指令___【20】____來引導應用程式的主函式main()。

說明:下面是試題解答時需要用到的'暫存器格式及相關說明。

1)埠C的控制暫存器(GPCCON)

引腳GPCCON的位描述

GPC15[31:30]00=輸入,01=輸出,10=VD7,11=保留

GPC14[29:28]00=輸入,01=輸出,10= VD6,11=保留

GPC13[27:26]00=輸入,01=輸出,10= VD5,11=保留

GPC12[25:24]00=輸入,01=輸出,10= VD4,11=保留

GPC11[23:22]00=輸入,01=輸出,10= VD3,11=保留

GPC10[21:20]00=輸入,01=輸出,10= VD2,11=保留

GPC9[19:18]00=輸入,01=輸出,10= VD1,11=保留

GPC8[17:16]00=輸入,01=輸出,10= VD0,11=保留

GPC7[15:14]00=輸入,01=輸出,10=LCDVF2,11=保留

GPC6[13:12]00=輸入,01=輸出,10= LCDVF1,11=保留

GPC5[11:10]00=輸入,01=輸出,10=LCDVF0,11=保留

GPC4[9:8]00=輸入,01=輸出,10=VM,11=IIS資料輸出

GPC3[7:6]00=輸入,01=輸出,10=VFRAME,11= IIS資料輸入

GPC2[5:4]00=輸入,01=輸出,10=VLINE,11=保留

GPC1[3:2]00=輸入,01=輸出,10=VCLK,11=保留

GPC0[1:0]00=輸入,01=輸出,10=LEND,11=保留

2)埠D的控制暫存器(GPDCON)

引腳GPDCON的位描述

GPD15[31:30]00=輸入,01=輸出,10=VD23,11=保留

GPD14[29:28]00=輸入,01=輸出,10= VD22,11=保留

GPD13[27:26]00=輸入,01=輸出,10= VD21,11=保留

GPD12[25:24]00=輸入,01=輸出,10= VD20,11=保留

GPD11[23:22]00=輸入,01=輸出,10= VD19,11=保留

GPD10[21:20]00=輸入,01=輸出,10= VD18,11=保留