单片机大汇总.docx

上传人:b****9 文档编号:25696927 上传时间:2023-06-11 格式:DOCX 页数:10 大小:42.08KB
下载 相关 举报
单片机大汇总.docx_第1页
第1页 / 共10页
单片机大汇总.docx_第2页
第2页 / 共10页
单片机大汇总.docx_第3页
第3页 / 共10页
单片机大汇总.docx_第4页
第4页 / 共10页
单片机大汇总.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

单片机大汇总.docx

《单片机大汇总.docx》由会员分享,可在线阅读,更多相关《单片机大汇总.docx(10页珍藏版)》请在冰豆网上搜索。

单片机大汇总.docx

单片机大汇总

1、简述时钟周期、机器周期、指令周期的概念及相互关系。

答:

时钟周期是输入微处理器的时钟信号的周期。

机器周期是机器完成一个基本动作的时间。

在MCS-51系列单片机中,一个机器周期由12个时钟周期组成。

指令周期是指执行一条指令所需的时间,由一个到数个机器周期组成。

2、MCS-51外扩的程序存储器和数据存储器,共用16位地址线和8位数据线,可以有相同的地址空间,为什么两个存储空间不会发生冲突?

答:

因为51单片机访问片外程序存储器和数据存储器是通过不同的控制信号进行的,访问片外程序存储器使用PSEN信号,访问片外数据存储器使用WR和RD信号,因此它们有相同的地址空间也不会冲突。

3、写出C51的中断程序入口地址。

答:

外部中断00003H;定时中断0000BH;外部中断10013H;

定时中断1000BH;串行口中断0023H

4、计算右图中使LED正常工作的限流电阻R的阻值,写出计算过程。

答:

R=(VCC-VF-VCES)/IF、VCC=5V,VF=1.8V(1.2~2.5V),VCES=0.2V(0.1~0.2V),IF=15mA(10~20mA)、R=200Ω

5、定义如下变量

(1)、内部RAM直接寻址区无符号字符变量i;

(1)unsignedchardatai;

(2)、外部64KRAM的有符号整形变量x;

(2)charintxdatax;

6、单片机系统中的定时和计数功能有何区别?

分别适用于什么场合?

答:

定时和计数的区别在于时钟来源不同,当使用内部时钟时,时钟是确定的,此时,定时器工作于定时方式;当使用外部时钟时,时钟是不确定的,此时,定时器工作于计数方式。

定时主要用来产生定时中断,实现定时采样输入信号,定时扫描键盘等;

计数主要用来对外部输入时钟累加统计或测量外部输入时钟的参数等。

7、单片机通过I/O引脚直接连接矩阵式按键时,有几种识别按键的方法,请分别说明详细过程?

答:

逐行扫描法:

列(行)作为输出,行(列)作为输入,先把第一列(行)置低电平,其余各列(行)为高电平,读行(列)线的状态,如果某行(列)线电平为低,可确定此行列交叉点处的按键被按下。

如果行(列)线都为高电平,说明此列(行)上没有按键按下,再把第二列(行)置低电平,其余各列(行)为高电平,读行(列)线状态;依次类推,找到当某一列(行)输出低电平时,对应的某行(列)的状态为低电平,这时就可确定按键所在的行和列。

行翻转法:

列线输出为全低电平,则行线中电平由高变低的所在行为按键所在行;行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。

结合上述两步,可确定按键所在行和列。

8、计算机系统中,一般有哪三类总线?

并请说出三类总线各自的特征(包括传输的信息类型、单向还是双向传输)。

答:

三类总线为:

地址总线、数据总线、控制总线。

(1分)。

地址总线为单向,用于传送地址信息。

(1分)。

数据总线为双向,用于数据的传送。

(1分)。

控制总线,一般为单向,用于传送控制信息。

9、简述增强型51单片机的中断入口地址

答:

中断入口地址为中断响应后PC的值即中断服务的入口地址。

(1分)它们是:

外部中断00003H;定时中断0000BH;外部中断10013H;定时中断1000BH;

串行口中断0023H(3分)

10、简述单片机的构成。

答:

单片机是将微处理器、一定容量的RAM和ROM、I/O口、定时器等电路集成在一块芯片上而构成的微型计算机。

11、简述时钟周期、机器周期、指令周期的概念及相互关系。

答:

时钟周期是输入微处理器的时钟信号的周期。

(1分)机器周期是机器完成一个基本动作的时间。

(1分)在MCS-51系列单片机中,一个机器周期由12个时钟周期组成。

(1分)指令周期是指执行一条指令所需的时间,由一个到数个机器周期组成。

(1分)

12、在51系列单片机执行中断服务程序时,为什么一般都要在中断入口地址开始的地方放一条跳转指令?

答:

因为51系列单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,因此一般都要在相应的中断服务程序入口地址中放一条跳转指令。

 

程序分析

一、定义外部中断0的中断函数,如下所示,指出其中的三处错误。

unsignedintFlag;

unsignedintInt0(unsignedcharpara)interrupt1

{去掉unsignedint(2分)

Cnt++;去掉unsignedcharpara

if(Cnt>10)将interrupt1改成interrupt0

{Cnt=0;

Flag=1;}

二、MCS-51单片机外接晶振为12MHz,T0工作于方式1,产生50ms定时中断。

补充下列函数,使P1.0产生1秒的方波。

#include"reg52.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitP1_0=P1^0;

ucharT0CNT0;

voidinit_t0_1()

{

TH0=0x3c;TL0=0xb0;TMOD=1;TR0=1;IE=0x82;T0CNT0=0xa;}(3分)

voidmain()

{init_t0_1();

for(;;);}

voidtimer0(void)interrupt1

{

TL0=0xb0;TH0=0x3c;T0CNT0--;

if(T0CNT0==0)

{

T0CNT0=10;P1_0=~P1_0;}}

三、MCS-51单片机P1口作为输出口,八位分别连线八只发光二极管(当引脚输出高电平时对应的发光二极管亮);编程实现单灯循环点亮,每隔1秒钟,亮的发光二极管(只有1个亮)移位一次。

晶振为12MHz,利用内部定时计数器T0实现延时,为了实现该功能,请将下面的程序补充完整。

#include“reg51.h”

unsignedcharT1s=0;

unsignedcharLED=1;

voidTimer0()interrupt1

{TH0=0xb1;

TL0=0xe0;

T1s++;

If(T1s==50)

{

LED<<=1;

If(LED==0)

LED=1;

T1s=0;

}

}

voidmain()

{

TMOD=1;

TL0=0xe0;

TH0=0xb1;

IE=0x82;

TR0=1;

While

(1)

{P1=LED;

}}

四、如果0-9七段数码管对应的字模码为3H,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH存放在1000H为首地址的程序存储器中,写出将数字5对应的字模码输出到外部RAM3003H(即扩展I/O端口地址)的程序段。

MOVDPTR,#1000HMOVA,#05HMOVCA,@A+DPTR

MOVDPTR,#3003HMOVX@DPTR,AORG1000H

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

1.将外部RAM0080H~009FH单元内容传送到内部RAM的30H~4FH单元中。

MOVR7,#20H;

MOVDPTR,#0080H;

MOVR0,#30H;

LOOP:

MOVXA,@DPTR;

MOV@R0,A;

INCR0;

INCDPTR;

DJNZR7,LOOP;

2.将定时/计数器T0设置为自动重装初值的8位定时/计数器,

MOVA,TMOD;

ANLA,#0F0H;

ORLA,#02H;

MOVTMOD,A;

五、如图为动态显示的6位LED显示接口电路图,回答如下问题。

1、简述动态显示和静态显示的优缺点。

(2分)

答:

1、动态点亮方式占用硬件资源少,但软件相对复杂。

(2分)静态点亮方式占用硬件资源多,但软件相对简单。

(2分)

2、根据图示,完成下列绝对地址变量的定义。

#defineCOM_8155PBYTE[0x00]

#definePA_8155PBYTE[0x01]

#definePA_8155PBYTE[0x02]

3、8155命令寄存器如下图所示,完成8155初始化函数。

init_8155()

{

P2_0=1;(2分)

COM_8155=xxxx0011B;(2分)

}

4、完成动态显示子函数

UcharcodeSEG_TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x73,0x1c,0};

ucharcodeBIT_TAB[]={1,2,4,8,0x10,0x20};(2分)

sbitP2_0=P2^0;

ucharIDR_BUF[6]={1,2,3,4,5,6};

LED_Disp()

{

uchara,i;

uintx;

for(i=0;i<6;i++)

{

a=DIR_BUF[i];

P2_0=1;(2分)

PB_8155=SEG_TAB[a];(2分)

PA_8155=BIT_TAB[i];(2分)

for(x=500;x>0;x--);

}}

六、现有89C52单片机、74LS373锁存器、74LS138译码器、2764EPROM和6264RAM。

试利用它们组成一单片微型计算机系统,要求:

(1)、在答题纸上参照模版画出硬件连线图(含控制信号、片选信号、数据线和地址线、以三总线的方式),2764的首地址为2000H,6264的首地址为8000H(10分);

(2)、指出该系统外扩程序存储空间和数据存储空间各自的范围(5分);

答:

程序存储器:

2000H——3FFFH数据存储器:

8000H——9FFFH

(3).说明图中各芯片的功能

74LS138:

地址译码器,用来产生数据存储器和程序存储器的片选信号;

74LS373:

地址锁存器,用来锁存P0口发送的地址低8位;

2764:

程序存储器,容量为8KB的程序存储器(EPROM)用来存储程序;

6264:

数据存储器,容量为8KB的数据存储器(RAM)用来存储数据;

 89C52:

微控制器,8位单片机。

七、下图为MCS-51扩展输入、输出口电路:

1、图中U2芯片74LS373的作用是什么?

(2分)

答:

锁存器,锁存地址总线的低8位,保证P0口可以分时复用为地址总线的低8位和数据总线。

2、图中芯片74LS138的作用是什么?

(2分)

答:

74LS138是3-8译码器,根据地址总线的高五位译码产生不同的选通信号

3、图中用作输出口扩展的芯片编号是哪个,输入口扩展芯片是哪个?

(4分)

答:

输出扩展芯片是:

U4或74LS273输入扩展芯片是:

U5

4、写出将0x5F输出到扩展口的代码。

答:

MOVA,0x5F;(2分)

MOVDPTR,#08000H;(2分)

MOVX@DPTR,A;

八、下图为MCS-51数据存储器、扩展I/O口片选信号通用电路:

图中芯片74LS373的作用是什么?

答:

锁存器,锁存地址总线的低8位,保证P0口可以分时复用为地址总线的低8位和数据总线。

图中芯片74LS138的作用是什么?

答:

3-8译码器,根据地址总线的高五位译码产生不同的选通信号

图中芯片74LS273的作用是什么?

答:

扩展输出端口

74LS273的选中地址范围是什么?

答:

地址:

A800H~AFFFH)

写出将累加器A当中的内容锁存到74LS273的代码。

答:

MOVDPTR,#A800H;MOVX@DPTR,A;

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1