单片机 下载本文

内容发布更新时间 : 2024/5/20 1:24:41星期一 下面是文章的全部内容请认真阅读。

1、8051有哪几种寻址方式?(4分)

MOV A,40H 直接寻址 MOV A,@R0 寄存器间接寻址 MOV A,#40H MOV 74H,#78H 均为立即数寻址 MOV R0,A 寄存器寻址 MOV C,01H 位寻址 MOV A,@DPTR+A 变址寻址 还有相对寻址

2、有哪几种方法能使单片机复位?复位后寄存器的状态如何?复位对内部RAM有何影响?(5分)

上电自动复位和按钮复位。复位把PC初始化为0000H,单片机从程序存储器的0000H单元开始执行程序。复位还对一些特殊功能寄存器有影响,其影响是除SP=07H,P0-—P3四个锁存器均为FFH外,其他所有的寄存器均为0。复位不影响内部RAM的状态(包括通用寄存器Rn).

3.想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。

通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。 例如:外部中断O的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4分)

ORGO003H (2分) JMP INTOP

4.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?

外部中断INT0(0003H)外部中断INT1(0013H)串行中断(0023H) 定时器溢出中断T0 (000BH) 定时器溢出中断T1 (001BH) 通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断。 5、简述子程序调用和执行中断服务程序的异同点。(8分)

相同点:均能中断主程序执行本程序,然后再返回断点地址继续执行主程序。 异:入口地址不一样,中断服务程序是固定的,子程序调用是用户自己设定的。 中断服务子程序返回指令除具有子程序返回指令所具有的全部功能之外,还有清除中断响应时被置位的优先级状态、开放较低级中断和恢复中断逻辑等功能。 中断服务子程序是在满足中断申请的条件下,随机发生的;而子程序调用是用户主程序事先安排好的。 17.单片机的特性主要有哪些?

单片机具有体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点。

1

6、单片机中断方式的流程图(6分)

答: 主程序 中断服务程序 设置中断入口 保护现场 中断优先级 恢复现场 执行主程序 返回 7、写出下列特殊功能寄存器的名称(5分)

TCON 定时/计数器 控制寄存器 TM0D 定时/计数器方式控制寄存 SCON 串行通信控制寄存器 PSW 程序状态字寄存器 IE 中断允许寄存器

8、简述8051单片机的内部组成结构(9分)

答:8051单片机是个完整的单片微型计算机。芯片内部包括下列硬件资源: 1、8位CPU; 2、4KB的片内程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器; 3、128B内部RAM;4、21个SFR;5、4个8位并行I/O口(共32位I/O线);6、一个全双工的异步串行口;7、两个16位定时器/计数器; 8、5个中断源,两个中断优先级;9、内部时钟发生器。 12.如何正确使用P3口?

(1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。

(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。

13.简述累加器的ACC的作用。

(1)8位专用寄存器。(2)运算时存放一个操作数。 (3)运算后存放运算结果,所以称它为累加器。 14.简述寄存器间接寻址方式及其寻址范围。

(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。

(2)寻址范围:①内部RAM低128单位,形式@Ri(i=0,1)。

②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。 16.简述串行数据传送的特点。

(1)传送按位顺序进行,速度慢。(2)传输线少,成本低。 (3)传送距离远,可达几公尺到几千公里。 18.8031、8051、8751有何异同?

同:均为8位单片机,其内部结构是基本相同的。

异:8051内部有4KBROM,8751内部有4KBEPROM,而8031内部无程序存储器。 19.MCS-51的位存储区在哪里?寻址范围是多少?

内部RAM的20~2FH为位寻址区域,位地址范围00~7FH;特殊功能寄存器中地址能被8整除的字节地址单元,位地址范围80~FFH;位存储区共256个位。

1

20.8051的定时器/计数器有几个?是多少位的?有几种工作方式?其工作原理如何?

8051有2个16位的定时器/计数器,有4种工作方式。

定时器与计数器的工作原理是相同的,8051的定时器/计数器是根据输入的脉冲进行加1计数,当计数器溢出时,将溢出标志位置1,表示计数到预定值。 21.8051有哪几个中断源?哪些是内部中断源?哪些是外部中断源?

8051有5个中断源,分别是定时器/计数器T0、T1的溢出中断TF0、TF1,串行口的收/发中断RI/TI,外部中断、;其中定时器/计数器T0、T1的溢出中断TF0、TF1、串行口的收/发中断RI/TI是内部中断源,外部中断、是外部中断源。

9、单片机的内部存储器的种类,并写出各自的寻址范围和容量? 单片机外部RAM的分类又哪几种?外部ROM的分类有哪几种?(9分) 答 :各种类型的单片机片内程序存储器的配置形式主要有以下几种形式: (1) 掩膜(Msak)ROM型单片机:内部具有工厂掩膜编程的ROM,ROM中的程

序只能由单片机制造厂家用掩膜工艺固化,用户不能修改ROM中的程序。例如:MCS—51系列的8051。

(2) EPROM型单片机:内部具有紫外线可擦除电可编程的只读存储器,用户可

以自行将程序写入到芯片内部的EPROM中,也可以将EPROM中的信息全部擦除。擦去信息的芯片还可以再次写入新的程序,允许反复改写。例如:MCS—51系列的8751。

EPROM型单片机使用比较方便,但价格较高,适合于研制产品或结构要求简单的小批量产品。

(3) 无ROM型单片机:内部没有程序存储器,它必须连接程序存储器才能组成

完整的应用系统。例如:MCS—51系列的8031。

无ROM型单片机价格低廉,用户可根据程序的大小来选择外接程序存储器的容量。这种单片机扩展灵活,但系统结构较复杂。

(4) E2ROM型单片机:内部具有电可擦除叫可编程的程序存储器,使用更为方

便。例如:MCS—51的派生型89C51单片机。

(5) OTP(One Time Programmable)ROM单片机:内部具有一次可编程的程序存

储器,用户可以在编程器上将程序写入片内程序存储器中,程序写入后不能再改写。例如:NEC公司的μPD75P308GF—3B9。这种芯片的价格也较低。

1

已知89C51单片机的fosc=12MHZ,用T0定时。试编程由P1.0输出周期为10ms的方波。(10分) 解:

OGR 0000H LJMP RESET ORG 000BH LJMP TOINT ORG 0030H

RESET: MOV SP,#60H MOV TMOD,#01H

MOV TH0,#ECH

MOV TL0,#78H SETB PT0 SETB EA SETB ET0 SETB TR0

SJMP $

TOINT:

MOV TH0,#ECH

MOV TL0,#78H CPL P1.0 RETI END

1

应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。

请(1)计算时间常数X, (2)写出程序清单 解:X=216-t(F/12)

=216-1*10-3*6*106/12

=OFEOCH ORG 3000H

START:MOV TMOD,#01H MOV TL0,#OCH MOV THO,#OFEH SETB TR0 LOOP: JBC TFO,DONE

SJMP LOOP

DONE: MOV TL0,#OCH

MOV THO,#OFEH CPL P1.0 SJMP LOOP

利用MCS-51的定时器0,工作于方式1,采用中断方式使下图由P1.7控制的小灯亮1秒,灭1秒。周而复始。要求编写完整的程序,小灯最初为熄灭状态。(晶振为12MHZ)。(共10分) ORG 0000H LJMP START ORG 000BH LJMP DSQ0 ORG 0030H

START: MOV SP,#60H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV R7,#14H CLR P1.7 SETB ET0 SETB EA SETB TR0 SJMP $

DSQ0: MOV TH0,#3CH MOV TL0,#0B0H DJNZ R7,LOOP CPL P1.7 MOV R7,#14H LOOP: RETI END

1

编制一个循环闪烁灯的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。

本程序的硬件连接如图所示。当P1.0输出高电平时,LED灯亮,否则不亮。

其程序如下:

MOV A,#01H ;灯亮初值 SHIFT: LCAIL FLASH ; 调闪亮10次子程序

RR A ;右移一位 SJMP SHIFT ;循环 FLASH:MOV R2,#0AH 闪烁10次计数 FLASH1; MOV P1,A ;点亮

LCALL DELAY ;延时 MOV P1,#00H ;熄灭 LCALL DELAY ;延时 DJNZ R2,FLASH1 ;循环 RET