电动汽车充电桩(示意图如右图所示)以S3C2410芯片为核心,并外加其他功能电路来进行设计,其基本功能描述如下:a、充电桩支持2种充电方式,一种是固定金额方式,如:充300元的电能。那么,所充电能的金额等于300元后自动停止充电;另一种是随机充电,即:随时按“停止”键来停止充电,若未按“停止”键,则电池充满后也会自动停止充电。b、支持现金和IC卡付费。IC卡是预付费卡,金额不足将报警。c、能够通过RS一485总线与后台结算服务器连接,传递结算信息。d、用LCD显示器来显示被充电电池的电量情况,并显示充电时间、金额等信息。根据上述功能要求的描述,请完善下面的叙述(程序)和回答有关的问题。(完善程序或回答问题所需的寄存器格式见题后附录)。(1)充电桩控制器设计时,需设计一个键盘,键盘中应包含0~9数字键及“切换”、“启动”、“停止”等3个命令键。其键盘接口设计成4×4的阵列(按键排列示意如下图所示)。下图中的键盘接口电路中选用GPE4~GPE7来输出键盘行扫描信号,选用(GPE0~CPE3来输入键盘列信号。软件设计时设计者自行设计键盘扫描函数,请你补充完善之://**KEYOUTPUT是键盘扫描时的输出地址,KEYINPUT是键盘读入时的地址#defineKEYOUTPUT(*(volatile INT8U *)0x56000044)//0x56000044是GPE端口数据寄存器的地址#define KEYINPUT(*(volatile INT8U *)0x56000044)INT16U ScanKey(){INT16U key=0xFFFF;INT16U i;INT8U temp=0xFF,output;//仅初始化GPE4~GPE7为输出rGPECON=((rGPECON0xFFFF00FF)|【81】);//仅初始化GPE0~GPE3为输入rGPECON=rGPECON&【82】;//rGPECON是对应GPE端口控制寄存器的变量for(i=【83】;i{output|=0xFF:output=(一i);//键盘行信号求反KEYOUTPUT=output;//通过GPE端口数据寄存器输出行信号temp=KEYINPUT;//通过GPE端口数据寄存器读列信号,该列无键按下时列信号是1if((temp0x0F)!= 【84】)//判断是否有键按下{key=(~i);keykey|=temp|0xF0;//列信号存于变量key的低8位中,无用位置1return(key);//返回键码值}}return 0xFFFF;}上面的键盘扫描函数返回的是键码值,程序中循环【85】次来扫描所有键盘行,若所有行均无键按下时,返回的键码值应为:【86】。若有按键按下,则返回该键对应的键码值。例如:若按下的是键盘中“8”键,则函数返回值为:【87】,若按下的是键盘中“启动”键,则函数返回值为:【88】。(2)IC卡读写电路设计时,选用IC卡读写模块通过I2C总线接口与S3C2410连接,设计时利用$3C2410芯片内部的专用I2C总线引脚,即GPE端口的【89】引脚和【90】引脚连接到IC卡读写模块的I2C总线引脚SDA和SCL上。那么,相关驱动程序中需要用语句:rGPECON=(rGPECON|0xA0000000) 【91】来初始化GPE端口相关引脚为I2C总线功能的引脚。(3)为了实现与后台结算服务器连接,选择S3C2410内部的UART1部件,并外加电平转换芯片来实现支持RS一485串行通信的接口电路。下面一段程序是初始化UART1部件(注:UART1的波特率要求为:9600bps,数据格式要求为:8位数据、1位停止位、奇校验,主频为PCLK)。void UART1_Init(){rGPHCON=(rGPHCON0xFFFFF0FF)|【92】;//端口H相应引脚功能初始化rUFCON1=0x0;//FIF0 disahlerUMCON1=0x0;ruLCON1=(【93】【94】);//设置线路控制寄存器rUCON1=0x245;//设置控制寄存器rUBRDIV1=((int)(PCLK/【95】+0.5)一1);//设置波特率,小数采用四舍五入}(4)充电桩的LCD显示器,由于显示的内容不复杂,因此选用16色LCD屏。设计LcD屏接口电路时,选用S3C2410芯片的GPC0~GPC7连接到LCD模块的8位数据线上,用来传输显示信息。在相关驱动程序中,可以用以下语句来初始化GPC0~GPC7为输出:rPCCON=((rGPCCON|0x00005555) 【96】)//rGPCCON对应GPC端口的控制寄存器设计时,选择专用电池电量检测芯片来测量被充电电池的电量。该芯片能提供被测电池的电量信息,并具有1个电量充满状态的引脚。若设计时,将该引脚连接到S3C2410芯片的GPF0引脚上,使该引脚有效后产生中断信号,立即执行停止充电程序,防止过充。在相关驱动程序中,可以用以下语句来初始化GPF0为中断请求信号输入:rGPFCON=((rGPFCON0xFFFFFFFC)|【97】)//rGPFCON对应GPF端口的控制寄存器(5)充电桩的应用软件将在无操作系统环境下进行开发。若设计者自行设计一个启动引导程序,来引导应用程序。启动引导程序中需要完成异常向量表的设置。ARM9体系结构中规定异常向量之间各相差【98】个字节,因此,需要在各异常向量处设计一条分枝指令。对于S3C2410微处理器来说,其启动引导程序还需要完成禁止【99】部件和禁止中断,并设置各工作模式下的【100】指针。说明:下面是试题解答时需要用到的寄存器格式及存着说明。1)端口E控制寄存器(GPECON)的格式2)ULCONn寄存器的格式3)GPHCON寄存器的格式4)GPCCON寄存器的格式5)GPFCON寄存器的格式
下面是关于μC/OS–II任务管理中空闲任务(Idle task)的叙述,其中错误的是( )。
在μC/OS—Ⅱ系统中,可以采用的任务间通信机制有【69】、【70】、信号量、互斥信号量和事件标志组等。
嵌入式系统的性能在很大程度上是由CPU 决定的,CPU 的性能主要表现为指令执行速度的快慢。下列选项中不直接影响CPU速度的是( )。
一般而言,设备驱动程序的功能不包括( )。
下面是关于嵌入式系统使用的存储器的叙述,其中错误的是( )。
将R1中的8位二进制数存储到由R2+1指示的单元,并自动更新地址的ARM指令是( )。
下列关于μC/OS—Ⅱ操作系统的陈述中,不正确的是( )。
下列关于Linux的陈述中,不正确的是( )
下列关于μC/OS—Ⅱ操作系统的描述中,错误的是( )。
下列各项中,不属于静态图像格式的是( )。
下面关于嵌入式最小硬件系统的叙述中,错误的是( )。
具有操作系统的嵌入式系统加电后最初执行的操作称为引导或者自举(Boot),对应的程序称为引导程序,或者引导加载程序(Bootloader)。引导加载程序主要完成【71】、外设存在自检、内存地址映射、初始化外围设备、内存寻址定位、加载并启动【72】。
μC/OS—Ⅱ系统中的每个任务都处在以下5种状态之一:休眠态、就绪态、运行态、挂起态(等待某一事件发生)和被中断态。以下哪个说法是错误的?
若某嵌入式系统的应用程序基于μC/OS–II操作系统平台来开发,那么,应用程序的main 1函数中,需要用函数【79】来创建任务。创建任务前用函数【80】来初始化μC/OS–II。
8段共阴极LED数码管示意如下图所示,为显示英文字母b,其编码(按dp g f e d c b a的顺序排列)是( )。
下图给出了两种LED数码管的内部结构原理图,其中图(a)为共【63】极LED数码管,图(b)为共【64】极LED数码管。
一般而言,设备驱动程序的功能不包括( )。
Andriod系统采用堆层式软件架构,分为四层,从低层到高层分别是【63】系统运行库、应用程序框架和【64】。
手机最基本的功能是打电话和接听电话,在此过程中手机必须对话音信号进行处理,下面有关叙述中错误的是( )。
