单片机原理及应用第4章

合集下载

单片机原理及应用复习内容

单片机原理及应用复习内容

单片机原理及应用复习内容单片机原理及应用复习内容第1章复习内容1. 微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。

而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

2. AT89S51单片机相当于MCS-51系列单片机中的哪一型号的产品?“S”的含义是什么?答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash 存储器取代了87C51片内的4K字节的EPROM。

3. 单片机可分为商用、工业用、汽车用以及军用产品,它们的使用温度范围各为多少?答:商用:温度范围为0~+70℃;工业用:温度范围为-40~+85℃;汽车用:温度范围为-40~+125℃;军用:温度范围为-55~+150℃。

4. 解释什么是单片机的在系统编程(ISP)与在线应用编程(IAP)。

答:单片机的在系统编程ISP(In System Program),也称在线编程,只需一条与PC机USB口或串口相连的ISP下载线,就可把仿真调试通过的程序代码从PC机在线写入单片机的Flash存储器内,省去了编程器。

在线应用编程(IAP)就是可将单片机的闪存内的应用程序在线修改升级。

5. 什么是“嵌入式系统”? 系统中嵌入了单片机作为控制器,是否可称其为“嵌入式系统”?答:广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。

但多数人把“嵌入”嵌入式微处理器的系统,称为“嵌入式系统”。

目前“嵌入式系统”还没有一个严格和权威的定义。

目前人们所说的“嵌入式系统”,多指后者。

6. 嵌入式处理器家族中的单片机、DSP、嵌入式微处理器各有何特点?它们的应用领域有何不同?答:单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。

单片机原理及应用(第三版)张毅刚-课后习题答案完整版

单片机原理及应用(第三版)张毅刚-课后习题答案完整版

第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。

答:微控制器,嵌入式控制器.2.单片机与普通微型电脑的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。

答:CPU、存储器、I/O口、总线3. AT89S52单片机工作频率上限为 MHz。

答:33 MHz。

4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。

答:成本,可靠性。

二、单项选择1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微电脑的。

A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。

A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。

对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器〔且具有捕捉功能〕。

对3. 单片机是一种CPU。

错4. AT89S52单片机是微处理器。

错5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。

错6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。

对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。

对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。

对四、简答1. 微处理器、微电脑、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别?答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是电脑。

而微电脑、单片机它们都是一个完整的电脑系统,单片机是集成在一个芯片上的用于测控目的的单片微电脑。

单片机原理及应用_第二版课后习题完整答案

单片机原理及应用_第二版课后习题完整答案

第一章习题1.什么是单片机?单片机和通用微机相比有何特点?答:单片机又称为单片微计算机,它的结构特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。

虽然单片机只是一个芯片,但无论从组成还是从逻辑功能上来看,都具有微机系统的定义。

与通用的微型计算机相比,单片机体积小巧,可以嵌入到应用系统中作为指挥决策中心,是应用系统实现智能化。

2.单片机的发展有哪几个阶段?8位单片机会不会过时,为什么?答:单片机诞生于1971年,经历了SCM、MCU、SOC三大阶段,早期的SCM单片机都是8位或4位的。

其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。

随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

然而,由于各应用领域大量需要的仍是8位单片机,因此各大公司纷纷推出高性能、大容量、多功能的新型8位单片机。

目前,单片机正朝着高性能和多品种发展,但由于MCS-51系列8位单片机仍能满足绝大多数应用领域的需要,可以肯定,以MCS-51系列为主的8位单片机,在当前及以后的相当一段时间内仍将占据单片机应用的主导地位。

3.举例说明单片机的主要应用领域。

答:单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:智能仪器单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

单片机原理及应用(第3版)参考答案

单片机原理及应用(第3版)参考答案

单片机原理及应用(第3版)参考答案《单片机原理及应用(第3版)》习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社目录第1章概述 ............................................................. 2 第2章 MCS,51系列单片机硬件结构 . (5)第3章 MCS,51系列单片机指令系统 .......................................10 第4章 MCS,51系列单片机汇编语言程序设计 ............................... 13 第5章 MCS,51系列单片机硬件资源的应用 ................................. 18 第6章 MCS,51系列单片机并行扩展接口技术 ............................... 23 第7章 MCS,51系列单片机串行总线扩展技术 ............................... 28 第8章单片机应用系统设计 . (30)第1章概述1(简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。

运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。

通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。

由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。

2(微处理器、微型计算机、微型计算机系统有什么联系与区别,微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。

单片机原理及应用第二版(张毅刚主编)

单片机原理及应用第二版(张毅刚主编)

第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。

而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。

目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。

嵌入式微处理器相当于通用计算机中的CPU。

与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。

而嵌入式微处理器仅仅相当于单片机中的中央处理器。

为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。

它们的差别是在片内程序存储器上。

8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。

7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K 字节Flash存储器取代了87C51片内的4K字节的EPROM。

9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。

单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。

DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。

由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。

51课后答案第一二三四章答案解析

51课后答案第一二三四章答案解析

1《单片机原理及应用》习题参考答案 第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机 内部一切信息存储、处理和传送均采用二进制数的形式。

可以说,二进制数是计算机硬件能 直接识别并进行处理的惟一形式。

十六进制数可以简化表示二进制数。

2.(1) 0111100179H (2) 0.11 O.CH ⑶ 01111001.1179.CH(4)11101010.101 0EA.AH ⑸01100001 61H ⑹ 00110001 31H3.7.13711989 &什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。

一般情况下,可分为系统总线和外 总线。

系统总线应包括:地址总线(AB) 控制总线(CB) 数据总线(DB)地址总线(AB) : CPU 根据指令的功能需要访问某一存储器单元或外部设备时,其地址信 息由地址总线输出, 然后经地址译码单元处理。

地址总线为16位时,可寻址范围为216=64K , 地址总线的位数决定了所寻址存储器容量或外设数量的范围。

在任一时刻,地址总线上的地 址信息是惟一对应某一存储单元或外部设备。

控制总线(CB):由CPU 产生的控制信号是通过控制总线向存储器或外部设备发出控制命 令的,以使在传送信息时协调一致的工作。

CPU 还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。

数据总线(DB) : CPU 是通过数据总线与存储单元或外部设备交换数据信息的,故数据总 线应为双向总线。

在CPU 进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU ;在CPU 进行写操作时,CPU 把数据通过数据总线传送给存储单元或外设9 .什么是接口电路? CPU 与接口电路连接一般应具有哪些信号线 ?外部设备与接口电路连接一般应具有哪些信号线?CPU 通过接口电路与外部输入、输出设备交换信息,一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理 量)也不尽相(1) 0B3H4.(2)80H17.AH⑷ 0C.CH(1)01000001B65(2) 110101111B431(4)10000011111010 84425.⑶ 11110001.11B241.75(1)00100100 00100100 00100100 (3)01111111 0111111101111111(5)10000001 11111110 11111111 6.(2) 10100100 (4)1000 0000 (6)1111100111011011 1111 1111 1000011011011100 1000 0000 1000011100100101B 00110111BCD25H同。

单片机原理及应用习题答案 (第三版)

第一章习题参考答案1-1:何谓单片机?与通用微机相比,两者在结构上有何异同?答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。

单片机与通用微机相比在结构上的异同:(1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。

例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。

CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。

单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。

例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。

(2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。

现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。

单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。

(3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。

用户通过标准总线连接外设,能达到即插即用。

单片机应用系统的外设都是非标准的,且千差万别,种类很多。

单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。

用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。

单片机原理及应用(林立-张俊亮版)课后习题答案---副本

单片机原理及应用(林立-张俊亮版)课后习题答案---副本第2章 MCS-51单片机结构及原理习题6.片内RAM中低128个单元划分为哪三个主要部分?各部分的主要功能是什么?答:片内RAM中低128个单元划分为三个部分:①工作寄存器区(00H-1FH),四组,每组8个,可作用工作寄存器切换使用;②可位寻址区(20H-2FH),16B,位地址为00H-7FH,用作为按位寻址的空间;③用户RAM区(30H-7FH),80B,用作普通RAM单元或堆栈。

7.程序状态字寄存器PSW各位的定义是什么?答:程序状态字寄存器PSW各位的定义如下:PSW.7:进/借位标志CY,加法有进位时置1,减法有借位时置1;PSW.6:辅助进位标志AC,加法运算低四位向高上四位有进位时置1;PSW.5、PSW.1:用户标志位F0和用户标志位F1,保存用户的位数据;PSW.4、PSW.3:工作寄存器选择控制位RS1和RS0,00至11分别选择四组工作之一作为当前工作寄存器PSW.2 :溢出标志位OV,有符号数加、减运算结果有溢出或乘除上结果异常(乘法运算结果大于255即乘积在BA中,或除法运算除数为0)时置1PSW.0:奇偶标志位P,累加器A中1的个数为奇数时置1。

8.什么是时钟周期?什么是机器周期?什么是指令周期?当振荡频率为12MHz 时,一个机器周期为多少微秒?答:时钟周期又叫振荡周期或拍,用P表示,是MCS-51单片机中最小的时间单位,在一个时钟周期内,CPU完成一个最基本的动作。

机器周期:由12个时钟周期构成,完成一个基本操作指令周期:是执行一条指令所需的时间,根据指令的复杂性,可由1~4个机器周期构成。

当振荡频率为12MHz时,一个机器周期为1微秒。

第4章单片机的C51语言习题1.C语言的优点是什么?C程序的主要结构特点是什么?答:C语言是一种高级语言,学习比低级容易,不需要具体组织、分配存储器资源和处理端口数据,可以直接驱动单片机的所有资源。

《单片机原理、应用与PROTEUS仿真》各章答案

单片机原理、应用与PROTEUS仿真习题答案王妹芳编写周灵彬审校目录第一章概论 (1)第二章AT89C51单片机内部结构基础 (2)第三章AT89C51指令系统 (5)第四章AT89C51汇编语言程序设计 (11)第五章AT89C51输入/输出(I/O)口及其简单应用 (18)第六章AT89C51中断系统与定时器/计数器 (20)第一章概论1. 什么是单片机、单片机系统、单片机应用系统?答:单片机:又名微控制器,是将微型计算机中的中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)及I/O口电路等主要部件,结合连接它们的总线集成在一块芯片上,即它是一块智能芯片。

单片机系统:单片机本身只是一块芯片,它并不能集成计算机的全部电路,因此需要加上时钟、复位电路等,才能构成单片机最小应用系统;若最小系统资源不足时,还需扩展外围电路和外围芯片等,从而构成能满足应用要求的单片机系统。

单片机应用系统:它是为实际的控制应用而设计的,该系统与控制对象结合在一起,是满足嵌入式对象要求的全部电路系统。

它在单片机的基础上配置了前/后向通道接口电路、人机交互通道接口电路、串行通信接口等面向对象的接口电路。

另单片机系统和单片机应用系统都是软硬件结合的系统,缺一不可。

2. 单片机有哪些特点?答:单片机的特点很多,主要是体积小品种多,价格便宜,可靠性高,使用灵活,还有(1)突出控制功能(2)ROM和RAM分开(3)单片机资源具有广泛的通用性(4)易于扩展ROM、RAM、定时/计数器、中断源等资源。

3. 为什么说AT89C51单片机是MCS-51系列的兼容机?A T89C51单片机有何优点?答:AT89系列单片机是将FLASH存储器技术和MCS-51系列单片机的基本内核相结合的单片机,且管脚也与之兼容,可以直接代换,所以说AT89C51是MCS-51系列的兼容机。

AT89C51单片机是A T89系列机的标准型单片机,它的优点主要有:内ROM是FLASH存储器,已获得广泛应用的80C51兼容,采用静态逻辑设计,操作频率范围宽,具有两个软件选择的节电模式等。

51课后答案第一二三四章答案

《单片机原理及应用》习题参考答案第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。

可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。

十六进制数可以简化表示二进制数。

2.(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH(4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 431 (3)11110001.11B 241.75(4)10000011111010 84425.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100(3) 01111111 01111111 01111111 (4)1000 0000 1111 1111 1000 0000(5) 10000001 11111110 11111111 (6)11111001 10000110 100001116.00100101B 00110111BCD 25H7.137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。

一般情况下,可分为系统总线和外总线。

系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。

地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。

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

指针与指针变量的使用举例
例:定义一字符变量x,并赋值为6 char data x x=6 例:定义一指针xp,指向x所在的内存 单元 char data *data xp xp=&x 定义后要访问x可以用两种办法: 1)直接访问,如printf(“%d”,x) 2)间接访问,如printf(“%d”,*xp)
第4章 单片机的C语言编程
4.1 4.2 4.3 4.4 C51的程序结构 C51的数据类型及运算符 C51的函数 C51程序设计
4.1 C51的程序结构
C51程序结构同ANSI C一样,必须有一个主函数main( ), 从主函数main( )开始执行程序,默认情况下主函数是一个 “死循环”结构,不停地循环执行。 例:C51程序基本结构 在此处定义全局变量; //所有函数都可以使用 //只能在本函数范围内使用
*ptr; //通用指针ptr存放在默认存储区中 * idata
ptr=&HZ;
iptr=&var_data; myvar=myvar+*ptr;
myvar=myvar+*iptr;
return; }
例:定义指向固定存储区变量的指针。
void main( ){
int code HZ=0x0101; int idata var_data=0x12;
大模式(Large Model):默认的存储区类型为xdata。
4.2.3 C51的数据类型
C51编译器兼容ANSI C,支持ANSI C的基本数据类型,并针 对MCS-51系列单片机的特点,对数据类型进行了扩展。 C51支持的ANSI C的数据类型如下表所示。可以定义这些类 型的变量、常量和指针。
• 初始化全局变量;
• 跳转到C语言程序的主函数main( )。 汇编语言程序文件后缀为.A51或.asm,其他常用文件后缀与ANSI
C规范相同,C语言文件后缀为.c,头文件后缀为.h,库文件后缀
为.lib。
4.2 C51的数据类型及运算符 4.2.1 C51的存储类型 4.2.2 C51的存储模式 4.2.3 C51的数据类型 4.2.4 C51的指针 4.2.5 C51对扩展外设的访问 4.2.6 C51的运算符
数据类型 signed char unsigned char 所占字节数 1 1 取值范围 -128 ~ +127 0 ~ 255
signed int 或signed short
unsigned int 或 unsigned short signed long
2
2 4
-32768 ~ +32767
0 ~ 65535 -2147483648 ~ +2147483647
16
2
0~65535 (16bit即0000H~0FFFFH)
4.2.2 C51的存储模式 存储模式用于确定没有明确指定存储类型的变量的默
认存储区。C51有3种存储模式
小模式(Small Model):默认的存储区类型为data; 紧凑模式(Compact Model):默认的存储区类型为pdata;
例:定义通用指针。 void main( ){ unsigned char code unsigned char data unsigned char unsigned char 储区中 char idata myvar=0x0a; HZ=0x88; var_data=0x12; iptr; //通用指针iptr存放在idata存
data型:变量只能存放在片内数据存储区的低128字节中可 直接访问,存取速度最快。
idata型:变量可存放在整个256字节的片内数据存储区, 只能间接访问,存取速度比data型慢。 bdata型:变量存放在可位寻址的内部数据存储区中,可以 单独访问字节中的每一位,bdata类型的变量必须定义为全 局变量。
例:算术运算符的使用。
void
main( ){
var1=27, var2=31, rlt0, rlt1; //执行后 //执行后 //执行后 var1= 28 var2= 30 rlt0= 58
unsigned int bgn: var1++; var2--;
rlt0=var1+var2;
rlt0=var2-var1;
4.2.6 C51的运算符
C51的运算符按功能划分,可分为赋值运算符、算术运算符、关系
运算符、逻辑运算符、位操作运算符以及特殊运算符。 (1) 赋值运算符
赋值运算符“=”,用于给变量赋值。
(2)算术运算符 算术运算符有加(+)、减(-)、乘(*)、除(/)、取余(%) 以及自加(++)和自减运算符(--),运算规则与ANSI C一致。 (3)关系运算符 关系运算符有等于(==)、不等于(!=)、大于(>)、大于等 于(>=)、小于(<)和小于等于(<=)。若满足关系运算条件,则运 算结果为逻辑真(即1);否则运算结果为逻辑假(即0)。
int code

*ptr; //指向code存储区的指针ptr, 指针存放在默认存储
iptr;//指向idata存储区的指针iptr,
signed int idata * pdata 指针存放在pdata存储区
int idata myvar=0xff;
ptr=&HZ; iptr=&var_data;
void main( ){
bgn: „„ goto bgn;
/* 定义主函数*/
在此处定义局部变量;
}
单片机上电复位时需对它的硬件环境进行初始化,这部分代码通 常是用汇编语言编写,称为启动代码(startup code)。启动代码主 要完成以下操作: • 将内部和外部数据存储区(即RAM区域)清零; • 针对小模式(Small Model)、大模式(Large Model)和紧凑模式 (Compact Model)3种不同的存储模式,对可重入(reentrant)堆栈 和可重入堆栈指针进行初始化; • 初始化单片机的硬件堆栈指针;
定存储区变量的指针。 (1)通用指针
通用指针可以指向任何存储类型的变量。指针占用3个字节,第一
个字节说明指针所指变量的存储类型;第二个字节为变量地址的高8位; 第三个字节为变量地址的低8位。
(2)指向固占的字节数同所指变量的存 储区类型有关。指向data、idata、bdata或pdata存储区变量的指针只 占一个字节,而指向code或xdata存储区变量的指针需要两个字节。
unsigned long
float enum
4
4 1或2
0 ~ 4294967295
±1.175494E-38 ~ ±3.402823E+38 -32768 ~ +32767
C51扩展的数据类型如下表所示,只能定义扩展数据类 型的变量和常量。
所占位数/字 节数 1字节
数据类型 sfr
取值范围 0 ~ 255
一、指针与指针变量 变量名对应于内存单元的地址,变量值 则是放在内存单元中的数据。同时把存放变 量x的地址称为指针,使用指针前也必须定 义。 指针的定义: char xdata *data xp 也可以写成 data char xdata *xp
指针与指针变量的使用
1.指针变量名前面冠以“*”号,如上 例*xp,表示xp为指针。 2.定义时,应包括被指变量的数据类 型、存储类型以及指针变量本身的存储 类型。指针变量本身的存储类型,写在 语句的开头,或者在*号与变量名之间。 3.如果只标明被指变量的数据类型和 存储类型,而没有指明指针变量本身的 存储类型,则指针变量本身被默认为通 用型。
例: #define uchar unsigned char #define ulong unsigned long
4.2.4 C51的指针
C51中定义变量时,需定义数据类型,并说明存储类型。通过指针 访问不同存储类型的变量时,所需的地址位数也不完全相同,因此C51
具有两种类型的指针:即可指向不同存储区变量的通用指针和指向固
rlt1=var1*var2; rlt1=var1/var2;
//执行后
//执行后 //执行后
rlt0= 2
rlt1= 840 rlt1= 0
rlt1=var1%10;
goto } bgn;
4.2.1 C51的存储类型 在定义变量时,需要说明变量的存储类型,将
变量存放到指定的存储区中。默认存储类型的确定
与4.2.2中所述的存储模式有关。
• 程序存储区
程序存储区中可以存放程序中用到的一些常量。 定义时用存储类型标识符code,程序运行过程中不 可改变用code定义的变量的值。
数据存储区 根据数据所在存储空间的不同,其定义的类型也不一样。 (1) 内部数据存储区 内部数据存储区分为3种存储类型,
(4)逻辑运算符
逻辑运算符有逻辑与(&&)、逻辑或(||)和逻辑非(!),逻辑
运算的结果为逻辑真和逻辑假两种。 (5)位操作运算符
位运算符有按位与(&)、按位或(|)、按位异或(^)、按位取
反(~)、按位左移(<<)和按位右移(>>)。 (6)特殊运算符 <表达式1> ? 表达式2 : 表达式3 —— 若表达式1的值为逻辑真,就 返回表达式2的值,否则返回表达式3的值。 & 操作数 —— 返回操作数的地址,用于为指针变量赋值。 * 操作数 —— 操作数为指针,所做的操作均是针对指针所指向的变 量。
myvar=myvar+*ptr;
myvar=myvar+*iptr; return; }
4.2.5 C51对扩展外设的访问
MCS-51系列单片机中,外部扩展I/O口与外部数据存储区采用统一
相关文档
最新文档