考生信息栏院(系)班级姓名学号………………………………………………装……………………订……………………线……………………………………2007—2008学年第2学期物理与机电工程学院05级电子信息(本)专业《微机原理与接口技术》期末试卷(B)题号分数一二三四五总分评卷人复核人试卷类别:开卷()闭卷(√)考试用时:120分钟考试时间:2008年7月1日下午考试地点:文203注意事项1、学生的院(系)别、专业、班级、姓名、学号必须填写在考生信息栏内指定的位置。2、学生在考试之前必须填写考试时间和地点。3、答题字迹要清楚,并保持卷面清洁。考生考试诚信承诺书在我填写考生信息后,表示我已阅读和理解《龙岩学院考试纪律与违纪处分办法》的有关规定,承诺在考试中自觉遵规守纪,如有违反将接受处理;我保证在本科目考试中,本人所提供的个人信息是真实、准确的。考生签名:考生信息栏院(系)班级姓名学号………………………………………………装……………………订……………………线……………………………………一、填空题(每空1分,共20分)1、程序控制下的数据传送,通过CPU执行程序中的I/O指令来完成数据传送,分为、和中断传送。2、通用微型计算机的硬件是由中央处理器(CPU)、、存储器、输入输出设备及其组成的。3、设异步传输时的波特率为115200bps,若每个字符对应一位起始位,七位有效数据位,一位偶校验位,一位停止位,则每秒钟传输的最大字符数是。4、中断系统的作用实现操作、处理异常事故、。5、计算机基本接口部件主要有、、、串行通信等。二、简答题(共10分)1、为个么要进行按键消除抖动的处理,在软件上通常采用什么样方法消除抖动?(5分)2、在LPC2138中属于串行通信的部件有哪些?说明它们各自的主要用途。(5分)二、设计与应用(共10题,每题10分,任选题目,满分50分)(部分子程序被省略)1、请对下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include"config.h"/*LED8~LED18个LED分别由P1.25~P1.18控制P1[25:18]控制LED8~LED1,低电平点亮*/constuint32LEDS8=(0xFF<<18);voidDelayNS(uint32dly){uint32i;for(;dly>0;dly--)for(i=0;i<50000;i++);}intmain(void){uint8i;PINSEL2=PINSEL2&(~0x08);IO1DIR=LEDS8;while(1){for(i=0;i<8;i++){IO1SET=~(LEDS8&(7<<(18+i)));DelayNS(20);IO1CLR=LEDS8&(7<<(18+i));DelayNS(20);}}return0;}考生信息栏院(系)班级姓名学号………………………………………………装……………………订……………………线……………………………………2、请对下面程序添加注释(3分),说明其程序功能(3分),画出程序流程图(4分)。#include"config.h"uint8rcv_buf[8];//UART0数据接收缓冲区volatileuint8rcv_new;//接收新数据标志void__irqIRQ_UART0(void){uint8i;if((U0IIR&0x0F)==0x04)rcv_new=1;for(i=0;i<8;i++){rcv_buf[i]=U0RBR;}VICVectAddr=0x00;}intmain(void){UARTMODEset;set.datab=8;set.stopb=1;set.parity=0;rcv_new=0;PINSEL0=0x00000005;//设置I/O连接到UART0UART0_Init(115200,set);U0FCR=0x81;//使能FIFO,并设置触发点为8字节U0IER=0x01;//允许RBR中断,即接收中断IRQEnable();VICIntSelect=0x00000000;//设置所有的通道为IRQ中断VICVectCntl0=0x20|0x06;//UART0分配到IRQslot0VICVectAddr0=(uint32)IRQ_UART0;VICIntEnable=1<<0x06;while(1){if(rcv_new==1){rcv_new=0;UART0_SendBuf();}}return0;}3、请对下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include"config.h"#defineCAT10250xA0/*CAT1025器件从机地址*/#defineBEEP1<<7/*蜂鸣器BEEP控制口,P0.7,低电平蜂鸣*/intmain(void){uint8i;uint8data_buf[32];PINSEL0=0x00000000;PINSEL1=0x00000000;IO0DIR=BEEP;IO0SET=BEEP;IRQEnable();I2C1Init(100000);//I2C初始化,100Kfor(i=0;i<10;i++)data_buf[i]=i+'0';/*往起始地址0x00开始写入10个数据*/I2C_WriteNByte(CAT1025,...