《2022年《微机原理与接口技术》期末试题.docx》由会员分享,可在线阅读,更多相关《2022年《微机原理与接口技术》期末试题.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源2007 2021 学年第 2 学期物理与机电工程学院05 级 电子信息(本)专业微机原理与接口技术期末试卷(B)欢迎下载精品学习资源栏号学 线息信名姓订生 装级班)系考( 院题号分数一二三四五总分评卷人复核人试卷类别:开卷()闭卷( ) 考试用时:120分钟考试时间:2021年 7 月 1 日 下 午考试地点:文 203留意事项1、同学的院(系)别、专业、班级、姓名、学号必需填写在考生信息栏内指定的位置;2、同学在考试之前必需填写考试时间和地点;3、答题字迹要清晰,并保持卷面清洁;欢迎下载精品学习资源考生考试诚信承诺书在我填写考生信息后,表示我已阅读和懂得龙岩学院考试纪律与违纪处
2、分方法的有关规定,承诺在考试中自觉遵规守纪,如有违反将接受处理;我保证在本科目考试中,本人所供应的个人信息是真实、精确的;考生签名:欢迎下载精品学习资源栏号学息信名姓生考级班) 系( 院 线 订 装一、 填空题(每空 1 分,共 20 分)1、程序掌握下的数据传送,通过CPU 执行程序中的 I/O 指令来完成数据传送,分为、和中断传送;2、通用微型运算机的硬件是由中心处理器(CPU)、储备器、输入输出设备及其组成的;3、设异步传输时的波特率为115200bps,如每个字符对应一位起始位,七位有效数据位,一位偶校验位 ,一位停止位 ,就每秒钟传输的最大字符数是;4、中断系统的作用实现操作、处理反
3、常事故、;5、运算机基本接口部件主要有、串行通信等;二、简答题(共 10 分)1、为个么要进行按键排除抖动的处理,在软件上通常采纳什么样方法排除抖动?(5 分)2、在 LPC2138 中属于串行通信的部件有哪些?说明它们各自的主要用途;(5 分)欢迎下载精品学习资源栏号学二、 设计与应用(共 10 题,每题 10 分,任选题目,满分50 分)(部分子程序被省略)1、请对下面程序添加注释(3 分),说明其程序功能(3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h/* LED8LED1 8个 LED 分别由 P1.25P1.1
4、8 掌握 P125:18 掌握 LED8LED1 ,低电平点亮*/const uint32 LEDS8 = 0xFF 0 ; dly-for i=0 ; i50000 ; i+ ;int main voiduint8 i ;PINSEL2 = PINSEL2 & 0x08;IO1DIR= LEDS8 ;while 1for i=0 ; i8 ; i+IO1SET = LEDS8 & 7 18+i;DelayNS20 ;IO1CLR = LEDS8 & 7 18+i;DelayNS20 ;return 0 ;2、请对下面程序添加注释(3 分),说明其程序功能( 3 分),画出程序流程图( 4 分
5、);#include config.huint8 rcv_buf8 ;/ UART0 数据接收缓冲区volatile uint8 rcv_new ;/ 接收新数据标志voidirq IRQ_UART0 voiduint8 i ;if U0IIR & 0x0F = 0x04rcv_new = 1 ;欢迎下载精品学习资源for i=0 ; i8 ; i+rcv_bufi = U0RBR;VICVectAddr = 0x00 ;int main voidUARTMODE set ;set.datab= 8 ;set.stopb= 1 ;set.parity = 0 ;rcv_new = 0 ;PIN
6、SEL0 = 0x00000005 ;/ 设置 I/O 连接到 UART0UART0_Init115200, set ;U0FCR = 0x81 ; / 使能 FIFO ,并设置触发点为8 字节U0IER = 0x01 ;/ 答应 RBR 中断,即接收中断IRQEnable ;VICIntSelect = 0x00000000 ;/设置全部的通道为IRQ 中断VICVectCntl0 = 0x20 | 0x06 ;/ UART0 安排到 IRQ slot0 VICVectAddr0 = uint32IRQ_UART0;VICIntEnable = 1 0x06;while 1if rcv_ne
7、w = 1rcv_new =0 ;UART0_SendBuf ;return 0;3、请对下面程序添加注释(3 分),说明其程序功能(3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h#defineCAT10250xA0/* CAT1025 器件从机地址*/#defineBEEP1 7/*蜂鸣器 BEEP 掌握口,P0.7,低电平蜂鸣*/int main voiduint8 i ;uint8 data_buf32 ;PINSEL0 = 0x00000000 ;PINSEL1 = 0x00000000 ;IO0DIR= BEE
8、P ;欢迎下载精品学习资源IO0SET= BEEP ;IRQEnable ;I2C1Init100000 ;/ I2C 初始化, 100K for i=0 ; i10 ; i+data_bufi = i + 0 ;/*往起始地址 0x00 开头写入 10 个数据 */ I2C_WriteNByteCAT1025, ONE_BYTE_SUBA, 0x00, data_buf, 10;/I2C_WriteNByteCAT1025, 0, 0x00, &i, 1;DelayNS10 ;for i=0 ; i10; i+data_bufi = 0 ;/*读回刚才写入的数据*/I2C_ReadNByte
9、CAT1025, ONE_BYTE_SUBA, 0x00, data_buf, 10;for i=0 ; i10; i+if data_bufi .= i + 0while 1IO0SET = BEEP ;DelayNS20 ;IO0CLR = BEEP ;DelayNS20 ;IO0CLR = BEEP ;DelayNS50 ;IO0SET = BEEP ;while 1 ;return 0 ;4、面程序添加注释(3 分),说明其程序功能(3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(#includeconfig.h4 分);#defineHC595_CS1 2
10、9uint8MSPI_SendDatauint8 data/ P0.29 口为 74HC595 的片选/略/*此表为 LED0 F 以及 L、P 的字模*/uint8 const DISP_TAB19 = /0123456789 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,/AbCdEF欢迎下载精品学习资源0x88, 0x83, 0xC6, 0xA1,0x86, 0x8E,/LPC 0xC7, 0x8C,0xC6 ;/*此表为 LPC2131 字模 */LPC2131uint8 const LPC21317 = 0xC7, 0x8C,
11、0xC6, 0xA4, 0xF9, 0xB0, 0xF9;uint8rcv_data;int main voiduint8i ;PINSEL0 = 0x00005500 ; / 设置 SPI 管脚连接PINSEL1 = 0x00000000 ;IODIR = HC595_CS ;MSPI_Init ;/初始化 SPI 接口while1fori=0 ; i16 ; i+rcv_data = MSPI_SendDataDISP_TABi; / 发送显示数据DelayNS80 ;/ 延时fori=0 ; i7 ; i+rcv_data = MSPI_SendDataLPC2131i;/发送显示数据D
12、elayNS80 ;/延时return 0;5、下面程序添加注释( 3 分),说明其程序功能( 3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h int main voidPINSEL0 = 2 24 ;/ P0.12 连接匹配 1.0T1PR = 99 ;/分频T1MCR = 0x02;/设置 T1MR0匹配后将 T1TC 复位T1EMR = 0x30 ;/ T1MR0 匹配后 MA T1.0 输出翻转T1MR0 = 110592/10 ;/ 输出频率周期掌握T1TCR = 0x03 ;/ 启动并复位 T1TC T1TC
13、R = 0x01 ;while 1 ;欢迎下载精品学习资源return 0;6、下面程序添加注释( 3 分),说明其程序功能( 3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h #include music.h/*歌曲曲谱 虹彩妹妹 */const uint32 HCMM =/ 略 ;/*歌曲节拍 */const uint32 HCMM_L =/ 略 ;int main voiduint8 i ;PINSEL0= 0x02 14 ;/ P0.7 挑选 PWM2 功能PWMPR= 0x00 ;/不分频,计数频率为Fpclk
14、PWMMCR= 0x02 ;/设置 PWMMR0匹配时复位 PWMTCPWMPCR= 0x0400 ;/ 答应 PWM2 输出,单边 PWMPWMMR0PWMMR2= Fpclk / 1000 ;= PWMMR0 / 2 ;/ 50% 占空比PWMLER= 0x05 ;/ PWM0 和 PWM2 匹配锁存PWMTCR= 0x02 ;/ 复位 PWMTCPWMTCR= 0x09 ;/ 启动 PWM 输出while1fori = 0 ; i sizeofHCMM; i+PWMMR0= Fpclk / HCMMi; / 设置输出频率PWMLER= 0x05 ;/ 更新匹配值后,必需锁存DelayHC
15、MM_Li;/ 延时,掌握播放速度return 0;7、下面程序添加注释( 3 分),说明其程序功能( 3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h int main void欢迎下载精品学习资源uint32 ADC_Data ;char str20 ;PINSEL0 = 0x00000005;/ 管脚连接串口PINSEL1 = 1 28 ;/ P0.30 连接到 AD0.3UART0_Init/*进行 ADC;模块设置*/AD0CR = 1 3|/ SEL=8, 挑选通道 3Fpclk / 1000000 - 1 8
16、|/CLKDIV=Fpclk/1000000-1,转 换 时 钟 为1MHz0 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 转换时,此位无效DelayNS10 ;ADC_Data = AD0DR ;/ 读取 ADC 结果,并清除DONE 标志位while 1AD0CR |= 1 24 ;/ 进行第一次转换while ADDR & 0x80000000 = 0;/ 等
17、待转换终止AD0CR |= 1 6 & 0x3ff;ADC_Data = ADC_Data * 2480;/ 参考电压经过3/4 分压ADC_Data = ADC_Data / 1024 ;sprintfstr, %4d mV VIN3, ADC_Data;ISendStr0,0,0x30,str ;return 0;8、下面程序添加注释( 3 分),说明其程序功能( 3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h#defineBEEP1 7/ P0.7 掌握蜂鸣器voidirq RTC_IntvoidifIO0SET
18、& BEEP = 0 IO0SET = BEEP;else IO0CLR = BEEP ;欢迎下载精品学习资源ILR = 0x01 ; /清除 RTC 增量中断标志VICVectAddr = 0 ;/ 向量中断终止int main voidIO0DIR = BEEP ;IO0SET = BEEP ;IRQEnable ;/* RTC 初始化*/PREINT = Fpclk / 32768 - 1 ;/设置基准时钟分频器PREFRAC = Fpclk - Fpclk / 32768 * 32768; CIIR = 0x01 ;/ 设置秒值的增量产生一次中断ILR = 0x03 ; /清除 RTC
19、 增量和报警中断标志CCR = 0x01 ;/ 启动 RTCVICIntSelect = 0x00 ; / 设置全部中断连接IRQ 中断VICVectCntl0 = 0x20 | 13 ; / 安排通道 0 VICVectAddr0 = intRTC_Int;/ 设置中断服务程序地址VICIntEnable = 1 13 ;/使能 RTC 中断while1 ;/ 等待中断return 0;9、下面程序添加注释( 3 分),说明其程序功能( 3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h#defineLED11 18/ P
20、0.18 掌握 LED1 #defineKEY11 16/ P0.16#defineKEY21 17/ P0.17#defineBEEP1 7/ P0.7 掌握蜂鸣器int mainvoiduint32 i,j ;PINSEL0 = 0x00000000 ;PINSEL2 = PINSEL2 & 0x08;/ P125:16 连接 GPIO IO0DIR = BEEP ;IO1DIR = LED1 ;IO0SET = BEEP ;while WDMOD & 0x04 = 0x04 /判定看门狗超时标志forj = 0 ; j 0xFFFFF ; j+ ;ifIO0SET & BEEP = 0I
21、O0SET = BEEP ;ifIO0PIN & KEY2 = 0欢迎下载精品学习资源WDMOD = 0x00 ;/ 假如 KEY2 按下,就软件清零看门狗超时标志位elseIO0CLR = BEEP ;/ 蜂鸣器鸣叫/*假如没有发生看门狗复位或者看门狗超时标志已经清除,就初始化看门狗*/ WDTC= 0xff000 ;/ 设置看门狗定时器参数WDMOD = 0x03 ;/ 设置看门狗模式:中断且复位WDFEED = 0xAA;/ 第一次喂狗启动 WDT WDFEED = 0x55 ;/*正常情形下,闪耀LED1 */while1/*用按键模拟导致无法周期性喂狗的意外情形whileIO0PIN
22、 & KEY1 = 0;*/ 假如按键 1 按下,就停止喂狗forj = 0 ; j 0xFF ; j+/ LED1 闪耀周期fori = 0 ; i 0x0FFF ;i+ ;/ 喂狗周期WDFEED = 0xAA;/ 喂狗时序WDFEED = 0x55 ;/*闪耀 LED1 */ifIO1SET & LED1 = 0IO1SET = LED1 ;else IO1CLR = LED1 ;return 0;10、下面程序添加注释(3 分),说明其程序功能( 3 分),并依据你的想法对程序的功能进行部分修改,说明修改后程序功能的变化(4 分);#include config.h#defineBEE
23、P1 7/ P0.7 掌握蜂鸣器/*函数名称: main*函数功能:演示外部中断唤醒掉电的CPU,但不产生中断欢迎下载精品学习资源*入口参数:无*出口参数:无栏号学*/int main voidPINSEL0 = 0x00000000;/ 管脚连接 GPIOPINSEL1 = 0x00000001IO0DIR= BEEP ;/ P0.16 连接 EINT0/ 设置 BEEP 掌握口为输出,其余输入EXTW AKE = 0x01 ;/ 外部中断 0 唤醒芯片EXTINT= 0x01 ;/ 清除 EINT0 中断标志IO0SET = BEEP ;while 1PCONP = 0x00 ;/ 关闭定时器、 RTC、UART 等功能部件PCON= 0x02 ;/ 系统进入掉电模式/*当系统被唤醒后,取反BEEP 掌握 */if IO0SET & BEEP = 0 IO0SET = BEEP;else IO0CLR = BEEP ;EXTINT= 0x01 ;/ 清除 EINT0 中断标志return 0 ;三、 综合设计(满分 30 分)要求: 1、在该综合设计工程中必需包含3 种以上接口部件,工程由自己确定;评分:技术方案设计(含必要的电路图)10 分,流程图 10 分,程序 10 分;4、欢迎下载
限制150内