您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页(精选)杭州电子科技大学单片机原理期末试卷

(精选)杭州电子科技大学单片机原理期末试卷

来源:五一七教育网


杭州电子科技大学学生考试卷( A )卷 考试课程 课程号 考生姓名 单片机 考试日期 教师号 学号(8位) 2010年1月12日 任课教师姓名 年级 专业 成 绩 8.当程序状态字寄存器PSW状态字中RS1和RS0分别为0和1 时,系统选用的 工作寄存器组为 B 。 A.组0 B.组1 C.组2 D.组3 9.8051单片机中,唯一一个用户可使用的16位寄存器是 D 。 A.PSW B.ACC C. SP D.DPTR 10.MCS-51单片机定时器T1的溢出标志TF1,若计满数产生溢出时,如不用中断 方式而用查询方式,则应 B 。 A.由硬件清零 B.由软件清零 C.由软件置位 D.可不处理 11.将十进制数98转换成对应的二进制数是 A 。 A.1100010 B.11100010 C.10101010 D.1000110 12.用定时器T1方式2计数,要求每计满100次,向CPU发出中断请求,TH1、TL1 的初始值是 9C 。 A.9CH B.20H C.H D.A0H 13.对程序存储器的操作,只能使用( B ): A MOV指令 B MOVC指令 C MOVX指令 D PUSH指令 14.8031单片机的机器周期为2µs,则其晶振频率fosc为 C MHz. A.1 B.2 C.6 D.12 15.MCS—51单片机在同一级别里除串行口外,级别最低的中断源是 C 。 A.外部中断1 B.定时器T0 C.定时器T1 D.串行口 高惠芳、 崔佳冬、洪明 一、选择填空题(每小题2分,共30分) 1.单片机上电复位后,PC的内容和SP的内容为 B 。 A.0000H,00H B. 0000H,07H C. 0003H,07H D. 0800H,08H 2.访问外部存贮器时,作数据线和低8位地址线的是 A 。 A.P0口 B. P1口 C. P2口 D. P0口 和 P2口 3.下列指令判断若定时器T0未计满数就原地等待的是 B 。 A.JB T0,$ B.JNB TF0,$ C.JNB TR0,$ D.JB TF0,$ 4.寻址方式就是 C 的方式。 A.查找指令操作码 B.查找指令 C.查找指令操作数 D.查找指令操作码和操作数 5.MCS-51的片内外的ROM是统一编址的,如果EA保持高电平,8051的程序 计数器PC在 B 地址范围内。 A.1000H—FFFFH B.0000H—FFFFH C.0001H—0FFFH D.0000H—0FFFH 6.MCS-51的串行口工作方式中适合多机通信的是 B、D 。 A.方式0 B.方式3 C.方式1 D.方式2 二、简答题:(每小题4分,共16分) 1. 80C51系列单片机具有几个中断源?并指出各中断源对应的中断服务程序的入 口地址? 2. 什么叫堆栈?复位后SP的值为多少?在程序设计时,为什么常常需要对SP重 新赋值? 3. 某8255A工作在B口选通输入、A口输出、C口高4位输出,试确定8255A 的方式控制字。 4. 简述行列式键盘处理的流程。 7.MCS-51的串行数据缓冲器SBUF用于 B 。 A.存放运算中间结果 B.存放待发送或已接收到的数据 C.暂存数据和地址 D.存放待调试的程序

解1、有5个中断源。 特殊地址 0000H 0003H 000BH 0013H 001BH 主程序入口 外部中断0入口地址 定时器计数器0溢出中断入口地址 外部中断1入口地址 定时器计数器1溢出中断入口地址 0023H 串行口中断入口地址 2、堆栈是一种数据结构,只允许数据在其一端进出的一段存储空间。复位后SP=07H, 由于片内RAM 07H单元的后继区域分别为工作寄存器和位寻址区。通常这两个区域在程序中有重要用途,所以用户在设计程序时,一般都将堆栈设在内部RAM的30H~7FH地址空间的高端,而不设在工作寄存器区和位寻址区。 3、8255A的方式控制字:10000110=86H 4、行列式键盘按键识别有两种方法:行扫描法和线反转法。以行扫描法进行说明: 一般先快速检查键盘中是否有某个键已被按下,然后,再确定具体按下了哪个键。为此,可以使所有各行同时为低电平,再检查是否有列线也处于低电平。这时,如果列线上有一位为0,则说明必有键被按下,然后再用扫描法来确定具体位置。先使第1行输出“0”,其余行输出“1”,然后检查列线信号。如果某列有低电平信号,则表明第1行和该列相交位置上的键被按下,否则说明没有键被按下。此后,再将第2行输出“0”,其余行为“1”,检查列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,就中断扫描,根据行线位置和列线位置(4行,4列,0~F 16个按键),识别此刻被按下的是哪一个键。 功 能 DJNZ R7,LOOP SJMP $ 该程序的功能是:_把1000H-1030H的数据搬迁到30H-60H中,并将原数据块清零 2. 以下程序要实现的功能为:将外部数据存储器首地址为TABLE的10字节数据 的每个字节最高位置1,并送回原来的单元。试完成程序中空格部分 (4分) MOV DPTR,#TABLE MOV R7,#10 LOOP: MOVX A,@DPTR _ SETB ACC.7_ MOVX @DPTR,A INC DPTR __DJNZ R7 LOOP HERE: SJMP HERE 3. 设R0的内容为56H,A的内容为61H,而片内RAM的56H单元的内容为30H, 40H单元的内容为08H。指出在执行下列程序段后,上述各单元的内容变化。 (6分) MOV A,@R0 SWAP A MOV @R0,40H INC R0 MOV 40H,A MOV R0,#35 结果:(1) R0= 35 , A= 03 ; (2)内部RAM 32H单元的内容为 不变 ; (3)40H单元的内容为 03 。 4. 一个8路模拟量输入的巡回检测系统,选取芯片ADC0809,8个通道的A/D转换值,三、程序分析题(共30分) 1.阅读以下程序(3分) MOV R0,#30H MOV DPTR,#1000H MOV R7,#31H LOOP: MOVX A,@DPTR MOV @R0,A CLR A MOVX @DPTR,A INC R0 INC DPTR

分别存储在外部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,A HERE: SJMP HERE AD_INTR: DJNZ R2,LOOP SJMP AD_END LOOP: MOVX A,@DPTR MOVX @R0,A INC DPTR INC R0 AD_END: RETI (1) 以上程序中,斜体部分语句的用途是: 启动AD转换 。 (2)AD采样通道IN0~IN7的地址为: 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位寻址区

20H~2FH单元 存储区。 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 (;bSUBB A, #10 JC LE10 MOV A, R7 CLR C SUBB A, #15 JNC LA15 MOV A, R7 MOV B, R7 MUL AB ADD A, 5 AJMP JS LE10: MOV A, R7 MOV B, R7 MUL AB CLR C SUBB A, #2 AJMP JS LA15: MOV A, #86 JS: INC DPTR MOVX A, @DPTR AJMP $ END 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分) 2. 已知单片机的晶振频率为12MHZ,用T1定时,要求从P1.7口输出周期为0.5秒,占空比为40%的脉冲波形,试编程实现。(8分) 解:采用方式1编程,最长定时时间为:65.5ms 设T1定时时间为50ms,一个周期需要中断10次,高电平需要中断4次 163 故TMOD=10H,T1初值为X=2-12/12×50×10=15536=3CB0H #include #define uchar unsigned char uchar time=0; uchar period=10; uchar high=4 sbit P1_7=P1^7 main () {

解:C语言程序为: #include //定义绝对地址访问

#define uchar unsigned char void main() { P1=0; While(1) { While(1) { If(P1!=0xFF) P1++; //这里假设P1口接数据输入 Else Break; } While(1) { If(P1!=0x00) P1--; //这里假设P1口接数据输入 Else Break; } }

(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务