单片机作业答案20131116

更新时间:2023-12-06 12:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 微型计算机基础知识

1 微型计算机由哪几部分组成?各部分有何功能?

答:由四部分构成:

(1) 微处理器,是微型计算机的核心,由ALU、工作寄存器组、控制部件组成; (2) 存储器,用来存放数据和指令;

(3) I/O接口,用来连接计算机和外围设备; (4) 总线,用于沟通各部分的信息。

2 什么是总线?什么是三总线?51单片机的三总线分别由什么提供? 答:总线:是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。 三总线:数据总线(DB)在芯片之间传送数据信息;地址总线(AB)传送地址信息;控制总线(CB)传送控制命令。 51单片机的三总线:

数据总线:8位,由P0口提供。

地址总线:16位,由P0和P2口提供。

控制总线: RST、 ALE 、PSEN*和 EA* 以及P3口的某些第二功能引脚。 3 用8位二进制数补码计算38-95。 解:[38]补=[38]原=0010,0110H

[-95]原=1101,1111H [-95]补= =1010,0001H

[38-95]补=[38]补+[-95]补=1100,0111H [38-95]原=[[38-95]补]补=1011,1001H=-57

第二章 MCS-51单片机的结构

1 说明MCS-51单片机的EA*引脚的作用?8031单片机的EA*引脚如何处理?

答:EA*引脚为外部程序存储器选择端;8031内部没有程序存储器,其EA*引脚应接地,使其只使用外部的程序存储器。

2 MCS-51单片机的引脚中有多少根I/O线?它们分别与单片机对外的地址总线和数据总

线之间有什么关系?其地址总线和数据总线各有多少位?可以寻址多大的地址空间? 答:共有4个8位的并行口,P0、P1、P2和P3。 51单片机的三总线:

数据总线:8位,由P0口提供。

地址总线:16位,由P0和P2口提供。可寻址64KB的地址空间。

3 8051单片机的控制总线信号有哪些?各有何作用? 答:(1) EA*/VPP(31脚):EA*为访问外部程序存储器控制信号, 低电平有效。 (2) RST/VPD(9脚): RST即为RESET,复位信号,高电平有效。

(3)ALE/PROG*(30脚): 地址锁存允许信号。访问外部存储器时, ALE把 P0口输出的低8位地址信息锁存起来,实现低8位地址和数据的分时传送。

(4) PSEN* (29脚): 片外程序存储器读选通信号输出端, 低电平有效。即外部ROM的读信号。(相当于外部RAM的RD*)

4 8051单片机的PSW寄存器各标志位是什么意义?分析执行78+119后PSW中各标志位

的值。

答:CY(PSW.7)——进位标志位;位累加器

AC(PSW.6)——辅助进位标志位 F0(PSW.5)——用户标志位

RS0和RS1(PSW.4,PSW.5)——寄存器组选择位 OV(PSW.2)——溢出标志位

P(PSW.0)一一奇偶标志位。表明累加器A中数的奇偶性。

5 8051片内RAM的低128单元划分为哪几个主要部分?各部分的主要功能是什么?

答:(1)寄存器区:共有四组寄存器,每组8个单元一组(8位),各组都以R0、R1、R2、R3、R4、R5、R6、R7作寄存单元编号。 占据内部RAM的00H~1FH单元地址。

(2)位寻址区: 内部RAM的20H~2FH单元,位地址为00H~7FH。 (3)用户RAM区: 在内部RAM低128单元中,单元地址为30H~7FH。

6 MCS-51单片机的振荡周期、机器周期、指令周期分别是什么?当晶振为12MHz时,

一个机器周期是多长?执行一条指令的时间是多少? 答:振荡周期又称拍节(P):振荡脉冲的周期;机器周期:为12个振荡周期;指令周期指执行一条指令所需要的时间,以机器周期为单位。当晶振为12MHz时,一个机器周期是1微秒,执行一条指令的时间是1、2、4微秒。

7 8051单片机复位后的初始状态是怎样的?复位方法有几种? 答:(1)(PC)=0000H (2)特殊功能寄存器

除(SP)=07H,(P0~P3)=0FFH,其他特殊功能寄存器全部清零。 (3)复位不影响内部RAM中的内容

8 程序存储器从0开始的6个特殊单元是什么?各有什么用途? 答:复位后PC的值--0000H

外部中断0--0003H 定时器0--000BH

外部中断1--0013H 定时器1--001BH 串行口—0023H

第三、四章 汇编指令系统和汇编语言程序设计 1、芯片内部各单元的数据传送

2、用数据传送指令实现下列要求

R0的内容传送到R1

? 内部RAM 20H单元内容传送到A中。 ? 外部RAM 30H单元内容送R0。

? 外部RAM 30H单元内容送内部RAM 20H单元 ? 外部RAM 1000H单元内容送内部RAM 20H ? 程序存储器ROM 2000H单元内容送R1

? 程序存储器ROM 2000H单元内容送内部RAM 20H ? 程序存储器ROM 2000H单元内容送外部RAM 30H ? 程序存储器ROM 2000H单元内容送外部RAM 1000H ? R0的内容传送到R1 ? MOV A,R0 ? MOV R1,A

? 内部RAM 20H单元内容传送到A中。 ? MOV A,20H或 ? MOV R0,#20H ? MOV A,@R0

? ? ? ? ? ? ? ? ? ? ? ?

外部RAM 30H单元内容送R0。 MOV R1,#30H MOVX A,@R1 MOV R0,A

外部RAM 30H单元内容送内部RAM 20H单元 MOV R1,#30H MOVX A,@R1 MOV 20H,A

外部RAM 1000H单元内容送内部RAM 20H MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A

? 程序存储器ROM 2000H单元内容送R1

? 程序存储器ROM 2000H单元内容送内部RAM 20H ? 程序存储器ROM 2000H单元内容送外部RAM 30H ? 程序存储器ROM 2000H单元内容送外部RAM 1000H ? MOV DPTR,#2000H ? MOV A,#0 ? MOVC A,@ A+ DPTR 3、若内部RAM 40H存放着数据X,并根据下式给Y赋值,设函数值Y保存于内部RAM 50H单元,编程实现此功能。

X?0??1ORG 0000H

MOV

JNZ MOV SJMP

X?0? Y? ?0

??1 X?0???50H,#0 ;函数值0送入50H单元 FINISH

A,40H LOOP

??LOOP:ANL A,#80H

JZ POSI MOV 50H,# -1 SJMP FINISH POSI: MOV 50H,# 1 FINISH:SJMP $ ;停机

END

或者ORG 0000H

VAR EQU 40H FUNC EQU 50H START:MOV A,VAR ;取x

JZ COMP ;为零转COMP JNB ACC.7,POSI ;x>0,转POSI MOV A,# -1 ;x<0,(A)=-1 SJMP COMP POSI: MOV A,#01H COMP: MOV FUNC,A ;保存结果

END

4、编程将外部RAM 100H单元的高4位置1,低四位清0. MOV DPTR,#100H MOVX A,@DPTR ANL A,#0F0H ORL A,#0F0H MOVX @DPTR,A

5、编程实现将外部RAM 1000H开始的100个单元的内容清零。

MOV DPTR,#1000H MOV R7,#100

CLR A

LOOP:MOVX @DPTR,A

INC DPTR DJNZ R7,LOOP END

6、已知从内部RAM的30H开始存放有20个有符号数,试编程统计其负数和正数(包括0)的个数,并分别保存在R1和R2中。

MOV R0,#30H MOV R7,#20

MOV R1,#0;负数 MOV R2,#0;正数 LOOP:MOV A,@R0

JB ACC.7,NEG INC R2 SJMP LOOP1 NEG:INC R1 LOOP1:INC R0

DJNZ R7,LOOP END

7、编制一程序,实现将累加器A中的无符号二进制数转换为3位BCD数,并将BCD数的百位、十位和个位分别存放在内部RAM的40H、41H和42H单元。 ORG 0000H

MOV MOV DIV MOV MOV MOV DIV MOV MOV END

A,#0FEH ;送被分离的数 B,#100 ;除数送B AB ;相除,分离出百位 42H,A ;保存百位 A,B ;余数送A B,#10 ;除数送B AB ;分离十位和各位 41H,A ;保存商,即十位数 40H,B ;保存余数,即个位数

第七章 MCS-51单片机的中断系统与定时器/计数器

1 8051单片机提供了哪几个中断源?有哪几个中断优先级?各中断源对应的中断矢量(入口)地址是多少?

答:共有5个中断源,每个中断源都可以选择高优先级或低优先级,由IP的相应位选择;各中断源对应的中断矢量(入口)地址:外部中断0--0003H

定时器0--000BH 外部中断1--0013H

定时器1--001BH 串行口—0023H

2 外部中断有几种触发方式?如何选择?

答:外部中断有电平触发和脉冲触发两种方式,由TCON中的IT0或IT1位选择,当为高电平时选择电平触发,为低电平时为脉冲触发。

4 写出INT0*为边沿触发方式的中断初始化程序。 答:SETB IT0 SETB EA SETB EX0 5 8051单片机的定时器/计数器有哪几种工作方式?各有何特点? 答:共有4种工作方式,由TMOD的M1M0选择,当 M1M0为00时,选择方式0,13位计数器 M1M0为01时,选择方式1,16位计数器

M1M0为10时,选择方式2,自动重装初值的8位计数器

M1M0为11时,选择方式3,定时器0:分成两个8位计数器 ;定时器1:停止计数

6 设fosc=12MHz,用T0定时,在P1.0输出周期为10ms的方波。

答:可以选择方式0,也可以选择方式1,本例选择方式1. (1) 设定工作方式:(TMOD)=01H (2) 计数初值,周期为10ms,定时为5ms,

初值=216-5ms/1us=60536=EC78H,即(TH0)=0ECHH,(TL0)=78H ORG 0000H LJMP MAIN ORG 000BH LJMP TINT MAIN:MOV SP,#60H

MOV TMOD,#01H MOV TH0,#0ECH MOV TL0,#78H SETB EA SETB ET0 SETB TR0

SETB P1.0 SJMP $

TINT: MOV TH0,#0ECH

MOV TL0,#78H CPL P1.0 RET

本文来源:https://www.bwwdw.com/article/jqpt.html

Top