移动POS机(如图所示)是常用于饭店、商场等场所的支付终端,用来完成对银行卡的刷卡并与后台PC机进行信息交换。其基本功能要求有:
a、能够读取各种银行发的磁条卡和芯片卡。
b、具有1个键盘,可以用于输入密码、交费金额及一些命令。
c、具有1个可以显示交费金额的显示器。显示的字符是0~9,最大可显示6位数值。
d、具有与后台PC机进行无线通信的功能,可以把刷卡信息与后台数据库进行交互。
e、具有1个小型打印机,可以打印消费清单。

根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该移动POS机的硬件平台,请完善下面的叙述(程序)和回答有关的问题。(完善程序或回答问题所需的寄存器格式见题后的附录)。
(1)银行芯片卡中拥有一块存储容量较大的芯片,且具有I
2C总线接口,因此,在设计芯片卡接口电路时,选用S3C2410芯片端口E的引脚
【81】来分别与芯片卡的SDA、SCL相连。
软件设计时,相关驱动程序中需要用下面语句来初始化该引脚的功能。
rPECON=((rGPECON
【82】)&0xAFFFFFFF);//rGPECON是端口E的控制寄存器
(2)在设计移动POS机的键盘接口电路时,键盘接口设计成5×4的阵列(其按键排列示意图所示)。键盘接口电路中选用GPE0~GPE4来输出键盘行扫描信号,选用GPC0~GPC3来输入键盘列信号。软件设计时设计者自行设计了键盘扫描函数,请你补充完善之:

//**KEYOUTPUT是键盘扫描时的输出地址,KEYINPUT是键盘读入时的地址
#define KEYOUTPUT(*(volatile INT8U *)0x56000044)
#define KEYINPUT(*(volatile INT8U *)0x56000024)
INT16U ScanKey()
{
INT16U key=0xFFFF;
INT16U i;
INT8U temp=0xFF,output;
rGPECON=((rGPECON&
【83】)|0x00000155);//只初始化GPE0~GPE4为输出
rGPCCON=rGPCCON&
【84】);//只初始化GPC0~GPC4为输入
//下面循环扫描键盘,判断是否有按键按下
for(i=1;((i< =
【85】)&&(i >0));i< < =1)
{
output|=0xFF:
output&=(~i);
KEYOUTPUT=output;//输出行扫描信号
temp=
【86】;//读取列信号
if((temp&0x0F)!=
【87】)
{
key=(~i);
key < < =8;
key |=((temp&0x0F)|0xF0);
return(Key);
}
}
return 0xFFFF;
}
根据上面的键盘扫描函数的返回值,可以判断是否有按键按下,若没有键按下,返回值应为:
【88】,若有键按下,返回值是其对应的扫描码。例如:若键盘中的“确认”键被按下,返回值为:
【89】,若键盘中的“2”键按下,返回值为:
【90】。
(3)若在硬件设计时,选用6个共阴极的8段LED(其排列如图所示)来组成显示器,用于显示需要交费的金额。选用GPF0~GPF6、GPF7外接同向驱动后,分别连接到6个LED的a~f、dp段信号线上,选用GPD0~GPD5外接同向驱动后分别连接到6个LED的位信号线上。那么,在相关驱动程序中,可以用下面语句来初始化GPF0~GPF7的引脚功能:

rGPFCON=
【91】;//rGPFCON是端口F的控制寄存器
并可用下面语句:来初始化GPDO~GPD5的引脚功能:
rGPDCON=((rGPDCON |
【92】)&0x FFFFF555);//rGPDCON是端口D的控制寄存器若CPD0~GPD5依次分别控制显示器中的低数据位~高数据位的6个LED位信号线。
那么,若只在显示器中的最高数据位对应的LED上显示字符“5”,相关驱动程序中可用下面语句实现。
rGPFDAT=
【93】;//输出“5”对应的段码,rGPFDAT是端口F的数据寄存器
rGPDDAT=rGPDDAT&
【94】;//输出对应的位信号,rGPDDAT是端口D的数据寄存器若只在显示器中的最低数据位对应的LED上显示字符“7”,相关驱动程序中可用下面语句实现。
rGPFDAT=
【95】;
rGPDDAT=rGPDDAT&
【96】;
(4)在设计与后台PC机进行无线通信的接口硬件时,选用GSM模块通过SPI总线来与S3C2410芯片连接。SPI总线是一种
【97】外设接口总线,在时钟信号控制下,一位一位传输。若用端口E中的SPIO功能引脚来设计此接口电路,那么,在相关驱动程序中,需用下面语句来初始化它们作为SPIO引脚使用。
rGPECON=((rGPECON&0xF03FFFFF)|
【98】);//rGPECON是GPE端口的控制寄存器
(5)在设计打印机接口电路时,若选用内部有1 K×8bit缓冲区的打印机模块,利用S3C2410芯片的低8位数据线与打印机模块的数据线连接,用nGCS2连接其片选信号,其他信号(地址线、读/写信号)也一一连接。需要打印的信息需送到缓冲区,然后启动打印。那么,软件写入该缓冲区的首地址为
【99】,末地址为
【100】。(注:存储系统为小端存储方式)。
说明:下面是试题解答时需要用到的寄存器格式
1)端口C控制寄存器(GPCCON)的格式

2)端口D控制寄存器(GPDCON)的格式

3)端口E控制寄存器(GPECON)的格式

4)端口F控制寄存器(GPFCON)的格式