201x-201x 学年第x 学期《智能控制电路项目实践》 考试试卷(A 卷) 题号 一 二 三 四 五 六 总分 复核人 得分 得分 评阅人 一、填空题(每小空1分,共20分) 1.89C51单片机的P0—P3口均是并行 I /O 口,其中的P0口和P2口除了可以进行数据的输入/输出外,通常还用来构建系统的( )和 ( )。
2.89C51单片机C51源程序的扩展名为( ) 。
3. 在89C51单片机中,当晶振频率采用4 MHZ 时,一个机器周期等于( )微秒。
4.89C51有 4 个并行输入输出口,其中P3口常需复用作( )、( )、( )和 ( )。
5.当P1口做输入口输入数据时,必须先向该端口的锁存器写入( ),否则输入数据可能出错。
6.89C51单片机是( )位的单片机。
7.当89C51的RST 引脚上保持( )个机器周期以上的高电平时,89C51即发生复位。
8.在设计源程序时,常用结构有顺序结构,( )结构和( ) 结构。
9.C51 编译器提供两种不同的存储类型( )和( ) 访问外部数据。
10.89C51内部数据存储器的地址范围是( ),位地址空间的字节地址范围是( ),外部数据存储器的最大可扩展容量是( )。
11. C 语言程序是由一个个( )构成的,每一个C 语言程序有且只有一个( )。
得分 评阅人 二、选择题(每小题1分,共10分) 1.二进制数110110110转换为十六进制数为( )。
A. 1D3H B. 1B6H C. DB0H D. 666H 2.十进制数98化成二进制数为( )。
A .1100010 B. 11100010 C. 10101010 D. 1000110 3.单片机能直接运行的程序叫( )。
A. 源程序 B. 汇编程序 C. 目标程序 D. 编译程序 4.程序计数器PC 用来( )。
A. 存放下一条指令 B. 存放正在执行的指令的地址 C. 存放下一条指令的地址 D. 存放上一条指令的地址 5.用于定义特殊功能寄存器地址的关键字是( )。
A.sfr B.sbit C.bit D.include 6.在Keil C 中规定使用( )个字节表示短整型数据。
A.1 B.2 C.3 D.4 7.对89C51单片机编程,语句“void 函数名() interrupt n ”中n 取值范围是( )。
A.0-1 B.0-2 C.0-3 D.0-4 8.将单片机外部中断0设置为电平触发,可以通过设置( )实现。
A. IT0
B. IE0
C. TR0
D. TF0
9.在存储器扩展电路中74LS373的主要功能是( )。
A. 存储数据 B. 存储地址 C. 锁存数据 D. 锁存地址 10.89C51单片机串行口发送数据的次序是下述的( )。
甲.待发送数据送SBUF
班级
_
_
_
_
_
_
_
_
_
学
号
_
_
_
_
_
_
__
_
姓
名
_
_
_
_
__
_
乙.硬件自动将SCON 的TI 置1 丙.经TXD(P3.1) 串行发送一帧数据完毕 丁.用软件将TI 清0 A. 甲丙乙丁 B.甲乙丙丁 C.丙甲乙丁 D.甲乙丁丙 得分 评阅人 三、判断题(每小题1分,共10分) 1.符号常量等同于变量,它的值在整个作用域范围内能改变,也能被再次赋值。
( ) 2.主函数可以被其他函数调用。
( ) 3.若a=10,b=20,则a&&b 的值为1,a||b 的结果也为1。
( ) 4.单片机是在一块集成电路上把CPU 、存储器、定时器/计数器及多种形式的I/O 接口集成在一起而构成的微型计算机。
( ) 5.每个特殊功能寄存器都既有字节地址,又有位地址。
( ) 6.89C51的特殊功能寄器分布在60H-80H 地址范围内。
( ) 7.for(;;)语句的作用相当于是while(1),即构成一个无限循环的过程。
( ) 8.内部RAM 的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
( ) 9.单片机的主频越高,其运算速度越快。
( ) 10.串行口工作方式0的波特率是固定的,为fosc/32。
( ) 得分 评阅人 四、简答题(每小题5分,共20分) 1.switch/case 语句的格式及功能是什么? 2.C51中如何对外部RAM 与扩展I/O 地址进行定义? 3.晶振周期、机器周期的含义是什么?如晶振频率为6MHz ,晶体振荡周期、机器周期为多少? 4.简单叙述串行通信的四种工作模式。
得分 评阅人 五、画图及程序分析。
(共20分) 1.画出单片机及晶振电路和复位电路,在此基础上,P0口外接8个发光二极管,要求有限流电阻和外接上拉电阻,且输出低电平时点亮LED 。
(8分)
班级
_
_
_
_
_
_
_
_
_
学
号
_
_
_
_
_
_
_
_
_
姓
名
_
_
_
_
_
_
_
2.分析以下程序段的执行结果。
(每小题3分,共6分) (1)i=( );j=( );a=( )。
int i=0, j=0, a=6; if ((i++>0)&&(j++>0)) a++; (2)x=( )。
int i,x=0; for(i=0;i<=10;i++) { x=x+i; }
3. 下面为单片机和PC 机通信程序,请根据提示将程序补充完整。
(6分) #include "reg51.h" #define uchar unsigned char uchar getdata=0; main() { TMOD= ; //设置定时器T1定时模式方式2 TH1=0xf3; //波特率设定为2400(12MHz 晶振) TL1=0xf3; TR1=1; SCON= ; //设置串口方式1允许接收 EA=1; ES=1;
while(1); //等待 }
void CHUANKOU() interrupt 4 {
EA=0;
RI=0;
getdata=SBUF; P1=getdata; SBUF=getdata; while( ); //等待串口发送完毕 TI=0; EA=1; } 六、编程题 1.使用定时/计数器1以工作模式2实现定时,在P1.0输出周期为100μs 的连续方波。
已知晶振频率fosc=12MHz 。
求计数初值、方式控制字,编制相应程序 。
(7分) 2.使用两位数码管和三个独立按键,功能如下:若KEY1键按下,数码管显示内容加1;若KEY2键按下,数码管显示内容减1;若KEY3键按下,数码管显示内容为0。
要求数码管显示内容为00-99,试完成电路和程序设计,并绘制电路原理图和写出程序清单。
(13分) 班级
_
_
_
_
_
_
_
_
_
学
号
_
_
_
_
__
_
_
_
姓
名
_
_
__
_
_
_。