




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考生信息栏 院(系) 班级 姓名 学号 装订线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/* LED8LED1 8个LED分别由P1.25P1.18控制P125:18控制LED8LED1,低电平点亮*/const uint32 LEDS8 = (0xFF 0; dly-)for (i=0; i50000; i+);int main (void)uint8 i;PINSEL2 = PINSEL2 & (0x08);IO1DIR = LEDS8;while (1)for (i=0; i8; i+)IO1SET = (LEDS8 & (7 (18+i);DelayNS(20);IO1CLR = LEDS8 & (7 (18+i);DelayNS(20); return 0;考生信息栏 院(系) 班级 姓名 学号 装订线2、请对下面程序添加注释(3分),说明其程序功能(3分),画出程序流程图(4分)。#include config.huint8 rcv_buf8;/ UART0数据接收缓冲区volatile uint8 rcv_new;/ 接收新数据标志void _irq IRQ_UART0 (void)uint8 i;if (U0IIR & 0x0F) = 0x04)rcv_new = 1;for (i=0; i8; i+)rcv_bufi = U0RBR;VICVectAddr = 0x00;int main (void)UARTMODE set;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分配到IRQ slot0VICVectAddr0 = (uint32)IRQ_UART0; VICIntEnable = 1 0x06;while (1)if (rcv_new = 1)rcv_new =0;UART0_SendBuf(); return 0;3、请对下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include config.h#defineCAT10250xA0/* CAT1025器件从机地址*/#defineBEEP1 7/* 蜂鸣器BEEP控制口,P0.7,低电平蜂鸣*/int main (void)uint8 i;uint8 data_buf32;PINSEL0 = 0x00000000;PINSEL1 = 0x00000000;IO0DIR = BEEP;IO0SET = BEEP;IRQEnable();I2C1Init(100000);/ I2C初始化,100Kfor (i=0; i10; i+)data_bufi = i + 0;/* 往起始地址0x00开始写入10个数据*/I2C_WriteNByte(CAT1025, ONE_BYTE_SUBA, 0x00, data_buf, 10);/I2C_WriteNByte(CAT1025, 0, 0x00, &i, 1);DelayNS(10);for (i=0; i10; i+)data_bufi = 0;/* 读回刚才写入的数据 */I2C_ReadNByte(CAT1025, ONE_BYTE_SUBA, 0x00, data_buf, 10);for (i=0; i10; i+)if (data_bufi != (i + 0)while (1)IO0SET = BEEP;DelayNS(20);IO0CLR = BEEP;DelayNS(20);IO0CLR = BEEP;DelayNS(50);IO0SET = BEEP;while (1); return 0;4、面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include config.h #define HC595_CS (1 29) / P0.29口为74HC595的片选uint8 MSPI_SendData(uint8 data) /略/* 此表为LED0F以及L、P的字模 */uint8 const DISP_TAB19 = / 0 1 2 3 4 5 6 7 8 9 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,/ A b C d E F0x88, 0x83, 0xC6, 0xA1,0x86, 0x8E,/ L P C 0xC7, 0x8C,0xC6 ;/* 此表为LPC2131字模 */L P C 2 1 3 1uint8 const LPC21317 = 0xC7, 0x8C, 0xC6, 0xA4, 0xF9, 0xB0, 0xF9; uint8 rcv_data; int main (void) uint8 i; PINSEL0 = 0x00005500;/ 设置SPI管脚连接 PINSEL1 = 0x00000000; IODIR = HC595_CS; MSPI_Init(); / 初始化SPI接口 while(1) for(i=0; i16; i+) rcv_data = MSPI_SendData(DISP_TABi);/ 发送显示数据 DelayNS(80); / 延时 for(i=0; i7; i+) rcv_data = MSPI_SendData(LPC2131i);/ 发送显示数据 DelayNS(80); / 延时 return 0;5、下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include config.hint main (void)PINSEL0 = 2 24;/ P0.12连接匹配1.0T1PR = 99;/ 分频T1MCR = 0x02;/ 设置T1MR0匹配后将T1TC复位T1EMR = 0x30;/ T1MR0匹配后MAT1.0输出翻转T1MR0 = 110592/10;/ 输出频率周期控制T1TCR = 0x03;/ 启动并复位T1TCT1TCR = 0x01;while (1); return 0;6、下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include config.h#include music.h/* 歌曲曲谱 虹彩妹妹*/const uint32 HCMM =/略;/* 歌曲节拍 */const uint32 HCMM_L =/略;int main (void) uint8 i; PINSEL0 = 0x02 14;/ P0.7选择PWM2功能 PWMPR = 0x00; / 不分频,计数频率为Fpclk PWMMCR = 0x02;/ 设置PWMMR0匹配时复位PWMTC PWMPCR = 0x0400;/ 允许PWM2输出,单边PWM PWMMR0 = Fpclk / 1000; PWMMR2 = PWMMR0 / 2;/ 50%占空比 PWMLER = 0x05;/ PWM0和PWM2匹配锁存 PWMTCR = 0x02; / 复位PWMTC PWMTCR = 0x09; / 启动PWM输出 while(1) for(i = 0; i sizeof(HCMM); i+) PWMMR0 = Fpclk / HCMMi; / 设置输出频率PWMLER = 0x05; / 更新匹配值后,必须锁存 Delay(HCMM_Li);/ 延时,控制播放速度 return 0;7、下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include config.hint main (void)uint32 ADC_Data;char str20;PINSEL0 = 0x00000005;/ 管脚连接串口PINSEL1 = 1 28;/ P0.30连接到AD0.3UART0_Init();/* 进行ADC模块设置 */AD0CR = (1 3)|/ SEL=8,选择通道3(Fpclk / 1000000 - 1) 8)|/ CLKDIV=Fpclk/1000000-1,转换时钟为1MHz(0 16)|/ BURST=0,软件控制转换操作(0 17)|/ CLKS=0, 使用11clock转换(1 21)| / PDN=1,正常工作模式(0 22)| / TEST1:0=00,正常工作模式(1 24)|/ START=1,直接启动ADC转换(0 27); / 直接启动ADC转换时,此位无效DelayNS(10);ADC_Data = AD0DR;/ 读取ADC结果,并清除DONE标志位while (1)AD0CR |= 1 24;/ 进行第一次转换while (ADDR & 0x80000000) = 0);/ 等待转换结束AD0CR |= 1 6) & 0x3ff;ADC_Data = ADC_Data * 2480;/ 参考电压经过3/4分压ADC_Data = ADC_Data / 1024;sprintf(str, %4d mV VIN3, ADC_Data);ISendStr(0,0,0x30,str);return 0;8、下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include config.h#define BEEP 1 7/ P0.7控制蜂鸣器void _irq RTC_Int(void) if(IO0SET & BEEP) = 0) IO0SET = BEEP; else IO0CLR = BEEP; ILR = 0x01;/ 清除RTC增量中断标志 VICVectAddr = 0;/ 向量中断结束int main (void) IO0DIR = BEEP; IO0SET = BEEP; IRQEnable(); /* RTC初始化 */ PREINT = Fpclk / 32768 - 1; / 设置基准时钟分频器 PREFRAC = Fpclk - (Fpclk / 32768) * 32768; CIIR = 0x01; / 设置秒值的增量产生一次中断 ILR = 0x03;/ 清除RTC增量和报警中断标志 CCR = 0x01;/ 启动RTC VICIntSelect = 0x00;/ 设置所有中断连接IRQ中断 VICVectCntl0 = 0x20 | 13;/ 分配通道0 VICVectAddr0 = (int)RTC_Int; / 设置中断服务程序地址 VICIntEnable = (1 13); / 使能RTC中断 while(1); / 等待中断 return 0;9、下面程序添加注释(3分),说明其程序功能(3分),并根据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4分)。#include config.h#define LED1 1 18/ P0.18控制LED1#define KEY1 1 16/ P0.16#define KEY2 1 17/ P0.17#define BEEP 1 7/ P0.7控制蜂鸣器int main(void) uint32 i,j; PINSEL0 = 0x00000000;PINSEL2 = PINSEL2 & (0x08);/ P125:16连接GPIO IO0DIR = BEEP; IO1DIR = LED1; IO0SET = BEEP;while( WDMOD & 0x04 ) = 0x04) / 判断看门狗超时标志 for(j = 0; j 0xFFFFF; j+); if(IO0SET & BEEP) = 0) IO0SET = BEEP; if(IO0PIN & KEY2) = 0) WDMOD = 0x00;/ 如果KEY2按下,则软件清零看门狗超时标志位 else IO0CLR = BEEP;/ 蜂鸣器鸣叫 /* 如果没有发生看门狗复位或者看门狗超时标志已经清除,则初始化看门狗 */ WDTC = 0xff000; / 设置看门狗定时器参数WDMOD = 0x03; / 设置看门狗模式:中断且复位 WDFEED = 0xAA;/ 第一次喂狗启动WDTWDFEED = 0x55; /* 正常情况下,闪烁LED1 */ while(1) /* 用按键模拟导致无法周期性喂狗的意外情况 */ while(IO0PIN & KEY1) = 0); / 如果按键1按下,就停止喂狗 for(j = 0; j 0xFF; j+)/ LED1闪烁周期 for(i = 0; i 0x0FFF; i+); / 喂狗周期 WDFEED = 0xAA;/ 喂狗时序WDFEED = 0x55; /* 闪烁LED
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版停薪留职期间员工权益保护合同范本
- 2025年高新技术产业园区承包经营权永久转让合同
- 2025年度通讯行业人才培养合作合同样本
- 2025年度智能照明灯具系统集成合同范本集
- 2025年度生态农业项目复杂运营适用合同
- 2025版在线教育平台外教直播课程聘用与教学合同
- 2025版危险品道路运输合同规范文本
- 2025版淘宝平台电商虚拟货币交易合同
- 2025版试用员工劳动合同及薪资福利标准
- 2025年车辆抵押借款担保与绿色金融创新合作协议
- 医疗医疗信息化管理制度
- 风力发电项目工程承包合同
- 科技创新小企业财务管理制度
- 2024版中式烧烤加盟经营合作协议书3篇
- 1例胃癌术后并发肠梗阻患者的疑难病例讨论
- 生物安全管理手册
- 美团配送站长述职报告
- 《刺络放血疗法》课件
- 沪教深圳版八年级英语下册单词表
- 《口腔材料学》教材笔记(12章全)
- 新能源汽车维护与故障诊断-课件-项目二-新能源汽车故障诊断技术
评论
0/150
提交评论