

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2007 2008 学年第2学期物理与机电工程学院05 级 电子信息(本)专业微机原理与接口技术期末试卷(B)注意事项1 1 学生的院(系)别、专业、班级、 姓名、学号必须填写在考生信息栏内指定 的位置。)系(院考试用时:120120分钟考试时间:20082008 年 7 7 月考试地点:文 2032031 1 日下午3 3、答题字迹要清楚,并保持卷面清洁题号分数一一一二二二-三四五总分评卷人复核人试卷类别:开卷()闭卷(V)2 2、学生在考试之前必须填写考试时间 和地点。考生考试诚信承诺书在我填写考生信息后,表示我已阅读和理解龙岩学院考试纪律 与违纪处分办法的有关规定,承诺在考试中自觉遵规守
2、纪,如有违 反将接受处理;我保证在本科目考试中,本人所提供的个人信息是真 实、准确的。考生签名:一、填空题(每空 1 分,共 20 分)1、程序控制下的数据传送,通过CPU 执行程序中的 I/O 指令来完成数据传送,分为、和中断传送。3、设异步传输时的波特率为115200bps,若每个字符对应一位起始位,七位有效数据位一位偶校验位,一位停止位,则每秒钟传输的最大字符数是。4、中断系统的作用实现操作、处理异常事故、。二、简答题(共 10 分)1、为个么要进行按键消除抖动的处理,在软件上通常采用什么样方法消除抖动?(2、在 LPC2138 中属于串行通信的部件有哪些?说明它们各自的主要用途。2、
3、通用微型计算机的硬件是由中央处理器 ( 成的。CPU) 、 、存储器、输入输出设备及其组5、计算机基本接口部件主要有、 、 、 串行通信等。5 分)级班)系(院(5分)int main (void)uint8i。PINSEL2 = PINSEL2 & (0 x08)。IO1DIR while (1)=LEDS8。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、分),画出程序流程图(4 分)。#in clude con fig.huint8 rcv_buf8。/ UARTO 数据接收缓冲区volatile uint8 rcv_new。/ 接收新数据标志void _irq IRQ_UART0 (void)uint8 i。if (U0IIR & 0 x0F) = 0 x04)rcv new = 1。二、设计与应用(共 10 题,每题 10 分,任选题目,满分 50 分)(部分子程序被省略)1、请对下面程序添加注释(3 分),说明其程序功能(3 分),并根据你的想法对程序的功 能进行部分修改,说明修改后程序功能的变化(4 分)。#in elude
5、con fig.h/* LED8LED1 8 个 LED 分别由 P1.25P1.18 控制 P125:18控制 LED8LED1,低电平点 亮*/const uint32 LEDS8 = (OxFF 0。 dly-)for (i=0。i50000。i+)。for (i=0 。 i8 。 i+)rcv_bufi = U0RBR 。VICVectAddr = 0 x00 。int main (void) UARTMODE set 。set.datab = 8 。set.stopb = 1 。set.parity = 0 。 rcv_new = 0 。PINSEL0 = 0 x00000005 。
6、 / 设置 I/O 连接到 UART0 UART0_Init(115200, set) 。U0FCR = 0 x81。 / 使能 FIFO ,并设置触发点为 8 字节U0IER = 0 x01 。 / 允许 RBR 中断,即接收中断 IRQEnable() 。VICIntSelect = 0 x00000000 。/ 设置所有的通道为 IRQ 中断VICVectCntl0 = 0 x20 | 0 x06 。 / UART0 分配到 IRQ slot0VICVectAddr0 = (uint32)IRQ_UART0 。VICIntEnable = 1 0 x06 。while (1)if (rc
7、v_new = 1) rcv_new =0 。 UART0_SendBuf() 。return 0 。3、请对下面程序添加注释( 3 分),说明其程序功能( 3 分),并根据你的想法对程序的功 能进行部分修改,说明修改后程序功能的变化( 4 分)。#include config.h#define CAT1025 0 xA0 /* CAT1025 器件从机地址 */#define BEEP1 7/*蜂鸣器 BEEP 控制口,P0.7,低电平蜂鸣*/int main (void) uint8 i 。uint8 data_buf32 。PINSEL0 = 0 x00000000 。PINSEL1 =
8、 0 x00000000 。IO0DIR= BEEP 。IO0SET = BEEP 。IRQEnable() 。I2C1Init(IOOOOO)。/I2C 初始化,100Kfor (i=0 。i10。i+)data_bufi = i + 0 。/* 往起始地址 0 x00 开始写入 10 个数据 */I2C_WriteNByte(CAT1025, ONE_BYTE_SUBA, 0 x00, data_buf, 10)。/I2C_WriteNByte(CAT1025, 0, 0 x00, &i, 1)。DelayNS(10) 。for (i=0 。 i10。i+)data_bufi =
9、0 。/* 读回刚才写入的数据 */I2C_ReadNByte(CAT1025, ONE_BYTE_SUBA, 0 x00, 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 分),并根据你的想法对程序的功能进行 部分修
10、改,说明修改后程序功能的变化( 4 分)。#include config.h#defineHC595_CS(1 29)/ P0.29 口为 74HC595 的片选uint8 MSPI_SendData(uint8 data) /略/*此表为 LEDOF 以及 L、P 的字模*/uint8 const DISP_TAB19 = / O 123456789OxCO,OxF9,OxA4,OxBO,Ox99,Ox92,Ox82,OxF8, Ox8O,Ox9O,/ A b C d EF10 x88, 0 x83, 0 xC6, 0 xA1,0 x86, 0 x8E, / L P C0 xC7, 0 x8
11、C,0 xC6 。/* 此表为 LPC2131 字模 */ L P C 2 1 3 uint8 const LPC21317 = 0 xC7, 0 x8C, 0 xC6, 0 xA4, 0 xF9, 0 xB0, 0 xF9uint8 rcv_data。 int main (void) uint8 i 。PINSEL0 = 0 x00005500 。 / 设置 SPI 管脚连接 PINSEL1 = 0 x00000000 。IODIR = HC595_CS 。MSPI_Init() 。 / 初始化 SPI 接口while(1) for(i=0 。 i16 。 i+)rcv_data = MSP
12、I_SendData(DISP_TABi)DelayNS(80) 。 / 延时for(i=0 。 i7 。 i+)rcv_data = MSPI_SendData(LPC2131i) 。DelayNS(80) 。return 0。5、下面程序添加注释( 3 分),说明其程序功能( 3 分),并根据你的想法对程序的功能进 行部分修改,说明修改后程序功能的变化(4分)。#includeconfig.hint main (void)PINSEL0= 2 24 。/ P0.12 连接匹配 1.0T1PR = 99 。/ 分频T1MCR =0 x02 。/ 设置 T1MR0 匹配后将 T1TC 复位T1
13、EMR =0 x30 。/ T1MR0 匹配后 MA T1.0 输出翻转T1MR0 = 110592/10 。/ 输出频率周期控制T1TCR = 0 x03 。/ 启动并复位 T1TCT1TCR = 0 x01 。while (1) 。/ 发送显示数据/ 发送显示数据/ 延时return 0 。6、下面程序添加注释( 3 分),说明其程序功能( 3 分),并根据你的想法对程序的功能进 行部分修改,说明修改后程序功能的变化( 4 分)。#include config.h #include music.h /* 歌曲曲谱 虹彩妹妹 */ const uint32 HCMM =/略。/* 歌曲节拍
14、*/const uint32 HCMM_L =/略。int main (void)for(i = 0 。 i sizeof(HCMM) 。 i+)PWMMR0= Fpclk / HCMMi 。 / 设置输出频率PWMLER = 0 x05 。/ 更新匹配值后,必须锁存Delay(HCMM_Li) 。/ 延时,控制播放速度return 0 。7、下面程序添加注释( 3 分),说明其程序功能( 3 分),并根据你的想法对程序的功能进 行部分修改,说明修改后程序功能的变化(4 分)。#include config.hint main (void)PWMPR= 0 x00 。/ 不分频,计数频率为 F
15、pclkPWMMCR= 0 x02 。/ 设置 PWMMR0 匹配时复位 PWMTCPWMPCR= 0 x0400 。/ 允许 PWM2 输出,单边 PWMPWMMR0= Fpclk / 1000 。PWMMR2= PWMMR0 / 2 。/ 50% 占空比PWMLER= 0 x05 。/ PWM0 和 PWM2 匹配锁存PWMTCR= 0 x02 。/ 复位 PWMTCPWMTCR= 0 x09 。/ 启动 PWM 输出while(1)= 0 x02 14 。/ P0.7 选择 PWM2 功能uint8 i 。PINSEL0uint32 ADC_Data 。char str20 。PINSE
16、L0 = 0 x00000005 。PINSEL1 = 1 28 。UART0_Init() 。/* 进行 ADC 模块设置 */1MHz| / START=1, 直接启动 ADC 转换(0 27)。/ 直接启动 ADC 转换时,此位无效DelayNS(10) 。ADC_Data = AD0DR 。 / 读取 ADC 结果,并清除 DONE 标志位 while (1)AD0CR |= 1 24 。 / 进行第一次转换while (ADDR & 0 x80000000) = 0) 。 / 等待转换结束AD0CR |= 1 6) & 0 x3ff 。ADC_Data = ADC_D
17、ata * 2480 。/ 参考电压经过 3/4 分压ADC_Data = ADC_Data / 1024 。sprintf(str, %4d mV VIN3, ADC_Data) 。 ISendStr(0,0,0 x30,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
18、= BEEP 。else IO0CLR = BEEP 。/ 管脚连接串口/ P0.30 连接到 AD0.3AD0CR = (1 3)(Fpclk / 1000000 - 1) 8) | / SEL=8, 选择通道 3/ CLKDIV=Fpclk/1000000-1, 转 换 时 钟 为(0 16)|(0 17)|(1 21)|(0 22)|/ BURST=0, 软件控制转换操作/ CLKS=0, 使用 11clock 转换 /PDN=1, 正常工作模式/ TEST1:0=00, 正常工作模式(1 24)ILR = 0 x01 。 / 清除 RTC 增量中断标志VICVectAddr = 0 。
19、/ 向量中断结束int main (void)IO0DIR = BEEP 。IO0SET = BEEP 。IRQEnable() 。/* RTC 初始化 */PREINT = Fpclk / 32768 - 1 。/ 设置基准时钟分频器PREFRAC = Fpclk - (Fpclk / 32768) * 32768 。CIIR = 0 x01 。/ 设置秒值的增量产生一次中断ILR = 0 x03 。 / 清除 RTC 增量和报警中断标志CCR = 0 x01 。/ 启动 RTCVICIntSelect = 0 x00 。 / 设置所有中断连接 IRQ 中断 VICVectCntl0 = 0
20、 x20 | 13 。 / 分配通道 0 VICVectAddr0 = (int)RTC_Int 。 / 设置中断服务程序地址 VICIntEnable = (1 13) 。 /使能 RTC 中断 while(1) 。 / 等待中断 return 0 。9、下面程序添加注释( 3 分),说明其程序功能( 3 分),并根据你的想法对程序的功能进 行部分修改,说明修改后程序功能的变化( 4 分)。#include config.h#defineLED11 18/ P0.18 控制 LED1#defineKEY11 16/ P0.16#defineKEY21 17/ P0.17#defineBEEP
21、1 7/ P0.7 控制蜂鸣器int main(void) uint32 i,j 。PINSEL0 = 0 x00000000 。PINSEL2 = PINSEL2 & (0 x08) 。 / P125:16 连接 GPIO IO0DIR = BEEP 。IO1DIR = LED1 。IO0SET = BEEP 。while( WDMOD & 0 x04 ) = 0 x04) / 判断看门狗超时标志for(j = 0 。 j 0 xFFFFF 。 j+) 。if(IO0SET & BEEP) = 0) IO0SET = BEEP 。if(IO0PIN & KEY
22、2) = 0)WDMOD = 0 x00 。/ 如果 KEY2 按下,则软件清零看门狗超时标志/* 如果没有发生看门狗复位或者看门狗超时标志已经清除,则初始化看门狗 */ WDTC =0 xff000 。 / 设置看门狗定时器参数 WDMOD = 0 x03 。/ 设置看门狗模式:中断且复位WDFEED = 0 xAA 。 / 第一次喂狗启动 WDT WDFEED = 0 x55 。/* 正常情况下,闪烁 LED1 */while(1) /* 用按键模拟导致无法周期性喂狗的意外情况 */while(IO0PIN & KEY1) = 0) 。 / 如果按键 1 按下,就停止喂狗for(j = 0 。 j 0 xFF 。 j+)for(i = 0 。 i 0 x0FFF 。 i+) 。WDFEED = 0 xAA 。WDFEED = 0 x55 。闪烁 LED1 */if(IO1SET & LED1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CAQI 202-2021空气离子测量仪
- T/CAQI 120-2020家用和类似用途饮用水处理装置用反渗透膜组件安全使用寿命评价规范
- T/CAPA 3-2021毛发移植规范
- 宜宾工程师面试题及答案
- 法务岗面试题及答案
- 护士文职面试题及答案
- 奉贤中专面试题及答案
- 副科小组考试题及答案
- 人生规划课件视频
- 单身公寓转让合同范本
- 零基预算改革解读
- 元宇宙技术与应用知到课后答案智慧树章节测试答案2025年春中国科学技术大学
- 内墙涂料施工方案
- 机用虎钳毕业设计论文
- 国家电网考试知识点与试题答案
- 2024年电子商务教师专业发展与提升试题及答案
- 2025年陕西省初中学业水平考试全真模拟化学试题(含答案)
- T-CRHA 089-2024 成人床旁心电监测护理规程
- 广西南宁劳动合同(2025年版)
- 1-学校“1530”安全教育管理工作实施方案及记录
- 特种设备事故隐患举报奖励实施办法
评论
0/150
提交评论