杭州电子科技大学单片机原理期末试卷.doc

上传人:xin****828 文档编号:6586567 上传时间:2020-02-29 格式:DOC 页数:5 大小:86.50KB
返回 下载 相关 举报
杭州电子科技大学单片机原理期末试卷.doc_第1页
第1页 / 共5页
杭州电子科技大学单片机原理期末试卷.doc_第2页
第2页 / 共5页
杭州电子科技大学单片机原理期末试卷.doc_第3页
第3页 / 共5页
点击查看更多>>
资源描述
杭州电子科技大学学生考试卷( A )卷考试课程单片机考试日期2010年1月12日成 绩课程号教师号任课教师姓名高惠芳、崔佳冬、洪明考生姓名学号(8位)年级专业一、选择填空题(每小题2分,共30分)1单片机上电复位后,PC的内容和SP的内容为 B 。A0000H,00H B. 0000H,07H C. 0003H,07H D. 0800H,08H2访问外部存贮器时,作数据线和低8位地址线的是 A 。AP0口 B. P1口 C. P2口 D. P0口 和 P2口3下列指令判断若定时器T0未计满数就原地等待的是 B 。AJB T0,$ BJNB TF0,$ CJNB TR0,$ DJB TF0,$4寻址方式就是 C 的方式。 A查找指令操作码 B查找指令 C查找指令操作数 D查找指令操作码和操作数 5MCS-51的片内外的ROM是统一编址的,如果保持高电平,8051的程序计数器PC在 B 地址范围内。 A1000HFFFFH B0000HFFFFH C0001H0FFFH D0000H0FFFH 6MCS-51的串行口工作方式中适合多机通信的是 B、D 。A方式0 B方式3 C方式1 D方式2 7MCS-51的串行数据缓冲器SBUF用于 B 。 A存放运算中间结果 B存放待发送或已接收到的数据 C暂存数据和地址 D存放待调试的程序 8当程序状态字寄存器PSW状态字中RS1和RS0分别为0和1 时,系统选用的工作寄存器组为 B 。A组0 B组1 C组2 D组398051单片机中,唯一一个用户可使用的16位寄存器是 D 。APSW BACC C SP DDPTR10MCS-51单片机定时器T1的溢出标志TF1,若计满数产生溢出时,如不用中断方式而用查询方式,则应 B 。A由硬件清零 B由软件清零 C由软件置位 D可不处理11将十进制数98转换成对应的二进制数是 A 。A1100010 B11100010 C10101010 D100011012用定时器T1方式2计数,要求每计满100次,向CPU发出中断请求,TH1、TL1的初始值是 9C 。A9CH B20H C64H DA0H13对程序存储器的操作,只能使用( B ):A MOV指令 B MOVC指令C MOVX指令 D PUSH指令14.8031单片机的机器周期为2s,则其晶振频率fosc为 C MHz.A1 B2 C6 D1215.MCS51单片机在同一级别里除串行口外,级别最低的中断源是 C 。A外部中断1 B定时器T0 C定时器T1 D串行口二、简答题:(每小题4分,共16分)1. 80C51系列单片机具有几个中断源?并指出各中断源对应的中断服务程序的入口地址?2. 什么叫堆栈?复位后SP的值为多少?在程序设计时,为什么常常需要对SP重新赋值?3. 某8255A工作在B口选通输入、A口输出、C口高4位输出,试确定8255A的方式控制字。 4. 简述行列式键盘处理的流程。解1、有5个中断源。 特殊地址功 能0000H主程序入口0003H外部中断0入口地址000BH定时器计数器0溢出中断入口地址0013H外部中断1入口地址001BH定时器计数器1溢出中断入口地址0023H串行口中断入口地址2、堆栈是一种数据结构,只允许数据在其一端进出的一段存储空间。复位后SP=07H, 由于片内RAM 07H单元的后继区域分别为工作寄存器和位寻址区。通常这两个区域在程序中有重要用途,所以用户在设计程序时,一般都将堆栈设在内部RAM的30H7FH地址空间的高端,而不设在工作寄存器区和位寻址区。3、8255A的方式控制字:10000110=86H4、行列式键盘按键识别有两种方法:行扫描法和线反转法。以行扫描法进行说明: 一般先快速检查键盘中是否有某个键已被按下,然后,再确定具体按下了哪个键。为此,可以使所有各行同时为低电平,再检查是否有列线也处于低电平。这时,如果列线上有一位为0,则说明必有键被按下,然后再用扫描法来确定具体位置。先使第1行输出“0”,其余行输出“1”,然后检查列线信号。如果某列有低电平信号,则表明第1行和该列相交位置上的键被按下,否则说明没有键被按下。此后,再将第2行输出“0”,其余行为“1”,检查列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,就中断扫描,根据行线位置和列线位置(4行,4列,0F 16个按键),识别此刻被按下的是哪一个键。三、程序分析题(共30分)1阅读以下程序(3分)MOV R0,#30H MOV DPTR,#1000H MOV R7,#31HLOOP: MOVX A,DPTR MOV R0,A CLR A MOVX DPTR,A INC R0 INC DPTR DJNZ R7,LOOP SJMP $该程序的功能是:_把1000H-1030H的数据搬迁到30H-60H中,并将原数据块清零 2. 以下程序要实现的功能为:将外部数据存储器首地址为TABLE的10字节数据的每个字节最高位置1,并送回原来的单元。试完成程序中空格部分 (4分)MOV DPTR,#TABLE MOV R7,#10LOOP: MOVX A,DPTR _ SETB ACC.7_ MOVX DPTR,A INC DPTR _DJNZ R7 LOOP HERE: SJMP HERE3. 设R0的内容为56H,A的内容为61H,而片内RAM的56H单元的内容为30H,40H单元的内容为08H。指出在执行下列程序段后,上述各单元的内容变化。(6分) MOV A,R0 SWAP A MOV R0,40H INC R0 MOV 40H,AMOV R0,#35 结果:(1) R0= 35 , A= 03 ; (2)内部RAM 32H单元的内容为 不变 ; (3)40H单元的内容为 03 。4. 一个8路模拟量输入的巡回检测系统,选取芯片ADC0809,8个通道的A/D转换值,分别存储在外部RAM的8个单元中。(6分) ORG 0013H AJMP AD_INTR ORG 0100H MOV R0,#0A0H MOV R2,#08H SETB IT1 SETB EA SETB EX1 MOVX DPTR,#0FEF8H MOVX DPTR,AHERE: SJMP HEREAD_INTR: DJNZ R2,LOOP SJMP AD_ENDLOOP: MOVX A,DPTR MOVX R0,A INC DPTR INC R0AD_END: RETI(1) 以上程序中,斜体部分语句的用途是: 启动AD转换 。(2)AD采样通道IN0IN7的地址为: FEF8 到 FEFF 。(3)8个AD采样数据存放在 A0 到 A7 中。5. 已知有C51程序如下。阅读程序段,并回答问题(5分):#include sfr sum = 0xf0;main ( ) unsigned char bdata i;sum=0; for (i=1; i=100; i+) sum=sum + i; ( 1 ) #include 的作用是 定义特殊功能寄存器库 。 ( 2 ) 变量sum的数据类型为 特殊功能寄存器型 ;( 3 ) 变量i显示声明的存储类型为无符号字符型 ,i将存放在 片内RAM位寻址区20H2FH单元 存储区。6. 串行口通讯程序如下所示, 设fosc=11.0592MHz:(6分)#include “reg51.h” #include “string.h”char s=“Serial Communication Bus”;main() char a,b=0; TMOD=0x20; SCON=0x50; /*SM0=SM2=0,SM1=1,REN=1*/ TH1=0xF4; TL1=0xF4; a=strlen (s);for (;ba:b+) SBUF=s b; while (! TI); TI=0; (1)串行口的工作方式是: 工作方式1 ;(2)程序中 TI=0 语句是清除发送中断标志。(3)对方得到的数据是: Serial Communication Bus 。五、编程题:(24分)1. 设外部存储器单元(地址为2000H)中有一无符号字节变量X,请编写计算下述函数式的程序,结果存入外部存储器单元(地址为2001H)。(8分)解: ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV DPTR,#2000HMOVX A, DPTR MOV R7, A CLR C SUBB A, #10 JC LE10 MOV A, R7 CLR C SUBB A, #15JNC LA15MOV A, R7MOV B, R7MUL ABADD A, 5AJMP JSLE10: MOV A, R7MOV B, R7MUL ABCLR CSUBB A, #2AJMP JS LA15: MOV A, #86 JS: INC DPTRMOVX A, DPTRAJMP $ END2. 已知单片机的晶振频率为12MHZ,用T1定时,要求从P1.7口输出周期为0.5秒,占空比为40%的脉冲波形,试编程实现。(8分)解:采用方式1编程,最长定时时间为:65.5ms 设T1定时时间为50ms,一个周期需要中断10次,高电平需要中断4次 故TMOD=10H,T1初值为X=216-12/1250103=15536=3CB0H#include #define uchar unsigned charuchar time=0;uchar period=10;uchar high=4sbit P1_7=P17main () TMOD=0x20; TH1=0x3c; TL1=0xb0; EA=1; ET1=1; TR1=1; P1_7=1; while (1);timer1 () interrupt 3 if (+time=high) P1_0=0; else if (time=period) time=0; P1_0=1; 3. 51单片机连接DAC0832构成一个三角波形发生器,如下图,请编程实现。(8分) 解:C语言程序为:#include /定义绝对地址访问#define uchar unsigned charvoid main() P1=0; While(1) While(1) If(P1!=0xFF) P1+;/这里假设P1口接数据输入 Else Break; While(1) If(P1!=0x00) P1-; /这里假设P1口接数据输入 Else Break;
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!