资源描述
《单片机应用技术》模拟试卷(E)答案
题号
——
二
四
总分
得分
—,填空题(将正确答案填入空格中,每空1分,共35分)
得分
评阅人
1,MCS51单片机地最大程序寻址空间为 64K KB,空间地地址范围为 OOOOH-FFFFH,单片机复位后程序入口地址为0000H 。外部中断0地入
口地址为 0003H ,T1定时/计数器地中断入口地址为 001BH 。
2, PSW中RS1=1, RSO=O, R3对应地字节地址为 13H 。
3, 7AH对应地十进制数为 122 D,对应地二进制数为01111010 Bo
4, MCS51单片机地仅使用内部ROM时,EA引脚应接 高 电平。
5,当MCS51单片机RST引脚出现 2个 机器周期以上高电平时单片机
可有效复位,复位后SP= 07H , PC=0000H , Pl= FFH o
6, MCS-51单片机地低功耗方式有待机, 掉电。
7,MCS-51单片机地常用复位方式有 手动复位 上电复
8, 80C51单片机地串行口控制寄存器器是SCON ;串行口工作在方式2 时SMO, SM1设置为10,当设置允许串行口接收串行输入数据时需要将心 位设置为1。
9,把数据存入堆栈称为 入栈 ,从堆栈取出数据称为 出栈,从堆栈
取出数据遵循 先进后出,后进先出地原那么。
10, LED数码管按结构分为 共阴 与 共阳 两种形式。
11,键盘按键地检测过程中消除抖动常用地方法有RS触发器滤波 ,_RC
滤波,软件延时 。
12, DAC0832地参考电压为+5V,那么分辩率为 5/256 V。
13,矩阵键盘中为了识别键盘上地闭合键,通常采用两种方法 逐行扫描法
与
线反转法
14, C51中定义地位变量地关键字是加上位变量对应地地址空间范围是
Qx20-0x2f o
15, unsigned char 定义地变量取值范围 0-255 , unsigned int定义地
变量取值范围 0-65535 o
二,选择题(共20个题,每题1分,共20分)
得分评阅人
1,当单片机外接数据存储器时P2 口作为
(C )
A.低8位地址线
B.准双向I/O端口
C.高8位地址线
D. 8位数据线
2,单片机晶振频率为
12MHZ时,单片机定时/计数器可以计数地最大脉冲频
率为
A. 2MHZ
B. 1MHZ
C. 500KHZ
D. 250KHZ
3,在单片机片外扩展一片2764需要 根地址线。
A.8根
B. 11 根
C. 13 根
D. 15 根
4,以下变量定义不正确地是
A.unsigned int a
B.unsigned char data
C. unsigned char code distab[10];
D. int s=100;
5,单片机地堆栈空间设置在
A.片内ROM
B.片外ROM
C.片内RAM
D.片外RAM
6,只使用定时器TO工作在计数方式1时,启动不受外部引脚控制TMOD应设
置为 o ( B )
A. 50H B. 05H
C. 11H D. 15H
7,MCS—51地串行数据缓冲器SBUF用于。 ( B )
A.存放运算中间结果 B.存放待发送或已接收到地数据
C.暂存数据与地址 D.存放待调试地程序
8, 8051单片机中,唯一一个用户可使用地16位寄存器是 o ( D )
A. PSW B. ACC C. SP D. DPTR
9,单片机中PUSH与POP指令常用来 o ( C )
A.保护断点 B.保护现场
C.保护现场,恢复现场 D.保护断点,恢复断点
10,以下指令中不影响PC内容地是 o ( A )
A. MOVC A, @A+PC B. RETI
C. RET D. ACALL
11,可以实现Pl 口输出各位内容循环左移地语句是 o ( A )
A. P1=P1«1|P1»7; B. P1=P1»7;
C. P>P1«1; D. Pl=Pl«7|pl»l;
12,单片机地P0, Pl 口作输入用途之前需要 o ( A )
A.在相应端口先置1 B.在相应端口先置0
C.外接高电平 D.外接上拉电阻
13,存储16X16点阵地一个汉字信息,需要地字节数为 o ( A )
A. 32 B. 64 C. 128 D. 256
14, Fc总线地起始条件是:(D )
A.当SCL为低电平时,SDA发生由高到低地跳变
B.当SCL为低电平时,SDA发生由低到高地跳变
C.当SCL为高电平时,SDA发生由低到高地跳变
D.当SCL为高电平时,SDA发生由高到低地跳变
15,利用以下 关键字可以改变工作寄存器组 (D )
A. interrupt B. sfr
C. while D. using
16,使用宏来访问绝对地址时,一般需包含地库文件是(B )
A. reg51. h
B. absacc. h
C. intrins. h
D. startup, h
17,在串行口工作于移位寄存器方式时,其接收由
来启动。(A )
A. REN B. RI
C. REN 与 RI D. TR
18, C51不包含地存储器模式是 (A )
A. xdata B. Small
C. pact D. large
19, DS18B20 是(C )
A. 12 c总线串行接口芯片
C.单总线串行接口芯片
20,具有模数转换功能地芯片是
A.ADC0809 B.DAC0832
B. SPI串行接口芯片
D. UART串行接口芯片
(A )
C. MAX813 D. PCF8563
三,判断题(共10个题,在正确地后面括号中对打,否那么打X,每题1分,共10
分)
得分
评阅人
1,假设一个函数地返回类型为void,那么表示其没有返回值。
(V )
2, SFR中但凡能被8整除地地址,都具有位寻址能力。
(V )
3,MCS-51单片机地程序存储器只能用来存放程序地。
4,串口中断标志由硬件清0。
(X )
5,MCS—51地产品8051与8031片内都无ROM。
(X )
6, C51中通用指针变量占用2个字节。
(X )
7, C51中地中断服务程序函数需要是无返回值与无参数地函数。
(V )
8, C51定义为idata地RAM地址范围为0x00-0x7fo
(X )
9,汇编指令RET与RETI地功能完全相同。
(X )
10, mainO函数可以放在程序中地任何位置,程序总是从main()函数开始执 行。(J )
四,程序填空题(共3题,共15分)
得分
评阅人
1,在单片机地P1 口连接有8个发光二极管,改变P1 □地状态即可控制发光 管发光还是不发光('0'发光,T'不发光)。编程实现8个发光管按以下 规律变化:总共9种状态,每隔一秒变化一次,9次一个循环:仅1号灯亮,仅2 号灯亮……仅8号灯亮,全亮。(每空1分)
void Delayls (void) ; //I 秒延时函数
void main ()
(
unsigned char code vucCodeDpcode[9]={OxOFE, OxOFD, OxFB , 0x0F7, OxOEF,
OxODF, OxBF , 0x7F, 0x00);
unsigned char data vucDatalndex = 0 ;
while(1) {
Pl = vucCodeDpcode[vucDatalndex] ;
Delayls ();
vucDatalndex ++;
if (vucDataIndex=9) vucDataIndex'O
2,设计运算函数,实现分段函数地功能,返回值为无符号字符型,形参类型为无
符号字符形。
3x+4 (x<10)
函数功能为 y= Y 5x-16 (20>x>=10)
3x/10 (x〉=20)
(每空2分)
unsigned char fund (unsigned char x)
(
unsigned char y;
if( x<10 ) y=3*x+4;
else if (x<20) y=5*x-l6;
else y= 3*x/10 ;
return(y);
)
3,Pl 口接有8个发光二极管,如下图,编写程序使单一灯每隔1S左移一位,不 断循环。设振荡频率为fosc=6MHZ,利用定时器TO,方式1下结合软件计数完成定 时。(每空1分)
ORG 0000H LJMP MAIN ORG OOOBH
;单片机复位后程序入口地址
LJMP CTCO
;调整到CTCO处执行TO中断程序
MAIN:MOV TMOD, #01H ;指令功能 设置TO工作在方式1定时方式
MOV THO, #3CH
MOV TLO, #OBOH 〜c
SETB EA
;指令功能设置总地中断允
P1.0
P1. 2
SETB ETO
;指令功能设置TO中断允
SETB TRO
;指令功能启动TO定时
MOV Pl, #OFEH ;指令功能 设置初始值
MOV R3, #OFEH MOV R2, #10 SJMP $ CTCO:PUSH ACC
PUSH PSW
MOV THO, #3CH MOV TLO, #OBOH DJNZ R2, DONT MOV R2, #10 MOV A, R3 RL A
MOV Pl, A
MOV R3, A DONT: POP PSW
POP ACC RET I END
;堆栈保护现场
;重新赋初始值
;指令功能判断10次定时次数是否满
;修改发光二极管点亮地位置
;指令功能恢复PSW地内容
;中断返回
五,编程应用题(共2题,每题10分,共20分)
得分
评阅人
1,利用89S51单片机产生一个周期为800ms地方波信号,占空比为50%, 晶振频率为12MHz,要求用T0定时,并通过P2. 0输出。
#include,9reg51 .h” sbit sout=P2A0; void main() (
unsigned char data i=8;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=l; while(l) (
while(TF0==0);
TF0=0; i--; if(i==0)
i=8;
sout二〜sout;
)
}
)
2,89S51单片机外接一片采用动态扫描方式通过ULN2804驱动四个共阳极数 码管,动态扫描时间由定时器T0确定,P0 口做1/0 口,显示内容在数组 dismap[4]中,编写T0中断响应程序,每次显示一个数码管,循环显示;每个 数码管地显示时间为1ms,外接晶振为12MHz;并完成main ()中地T0中断初 始化及启动T0。
VCC
mm
1038
15
PIO
P00
Pll
P0I
PI2
P02
P13
P03
P14
P04
P15
P05
P16
P06
P17
P07
INTI
P20
INTO
P2I
P22
Tl
P23
TO
P24
EAAT
P25
P26
P27
XI
X2
RESET
RXD
TXD
rd-
ALBP
WR-
PSEN
74I.S138
N 1
OUT 1
N 2
OUT 2
N 3
OUT 3
N 4
OUT 4
N 5
OUT 5
N 6
OUT 6
N 7
OUT 7
N 8
OUT 8
CLAMP
SELA YO OUT sel b ―〒i~5U7 sel c -VTdUT en i — STUU7
EN 2 A Y4OUT EN2 B" ^Y5"OUT
-Y6-dUf "TTout
D D D D D O
#include,9reg51 .h”
unsigned char code distab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char dismap[4]={09l?2,3};
void timer0() interrupt X using 1
{
/********以下为TO中断响应程序内容 J
static unsigned char data local=0;
TL0=0xl8;
TH0=0xfc;
switch(local)
case 0: P0=distab[dismap [0]];
P2=0x00;
local=l;
break;
case 1: PO=distab[dismap [1]];
P2=0x01;
local=2;
break;
case 2: PO=distab[dismap [2]];
P2=0x02;
local=3;
break;
case 3: PO=distab[dismap [3]];
P2=0x03;
local=0;
break;
default:break;
)
/********以上为to中断响应程序内容 rj* /
void main()
/***************以下为to地中断初始化设置及启动TO定时器*************/
TMOD=0x01;
IE=0x82;
TL0=0xl8;
TH0=0xfc;
TRO=1;
/***************T0地中断初始化设置及启动TO定时器程序结束*************/ while(l)
展开阅读全文