盐工单片机期末复习题(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

B电气0812单片机测验(2011.5.16)

一.填空题(每空1分,共20分)

1. 已知两个数的真值为:X=-55,Y=108,则[X+Y]补= 35H 。

2.微型计算机组成包括 CPU 、存储器、 I/O接口、总线四部分。

3. 在MCS-51单片机中,如果采用12MHz晶振,1个机器周期为 1μs 。

4. 单片机对外三总线分别为地址总线、数据总线和控制总线。

5. 8051单片机内部有 2 个定时器, 4个并行口和 1 个全双工串行口,5

个中断源。

6. 8051单片机内部有 4 KB的ROM, 128 B的RAM,SFR是特殊功能寄

存器。

7. 单片机的扩展包括外部数据存储器的扩展、外部程序存储器的扩展、

输入/输出接口的扩展和管理功能器件扩展。

二.说明题(每小题4分,共20分)

1.8051单片机的控制引脚有哪些,各起什么作用?

答:RST/VPD(9脚): RST即为RESET, VPD为备用电源, 所以该引脚为单片

机的上电复位或掉电保护端。

ALE(30脚):(Address Latch Enable/PROGramming) 当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0

口的低8位地址。

PSEN(29脚):(Program Strobe ENable)片外程序存储器读选通信号输出端, 低电平有效。

EA(31脚):(Enable Address/Voltage Pulse of Programing)为访问外部

程序存储器控制信号。

另外P3口的每一个引脚都有第二功能,第二功能都是作为控制应脚,如下

表所示。2.8051单片机的四种工作方式各是什么工作方式?用户如何设定?

答:单片机的四种工作方式如下表:

用户通过对工作方式寄存器TMOD各位赋值来设定单片机的四种工作方式。

3.什么是并行通信,什么是串行通信,各用在什么场合?

答:并行通信是构成1组数据的各位同时进行传送,例如8位数据或16位数据并行传送。

并行通信的特点是传输速度快,但当距离较远、位数又多时导致了通信线路复杂且成本高。

串行通信是数据一位接一位地顺序传送。

串行通信的特点是通信线路简单,只要一对传输线就可以实现通信(如电话线),从而大大地降低了成本,特别适用于远距离通信。缺点是传送速度慢。

4.解释中断的含义。

答:CPU执行程序时,由于发生了某种随机的事件(外部或内部的),引起CPU 暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程

序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。

5.单片机最小应用系统是什么意思?

答:单片机最小应用系统是指一个真正可用的单片机最小配置系统。

片内带程序存储器的单片机,如8051、 8751、8052,由单片机本身、时钟电路、复位电路即可构成最小应用系统。

片内不带程序存储器的单片机,如8051、 8751、8052,由单片机本身、时钟电路、复位电路,还要加上片外程序存储器与地址锁存器才能构成最小应用系统。

三.阅读程序,回答问题(共20分)

1. #include

void delay (void)

{

unsigned int a=5000;

while(a--);

}

main()

{

P1=0x00;

IT1=1;

EA=1;

EX1=1;

while(1);

}

void int0_srv (void) interrupt 2 using 1

{

delay();

P1=0xff;

}

假设P1口接了8个发光二极管(共阴极),请说明程序的功能。(10分)答:系统上电正常工作时,P1口所接8个发光二极管全灭,当外部中断1提出请求时,且CPU响应中断时,P1口8个发光二极管全部点亮。

2.#include “reg51.h”

unsigned char code table[]=

{0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd,

0xfe,0x3f,0xcf,0xfc,0xf3,0xfe,0xfd,0xfb,0xf7,0xef

,0xdf,0xbf,

0x7f,0xfc,0xf3,0xcf,0x3f,0x7e,0x3c,0x18,0x00,0xe7

,0xc3,0x81,0x01};

unsigned char i=0;

void delay(void)

{

unsigned int m;

for(m=65536;m>0;m--);

}

void main(void)

{

while(1)

{

if(table[i]!=0x01)

{

P1=table[i];

i++;

delay();

}

Else

{

i=0;

}

}

}

上述程序是一个彩灯控制程序(彩灯所接发光二极管为共阳极),请仔细阅读程序说明彩灯按何种规律点亮?(10分)

答:P1.7接的灯为左边,P1.0接的灯为右边

从左向右,每次点亮一个灯;

相关文档
最新文档