嵌入式三级题库综合题资料Word文档格式.docx
《嵌入式三级题库综合题资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式三级题库综合题资料Word文档格式.docx(79页珍藏版)》请在冰点文库上搜索。
若设计时选用了GPE0~GPE3来输出键盘行扫描信号,选用GPD0~GPD2来输入键盘列信号。
请补充完善下面的键盘扫描函数:
//**keyoutput是键盘扫描时的输出地址,keyinput是键盘读入时的地址
#defineKEYOUTPUT(*(volatileINT8U*)0x56000044)//定义GPE的数据端
#defineKEYINPUT(*(volatileINT8U*)0x56000034)//定义GPD的数据端
INT16UScanKey()
{
INT16Ukey=0xFFFF;
INT16Ui;
INT8Utemp=0xFF,output;
rGPDCON=rGPDCON&
___【13】_____;
//初始化GPD0~GPD2为输入
rGPECON=((rGPECON&
____【14】____)|0x00000055);
//初始化GPE0~GPE3为输出;
for(i=1;
((i<
=____【15】____)&
&
(i>
0));
i<
<
=1)
output|=0xFF;
output&
=(~i);
KEYOUTPUT=output;
temp=KEYINPUT;
if((temp&
0x07)!
=___【16】_____)
key=(~i);
key<
=8;
key|=((temp&
0x07)|0xF8);
return(key);
}
return0xFFFF;
上面的键盘扫描函数返回的是由键盘行信号和键盘列信号合并而成的一个16位二进制值,根据该函数的返回值,可以判断是否有按键按下,并可确定是哪个按键按下。
若返回值为___【17】__时,可知键盘中无键按下,若返回值为____【18】____时,可知键盘中第3行第2列的键被按下。
(注:
以GPE0对应的键盘行为第一行,以GPD0对应的键盘列为第一列)
(6)为了便于以太网通信程序的编写,客房指纹锁的应用软件基于μC/OS-II操作系统来设计,客房指纹锁的应用程序主函数中,需要用OSTaskCreate()函数____【19】____,并用____【20】____函数启动多任务调度功能。
说明:
下面是试题解答时需要用到的寄存器格式及相关说明。
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
00=输入,01=输出,10=VD23,11=保留
GPD14
00=输入,01=输出,10=VD22,11=保留
GPD13
00=输入,01=输出,10=VD21,11=保留
GPD12
00=输入,01=输出,10=VD20,11=保留
GPD11
00=输入,01=输出,10=VD19,11=保留
GPD10
00=输入,01=输出,10=VD18,11=保留
GPD9
00=输入,01=输出,10=VD17,11=保留
GPD8
00=输入,01=输出,10=VD16,11=保留
GPD7
00=输入,01=输出,10=VD15,11=保留
GPD6
00=输入,01=输出,10=VD14,11=保留
GPD5
00=输入,01=输出,10=VD13,11=保留
GPD4
00=输入,01=输出,10=VD12,11=保留
GPD3
00=输入,01=输出,10=VD11,11=保留
GPD2
00=输入,01=输出,10=VD10,11=保留
GPD1
00=输入,01=输出,10=VD9,11=保留
GPD0
00=输入,01=输出,10=VD8,11=保留
3)端口E的控制寄存器(GPECON)
GPECON的位
GPE15
00=输入,01=输出,10=IICSDA,11=保留
GPE14
00=输入,01=输出,10=IICSCL,11=保留
GPE13
00=输入,01=输出,10=SPICLK0,11=保留
GPE12
00=输入,01=输出,10=SPIMOSI0,11=保留
GPE11
00=输入,01=输出,10=SPIMISO0,11=保留
GPE10
00=输入,01=输出,10=SSDAT3,11=保留
GPE9
00=输入,01=输出,10=SSDAT2,11=保留
GPE8
00=输入,01=输出,10=SSDAT1,11=保留
GPE7
00=输入,01=输出,10=SSDAT0,11=保留
GPE6
00=输入,01=输出,10=SDCMD,11=保留
GPE5
00=输入,01=输出,10=SDLCK,11=保留
GPE4
00=输入,01=输出,10=IISSDO,11=IIS数据输出
GPE3
00=输入,01=输出,10=IISSI,11=IIS数据输入
GPE2
00=输入,01=输出,10=CDCLK,11=保留
GPE1
00=输入,01=输出,10=IISCLK,11=保留
GPE0
00=输入,01=输出,10=IISLRCK,11=保留
4)端口H的控制寄存器(GPHCON)
GPHCON的位
GPH10
00=输入,01=输出,10=CLKOUT1,11=保留
GPH9
00=输入,01=输出,10=CLKOUT0,11=保留
GPH8
00=输入,01=输出,10=UEXTCLK,11=保留
GPH7
00=输入,01=输出,10=RXD2,11=保留
GPH6
00=输入,01=输出,10=TXD2,11=保留
GPH5
00=输入,01=输出,10=RXD1,11=保留
GPH4
00=输入,01=输出,10=TXD1,11=IIS数据输出
GPH3
00=输入,01=输出,10=RXD0,11=IIS数据输入
GPH2
00=输入,01=输出,10=TXD0,11=保留
GPH1
00=输入,01=输出,10=nRTS0,11=保留
GPH0
00=输入,01=输出,10=nCTS0,11=保留
第二套
数为___【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:
00=输入,01=输出,10=VD7,11=保留
GPC14
[29:
00=输入,01=输出,10=VD6,11=保留
GPC13
[27:
00=输入,01=输出,10=VD5,11=保留
GPC12
[25:
00=输入,01=输出,10=VD4,11=保留
GPC11
[23:
00=输入,01=输出,10=VD3,11=保留
GPC10
[21:
00=输入,01=输出,10=VD2,11=保留
GPC9
[19:
00=输入,01=输出,10=VD1,11=保留
GPC8
[17:
00=输入,01=输出,10=VD0,11=保留
GPC7
[15:
00=输入,01=输出,10=LCDVF2,11=保留
GPC6
[13:
00=输入,01=输出,10=LCDVF1,11=保留
GPC5
[11:
00=输入,01=输出,10=LCDVF0,11=保留
GPC4
[9:
00=输入,01=输出,10=VM,11=IIS数据输出
GPC3
[7:
00=输入,01=输出,10=VFRAME,11=IIS数据输入
GPC2
[5:
00=输入,01=输出,10=VLINE,11=保留
GPC1
[3:
00=输入,01=输出,10=VCLK,11=保留
GPC0
[1:
00=输入,01=输出,10=LEND,11=保留
2)端口D的控制寄存器(GPDCON)
GPDCON的位
GPD15
00=输入,01=输出,10=VD23,11=保留
GPD14
00=输入,01=输出,10=VD22,11=保留
GPD13
00=输入,01=输出,10=VD21,11=保留
GPD12
00=输入,01=输出,10=VD20,11=保留
GPD11
00=输入,01=输出,10=VD19,11=保留
GPD10
00=输入,01=输出,10=VD18,11=保留
GPD9
00=输入,01=输出,10=VD17,11=保留
GPD8
00=输入,01=输出,10=VD16,11=保留
GPD7
00=输入,01=输出,10=VD15,11=保留
GPD6
00=输入,01=输出,10=VD14,11=保留
GPD5
00=输入,01=输出,10=VD13,11=保留
GPD4
00=输入,01=输出,10=VD12,11=保留
GPD3
00=输入,01=输出,10=VD11,11=保留
GPD2
00=输入,01=输出,10=VD10,11=保留
GPD1
00=输入,01=输出,10=VD9,11=保留
GPD0
00=输入,01=输出,10=VD8,11=保留
3)端口E的控制寄存器(GPECON)
GPECON的位
GPE15
00=输入,01=输出,10=IICSDA,11=保留
GPE14
00=输入,01=输出,10=IICSCL,11=保留
GPE13
00=输入,01=输出,10=SPICLK0,11=保留
GPE12
00=输入,01=输出,10=SPIMOSI0,11=保留
GPE11
00=输入,01=输出,10=SPIMISO0,11=保留
GPE10
00=输入,01=输出,10=SSDAT3,11=保留
GPE9
00=输入,01=输出,10=SSDAT2,11=保留
GPE8
00=输入,01=输出,10=SSDAT1,11=保留
GPE7
00=输入,01=输出,10=SSDAT0,11=保留
GPE6
00=输入,01=输出,10=SDCMD,11=保留
GPE5
00=输入,01=输出,10=SDLCK,11=保留
GPE4
00=输入,01=输出,10=IISSDO,11=IIS数据输出
GPE3
00=输入,01=输出,10=IISSI,11=IIS数据输入
GPE2
00=输入,01=输出,10=CDCLK,11=保留
GPE1
00=输入,01=输出,10=IISCLK,11=保留
GPE0
00=输入,01=输出,10=IISLRCK,11=保留
4)端口H的控制寄存器(GPHCON)
GPHCON的位
GPH10
00=输入,01=输出,10=CLKOUT1,11=保留
GPH9
00=输入,01=输出,10=CLKOUT0,11=保留
GPH8
00=输入,01=输出,10=UEXTCLK,11=保留
GPH7
00=输入,01=输出,10=RXD2,11=保留
GPH6
00=输入,01=输出,10=TXD2,11=保留
GPH5
00=输入,01=输出,10=RXD1,11=保留
GPH4
00=输入,01=输出,10=TXD1,11=IIS数据输出
GPH3
00=输入,01=输出,10=RXD0,11=IIS数据输入
GPH2
00=输入,01=输出,10=TXD0,11=保留
GPH1
00=输入,01=输出,10=nRTS0,11=保留
GPH0
00=输入,01=输出,10=nCTS0,11=保留
5)UART线路控制寄存器(ULCONnn可以是0、1、2)
ULCONn的位
[7]
[6]
3]
[2]
[1]
保留值为0
确定红外模式0=正常操作模式1=正常操作模式
确定校验类型0xx=无校验100=奇校验101=偶校验
确定停止位数0=1位停止位1=2位停止位
确定数据位00=5位01=6位10=7位11=8位
6)TCFG0寄存器
TCFG0的位
功能描述
初始状态值
保留
0x00
在此不用
确定Timer2,Timer3,Timer4的预分频系数
确定Timer0,Timer1的预分频系数
7)TCFG1寄存器
TCFG1的位
0b0000
确定Timer4的分频器值0000=20001=40010=80011=16
确定Timer3的分频器值0000=20001=40010=80011=16
确定Timer2的分频器值0000=20001=40010=80011=16
确定Timer1的分频器值0000=20001=40010=80011=16
确定Timer0的分频器值0000=20001=40010=80011=16
0b00