北京理工大学珠海学院单片机期末考试11-12 - A卷 下载本文

内容发布更新时间 : 2024/4/24 16:00:48星期一 下面是文章的全部内容请认真阅读。

此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装…… 北京理工大学珠海学院 2011 ~ 2012学年第一学期《单片机原理及接口技术(A)》 期末试卷(A) 诚信声明 专业: 考场是严肃的,作弊是可耻的,对作弊人的处分是严厉的。 班级: 我承诺遵守考场纪律,不存在抄袭及其它违纪行为。 考生(承诺人)签字: 学号: 适用年级专业:2009级机械工程及自动化 试卷说明:闭卷,考试时间120分钟 题号 得分 一 二 三 四 五 六 总分 ……此…处…不能…书…写…线…………………………………订………此处不能书写… 一、填空题(每空2分,共20分)【得分: 】 1.单片机上电复位后,PC的内容为 (1) 。 2.若要将若P3.7定义为S1,程序中如何表示: (2) 。 3. 若unsigned char i=0;while(i=3);则程序循环次数为 (3) 。 4. 当P0口进行一般的I/O输出时,必须外接 (4) 才能有高电平输出。 5. 共阴极LED数码管加反相器驱动时显示实际字符‘L’的段码是 (5) 。 6.除了单片机和电源外,单片机最小系统包括 复位 (6) 电路和时钟电路。 7.MCS-51 单片机共有 (7) 个8位并行I/O口;其中只能作为通用I/O端口使用的是 (8) ,可作地址高8位的是 (9) ,具有双功能作用的是 (10) 。 1 2 3 4 5 6 7 8 9 10 二、选择题(每小题2分,共10分)【得分: 】 1.单片机的ALE引脚是以晶振振荡频率的 固定频率输出脉冲。 A.1/2 B.1/4 C.1/6 D.1/12 2.单片机能够直接运行的程序是 。 A.汇编语言程序 B.C语言源程序 C.高级语言程序 D.机器语言程序 3.复位时,RST引脚应保持 。 A. 一个机器周期的高电平 B. 一个机器周期的低电平 第 1 页 共 5 页 …………………………此处不能书写 …… C. 二个机器周期的高电平 D. 二个机器周期的低电平 4.中断标志位中在响应中断后,必须用软件复位的是 。

A.定时/计数 B.外部中断 C.串行 D.都不是 5.MCS-51单片机在同一级别里,自然优先级别最低的中断源是 。 A.外部中断1 B.串行口 C.定时器T0 D.外部中断0 1 2 3 4 5 三、读程序(每项1分,共10分)【得分: 】

P2口通过八个LED灯接地,每触发一次中断,LED灯熄灭一段时间。 为下列语句注释(有//处说明语句的实际作用) #include // #define uint unsigned int // void main() { EA=1 ; // EX0=1 ; // IT0=1; // while(1) //

{

P2=0xff; // }

void int_0() interrupt 0 using1 // { uint a;

P2=0x00 ; // for(a=0;a<1000;a++); // }

四、问答题(每小题10分,共40分)【得分: 】

1. 写出MCS-51系列单片机5个中断源及其标志位代号和中断程序入口地址。

第2页共5页

此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装……

2. MCS-51系列单片机片内RAM的组成是如何划分的?各有什么功能?

3. 独立式按键和矩阵式按键分别具有什么特点?适用于什么场合?

……此…处…不能…书…写…线…………………………………订……

第 3 页 共 5 页

…此处不能书写……………………………此处不能书写 ……4. 设晶振频率为12MHz,采用定时器T0,以方式1工作,试编写一个延时2s的子程序,采用查询方式实现。

五、完成程序题(*项2分,其余每项1分,共20分) 【得分: 】 1. 用XL400单片机仿真电路板控制2位数码管实现00~59的简易秒表,P0口为字形码,P2口为字选码。采用定时器1实现50ms定时,采用中断方式定时,试完成程序。

#include usigned counter,sec;

//定义字形码(只写0的字形码,其它用……替代) //延时函数申明 void main() {

//置T1为工作方式1

//定时器T1的高8位赋初值

第4页共5页

此处不能书写此处不能书写此处不能书…写………此处不能书写……………………………………………装…… ……此…处…不能…书…写…线…………………………………订………此处不能书写……………………………此处不能书写 //定时器T1的低8位赋初值 //开启定时器1 //设置IE的值 //计数次数变量赋初值 while(1) { P2=0xfe; //显示秒个位 //调用延时函数 P2=0xfd; //显示秒十位 delay( ); } } void time1() //中断服务程序 { // 定时器T1的高8位重装初值 // 定时器T1的低8位重装初值 // 中断次数加1 // 1s计时时间到 { //计数变量清零, //秒变量加1 } // 秒变量到60,清零 } void delay( ) //延时函数* { } 附表 IE EA / / ES ET1 EX1 ET0 EX0 IP / / / PS PT1 PX1 PT0 PX0 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TMOD GATE C/T M1 M0 GATE C/T M1 M0 第 5 页 共 5 页 ……