当前位置:文档之家› MSP430单片机原理

MSP430单片机原理

MSP430单片机原理
MSP430单片机原理

第2章MSP430单片机原理与C语言基础MSP430系列超低功耗单片机有200多种型号,TI 公司用3~ 4位数字表示其型号。其中第一位数字表示大系列,如MSP430F1xx系列、MSP430F2xx系列、MSP430F4xx系列、MSP430F5xx系列等。在每个大系列中,又分若干子系列,单片机型号中的第二位数字表示子系列号,一般子系列越大,所包含的功能模块越多。最后1~2 位数字表示存储容量,数字越大表示RAM 和ROM 容量越大。430 家族中还有针对热门应用而设计的一系列专用单片机。如SP430FW4xx 系列水表专用单片机、MSP430FG4xx 系列医疗仪器专用单片机、MSP430FE4xx 系列电能计量专用单片机等。这些专用单片机都是在同型号的通用单片机上增加专用模块而构成的。最新的MSP430型号列表可以通过TI 公司网站下载。

在开发单片机应用系统时,第一步就是单片机的选型,选择合适的单片机型号往往就能事半功倍。单片机选型基本方法是选择功能模块最接近项目需求的系列,然后根据程序复杂程度估算存储器和RAM 空间,并留有适当的余量,最终决定选用的单片机型号。

本章节以MSP430F249单片机为学习目标,介绍单片机的基本结构和工作原理,读者可以举一反三、触类旁通,而不必每种型号都去学习却无法深入掌握。

2.1 MSP430F249单片机基本结构与原理

2.1.1MSP430F249的主要结构特点

●供电电压范围1.8V~3.6V。

●超低功耗:活动状态270uA(1MHz,2.2V);待机模式0.3uA;关机模

式0.1uA。

●16位RISC精简指令集处理器。

●时钟系统:多种时钟源,可灵活使用。时钟频率达到16MHz;具有内部

振荡器;可外接32kHz低频晶振;外接时钟输入。

●12位A/D转换器,内部参考电压,采用保持电路。

●16位定时器A,3个捕获/比较寄存器。

●16位定时器B,7个捕获/比较寄存器。

●4个通用串口:USCI_A0和USCI_A1、USCI_B0和USCI_B1(I2C、SPI)。

●60kB+256B的flash程序存储器,2kB的RAM数据存储器。

●64引脚QFP封装。

MSP430F249单片机的芯片封装形式如图2.1所示,各引脚的功能描述如表2-1所列。

2.1.2 MSP430F249单片机的基本结构

MSP430F24x系列单片机功能结构示意图如图2.2所示。

(1)CPU简介

MSP430单片机的CPU为16位RISC精简指令集的处理器,只有27条正交汇编指令和7种寻址方式。RISC处理器基本上是为高级语言所设计的,编译程序对正交指令系统很容易做到最优化,利于产生高效紧凑的代码。MSP430CPU 中集成了16个16位通用寄存器R0~R15,其中R0~R3分别复用为程序指针PC、堆栈指针SP、状态寄存器SR和常数发生器CG1/CG2。这些寄存器之间的操作只需要一个CPU周期。

1)程序计数器(PC指针)也就是CPU专用寄存器R0,PC指针是一个16位寄存器,可以寻址64kB的空间。MSP430单片机的指令长度以字(16位)为最小单位,而程序存储器单元以字节(8位)为单位,所以PC的值总是偶数。

图2.1 MSP430F249单片机引脚图

图2.2 MSP430F24x系列单片机功能结构示意图

2)堆栈指针SP为CPU专用寄存器R1,SP指针为16为寄存器,也总是偶数的。堆栈是在片内RAM中实现的,通常将堆栈指针设置为片内RAM的最高地址加一。使用C语言编程时,集成编译软件IAR会自动设置堆栈指针初始值。对程序员来说无需关心细节,编译结束后在信息窗提示的编译结果会给出RAM 使用量的大小,只要不超过RAM 区实际容量并稍留余量给堆栈用即可。使用汇编语言编程时必须注意堆栈指针的正确设置,否则堆栈可能会覆盖你的变量区,导致程序出错。

3)状态寄存器SR和常数发生器CG1、CG2(见数据手册)

SCG1 系统时钟控制位1,该位置位时关闭SMCLK

SCG0 系统时钟控制位0,如果DCO未用作MCLK或SMCLK时,该

位置位关闭DCO。

OSCOFF 晶振控制位,如果LFXT1未用作MCLK或SMCLK时,该位置位关闭LFXT1。

CPUOFF CPU控制位,该位置位时关闭CPU。

GIE 总中断允许位,该位置位时允许可屏蔽中断;复位时禁止所有的可屏蔽中断。

N 负数标志位,当运算结果为负时置位;否则复位。

Z 零标志位,当运算结果为零时置位;否则复位。

C 进位标志位,当运算结果产生进位时置位;否则复位。

(2)片内存储器

MSP430单片机采用冯·诺依曼结构,程序存储器flash、数据存储器RAM、特殊功能寄存器以及中断向量全部映射到64kB内部地址空间。MSP430不同型号单片机地址空间略有不同,MSP430F249的存储器结构如表2-2所示。

MSP430F249的数据存储区RAM有2kB大小,地址范围0x0200~0x09FF。RAM为堆栈、全局变量和局部变量提供空间。使用C语言来开发项目,注意观察编译结束后在信息窗口中提示的RAM使用量的大小,只有不超过RAM区的实际容量并稍留余量即可。

2)引导区

引导区使得用户可以通过UART串口对MSP430单片机的程序存储器flash 或RAM区实现程序代码的写操作。详细内容参见TI公司的相关技术文档《Features of the MSP430 Bootstrap Loader》。

3)信息存储区

MSP430F249单片机有256B的信息存储区,它分为两段,每段128B。信息存储区用来存放那些掉电后需要保存的变量,一般用来保存项目的设定值或量程转换参数。Flash信息存储区只允许块擦除或写入操作,且有擦除次数的限制。需要频繁(几秒钟一次)擦除写入的变量不能存放在信息存储区,这时可以外接铁电存储器EEPROM器件来保存这些变量。

4)程序存储区

MSP430F249单片机的程序存储区位于0x1100~0xFFC0,约60kB,程序存储区用于存放用户程序、常数以及表格等。程序存储区可以通过JTAG、BSL和ISP方式下载得到用户程序。

关于Flash存储器,我们介绍几个基本概念。Flash 的结构决定了写操作只

能将存储单元中的各比特位从1改写成0,而不能将0改写成1。所以Flash中每个单元可以一次性写入数据,数据一旦写入,在擦除前不能被再次改写。Flash 可以被擦除,擦除后所有单元的比特位都恢复为1,但擦除操作只能针对整个段进行。所以在改写某单元之前,必须先擦除整个段。Flash存储器较适合做大批量连续数据存储,而且一般控制器都会提供连续写功能以提高速度。

在Flash 中,将每次能擦除的最小区块单位成为“段”(Segment),将每次能连续写入的最大区块单位称为“块”(Block)。

MSP430单片机有5种低功耗模式,1种活动模式,如表2-3所示。任何一种低功耗模式只能与活动模式进行切换。

(3)单片机工作原理

单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条指令的执行过程。所谓指令就是把要求单片机执行的各种操作,用命令的形式写下来,一条指令对应着一种基本操作。单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序。程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,指令就存放在这些单元里。每一个存储单元有唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。

程序的执行通常是顺序的,所以程序中的指令也是一条条顺序存放的。单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中)。在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC之中的内容就会自动增加,增加量由本条指令长度决定,以指向下一条指令的起始地址,保证指令顺序执行。

在程序顺序执行时,PC指针的内容自动增加,指向正在执行的指令的下一条指令;当发生中断或调用子程序时,当前的PC值被保存到堆栈,然后PC指针置入新的值(中断向量地址或子程序入口地址),程序的流动发生变化,执行完这些程序后,PC指针的值要恢复为堆栈中保存的旧的PC值,程序从断点处继续顺序执行。

2.2 MSP430单片机的C语言基础

C语言是一种结构化的高级语言,其优点是语言简洁、表达能力强、使用方便灵活、可读性好、可移植性强。C语言程序本身不依赖单片机硬件,如果更改工程项目中的单片机型号,对C语言程序稍加修改就可以进行程序移植,而且移植程序时不一定要求程序开发人员详细掌握新型号单片机的指令系统。

C语言程序的书写格式十分自由。一条语句可以写成一行,也可以写成几行;还可以在一行内写多条语句;但是需要注意的是,每条语句都必须以分号“;”作为结束符。为了C语言程序能够书写清晰,便于阅读、理解和维护,在书写C 语言程序时最好遵循以下规则。

a)一个声明或一条语句占一行;

b)不同结构层次的语句,从不同的起始位置开始,机缩进相同的字数;

c)用{}括起来的部分表示程序的某一层次结构。

目前有几种C编译器可以进行Msp430单片机程序开发,这些C编译器基本功能大致相同,但在某些细节上还是有所区别的,因此当选择了某个C 编译器后应该学习掌握相应的C编译器语言用法。本章将以IAR for MSP430 编译器为例讲解C430程序设计的C语言基础。

2.2.1 C语言的标识符和关键字

表2-4 C语言的关健字

1)C语言的标识符是用来标识源程序中某个对象名字的。这些对象可以是函数、变量、常量、数组、数据类型、存储方式、语句等。一个标识符由字符串、数字和下划线等组成,第一个字符必须是字母或下划线,通常以下划线开头的标识符是编译系统专用的,因此在编写C语言源程序时一般不要使用以下划线开头的标识符,而将下划线用作分段符。标识符的长度由系统决定,标识符最长可达255个字符,编写源程序时标识符的长度不要超过32个字符。

2)关键字是一类具有固定名称和特定含义的特殊标识符,又称为保留字。在编写C语言源程序时一般不允许将关键字另作别用,换句话说就是对于标识符的命名不要与关键字相同。上面表2.4所列的C语言关键字由系统保留不能用作用户标识符。

3)程序中对于标识符的命名应当简洁明了,含义清晰,便于阅读理解,如用标识符“max”表示最大值,用“TIMER0”表示定时器0等。尽量不要取名“aa”、“bb”等等没有特定意义的标识符,这样虽然没有违反C语言的规则,但是在程序里就很不容易理解。

4)C语言区分大小写字母,C语言编译器在对程序进行编译时,对于程序中同一个字母的大小写作为不同的变量来处理。例如定义一个延时函数的形式参数time,但是如果程序当中再出现一个由大写字母定义的标识符TIME,那么它们在程序当中是两个不同的标识符,是没有冲突的。

5)C语言程序中有且只有一个main函数,一个C语言程序,无论main函数的物理位置在那里,总是从main函数开始执行。

6)每句程序语句后面一定要加分号,分号是C语言结构的一部分,如果缺少了就会语法出错。

7)注释,在程序中添加注释是为了能更加容易读懂和理解程序,IAR有两种风格的注释方法“//”和“/*----------*/”。“//”的意思是在其后面的全部引导为注释,而“/*----------*/”的意思是在“/*”开始,一直到遇到“*/”为止,在其里面的内容都被认为是注释。

不同的C语言编译器中变量类型略有差别,表2-5列出IAR for MSP430支持的变量类型。

表2-5 C430中变量类型

Float和double的指数位是按补码的形式来表示的,所以float的指数范围为-128~+127,而double的指数范围为-1024~+1023。float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

float和double的精度是由尾数的位数来决定的。float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,float的精度为7位; double:2^52 = 4503599627370496,一共16位,double的精度为16位。

IAR for msp430允许改变某些变量的特性。在打开工程后,选择菜单项Project\Options,在General Option\Target项中可以设置浮点数长度,Floating Point 决定了double变量的字节数,默认是32bit,可以设置为64bit。在C/C++ Compile\Language项中Plain char可以设置char是否等效为unsigned char。

在变量定义中增加某些关键字可以给变量赋予某些特殊性质:

const:定义常量。在 C430 语言中,const关键字定义的常量实际上被放在了程序存储器flash中,经常用const关键字定义显示表之类的常数数组。

extern:声明外部变量,外部变量是指在函数或文件外部定义的全局变量。使用时,extern置于变量或函数前,表示变量或函数的定义在别的文件中,提示编译器在遇到此变量和函数时在其他模块中寻找它的定义,

static :定义静态局部变量或静态函数,静态局部变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。有时候希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下次该函数调用时,该变量保留上一次函数调用结束时的值。这时就应该指定局部变量为静态局部变量。

volatile:定义“挥发性”变量。编译器将认为该变量的值会随时改变,对该变量的任何操作都不会被优化过程删除。volatile用在如下的几个地方:中断服务程序中修改的供其它程序检测的变量需要加volatile;多任务环境下任务间共享的标志应该加volatile;存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义。

volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。

全局变量:只要定义在函数体(包括主函数)外,就是全局变量了,编译器为全局变量安排特定的数据区,这些数据区为全局变量专用。全局变量一般定义在C程序的开头部分、主函数之前,在与该程序有关的所有文件都可以使用该变量。程序开始时分配空间,程序结束时释放空间,默认初始化为0。对于多文件C语言程序,如果全局变量定义在其它文件中,那么别的程序文件里面的函数要访问另一个文件里面的全局变量,须在对全局变量进行外部变量声明,关键词extern。

局部变量是在一个函数内部定义的变量,它只在定义它的那个函数范围以内有效,在此函数之外局部变量即失去意义,因而也就不能使用这些变量了。不同的函数可以使用相同的局部变量名,由于它们的作用范围不同,不会相互干扰。函数的形式参数也属于局部变量。局部变量在每次函数调用时分配存储空间,在每次函数返回时释放存储空间。

静态局部变量:静态局部变量在函数内进行定义,但不像其它局部变量,当调用时就存在,退出函数时就消失,静态局部变量始终存在着。静态局部变量的生存期为整个源程序执行期间,但是其作用域仍与局部变量相同,即只能在定义该变量的函数内使用。退出该函数后,尽管静态局部变量还继续存在,但不能使用它。静态局部变量有全局变量的优点,也有局部变量的优势。

全局变量和静态局部变量会在程序刚开始运行时进行初始化,也是唯一的一次初始化,默认初始化值为0。不过和全局变量比起来,static可以控制变量的可见范围,。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。例如,我们要同时编译两个源文件,一个是a.c,另一个是main.c。

a.c函数的内容

char a='A';

void msg()

{

printf("Hello\n");

}

下面是main.c的内容

int main( void )

{

extern char a; // 声明外部变量

printf( "%c",a);

msg();

while(1); //循环等待

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1:MOV R1,#100 LOOP2:MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

单片机原理与接口技术试题及答案

复习题及答案 (一)选择题(在每个小题四个备选答案中选出一个正确答案,填在题的括号中) 1、80C51基本型单片机内部程序存储器容量为(C)。 (A)16K (B)8K (C)4K (D)2K 2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。 (A)(B)RST (C)ALE (D) 3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。 (A)P0 (B)P1 (C)P2 (D)P3 4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。 (A)(B)T1 (C)串口(D)T0 5、在80C51中,要访问SFR使用的寻址方式为(A)。 (A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址 6、以下的4条指令中,不合法的指令为(D)。 (A)INC A (B)DEC A (C)I NC DPTR (D)SWAP ACC 7、当需要扩展一片8K的RAM时,应选用的存储器为(B)。 (A)2764 (B)6264 (C)6116 (D)62128 8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。 (A)8155 (B)8255 (C)8279 (D)74LS164 9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。 (A)方式0 (B)方式1 (C)方式2 (D)方式3 10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。 (A)08H (B)80H (C)00H (D)07H 二、填空题 1、计算机的经典结构由存储器、运算器、控制器、输入设备、输出设备组 成。 2、80C51单片机基本型内部RAM有128个字节单元,这些单元可以分为三个用途不同 的区域,一是工作寄存器区,二是位寻址区,三是通用数据区区。 3、在8051单片机中,由 2 个振荡周期组成1个状态周期,由 6 个状态周期组成1 个机器周期。 4、8051的堆栈是向地址的高端生成的。入栈时SP先加1,再压入数据。 5、对于80C51无嵌套的单级中断,响应时间至少 3 个机器周期,最多8个机器周期。 三、简答题 简述80C51单片机的I/O口的功能和特点; 答:P0:地址总线低8位/数据总线和一般I/O口 P1:一般I/O口 P2:地址总线高8位和一般I/O口 P3:第二功能和一般I/O口 4个口作为一般I/O时均为准双向口。 5、简述80C51单片机指令系统的特点及寻址方式。

李全利版单片机原理及接口技术课后答案(第五章)

章5 80C51的中断系统及定时/计数器 1.80C51有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU响应各中断时,其中断入口地址是多少? 答:5个中断源,分别为外中断INT0和INT1、T0和T1溢出中断、串口中断。 电平方式触发的外中断标志与引脚信号一致;边沿方式触发的外中断响应中断后由硬件自动复位。 T0和T1,CPU响应中断时,由硬件自动复位。 RI和TI,由硬件置位。必须由软件复位。 另外,所有能产生中断的标志位均可由软件置位或复位。 各中断入口地址:INT0―0003H,T0—000BH,INT1—0013H,T1—001BH,RI和TI—0023H。 2.某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求CPU处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即可)。 答:将3个中断信号经电阻线或,接INT1。 ORG 0000H LJMP MAIN ORG 00013H LJMP ZDFZ ORG 0040H MAIN:SETB EA SETB EX1 SJMP $ 0RG 0200H ZDFZ:PUSH PSW PUSH ACC JB P1.0,DV0 JB P1.1,DV1 JB P1.2,DV2 INRET:POP ACC POP PSW RETI ORG 2000H DV0:------------ JMP INRET ORG 2100H

DV1:------------ JMP INRET ORG 2200H DV2:------------ JMP INRET 3.外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定? 答: 当IT0=0时,INT0为电平触发方式。电平触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,当采样到低电平时,置IE0=1向CPU请求中断;采样到高电平时,将IE0清0。在电平触发方式下,CPU响应中断时,不能自动清除IE0标志。 电平触发方式时,外部中断源的有效低电平必须保持到请求获得响应时为止,不然就会漏掉;在中断服务结束之前,中断源的有效的低电平必须撤除,否则中断返回之后将再次产生中断。该方式适合于外部中断输入为低电平,且在中断服务程序中能清除外部中断请求源的情况。 当IT0=1时,INT0为边沿触发方式。边沿触发方式时,CPU在每个机器周期的S5P2采样INT0引脚电平,如果在连续的两个机器周期检测到INT0引脚由高电平变为低电平,即第一个周期采样到INT0=1,第二个周期采样到INT0=0,则置IE0=1,产生中断请求。在边沿触发方式下,CPU响应中断时,能由硬件自动清除IE0标志。 边沿触发方式时,在相继两次采样中,先采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清0。另外,为了保证下降沿能够被可靠地采样到,INT0和INT1引脚上的负脉冲宽度至少要保持一个机器周期(若晶振频率为12MHz,为1微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求。 4.定时/计数器工作于定时和计数方式时有何异同点? 答: 定时/计数器实质是加1计数器。 不同点:设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值乘以机器周期就是定时时间。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。 相同点:它们的工作原理相同,它们都有4种工作方式,由TMOD中的M1M0设定,即 方式0:13位计数器; 方式1:16位计数器; 方式2:具有自动重装初值功能的8位计数器; 方式3:T0分为两个独立的8位计数器,T1停止工作。 5.定时/计数器的4种工作方式各有何特点?

单片机原理及接口技术第3章习题答案.docx

1>指令:CPU 根据人的意图来执行某种操作的命令 指令系统:一台计算机所能执行的全部指令集合 机器语言:用二进制编码表示,计算机能直接识别和执行的语言 汇编语言:用助记符、符号和数字来表示指令的程序语言 高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入 了解的通用性语言 2、 见第1题 3、 操作码[目的操作数][,源操作数] 4、 寻址方式 寻址牢间 立即数寻址 程序存储器ROM 直接寻址 片内RAM 低128B 、特殊功能寄存器 寄存器寻址 工作寄存器R0 R7、A 、B 、C 、DPTR 寄存器间接寻址 片内RAM 低128B 、片外RAM 变址寻址 程序存储器(@A+PC,@A+DPTR ) 相对寻址 程序存储器256B 范围(PC+偏移量) 位寻址 片内RAM 的20H-2FH 字节地址、部分SFR 5、SFR :直接寻址,位寻址,寄存器寻址;片外RAM :寄存器间接寻址 A, 40H ;直接寻址 (40H ) A RO, A ;寄存器寻址 (A ) - RO Pl, #0F0H ;立即数寻址 0F0—P1 A, @R0 ;寄存器间接寻址((RO )) - A P2, Pl ;直接寻址(Pl ) ->P2 最后结果:(RO) =38H, (A) =40H, (PO) =38H, (Pl) = (P2) =0F0H, (DPTR) =3848H, (18H) =30H, OOH) =38H, (38H) =40H, (40H) =40H, (48H) =38H 注意:?左边是内容,右边是单元 7、 用直接寻址,位寻址,寄存器寻址 8、 MOV A,DATA ;直接寻址2字节1周期 MOV A,#DATA ;立即数寻址 2字节1周期 6、MOV MOV MOV MOV MOV MOV MOV MOV MOV @R0,30H ;直接寻址(3UH ) (RO ) DPTR,#3848 ;立即数寻址 3848—DPTR 40H,38H ;直接寻址(38H ) ->40H R0,30H ;直接寻址(30H ) ->R0 P0,R0 ;寄存器寻址 (RO ) PO 18H, #30H ;立即数寻址 30->18H MOV MOV

单片机原理及接口技术

0924]《单片机原理与接口技术》 作业一 [单选题]MCS―51单片机一个机器周期由()个振荡周期构成;A:2 B:4 C:8 D:12 参考答案:D [多选题]电子计算机的硬件系统主要组成部分有()A:CPU B:存储器 C:输入设备 D:输出设备 参考答案:ABCD [单选题]MCS-51单片机是()位机。 A:4 B:8 C:16 D:32 参考答案:B [单选题]使用MCS51汇编语言指令时,标号以()开始。 A:标点符号 B:数字 C:英文字符 D:中文字符 参考答案:C

[多选题]CPU的主要组成部分有() A:运算器 B:控制器 C:程序存储器 D:数据存储器 参考答案:AB [判断题]MCS-51单片机复位后,RS1、RS0为0、0,此时使用0组工作寄存器。 参考答案:正确 [判断题]MCS-51单片机复位后,部特殊功能寄存器均被清零。 参考答案:错误 [填空题] 1.十六进制数30H等于十进制数(); 2.十六进制数20H的压缩BCD码为(); 3.与十进制数40相等的十六进制数为( ); 4.十六进制数037H对应的压缩BCD码可表示为( ); 5.字符"A”的ASCII码为(); 6.字符"D”的ASCII码为(); 7.字符"1”的ASCII码为(); 8.字符"5”的ASCII码为(); 9.位09H所在的单元地址是()字节的()位; 10.编写程序时使用的程序设计语言有()、()、()三种; 11.MCS―51单片机有四个工作寄存器区,由PSW状态字中的()、()两位的状态来 决定; 12.定时器的工作方式()为16位为定时/计数方式; 13.串行通讯分为()和()两种基本方式; 14.串行通讯工作方式1和方式3的波特率有SMOD值和()控制。 参考答案:

单片机原理与接口技术习题答案

单片机原理与接口技术习题答案 习题与思考题1 1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 1-4 单片机的几个重要指标的定义。 答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。 习题与思考题2 2-2 MCS-51单片机的EA、ALE和PSEN端的功能是什么? 答:ALE——ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。 PSEN——外部程序存储器的读选通信号。当访问外部ROM时,PSEN产生负脉冲作为外部ROM的 选通信号;在访问外部RAM或片内ROM时,不会产生有效的PSEN信号。PSEN可驱动8个LSTTL 门输入端。 EA——访问外部程序存储器控制信号。对8051和8751,它们的片内有4KB的程序存储器。当EA为 高电平时,CPU访问程序存储器有两种情况:一是访问的地址空间在0~4K范围内,CPU访问片内 程序存储器;二是访问的地址超出4K时,CPU将自动执行外部程序存储器的程序。对于8031,EA 必须接地,只能访问外部ROM。 2-3 程序计数器(PC)有多少位?它的主要功能是什么? 答:程序计数器有16位,它的功能和一般微型计算机的相同,用来存放下一条要执行的指令的地址。当按照PC 所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。 2-5 MCS-51单片机如何实现工作寄存器组R0~R7的选择? 答:每个工作寄存器组都可被选为CPU的当前工作寄存器,用户可以通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来任选一个寄存器组为当前工作寄存器。 RS1RS0寄存器组R0R1R2R3R4R5R6R7 000组00H01H02H03H04H05H06H07H 011组08H09H0AH0BH0CH0DH0EH0FH 102组10H11H12H13H14H15H16H17H 113组18H19H1AH1BH1CH1DH1EH1FH 2-6 单片机复位后,各特殊功能寄存器中的初始化状态是什么? 答: 特殊功能寄存器初始状态特殊功能寄存器初始状态ACC00H TMOD00H PC0000H TCON00H PSW00H TL000H SP07H TH000H DPTR0000H TL100H P0~P30FFH TH100H IP xx000000B B00H IE0x000000B SCON00H PCON0xxx0000B SBUF不定

单片机原理及应用技术苏家建曹柏荣汪志锋课后习题参考答案

单片机原理及应用技术苏家建 课后习题参考答案 第三章MCS-51指令系统 3-1 MCS-51指令系统有哪几种寻址方式?按功能分类有哪几种指令? 3-2 设A=0FH,R0=30H,片内RAM的(30H)=0AH, (31H)=0BH, (32H)=0CH,下列程序段运行后的结果? MOV A,@R0 ;A=0AH MOV @R0,32H ;(30H)=0CH MOV 32H,A ;(32H)=0AH MOV R0,#31H ;R0=31H MOV A,@R0;A=(31H)=0BH 3-3 (1)R0的内容传送到R1 MOV A,R0 MOV R1,A (2)内部RAM 20H单元的内容传送到A MOV A,20H (3)外部RAM 30H单元的内容传送到R0 MOV R1,#30H MOVX A,@R1 MOV R0,A (4) 外部RAM 30H单元的内容传送到内部RAM 20H单元 MOV R1,#30H MOVX A,@R1 MOV 20H,A (5) 外部RAM 1000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (6)程序存储器ROM 2000H单元的内容传送到R1 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR MOV R1,A (7) RAM 2000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A (8) RAM 2000H单元的内容传送到外部RAM 30H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV R0,#30H MOVX @R0,A (9) RAM 2000H单元的内容传送到外部RAM 1000H单元

《单片机原理与接口技术(第2版)张毅刚》第5章习题与答案

《单片机原理及接口技术》(第2版)人民邮电出版社 第5章I/O口应用-显示与开关/键盘输入 思考题及习题5 1.判断下列说法是否正确。 A.HD7279是用于键盘和LED数码管的专用接口芯片。答:对 B.LED数码管的字型码是固定不变的。答:错 C.为给扫描法工作的88非编码键盘提供接口电路,在接口电路中需要提供两个8位并行的输入口和一个8位并行的输出口。答:错 D.LED数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。答:对 2.动态显示的数码管,任一时刻只有一个LED处于点亮状态,是LED的余辉与人眼的“视觉暂留”造成数码管同时显示的“假象”。答:对 3.为什么要消除按键的机械抖动?软件消除按键机械抖动的原理是什么? 答:消除按键的机械抖动,避免由于机械抖动造成的对键盘是否按下误判。软件消除按键机 械抖动的原理是采用软件延时,躲过键盘按键的机械抖动期。 4.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点? 答:静态显示时,欲显示的数据是分开送到每一位LED上的。而动态显示则是数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,但是需要编程进行动态扫描,适合用在显示位数较多的场合。 5.分别写出表5-1中共阴极和共阳极LED数码管仅显示小数点“.”的段码。 答:80H(共阴极);7FH(共阳极)。 6.已知8段共阴极LED数码显示器要显示某字符的段码为7DH(a段为最低位),此时显示器显示 的字符为。 答:6 7.已知8段共阳极LED数码显示器要显示字符“6”(a段为最低位),此时的段码为。。 答:82H 8.当键盘的按键数目少于8个时,应采用式键盘。当键盘的按键数目为64个时,应采用式键盘。

单片机原理与运用_第三章答案

第三章单片机的汇编语言与程序设计习题 1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值? MOV A,59H MOV R0,A MOV A,#00H MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H 解:MOV A,59H ;A=50H MOV R0,A ;RO=50H MOV A,#00H ;A=00H MOV @R0,A ;50H=00H MOV A,#25H ;A=25H MOV 51H,A ;51H=25H MOV 52H,#70H ;52H=70H

所以:A=25H R0=50H ;50H=00H 51H=25H 2.请选用合适的指令对P0口内容做修改(例如使P0.0~P0.3不变,P0.4~P0.7为0)。 解:MOV A,P0 ANL A,0fh Mov P0,A 3.试问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。解:访问外部数据存储器指令有: MOVX @DPTR,A MOVX DPTR,#0100H MOV @DPTR,A MOVX A,@DPTR MOVX DPTR,#0200H MOV A,@DPTR MOVX A,@Ri MOVX A,@R0 MOVX @Ri,A MOVX @RI,A 访问程序存储器指令有: MOVX A,@A+PC

MOVX A,@A+DPTR 4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化? PUSH 30H PUSH 31H POP DPL POP DPH MOV 30H,#00H MOV 31H,#0FFH 解:PUSH 30H ;61H=24H PUSH 31H ;62=10H SP=62H POP DPL ;DPL=10H POP DPH ;DPH=24H SP=60H MOV 30H,#00H ;30H=00H MOV 31H,#0FFH ;31H=0FFH

单片机原理及应用课后习题答案第5章作业学习资料

单片机原理及应用课后习题答案第5章作 业

第五章中断系统作业 1. 外部中断1所对应的中断入口地址为()H。 2. 对中断进行查询时,查询的中断标志位共有、_ _、、 _ 和_ 、_ _ 六个中断标志位。 3.在MCS-51中,需要外加电路实现中断撤除的是:() (A) 定时中断 (B) 脉冲方式的外部中断 (C) 外部串行中断 (D) 电平方式的外部中断 4.下列说法正确的是:() (A) 同一级别的中断请求按时间的先后顺序顺序响应。() (B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。() (C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求 能中断低优先级中断请求。() (D) 同级中断不能嵌套。() 5.在一般情况下8051单片机允许同级中断嵌套。() 6.各中断源对应的中断服务程序的入口地址是否能任意设定? () 7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。() 8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的()中。 (A)TMOD (B)TCON/SCON (C)IE (D)IP 9. 要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存 器IE的内容应是() (A)98H (B)84H (C)42 (D)22H 10.编写出外部中断1为负跳沿触发的中断初始化程序。 11.什么是中断?其主要功能是什么? 12. 什么是中断源?MCS-51有哪些中断源?各有什么特点? 13. 什么是中断嵌套? 14.中断服务子程序与普通子程序有哪些相同和不同之处? 15. 中断请求撤除的有哪三种方式? 16. 特殊功能寄存器TCON有哪三大作用?

第3章单片机原理课后答案

习题 1. 在MCS-51单片机中,寻址方式有几种? 答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。 2. 在MCS-51单片机中,哪些寻址方式访问的是片内RAM? 答:访问片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。 3. 在MCS-51单片机中,哪些寻址方式访问的是片外RAM? 答:只有寄存器间接寻址方式访问片外RAM寻址。 4. 在对片外RAM单元的寻址中,用Ri间接寻址与用DPTR间接寻址有什么区别? 答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR 作指针间接访问可访问整个64K字节。 5. 在MCS-51单片机中,相对寻址方式的目的地址如何计算? 答:目的地址=当前PC+rel=转移指令的地址+转移指令的字节数+rel 6. 在位处理中,位地址的表示方式有哪几种? 答:位地址的表示方式有4种: (1) 直接位地址(00H~0FFH)。例如,20H。 (2) 字节地址带位号。例如,20H.3表示20H单元的3位。 (3) 特殊功能寄存器名带位号。例如,P0.1表示P0口的1位。 (4) 位符号地址。例如,TR0是定时/计数器T0的启动位。 7. 写出完成下列操作的指令。 (1) R2的内容送到R3中。 MOV A,R2 MOV R3,A (2) 片内RAM的30H单元内容送到片内RAM的40H单元中。 MOV 40H,30H (3) 片内RAM的30H单元内容送到片外RAM的30H单元中。 MOV A,30H MOV R0,#30H MOVX @R0,A (4) 片内RAM的20H单元内容送到片外RAM的2000H单元中。 MOV A,20H MOV DPTR,#2000H MOVX @DPTR,A (5) 片外RAM的1000H单元内容送到片内RAM的20H单元中。 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (6) 片外RAM的1000H单元内容送到片外RAM的4000H单元中。 MOV DPTR,#1000H MOVX A,@DPTR MOV DPTR,#4000H

单片机原理及应用课后习题答案第5章作业

第五章中断系统作业 1. 外部中断1所对应的中断入口地址为()H。 2. 对中断进行查询时,查询的中断标志位共有、_ _、、 _ 和_ 、_ _ 六个中断标志位。 3.在MCS-51中,需要外加电路实现中断撤除的是:() (A) 定时中断 (B) 脉冲方式的外部中断 (C) 外部串行中断 (D) 电平方式的外部中断 4.下列说法正确的是:() (A) 同一级别的中断请求按时间的先后顺序顺序响应。() (B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。() (C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求 能中断低优先级中断请求。() (D) 同级中断不能嵌套。() 5.在一般情况下8051单片机允许同级中断嵌套。() 6.各中断源对应的中断服务程序的入口地址是否能任意设定? () 7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。() 8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的()中。 (A)TMOD (B)TCON/SCON (C)IE (D)IP 9. 要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器 IE的内容应是() (A)98H (B)84H (C)42 (D)22H 10.编写出外部中断1为负跳沿触发的中断初始化程序。 11.什么是中断?其主要功能是什么? 12. 什么是中断源?MCS-51有哪些中断源?各有什么特点? 13. 什么是中断嵌套? 14.中断服务子程序与普通子程序有哪些相同和不同之处? 15. 中断请求撤除的有哪三种方式? 16. 特殊功能寄存器TCON有哪三大作用? 17. 把教材的P82页的图改为中断实现,用负跳变方式,中断0(INT0)显示“L2”,中断1(INT1)显示“H3”。(可参考第四章的电子教案中的例子) 18.第5章课后作业第9题。 第五章中断系统作业答案 1. 外部中断1所对应的中断入口地址为(0013)H。 2. 对中断进行查询时,查询的中断标志位共有 IE0 、_TF0_、IE1 、 TF1_ 和_TI 、_RI_六个中断标志位。【实际上只能查询TF0、TF1、TI、RI】 3.在MCS-51中,需要外加电路实现中断撤除的是:(D) (A) 定时中断 (B) 脉冲方式的外部中断 (C) 外部串行中断 (D) 电平方式的外部中断 4.下列说法正确的是:(A C D ) (A) 同一级别的中断请求按时间的先后顺序顺序响应。(YES)

单片机原理及应用第三章习题答案

习题三 1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM 可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式? 答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。片外RAM寻址有:寄存器间接寻址方式。2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR 间接寻址有什么区别? 答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。 3.在位处理中,位地址的表示方式有哪几种? 答:1.直接位地址(00H~0FFH)。例如:20H 2.字节地址带位号。例如:20H.3表示20H单元的3位。 3.特殊功能寄存器名带位号。例如:P0.1表示P0口的1位。 4.位符号地址。例如:TR0是定时/计数器T0的启动位。 4.写出完成下列操作的指令。 (1)R0的内容送到R1中。 MOV A,R0 MOV R1,A (2)片内RAM的20H单元内容送到片内RAM的40H单元中。 MOV 40H,20H (3)片内RAM的30H单元内容送到片外RAM的50H单元中。 MOV A,30H MOV R0,#50H MOVX @R0,A (4)片内RAM的50H单元内容送到片外RAM的3000H 单元中。 MOV A,50H MOV DPTR,#3000H MOVX @DPTR,A (5)片外RAM的2000H单元内容送到片内RAM的20H 单元中。 MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A (6)片外RAM的1000H单元内容送到片外RAM的4000H 单元中。 MOV DPTR,#1000H MOVX A,@DPTR MOV DPTR,#4000H MOV @DPTR,A (7)ROM的1000H单元内容送到片内RAM的50H单元中。 MOV A,#0 MOV DPTR,#1000H MOVC A,@A+DPTR MOV 50H,A (8)ROM的1000H单元内容送到片外RAM的1000H单元中。 MOV A,#0 MOV DPTR,#1000H MOVC A,@A+DPTR MOVX @DPTR,A 5.区分下列指令有什么不同? (1)MOV A,20H和MOV A,#20H 答:前者源操作数是直接寻址,后者源操作数立即寻址。 (2)MOV A,@R1和MOVX A,@R1 答:前者源操作数是访问片内数据存储器,后者源操作数访问片外数据存储器低256字节。 (3)MOV A,R1和MOV A,@R1 答:前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。 (4)MOVX A,@R1和MOVX A,@DPTR 答:前者源操作数是访问片外数据存储器低256字节,后者源操作数访问片外数据存储器整个64K字节。 (5)MOVX A,@DPTR和MOVC A,@A+DPTR 答:前者源操作数是访问片外数据存储器,后者源操作数访问程序数据存储器。 6.设片内RAM的(20H)=40H,(40H)=10H,(10H)=50H,(P1)=0CAH。分析下列指令执行后片内RAM的20H、40H、10H单元以及P1、P2中的内容。 MOV R0,#20H ;R0=20H MOV A,@R0 ;A=40H MOV R1,A ;R1=40H MOV A,@R1 ;A=10H MOV @R0,P1 ;(40H)=0CAH MOV P2,P1 ;P2=0CAH MOV 10H,A ;(10H)=10H 1

单片机原理与接口技术课后答案

第一章 1:什么是单片机? 单片机是一种面向工业的微处理器,它将CPU、RAM、ROM存储器、定时计数器、中断系 统、I/O 接口电路集成在一个芯片上,也叫单片微型计算机。 由于体积小、功能强、可靠性高、功耗更低,可以嵌入到任何工业设备和仪器仪表中,被作为嵌入式控制器,被广泛地应用在工业控制领域。 2 单片机有哪些特点? 答: (1)单片机的存储器ROM和RAM是严格区分的。ROM称为程序存储器,只存放程序、固定常数及数据表格。RAM 则为数据存储器,用作工作区及存放用户数据。(2)采用面向控制的指令系统。(3)单片机的I/O 引脚通常是多功能的。(4)单片机的外部扩 展能力强。(5)单片机体积小,成本低,运用灵活,易于产品化。(6)面向控制,能有 针对性地解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。(7)抗干扰 能力强,适用温度范围宽。(8)可以方便地实现多机和分布式控制,使整个控制系统的效 率和可靠性大为提高。 3 单片机的应用有哪些? 答: (1)工业控制。单片机可以构成各种工业控制系统、数据采集系统等。如数控机床、自动生产线控制、电机控制、测控系统等。(2)仪器仪表。如智能仪表、医疗器械、数字示波器等。(3)计算机外部设备与智能接口。如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。(4)商用产品。如自动售货机、电子收款机、电子秤等。(5)家用电器。如微波炉、电视机、空调、洗衣机、录像机、音响设备等。(6)消费类电子产 品。(7)通讯设备和网络设备。(8)儿童智能玩具。(9)汽车、建筑机械、飞机等大型 机械设备。(10)智能楼宇设备。(11)交通控制设4.常见的单片机有哪些类型? 答: 1 .AVR 单片机;2.Motorola 单片机;3.MicroChip 单片机;4.Scenix 单片机;5.EPSON 单片机;7.GMS90 单片机;8.华邦单片机9.Zilog 单片机;10.NS 单片机;11.AX1001 单片机 第二章 1,MCS-51 单片机内部包含哪些主要逻辑功能部件 答:(1)1 个8 位的微处理器CPU。(2)8KB 的片内程序存储器Flash ROM(51 子系列 的Flash ROM为4KB),用于烧录运行的程序、常数数据。(3)256B 的片内数据存储器 RAM(51 子系列的RAM 为128B),在程序运行时可以随时写入数据和读出,用于存放函 数相互传递的数据、接收的外部数据、中间结果、最后结果以及显示的数据等。(4)3 个

单片机原理及接口技术张毅刚第5章习题及答案

第5章 I/O口应用-显示与开关/键盘输入 思考题及习题5 1.判断下列说法是否正确。 A.HD7279是用于键盘和LED数码管的专用接口芯片。答:对 B.LED数码管的字型码是固定不变的。答:错 C.为给扫描法工作的88非编码键盘提供接口电路,在接口电路中需要提供两个8位并行的输入口和一个8位并行的输出口。答:错 D.LED数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。答:对 2.动态显示的数码管,任一时刻只有一个LED处于点亮状态,是LED的余辉与人眼的“视觉暂留”造成数码管同时显示的“假象”。答:对 3.为什么要消除按键的机械抖动软件消除按键机械抖动的原理是什么 答:消除按键的机械抖动,避免由于机械抖动造成的对键盘是否按下误判。软件消除按键机械抖动的原理是采用软件延时,躲过键盘按键的机械抖动期。 4.LED的静态显示方式与动态显示方式有何区别各有什么优缺点 答:静态显示时,欲显示的数据是分开送到每一位LED上的。而动态显示则是数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,但是需要编程进行动态扫描,适合用在显示位数较多的场合。 5.分别写出表5-1中共阴极和共阳极LED数码管仅显示小数点“.”的段码。 答: 80H(共阴极);7FH(共阳极)。 6. 已知8段共阴极LED数码显示器要显示某字符的段码为7DH(a段为最低位),此时显示器显示 的字符为。 答:6 7.已知8段共阳极LED数码显示器要显示字符“6”(a段为最低位),此时的段码为。。答:82H 8.当键盘的按键数目少于8个时,应采用式键盘。当键盘的按键数目为64个时,应采用式键盘。 答:独立式,矩阵式

(最新整理)单片机原理与运用-第三章答案

(完整)单片机原理与运用-第三章答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)单片机原理与运用-第三章答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)单片机原理与运用-第三章答案的全部内容。

第三章单片机的汇编语言与程序设计习题 1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值? MOV A,59H MOV R0,A MOV A,#00H MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H 解: MOV A,59H ; A=50H MOV R0,A ; RO=50H MOV A,#00H ; A=00H MOV @R0,A ; 50H=00H MOV A,#25H ; A=25H MOV 51H,A ; 51H=25H MOV 52H,#70H ; 52H=70H 所以:A=25H R0=50H ; 50H=00H 51H=25H

2.请选用合适的指令对P0口内容做修改(例如使P0。0~P0。3不变,P0。4~P0。7为0). 解: MOV A,P0 ANL A,0fh Mov P0,A 3.试问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。 解:访问外部数据存储器指令有: MOVX @DPTR,A MOVX DPTR,#0100H MOV @DPTR,A MOVX A,@DPTR MOVX DPTR,#0200H MOV A,@DPTR MOVX A,@Ri MOVX A,@R0 MOVX @Ri,A MOVX @RI,A 访问程序存储器指令有: MOVX A,@A+PC MOVX A,@A+DPTR 4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?

单片机原理及接口技术课后习题答案(张毅刚)习题参考答案1章

第1章单片机概述 1.除了单片机这一名称之外,单片机还可称为和。 答:微控制器,嵌入式控制器。 2.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。 答:CPU、存储器、I/O口。 3.8051与8751的区别是。 A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同 答:C。 4.在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。 5.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别? 答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。 6.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么? 答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。它们的差别是在片内程序存储器上。8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。 7.为什么不应当把51系列单片机称为MCS-51系列单片机? 答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 8.AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品? 答:相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KB Flash存储器取代了87C51片内的4KB的EPROM。

单片机原理与接口技术习题

单选题 1.执行中断返回指令RETI,会从堆栈取出数作为地址送给(C )。 1. A. DPTR 2. B. PSW 3. C. PC 4. D. Rn 2、从MCS-51单 片机外部数据 存储器取数据 时,可以采用指 令(D )。 1. A. MOV A , R1 2. B. POP A 3. C. MOVC A , @A+DPTR 4. D. MOVX A , 3、指令MOV A, @R0 中源操作 数的寻址方式 为(B )。 1. A. 寄存器寻 址

2. B. 寄存器间接寻址 3. C. 立即寻址 4. D. 直接寻址 4、MCS-51单片机是根据(A )中的数值作为 地址读取指令。 1. A. PC 2. B. DPTR 3. C. SP 4. D. PSW 5、8051单片机使用2MHz的晶振,一个机器周期是(C )微秒。 1. A. 1 2. B. 4

3. C. 6 4. D. 12 6、用于设置定时器/计数器工作方式的寄存器是(D )。 1. A. PCON 2. B. TCON 3. C. SCON 4. D. TMOD 7、若需要从MCS-51单片机外部数据存储器取数据时,可以采用的指令为(A )。 1. A. MOVX A, @R0 2. B. MOV A, @R1

3. C. MOVC A, @A + DPTR 4. D. POP A 8、MCS-51单片机复位操作会把PC初始化为( B )。 1. A. 0100H 2. B. 0000H 3. C. 0003H 4. D. 000BH 9、MCS―51单片机一个机器周期由(D)个振荡周期构成。 1. A. 1 2. B. 4 3. C. 6

单片机原理与应用及C51程序设计第5章习题答案

第5章习题答案 5-1 什么叫中断系统?中断系统的功能是什么?什么是中断嵌套? 答:当CPU正在执行主程序时,外部或内部发生的某一事件(如某个引脚上电平的变化、一个脉冲的发生或计数器的计数溢出等)请求CPU迅速处理,CPU暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,CPU再继续执行原来被中断的程序,这样的过程称为中断。 功能:中断系统是为使CPU 具有对单片机外部或内部随机发生的事件进行实时处理而设置的。 中断嵌套:8051设置了两级中断优先级,低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。 5-2 MCS-51型单片机各中断源的中断标志是如何产生的?又是如何清除的?CPU响应中断时,中断入口地址各是多少? 答:见p133;. 或端出现有效中断请求时,IE0 IE1)位由硬件置“1”。当中断响应当CPU采样到IE0IE1 完成转向中断服务程序时,由硬件把IE0(或IE1)清零。 TF0和TF1——计数溢出标志位,当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。当转向中断服务时,再由硬件自动清“0”。 TI:串行发送中断标志。CPU将数据写入发送缓冲器SBUF时就启动发送,每发送完一帧后,硬件将TI置位,必须由软件清0. RI:串行接收中断标志。串口允许接收时,每接收完一帧后,硬件将RI置位,必须由软件清0.地址分别为:0003H,000bH0013H,001BH,0023H 5-3:在MCS-51型单片机中,哪些中断标志可以在响应自动撤除。 见第二题,也可见P136; 5-4 答:见p136. 5-5: 解:PX1=1;IT1=0;PT1=0;PS=1;EA=1;ES=1;ET1=1;EX1=1;ET0=0;EX0=0; 5-6 解:两个,它由模式设置寄存器TMOD,中断控制寄存器IE,中断优级级寄存器IP,中断标志寄存器TCON组成 5-8 请叙述TMOD=A6H所代表的含义。 答:A6H=10100110,其表示定时器0工作与方式2,为计数方式。定时器1工作与方式2,为定时方式,首席门控信号Gate=1,只有INT1引脚和TR1同时为1时,定时器/计数器才开始工作,主要用于测量INT引脚上高电平脉冲的宽度。 5-9利用MCS-51型单片机的定时器测量某正脉冲宽度时采用何种工作方式可以获得最大的量程?若系统时钟频率为6MHz那么最大允许的脉冲宽度是多少? 答:使用工作方式2(16进制计数方式),其计数值最大为65536*机器周期 若系统时钟为6MHz,那么最大允许的脉冲宽度为65536*2us=131072us 5-10 定时器/计数器用作定时器时,其定时时间与哪些因素有关?作计数器时对外计数频率有何限制? 答:其定时时间与时钟频率,工作模式,初始化值有关。作计数器时对外计数时外部频率不能小于单片机本身的机器周期的倒数(即应小于计数器的计数值至少为1),应该大于机器周期的1/65536(即不能溢出)。 5-11单片机用内部定时方法产生频率为20kHz的方波,设单片机晶振频率为12MHz,请编

相关主题
文本预览
相关文档 最新文档