A.0键按下
B.3键按下
C.15键按下
D.无键按下
第1题
试编写一个键盘程序。
要求:已知16个键分别为数字0~9和A~F,键盘排列的连线及其接口电路。16个键排成4行×4列的矩阵,接到微型机系统中由两片8255A组成的一对端口上。其中,端口A作输出,端口B作输入。端口地址为PORT_A:FF9H;PORT_B:0FFBH;PORT_CTL:0FFFH。
第2题
A、该行首键码+该行号
B、该行首键码+该列号
C、该列首键码+该行号
D、该列首键码+该列号
第4题
【说明】
I2C总线是一种多主控器总线,对多个IC器件具有控制总线的能力。采用串行I2C总线技术设计接口电路,可节约嵌入式系统微处理器的I/O端口。图6-17给出了一种实现了键盘、时钟和实时参数存储三个功能模块的应用电路。图6-17中仅应用I2C总线构成单主控器的系统。此时时钟线SCL仅由微处理器驱动,因此可以用微处理器的一根I/O线作为SCL信号线,将其设置为输出方式,由软件控制产生串行时钟信号;用微处理器的另一根I/O线作为I2C总线的串行数据线,由软件控制在时钟的低电平期间读取或输出数据。
在图6-17中采用ATMEL公司的E2PROM AT24C64(IC8)实现了系统初始化数据、仪表系数、用户设置的参数或某些重要的实时数据参数的存储。DS1302时钟芯片可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5 V。8位并行I/O口扩展器件PCF8574具有口输出锁存功能,可直接驱动大电流LED管,同时还带有一个中断请求输出端INT(漏极开路方式)。在图6-17中,将PCF8574器件的8位准双向口外挂了一个4×4键盘矩阵。
电阻R36、R37在图6-17电路中有何作用。请在100字以内简要说明。
第6题
阅读下列说明和图、表,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某车载导航系统的结构如图1-1所示,由导航处理系统和显示系统两部分组成。导航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便于驾驶员观看和操作。
导航处理系统由主处理机模块、电子盘模块、信号处理模块和电源模块组成,主处理机模块执行电子地图功能、导航控制功能等,生成的导航显示画面通过信号线在LCD液晶彩色显示屏显示给驾驶员;信号处理模块处理外部采集数据,将处理后的数据通过内部总线传输给主处理机模块;电子盘模块存储电子地图数据及导航数据。
显示系统由LCD液晶彩色显示屏、面板键盘(自定义键盘)和电源模块组成,主要是显示导航画面,也可通过面板键盘进行导航控制。
【问题1】(6分)
GPS天线接收卫星信号,将定位信息以帧的形式,通过RS232串行接口传输给主处理机模块。通常RS232的管脚规格如表1-1所示。
采用RS232通信,如果发送的数据量超过接收方缓冲区时,可能在接收方缓冲区因处理时间延迟等导致接收数据丢失。因此,需要进行流量控制。
请回答下面三个问题,将答案填写在答题纸的对应栏中。
(1)如果通过软件进行流量控制,也就是将流量控制信息以特殊的数据进行发送,使用上表中的哪两个管脚进行状态信息发送?(回答管脚名称)
(2)如果通过硬件方式进行流量控制,使用上表中的哪两个管脚进行状态信息发送?(回答管脚名称)
(3)若RS232适配器的FIFO深度为4字节,通信波特率为9600bps,数据位为8位,无校验,停止位为1,无数据流控。在应用设计中每次以4字节为单位进行数据发送,每两次发送之间严格控制时间间隔为10ms,连续发送100次,在此过程中,忽略所有由于调度等因素引起的发送延迟。那么,从第1次发送开始,到第100次数据发送出去,消耗的时间为多少ms?
【问题2】(6分)
主处理机模块与信号处理模块间通过双端口存储器进行数据交换。李工设计时,将双端口存储器空间划分为两个缓冲区,两个缓冲区分别交替地接收信号处理机传输来的最新数据,然后按数据块方式提供给用户程序使用。
假设每个缓冲区的大小为512KB,将512KB数据写入当前空闲缓冲区接口服务为Write_Buffer,将当前有效的512KB数据读出缓冲区韵接口服务为Read_Buffer,假设双端口存储器中不提供硬件信号量,两个缓冲区间的互斥操作由软件标记实现,软件对双端口存储器的单次操作(读写一个字的操作)为原子操作。
下面是用C语言设计的一组对双缓冲区的管理程序代码,请填补该程序代码中的空缺,将答案填写在答题纸上。
int *BufferFlag[2]; /* 0表示无有效数据,0xff表示有新数据 */
int *Mutex[2]; /* 软件锁,0表示未锁定,0xff表示锁定 */
int Read_Buffer(int id,char*data); /* 从缓冲区读数据,用于数据处理模块,id表示缓冲的序列号,0表示缓冲区1,1表示缓冲区2,data为存放读取数据的缓冲,返回值表示读取到有效数据的长度 */
void Write_Buffer(int id, char *data);/* 向缓冲区写数据,用于信号处理模块,id表示缓冲的序列号,0表示缓冲区1,1表示缓冲区2,data为待写入数据的缓冲 */
int INIT_PPC(){ /*数据处理模块端的初始化,缓冲区起始地址为0xffffc000。*/
BufferFlag=(int*)0xffffc000;
Mutex=(int*) 0xffffc010;
*BufferFlag[0]=0;
*BufferFlag[1]=0;
*Mutex[0]=0;
*Mutex[1]=0;
retun (0);
}
int PPC_Read Data(char*Data){ /* 数据处理模块读数据程序段 */
int len=0;
if((!(*BufferFlag[0]))&&(!(*BufferFlag[1]))){
retum (0); /*无新数据*/
}
if(*BufferFlag[0]){
if( (1) ){
*Mutex[0]=0xff;
len= Read_Buffer(0,Data);
*BufferFlag[0]=0x00;
(2);
}
}
else{
if(*BufferFlag[1]){
if(!(*Mutex[1])){
*Mutex[1]= 0xff;
(3)
*BufferFlag[1]=0x00;
*Mutex[1]= 0x00;
}
}
}
return (len),
}
int DSP_Write_Data(){
/*信号处理模块写数据程序段,初始化与数据处理模块端类似,同样以BufferFlag表示与数据处理模块端的对应的标志,即两端操作的是相同的地址空间; 同样Mutex也表示与数据处理模块端的对应的软件锁,即两端操作的是相同的地址空间。这里就略去双口在DSP上的起始地址说明和初始化部分。*/
char Data[1024*512];
while(1){
∥等待信号处理模块产生新的数据并存入数据缓冲Data中;
if(!(*Mutex[0])){
*Mutex[0]=0xff;
Write_Buffer(0,Data);
*BufferFlag[0]= 0xff;
*Mutex[0]= 0x00;
}
else if(!(*MuteX[1])){
*Mutex[1]= 0xff;
Write_Buffer(1,Data);
*BufferFlag[1]=0xff;
*Mutex[1]= 0x00;
}
}
retum (0);
}
【问题3】(3分)
请回答关于面板按键设计过程中的下列问题,将答案填写在答题纸的对应栏中。
在进行面板键盘处理设计时,通常在扫描键盘过程中,按键会产生机械抖动。针对抖动问题,王工认为只有通过硬件设计才能消除抖动,而李工认为用软件方法就可以解决该问题。针对抖动问题,你认为可以采用哪类方式消除?
第7题
B.矩阵式键盘识别起来比较麻烦
C.线反转法通过两次输出和两次读入按键状态,可以完成按键的识别
D.矩阵式键盘不需要消抖处理
第8题
#include<stdio.h>
main()
{
int a[3][3],sum;
int i,j;
______;/*第一空*/
for(i=0;i<3;i++)
for(______)/*第二空*/
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum=______;/*第三空*/
printf("sum=%d\n",sum);
}
第10题
【说明】
某测试设备是一个嵌入式系统,是为了测试一个专用设备而研制的,如下图所示。测试设备用于测试被测设备的各项软、硬件功能,包括2路RS232串口、2路模拟量、电源以及专用设备的其他内部部件。在被测专用设备内部有专门的自检测程序,来测试内部各部件。测试设备的串口与被测设备相连接,加电后,通过按测试设备的周边键与被测设备握手同步,再向被测设备发送检测消息,被测设备测试自己的某项功能后,通过串口将测试结果发回给测试设备,显示在测试设备的LCD屏上。
测试设备的硬件由处理器模块、IO模块和电源模块组成,处理器模块上有CPU、存储器、2路串口、键盘控制器;IO模块上有D/A、A/D转换器,用作为模拟量输入和采集电源的电压值,以测试被测设备的模拟量和电源;电源模块提供测试设备的电源;测试设备模块间采用ISA总线。
测试设备的2路串口与被测设备相连,同时测试设备的D/A、A/D转换控制器的输入线路与被测设备的模拟量和电源线相连,可直接测试被测设备的2路RS232串口、2路模拟量、电源。
测试设备的软件由底层驱动(串口驱动、D/A、A/D驱动和自定义键盘驱动)、嵌入式操作系统和测试软件组成。
设存储器容量为4兆字,字长32位,模块数为4,分别用顺序方式和交叉方式进行组织,存储周期为200ns,数据线宽度32位,总线传送周期为50ns,请计算顺序存储器和交叉存储器的平均存取时间(单位:ns)和带宽(单位:位/秒)。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!