2019年计算机三级嵌入式系统开发技术综合真题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年计算机三级嵌入式系统开发技术综合真题及答
案
三、综合题
1、某机械设备的控制器,其基本功能要求有:
需要有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的位描述