




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及接口技术—基于C51+Proteus仿真第1章
概述第2章
硬件结构第3章C51语言编程基础第4章80C51单片机IO端口及应用第5章80C51单片机的中断系统第6章80C51单片机定时器计数器第7章
单片机系统的并行扩展第8章
人机交互接口设计第9章80C51单片机与DAC、ADC接口芯片的设计第10章80C51单片机串口x第11章80C51单片机系统的串行扩展技术第12章80C51单片机应用实例第13章Keilc51和Proteus虚拟仿真平台的使用全套可编辑PPT课件
本课件是可编辑的正常PPT课件
第1章概述本课件是可编辑的正常PPT课件1.1什么是单片机?1.2单片机的发展历程及趋势1.2.1单片机的发展历程1.2.2单片机的发展趋势1.3单片机的特点及分类1.3.1单片机的特点1.3.2单片机的分类1.4单片机的应用1.5典型的单片机产品1.5.1MCS-51系列单片机1.5.28051内核的单片机1.5.3PIC内核的单片机本课件是可编辑的正常PPT课件1.1什么是单片机?随着社会的发展和需求的提高,计算机也在不断地更新与发展。由于计算机的产生是应数值计算而产生的,因此长期以来电子计算机技术都是沿着满足数值计算而发展的,直到20世纪70年代,电子计算机在数字逻辑运算、自动控制等方面显露出非凡的功能后,在各种控制领域开始对计算机技术发展提出了与传统大量高速计算完全不同的要求。这些要求包括面向控制对象、面向各种传感器信号、面向人机交互操作控制、能方便地嵌入工控应用系统中等。
为了实现上述要求,单片机应运而生。那么单片机到底是什么呢?本课件是可编辑的正常PPT课件
一台可以工作的PC机至少需要以下几个部件:CPU(中央处理器)、RAM(随机存取存储器)、ROM(只读存储器)、I/O接口(输入/输出接口)。这些部件在物理上对应若干个芯片,这些芯片被安装在一块印制线路板上,便组成了个人计算机的主板。如果将计算机主板的一部分功能部件进行裁剪后,把余下的功能部件集成到一块芯片上,那么这个芯片具有计算机的基本属性,被称为单片微型计算机,简称单片机。由此可见,单片机就是在一片半导体硅片上集成了中央处理单元(CPU)、存储器(RAM/ROM)和各种I/O接口的微型计算机。就其组成和功能而言,一块单片机芯片就是一台计算机。本课件是可编辑的正常PPT课件1.2单片机的发展历程及趋势单片机诞生于20世纪70年代,自其诞生至今40年,已发展为上百种系列的近千个机种。1.2.1单片机的发展历程单片机的发展历程大致可以分为4个阶段。(1)第一阶段(1974-1978):单片机的探索阶段。以Intel公司的MCS-48系列单片机为典型代表,MCS-48的推出是单片机在工控领域的探索。在一片半导体硅片内含有CPU、并行口、定时器、RAM和ROM存储器等,这就是SCM的诞生年代,“单机片”一词即由此而来。 这个阶段的单片机因受集成电路技术的限制,CPU指令系统功能相对较弱、存储器容量较小、I/O部件种类和数量少,只能用在比较简单的场合。本课件是可编辑的正常PPT课件(2)第二阶段(1978-1983)单片机的完善阶段。典型代表是Intel公司在MCS-48单片机基础上推出的MCS-51系列单片机。它在以下几个方面奠定了典型的通用总线型单片机体系结构。①完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。②CPU外围功能单元的集中管理模式。③体现工控特性的位地址空间及位操作方式。④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 本课件是可编辑的正常PPT课件(3)第三阶段(1983-1990):单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器(ADC)、程序运行监视器(WDT)、脉宽调制器(PWM)等纳入片中,增强了外围电路功能,体现了单片机的微控制器特征。微控制器MCU一词源于这一阶段。 (4)第四阶段(1990-):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。本课件是可编辑的正常PPT课件1.2.2单片机的发展趋势从20世纪90年代以来,单片机进入了全面发展,百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,为单片机的应用提供了广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势将是向高性能化、大容量、外围电路内装化等方面发展。1.CPU的改进(1)增加CPU数据总线宽度。例如,各种16位单片机和32位单片机,数据处理能力要优于8位单片机。(2)采用双CPU结构,以提高数据处理能力。本课件是可编辑的正常PPT课件2.存储器的发展(1)加大存储容量。目前有的单片机片内程序存储器容量可达128KB甚至更多,片内数据存储器容量可达1KB以上。(2)片内程序存储器采用闪烁(Flash)存储器。可不用外扩程序存储器,简化系统结构。闪烁存储器能在+5V下读写,既有静态RAM读/写操作简单的优点,又兼具ROM在掉电时数据不会丢失的优点。片内闪烁存储器的使用大大简化了应用系统结构。3.片内I/O的改进增加并行口驱动能力,以减少外部驱动芯片。有的单片机可以直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)。本课件是可编辑的正常PPT课件4.低功耗化现在的各单片机制造商基本都采用了CMOS工艺(互补金属氧化物半导体工艺)。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。但由于CMOS的物理特征决定了其工作速度不够高,而CHMOS(互补高密度金属氧化物半导体工艺)则具备了高速和低功耗的特点,更适合于在要求低功耗的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。本课件是可编辑的正常PPT课件5.微型单片化
随着集成电路技术及工艺的不断发展,把所需的众多的外围电路全部装入单片机内,即系统的单片化是目前单片机的发展趋势之一。除了最基本的CPU、ROM、RAM外,还可把A/D转换器、D/A转换器、DMA控制器、声音发生器、监视定时器、液晶驱动电路、锁相电路等一并集成在单片机芯片内。另外单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。本课件是可编辑的正常PPT课件1.3单片机的特点及分类1.3.1单片机的特点由于单片机是把微型计算机主要部件都集成在一块芯片上,即一块芯片就是一个微型计算机。因此,单片机具有以下特点:(1)有优异的性能价格比。目前国内市场上,有些单片机的芯片价格只有几元人民币,加上少量外围元件,就能构成一台功能相当丰富的智能化控制装置。(2)集成度高,体积小,可靠性好。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。而且,由于单片机体积小,易于采取电磁屏蔽或密封措施,适合于在恶劣环境下工作。(3)控制能力强。单片机指令丰富,能充分满足工业控制的各种要求。(4)低功耗,低电压,便于生产便携式产品。(5)易扩展。可根据需要并行或串行扩展,构成各种不同应用规模的控制系统。本课件是可编辑的正常PPT课件1.3.2单片机的分类根据目前单片机的发展情况,可从通用性、总线结构、应用领域等3个不同角度对其进行分类。1.按通用性可分为通用型和专用型通用型单片机的主要特点是:内部资源比较丰富,性能全面,而且通用性强,可覆盖多种应用要求。通用型单片机的用途很广泛,使用不同的接口电路及编制不同的应用程序就可完成不同的功能。专用型单片机的主要特点是:针对某一种产品或某一种控制应用而专门设计的,设计时已使结构最简,软硬件应用最优,可靠性及应用成本最佳。专用型单片机用途比较专一,例如电子表里的单片机就是其中的一种。本课件是可编辑的正常PPT课件2.按总线结构可分为总线型和非总线型。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚可以用来扩展并行外围器件。近年来许多单片机已把所需要的外围器件及外设接口集成到片内,另外许多外围器件都可通过串行口与单片机连接,因此在许多情况下可以不要并行扩展总线,可大大降低封装成本,减少芯片体积,这类单片机称为非总线型单片机。3.按应用领域可分为工控型和家电型一般而言,工控型寻址范围大,运算能力强。而用于家电的单片机多为专用型,通常是小封装、低价格,外围器件、外设接口集成度高。本课件是可编辑的正常PPT课件1.4单片机的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,在下述的各个领域中得到了广泛的应用。1.工业自动化工业自动化控制是最早采用单片机控制的领域之一,在测控系统、过程控制、机电一体化设备中主要利用单片机实现逻辑控制、数据采集、运算处理、数据通信等。单独使用单片机可以实现一些小规模的控制功能,作为底层测控制单元与上位计算机结合可以组成大规模工业自动化控制系统。特别在集机械、微电子和计算机技术于一体的机电一体化技术中,单片机将更容易发挥其优势。本课件是可编辑的正常PPT课件2.智能仪器仪表单片机结合不同类型的传感器,可实现电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。单片机的使用使得仪器仪表数字化,智能化,微型化。以单片机为核心构成智能仪器仪表已经是自动化仪器仪表发展的一种趋势。3.家用电器单片机功能完善、体积小、价格廉、易于嵌入,非常适合对家用电器的控制,现已广泛应用于洗衣机、空调、电视机、微波炉、电冰箱、电饭煲以及各种视听设备等。嵌入单片机的家用电器实现了智能化,是传统型家用电器的更新换代。本课件是可编辑的正常PPT课件4.计算机网络和通信领域新型单片机普遍具备通信接口,可以方便地和计算机进行数据通信,为计算机和网络设备之间提供连接服务创造了条件。现在的通信设备基本上实现了单片机智能控制,从小型程控交换机,楼宇自动通信呼叫系统,列车无线通信,再到日常工作中随处可见的移动电话,集群移动通信,无线对讲机等。5.终端及外部设备控制计算机网络终端设备(如银行终端)以及计算机外部设备(如打印机、复印机、传真机、绘图机等)中都使用了单片机。6.医用设备 单片机在医疗设施及医用设备中的用途亦相当广泛,例如在医用呼吸机、各种分析仪、医疗监护仪、超声波诊断设备及病床呼叫系统中都得到了实际应用。本课件是可编辑的正常PPT课件7.武器装备在现代化的武器装备中,如飞机、坦克、军舰、导弹、航天飞机导航系统,都有单片机嵌入其中。8.汽车电子设备单片机已经广泛应用于各种汽车电子设备中,如汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器等装置都离不开单片机。特别是采用现场总线的汽车控制系统中,以单片机为核心的节点通过协调、高效的数据传送不仅完成了复杂的控制功能,而且简化了系统结构。本课件是可编辑的正常PPT课件1.5典型的单片机产品本节将介绍当今世界上一些著名的半导体厂商典型的单片机产品,以使读者对目前的单片机产品有个大概的了解,为读者选择单片机提供参考。1.5.1MCS-51系列单片机Intel公司是最早推出单片机的大公司之一,MCS是其生产的单片机的系列符号。Intel公司的单片机产品有MCS-48、MCS-51和MCS-96三大系列几十个型号。MCS-51系列单片机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进入我国,并在我国使用最为广泛的单片机主流品种。MCS-51系列单片机品种丰富,但经常使用的是基本型和增强型。本课件是可编辑的正常PPT课件(1)基本型典型产品:8031/8051/8751。8031内部包括1个8位CPU、128BRAM,21个特殊功能寄存器(SFR),4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,5个中断源,片内无程序存储器,需外扩程序存储器芯片。8051在8031的基础上,片内集成了4KBROM的程序存储器。ROM内的程序是公司制作芯片时,代为用户烧制的,一旦烧制完成,不能再擦写修改。8751与8051相比,片内集成了4KB的EPROM作为程序存储器。用户可将程序固化在EPROM,EPROM中的内容可反复擦写修改。本课件是可编辑的正常PPT课件(2)增强型Intel公司在MCS-51系列的3种基本型产品基础上,又推出了增强型系列产品,即52子系列,典型产品为:8032/8052/8752。它们的内部RAM增加到256B,内部程序存储器(8052/8752)扩展到8KB,16位定时器/计数器增至3个,6个中断源。表1-1列出了基本型和增强型的MCS-51系列单片机内部的硬件资源。本课件是可编辑的正常PPT课件1.5.3PIC内核的单片机PIC系列单片机是由美国Microchip(微芯)公司推出的单片机产品。PIC系列单片机型号众多,分为低档、中档和高档型。PIC系列单片机CPU采用了RISC结构,属精简指令集,3个级别的单片机分别有33、35、58条指令。同时PIC系列单片机采用了Harvard(哈佛)双总线结构,这种结构有两种总线,即数据总线和指令总线。这两种总线可以采用不同的字长,如8位PIC系列单片机是8位机,所以其数据总线当然是8位。但基本级、中级和高级的PIC系列单片机分别有12位、14位和16位的指令总线。这样,取指令时则经指令总线,取数据时则经数据总线,互不冲突。因此,它能使程序存储器的访问和数据存储器的访问并行处理。这种指令流水线结构的引入允许执行指令取指令同步进行,使得指令可在一个周期内执行。本课件是可编辑的正常PPT课件
此外,PIC系列单片机功耗低(在5V、4MHz振荡频率时工作电流小于2mA),可采用降低工作频率的方法降低功耗,睡眠方式下电流小于15μA,工作电压为2.5~6V,带负载能力强,每个I/O接口可提供20mA上拉电流或25mA灌电流。
PIC系列单片机凭借其高速度、低电压、低功耗、大电流LED驱动能力和低价位OTP技术等优势,已被广泛应用在工业控制、智能仪器、家电控制、通信、汽车电子到金融电子等各个领域,是当前市场份额增长最快的单片机之一。本课件是可编辑的正常PPT课件习题1一、填空题1.单片机还可称为或。2.单片机与通用计算机的不同之处在于将、和3部分,通过内部连接在一起,集成在一块芯片上。3.8031与8051的区别是。二、简答题1.8051单片机内部提供了哪些资源?2.单片机有哪些应用特点?主要应用在哪些领域?3.简述单片机的发展趋势。本课件是可编辑的正常PPT课件第2章51单片机的硬件结构本课件是可编辑的正常PPT课件2.1MCS-51系列单片机简介2.280C51的内部总体结构2.389C51的引脚功能2.480C51单片机存储器结构2.5单片机的时钟和复位电路2.5.1时钟电路2.5.2时序2.5.3复位电路2.6单片机的低功耗模式2.6.1待机方式设计2.6.2掉电方式设计本课件是可编辑的正常PPT课件2.1MCS-51系列单片机简介MCS-51系列单片机是美国Intel公司于1980年推出8位单片机,由51和52两个子系列组成。51子系列主要包含8031、8051、8751三个品种,有相同的指令系统与芯片引脚,只是片内ROM不同,其中8031芯片不带片内ROM,8051芯片带4KBROM,8751芯片带4KBEPROM。52子系列主要包括8032、8052、8752三种机型,与51子系列相比,片内RAM增至256B;8032不带ROM,8052带8KBROM,8752带8KBEPROM;片内定时器/计数器增加至3个16位;中断源增至6个。本课件是可编辑的正常PPT课件2.280C51的内部总体结构80C51片内主要硬件结构如图2-1所示,由片内单一总线连接各功能部件,其CPU通过特殊功能寄存器对各功能部件进行集中控制。80C51主要内包含下列部件。(1)8位CPU。(2)片内振荡器(频率1.2~12MHZ)。(3)片内RAM(128B)。(4)片内ROM(4KB)。(5)程序存储器(64KB)。(6)片外RAM(64KB)。本课件是可编辑的正常PPT课件图2-180C51片内硬件结构本课件是可编辑的正常PPT课件(7)位寻址空间(128bit)。(8)特殊功能寄存器(51子系列21个)。(9)4个8位可编程并口(P0、P1、P2、P3)。(10)2个可编程的16位定时器/计数器(T0、T1)。(11)5个中断源(2个优先级别)。(12)1个全双工的串行I/O接口。(13)111条指令(含乘法和除法指令)。(14)片内单总线结构。(15)较强位处理能力。(16)+5V电源供电。本课件是可编辑的正常PPT课件介绍图2-1中片内各功能部件。(1)8位CPU80C51具有8位数据宽度的CPU,CPU由运算器和控制器两大部分构成,其中,运算器以算术逻辑运算单元ALU为核心,包含累加器ACC(简称A)、B寄存器、暂存器、程序状态字寄存器PSW、以进位标志位C为累加器的布尔处理器等,实现算术运算、逻辑运算、位运算(置1、清0、取反、转移、逻辑与、或以及位传送等)和数据传输等。控制器通过控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。本课件是可编辑的正常PPT课件(2)片内振荡器及时钟电路80C51(增强型)内置时钟电路可外接最高频率达33MHz晶振,产生系统工作脉冲时序。(3)4KBROM程序存储器80C51片内有4KBFlashROM,用于存放用户程序、原始数据或表格。(4)128B片内RAM和SFR80C51片内有128BRAM和128BSFR,它们是统一编址的,用户能使用的RAM只有128个,用来存放读写数据、中间结果等用户数据,SFR则用来存放控制指令数据。本课件是可编辑的正常PPT课件(5)2个16位定时器/计数器
80C51有两个16位的可编程增计数定时器/计数器,实现对内部定时或对外部脉冲计数功能,可控制程序中断转向。(6)64KB外部数据存储器和64KB外部程序存储器
80C51是采用哈佛结构的程序存储器和数据存储器,具有最大寻址64KB数据和64KB程序存储器空间的控制电路。(7)32个I/O线(4个6位并行I/O端口)
80C51共有4组8位I/O口(P0、P1、P2或P3),提供对外的三总线传输。本课件是可编辑的正常PPT课件(8)一个可编程全双工串行口
80C51内置一个全双工串行通信口,既可以用作异步通信收发器,也可以当同步移位器使用。(9)5个中断源、两个优先级嵌套中断结构
80C51有2个外部中断源、2个定时器/计数器中断源和一个串行中断源,并具有2级的优先级别选择。
此外,80C51还具有低功耗模式,由两种软件可选择的低功耗节电工作模式。在空闲模式下,冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其他功能。本课件是可编辑的正常PPT课件2.389C51的引脚功能
先了解引脚,牢记各引脚功能。AT89S51与各种8051芯片的引脚兼容。目前多采用40只引脚双列直插,如图2-2。此外,还有44引脚的PLCC和TQFP封装方式的芯片。
引脚按其功能可分为如下3类:(1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2。(2)控制引脚—PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O口本课件是可编辑的正常PPT课件2.389C51的引脚功能
单片机应用是软硬件结合的设计,首先应当熟悉各引脚的功能。80C51单片机主要有两种封装形式:40引脚的双列DIP(DualIn-linePackage)封装和44引脚的方PLCC(PlasticLeadedChipCarrier)封装。这两种封装的引脚配置如图2-2所示。其中,44脚PLCC封装中比DIP封装多出的4只引脚没有使用。
本课件是可编辑的正常PPT课件
(a)DIP封装
(b)PLCC封装图2-280C51单片机引脚配置本课件是可编辑的正常PPT课件
引脚按其功能可分为如下3类:(1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2。(2)控制引脚—PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O口本课件是可编辑的正常PPT课件2.2.1电源及时钟引脚1.电源引脚(1)VCC(40脚):+5V电源。(2)VSS(20脚):数字地。图2-2AT89S51双列直插封装方式的引脚本课件是可编辑的正常PPT课件2.时钟引脚
(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时,该脚接来自外部时钟振荡器的信号。
(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。2.2.2控制引脚(1)RST(RESET,9脚)
复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作,此脚电平应≤0.5V。本课件是可编辑的正常PPT课件
当看门狗溢出时,该脚将输出96个时钟振荡周期的高电平。(2)EA*/VPP(EnableAddress/VoltagePulseofPrograming,31脚)EA*:第一功能:外部程序存储器访问允许控制端。EA*=1,在PC值≤0FFFH(不超出片内4KBFlash存储器地址范围)时,单片机读片内Flash存储器(4KB)中的程序,但PC值>0FFFH(超出片内4KBFlash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。EA*=0,只读取片外程序存储器中内容,读取地址范围为0000H~FFFFH,片内的4KBFlash程序存储器不起作用。本课件是可编辑的正常PPT课件VPP:引脚第二功能,对片内Flash编程,接编程电压。(3)ALE/PROG*(AddressLatchEnable/PROGramming,30脚)ALE:为CPU访问外部程序存储器或外部数据存储器提供地址锁存控制信号,将低8位地址锁存在片外的地址锁存器中。此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为fosc的1/6。该信号可作外部定时或触发信号使用。
注意:每当AT89S51访问外部RAM或I/O时,要丢失一个ALE脉冲,所以ALE引脚的输出信号频率并不是准确的1/6
fosc。本课件是可编辑的正常PPT课件
如不需要ALE端输出脉冲信号,可将特殊功能寄存器AUXR(地址8EH,本章后面介绍)的第0位(ALE禁止位)置1,来禁止ALE操作,但在执行访问外部程序存储器或外部数据存储器操作时,ALE仍然有效,即ALE禁止位不影响对单片机对外部存储器的访问。PROG*:引脚第二功能,对片内Flash编程,加编程脉冲输入。本课件是可编辑的正常PPT课件(4)PSEN*
(ProgramStrobeENable,29脚)
片外程序存储器读选通信号,低有效。2.2.3并行I/O口引脚(1)P0口:P0.7~P0.0脚,8位,漏极开路的双向I/O口
当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。P0口也可作通用的I/O口用,需加上拉电阻,这时为准双向口。如作输入,应先向端口写1。可驱动8个LS型TTL负载。(2)P1口:P1.7~P1.0脚,8位,准双向I/O口,内有上拉电阻。
准双向I/O口,作通用I/O输入时,应先向端口锁存器写1,本课件是可编辑的正常PPT课件P1口可驱动4个LS型TTL负载。P1.5/MOSI、P1.6/MISO和P1.7/SCK也可用于对片内Flash存储器串行编程和校验,分别是串行数据输入、输出和移位脉冲引脚。(3)P2口:P2.7~P2.0脚,8位,准双向I/O口,具有内部上拉电阻。
当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线输出高8位地址。P2口也可作普通I/O使用。当作通用I/O输入时,应先向端口输出锁存器写1。可驱动4个LS型TTL负载。本课件是可编辑的正常PPT课件(4)P3口:P3.7~P3.0脚,8位,准双向I/O口,具有内部上拉电阻。
可作为通用的I/O口使用。作为通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。P3口还可提供第二功能。第二功能定义如表2-1,应熟记。
综上所述,P0口作为总线口时,为双向口,作通用I/O用时,为准双向口,需加上拉电阻。P1、P2、P3口均为准双向口。本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件注意:准双向口与双向口的差别。准双向口仅有两个状态。而P0口作为总线使用,口线内无上拉电阻,处于高阻“悬浮”态。故为双向三态I/O口。为什么P0口要有高阻“悬浮”态?因为P0口作为数据总线用时,多个数据源都挂在数据总线上,当P0口不需要读写其他数据源时,需要与数据总线高阻“悬浮”隔离。准双向I/O口则无高阻“悬浮”态。另外,准双向口作通用I/O输入使用时,需先向该口先写入“1”。准双向口与双向口的差别,学习2.5节的P0~P3口内部结构后,会有更深入了解。
本课件是可编辑的正常PPT课件2.480C51单片机存储器结构80C51单片机是哈佛结构的单片机,程序存储器和数据存储器有独立的寻址空间、控制信号和功能。从逻辑上看,80C51划分为3个存储器地址空间:64KB程序存储器地址空间(片内、片外统一编址),256B的内部数据存储器地址空间和64KB的外部数据存储器地址空间。从物理地址空间看,80C51有5个存储器地址空间:4KB片内程序存储器、60KB片外程序存储器(不使用片内ROM时可达64KB)、64kB片外数据存储器和I/O接口、128B片内数据存储器、128B特殊功能寄存器。80C51单片机的存储器配置如图2-3所示。下面分别叙述各存储器的配置特点。本课件是可编辑的正常PPT课件图2-380C51存储器的配置本课件是可编辑的正常PPT课件1.程序存储器
程序存储器用来存放编程好的固定程序和表格常数,其以16位程序计数器PC作下一条指令的地址指针,通过地址总线,可寻址地址空间64KB。在程序存储器空间应用中有以下说明。(1)80C51单片机中,片内集成有4KB的Flash存储器(AT89S52则为8KB;AT89C55片内20KB),片外可外扩至64KB。64KB程序存储器的地址空间是统一的。是否使用片内4KBFlashROM,取决于引脚的连接方式。本课件是可编辑的正常PPT课件①在正常运行时,应把引脚接+5V电源,使程序从片内ROM开始执行。当PC值超出4K时,会自动转向外部程序存储器空间。因此,外部程序存储器地址空间为1000H~FFFFH。②若直接将接地(如调试程序时),单片机系统根据PC指针从0000H~FFFFH空间变化,只从外部程序存储器中取指、译码并执行,此时80C51单片机将忽略片内0000H~FFFH的4KBFlash存储器中的程序代码。本课件是可编辑的正常PPT课件(2)80C51单片机程序存储器的低地址单元被固定用于5个中断源(80C52为6个)的中断服务程序的入口地址(中断向量),5个中断源对应的中断向量如表2-2所示(表中最后一列是80C52定时器T2的中断向量)。由于每个中断服务程序只占8个字节单元,所以一般中断向量处存放一条绝对跳转指令,实际中断服务程序在转移地址处存放。本课件是可编辑的正常PPT课件(3)从物理角度看,PC在80C51的内部是独立的。PC始终存放CPU下一条要执行的指令地址(程序存储器地址),由于它是一个16位的寄存器,因此80C51单片机的寻址范围为0~65535(64KB)。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。复位后程序计数器PC内容为0000H,因此系统从0000H单元开始取指执行,这是系统执行程序的起始地址,通常在该单元中存放一条跳转指令,使程序跳转到用户程序存放地址。本课件是可编辑的正常PPT课件2.数据存储器80C51单片机的数据存储器分为片内和片外两个地址空间。片内为128B(52子系列为256B),片外最多可扩64KB。(1)片外数据存储器当片内128BRAM不够用时,最多可扩展64KB外部数据存储器,地址范围为0000H—0FFFFH,使用时注意,单片机I/O接口与片外数据存储器采用统一编址方式,即片外数据存储器连同I/O口一起总的扩展容量是64KB,且采用相同控制线、指令和寻址空间。(2)片内数据存储器图2-4(a)所示是80C51单片机内部数据存储器的配置。内部数据存储器是最灵活的地址空间,它分成物理上独立的且性质不同的3个区。本课件是可编辑的正常PPT课件①00H~7FH(0~127)单元组成低128B地址空间的RAM区片内数据存储器按功能分成3个部分:工作寄存器区、位寻址区、用户RAM区,还包含堆栈区。工作寄存器区包括0区~3区4个通用工作寄存器区,占地址为00H~1FH的32个单元,每个区有8个工作寄存器,编号分别为R0~R7,各区中R0~R7地址如图2-4(b)所示。4个工作寄存器区的切换可通过程序中改变程序状态字特殊功能寄存器PSW的RS1和RS0的四种组合状态实现。如表2-3所示。本课件是可编辑的正常PPT课件②80H~FFH的128B地址空间的SFR映射在片内RAM区SFR实质是各外围部件的控制寄存器及状态寄存器。由于SFR内容较重要,下面将专设一小节详细介绍。③8052/80C52单片机80H~FFH单元组成的高128B的数据RAM区8052/80C52单片机的片内高128B的RAM与SFR是不同的物理空间,但是具有相同的字节地址(统一编址),C51访问这2个不同区域时,通过不同的关键字区分。本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件3.SFR
80C51单片机内的累加器ACC、I/O口、定时器、串行口、中断等各种控制寄存器和状态寄存器都是以SFR的形式出现的,它们映射在内部RAM80H~FFH地址空间,表2-5列出了SFR的助记标识符、名称及地址。其中字节地址可以被8整除的SFR均可位寻址。本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件(1)SFR分类SFR分为以下5类。①CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈指针SP(81H),数据指针DPTR(82H、83H)。②并行接口:P0~P3(80H、90H、A0H、B0H)。③串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF(99H),电源控制寄存器PCON(87H)。④定时/计数器:方式寄存器TMOD(89H),控制寄存器TCON(88H),初值寄存器TH0(8CH)和TL0(8AH)、TH1(8DH)TL1(8BH)。定时/计数器T2相关寄存器(仅52子系列有):定时/计数器2控制寄存器T2CON(C8H),定时/计数器2自动重装寄存器RCAP2H(CBH)和RCAP2L(CAH),定时/计数器2初值寄存器TH2(CDH)和TL2(CCH)。⑤中断系统:中断允许寄存器IE(A8H),中断优先级寄存器IP(B8H)。本课件是可编辑的正常PPT课件(2)SFR介绍下面简单介绍部分SFR。1)累加器ACC累加器是最常用的SFR。大部分单操作数指令和多数双操作数指令的一个操作数取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加器A中。2)B寄存器80C51单片机在乘法和除法指令中用到B寄存器。乘法指令的两个操作数分别取自A和B,其结果高8位和低8位分别存放在B、A寄存器中。除法指令中,被除数取自A,除数取自B,商数存放于A,余数存放于B。在其他指令中,B寄存器可作为RAM中的一个单元来使用。本课件是可编辑的正常PPT课件3)PSWPSW包含了程序运行状态的各种信息,其各位的含义如表2-6所示。其中PSW.1未用,其他各位说明如下。①CY(PSW.7)进位标志在布尔处理机中,C被认为是位累加器。在执行某些算术和逻辑指令时,可以被硬件或软件置1或清0。如算术运算中,若最高位有进位或借位时CY=1,否则CY=0;②AC(PSW.6)辅助进位标志当进行加法或减法操作而产生由D3位向D4位(低4位数向高4位数)进位或借位时,AC将被硬件置1,否则被清0。AC被用于十进制调整,详见DAA指令。③F0(PSW.5)标志0用户可定义的一个状态标记,可以用软件来设置该位,例如用软件测试F0以控制程序的流向。本课件是可编辑的正常PPT课件④RS1、RS0(PSW.4,PSW.3)寄存器区选择控制位1和0四个通用寄存器组的选择位,该两位的四种组合状态用来选择工作寄存器区的0~3区。可以用软件来置1或清0。⑤OV(PSW.2)溢出标志当执行算术指令时,由硬件置1或清0,以指示溢出状态。当带符号数运算结果超出-128~+127范围时OV=1,否则OV=0。当无符号数乘法结果超过255时,或当无符号数除法的除数为0时OV=1。当执行加法时,若用C6‘表示D6位向D7位有进位,用C7’表示D7向CY有进位,则有OV=C6‘⊕C7’。即当D6向D7有进位而D7不向CY进位时,或D6不向D7进位而D7向CY有进位时,溢出标志OV置1。否则清0。同样,在执行减法指令时,若C6'和C7'表示D6有借位和D7有借位,溢出计算公式相同。本课件是可编辑的正常PPT课件⑥P(PSW.0)奇偶标志奇偶校验标志。每条指令执行完,若A中“1”的个数为奇数时,P=1,否则P=0,即偶校验方式。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常用奇偶校验的办法来检验数据传输的可靠性。在发送端可根据P的值对数据的奇偶位置1或清0。若通信协议中规定使用奇校验的办法,则P=0时,应对数据(假定由A取得)的奇偶位置1,否则就清0。本课件是可编辑的正常PPT课件4)栈指针SP栈指针SP指示堆栈顶部在内部RAM中的位置。系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。由于08H~lFH空间属于工作寄存器区1~3,20H~2FH空间为位寻址区,而程序设计中常用到这些区,在具体使用时应避开工作寄存器、位寻址区,一般设在2FH以后的单元,如工作寄存器和位寻址区未用,也可开辟为堆栈。堆栈是按先入后出、后入先出的原则进行管理的一段存储区域,主要作为子程序调用、中断响应、子程序返回(RET)和中断返回(RETI)等操作时,保护断点和现场。本课件是可编辑的正常PPT课件①保护断点预先把主程序的断点(PC值)保存在堆栈中,为程序能够正确返回。②现场保护在子程序或者中断服务程序入口处,将用到的寄存器单元的内容压入堆栈,以便程序退出前出栈。MCS-51单片机是一种满递增的堆栈,即执行两种操作:数据压入(PUSH)堆栈时,SP先自动加1,再压入数据;数据弹出堆栈时,数据先出栈,SP再自动减1。本课件是可编辑的正常PPT课件7)串行数据缓冲器SBUF串行数据缓冲器SBUF用于存放欲发送或已接收的数据,它实际上由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。当要发送的数据传送到SBUF时,进的是发送缓冲器。当要从SBUF读数据时,则取自接收缓冲器,取走的是刚接收到的数据。5)数据指针DPTR数据指针DPTR是一个16位特殊功能寄存器,高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。DPTR既可以作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。DPTR主要用来存放16位地址,以间址寄存器形式访问外部数据存储器、I/O接口和程序存储器。6)端口P0~P3专用寄存器P0、P1、P2和P3分别是I/O端口P0~P3的锁存器。本课件是可编辑的正常PPT课件8)定时器/计数器80C51系列中有两个16位定时器/计数器T0和T1,各由两个独立的8位寄存器组成,共有4个独立的寄存器:TH0、TL0、TH1、TL1。不能将T0、T1当作一个16位寄存器来寻址。9)其他控制寄存器IP、IE、TMOD、TCON、SCON和PCON等SFR包含有中断系统、定时器/计数器、串行口和供电方式的控制和状态位,这些寄存器将在有关章节中叙述。本课件是可编辑的正常PPT课件2.5单片机的时钟和复位电路在单片机的设计和应用中,对振荡器、时钟电路、CPU工作时序以及复位电路的了解是最基本的。可靠的时钟电路和复位电路的设计能有效地保证单片机工作的稳定。本课件是可编辑的正常PPT课件2.5.1时钟电路时钟电路主要用于产生80C51执行指令时所必需的控制信号的各个节拍,单片机执行指令是在统一的时钟脉冲控制下一拍一拍地进行的。时钟电路发出的时序信号有两类,一类用于对片内定时器、中断系统等各个功能部件控制;另一类用于对片外存储器或I/O接口的控制。执行指令时,CPU首先到程序存储器中取指、译码并执行,所有过程都是以时钟控制信号为基准。为保证各部件间的同步工作,单片机内部电路需在唯一的时钟信号下严格地按照时序工作。因此时钟电路的设计很重要,时钟频率直接决定着80C51单片机的速度,设计质量也影响单片机应用系统的可靠性。本课件是可编辑的正常PPT课件1.内部时钟方式内部时钟方式是由单片机内部时钟电路自身产生时钟脉冲信号,如图2-5所示。利用单片机内部的高增益反相放大器可构成振荡器,在反向放大器的输入引脚XTAL1和输出引脚XTAL2两端外接晶振和微调电容,就构成稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,电路两端电容C1和C2对单片机频率有微调作用,电容通常为30pF。晶振频率通常选择12MHz,在串口通信应用中,为得到准确的通信波特率,晶振频率一般选择11.0592MHz。为了减少寄生电容,保证振荡器稳定工作,晶振和电容安装时,应尽量靠近单片机芯片。图2-5内部时钟电路本课件是可编辑的正常PPT课件图2-6外部时钟电路2.外部时钟方式外部时钟方式是由外部振荡器产生时钟脉冲信号送给单片机,如图2-6所示。在多片80C51同时工作,需要多片单片机之间保持时钟同步时,需要共同的外部时钟时使用。因内部时钟发生器的信号取自反相器的输入端,80C51采用外部时钟源时,外接时钟源直接接到XTAL1端,XTAL2端悬空。本课件是可编辑的正常PPT课件3.时钟信号的输出当需要为外部其它芯片提供时钟时,可先使用内部时钟方式产生时钟信号,再通过XTAL1或XTAL2提供时钟信号输出,此时需外部扩充电路增加驱动能力。常用的输出形式有2种,如图2-7(a)和(b)所示。图2-7时钟信号的输出本课件是可编辑的正常PPT课件1.振荡周期振荡周期是单片机时钟控制信号的基本时间单位,指为单片机提供时钟信号的振荡源的周期。若晶体振荡频率为fosc,则振荡周期Tosc=1/fosc。如外接晶振12MHz时,振荡周期=1/12MHz=1/12μs=0.0833μs。2.状态周期又称S周期,是振荡源信号经二分频后形成的周期脉冲信号,是振荡周期两倍。如外接晶振12MHz时,状态周期=1/6μs=0.167μs2.5.2指令时序80C51单片机执行指令时,各条指令可分解为若干基本微操作,这些微操作所对应的脉冲信号,在时间上有严格的先后次序,称作单片机指令时序,如图2-8所示,描述单片机执行指令快慢程度的时间单位主要有振荡周期、状态周期、机器周期和指令周期4种。本课件是可编辑的正常PPT课件3.机器周期通常将单片机完成一个基本操作所需的时间称为机器周期,每个机器周期可完成取指令、读或写数据等基本操作。1个机器周期固定为12个振荡周期。如外接晶振12MHz时,机器周期=1μs。4.指令周期指令周期是指单片机执行一条指令所需要的时间。80C51典型的指令周期是一个机器周期,一个机器周期由6个状态(12个振荡周期)组成。每个状态又分成两拍:P1和P2。所以,一个机器周期的12个振荡周期依次表示为S1P1、S1P2、…、S6P1、S6P2。本课件是可编辑的正常PPT课件由图2-8可知,ALE在每个机器周期中两次有效:一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。单片机指令周期一般需要含有1个、2个或者4个机器周期;其中大多数单字节指令和双字节指令,取出指令立即执行,需一个机器周期。三字节指令和部分双字节指令都是双机器周期,而乘、除法指令需要占用4个机器周期。所以,外接晶振12MHz时,指令周期=1~4μs。本课件是可编辑的正常PPT课件1.复位过程复位信号如图2-9所示,复位期间不产生ALE及信号,ALE及被配置为输入状态,即ALE=1和=1。直至RST端电平变低,结束复位。复位后,各内部寄存器状态如表2-7所示,PC=0000H,SP为07H,P0~P3口的内容均为0FFH,其他SFR有效位均为0,复位操作不影响RAM的状态,内部RAM不断电(上电复位除外,上电时RAM内容不确定),其中数据信息不丢失。当RST引脚返回低电平后,CPU从0地址开始执行程序。2.5.3复位电路复位是单片机片内寄存器的初始化过程。只要给RST引脚保持至少两个机器周期(24个振荡器周期)的高电平,80C51单片机将实现复位。本课件是可编辑的正常PPT课件图2-980C51复位信号本课件是可编辑的正常PPT课件2.复位电路80C51单片机的复位是由外部复位电路实现的,在复位电路设计时,要考虑兼顾上电复位和人工按键复位功能。图2-10给出了80C51单片机常用于实际应用中的RC外部复位电路。除了这些复位电路,还有一些电路设计会采用专用的电压监控和复位芯片来构成复位电路。(a)上电复位(b)按键脉冲复位(c)按键电平复位本课件是可编辑的正常PPT课件(1)上电自动复位电路原理单片机上电后,+5V电源(VCC)通过电容C和电阻R回路,给电容C充电,并加在RST引脚一个短暂的高电平复位信号,随着充电进行,复位信号逐渐降低,此复位信号高电平持续时间取决于电容C的充电时间,即充电时间越长,复位时间越长。增大电容或者增大电阻都可以增加复位时间。(2)人工按键复位电路原理按压按键后,接通了+5V电源(VCC),通过两个电阻的分压回路,RST端分压后产生高电平信号,按键按下的时间决定了复位时间。当时钟频率选用6MHz时,电容C的典型取值为22uF,两个电阻R1和R2的典型值分别为220Ω和1kΩ。本课件是可编辑的正常PPT课件2.6单片机的低功耗节电方式CHMOS型单片机属于低功耗器件,具有空闲模式和掉电模式2种节电模式,80C51单片机正常工作时电流是11~20mA,空闲模式电流是1.7~5mA,掉电模式电流为5~50μA。表2-8列出了单片机的3种工作模式下消耗电流情况。
低功耗节电原则是:让运行模式比空闲、掉电模式占用时间大大减少,从而减少消耗的能量,主要通过以下方法实现:(1)在开机状态下,靠中断唤醒CPU,在短暂的时间内工作在运行模式,处理相应的事件,然后进入空闲(或掉电)模式;(2)在关机状态下,完全进入掉电模式。本课件是可编辑的正常PPT课件
80C51单片机的空闲模式和掉电模式都是通过对特殊功能寄存器PCON中相关的位进行控制的,PCON各位定义如表2-9所示。其中,IDL为空闲控制位,IDL=1,单片机进入空闲模式;PD为掉电控制位,PD=1,单片机进入掉电模式。本课件是可编辑的正常PPT课件2.6.1空闲模式设计1.进入空闲模式80C51单片机执行如下指令使IDL=1,进入空闲模式。PCON=0x01;//IDL空闲控制位置1通过程序设计使待机方式位PCON.0或IDL置1时,单片机进入空闲模式。此时,CPU处于休眠状态,而片内其时钟电路、中断、串口、定时/计数器等都保持工作状态,片内RAM和所有SFR内容保持不变,由于CPU耗电占单片机耗电的80%~90%,因此大大降低了系统的功耗。本课件是可编辑的正常PPT课件2.退出空闲模式中断或硬件复位2种方法都可以终止空闲模式。在空闲模式下,中断系统仍在工作,当中断请求被响应后,硬件使得IDL=0,从而退出空闲模式,进入中断服务程序。在空闲模式时,硬件复位,各个SFR恢复默认状态,PCON=0,IDL=0,退出空闲模式。为了防止休眠被复位终止时对端口引脚意外写入的可能性,在生成待机模式的指令后不应紧跟对端口引脚的写指令。本课件是可编辑的正常PPT课件2.6.2掉电方式设计1.进入掉电模式设置掉电模式的指令如下:PCON=0x02;//掉电方式位PD或PCON.1置1单片机发生掉电时,振荡器停止工作,内部所有功能部件均停止工作,但片内RAM和SFR内容保持不变,有关端口的输出状态被保存在对应的SFR中。2.退出掉电模式退出掉电模式的方法有外部中断唤醒或者硬件复位。区别在于:使用外部中断唤醒单片机时,程序从断点处继续运行,而使用硬件复位唤醒单片机时,程序从0000H处开始执行。本课件是可编辑的正常PPT课件习题2一、填空题1.ALE引脚的作用是____________。2.当单片机晶振频率为6MHz时,ALE的频率为_________。3.在单片机既具有内部程序存储器,又有外部程序存储器时,其引脚应接___电平。4.当MCS-51引脚ALE信号有效时,表示在P0口稳定地送出了________地址。5.80C51复位后,PC=0H。若希望从片内存储器开始执行,脚应接_______电平。6.MCS-51单片机是采用_________电平复位。7.MCS-51读片外ROM时使用的控制信号是_________。8.MCS-51单片机有___字节外部数据存储器地址空间。9.MCS-51单片机最大可扩展___字节的ROM。10.MCS-51单片机有___字节外部I/O空间。本课件是可编辑的正常PPT课件11.8031的片内ROM是____KB,80C52的片内ROM是____KB。12.8051片内有128B的RAM,可分为四个区,20H-2FH为____区。13.片内RAM字节地址21H单元中D0位的位地址为____。14.8031的PSW中RS1=1、RS0=1,工作寄存器R0-R7的地址为____。15.在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问____存储器提供地址。16.若累加器A中的数据为01110010B,则PSW中的P=_________。17.通过堆栈操作实现子程序调用时,首先要把____的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到____,先弹出的是原来____中的内容。18.80C51上电复位后,SP的初值为____,PC初值为____,PSW的初值为____。19.80C51内部SFR的P0字节地址为____。20.若要对80C51复位,RST端应保持高电位____个振荡周期。本课件是可编辑的正常PPT课件二、简答题1.MCS-51单片机DIP封装有40条引脚,简述各引脚的功能。2.说明MCS-51单片机位寻址区的字节地址范围、位地址范围。3.MCS-51单片机有几组工作寄存器区?如何设置当前工作寄存器区?4.MCS-51单片机片内RAM字节地址范围是多少?5.MCS-51单片机SFR中的P0、P1、P2、P3、ACC字节地址是多少?各自的位地址范围是多少?本课件是可编辑的正常PPT课件6.MCS-51单片机位寻址空间有哪些。7.51单片机系统的外接晶振为12MHz,试计算系统的振荡周期、状态周期、机器周期。8.简述MCS-51单片机五个独立的存储空间。9.MCS-51系列单片机的8051和8052单片机片内分别集成了哪些功能部件?10.简述80C51单片机有哪两种低功耗节电模式?说明两种低功耗节电模式的异同。本课件是可编辑的正常PPT课件第3章
C51语言编程基础
本课件是可编辑的正常PPT课件3.1C51编程语言简介3.2C51语言的数据类型3.3数据存储类型3.4C51的运算量3.4.1常量3.4.2变量3.5数据存储模式3.6C51语言绝对地址的访问3.7C51语言的函数3.7.1函数的分类3.7.2函数的调用与声明3.7.3函数的嵌套与递归3.7.4宏定义、文件包含及库函数3.8C51语言的运算符本课件是可编辑的正常PPT课件3.9C51语言语句及程序结构3.9.1表达式语句3.9.2复合语句3.9.3C51语言程序基本结构3.10C51语言构造数据类型3.10.1C51语言的数组3.10.2C51语言的指针3.10.3C51语言结构3.10.4联合3.10.5枚举本课件是可编辑的正常PPT课件3.1C51编程语言简介C51语言是8051单片机系统开发中实用的高级编程语言,是在标准C基础上针对8051硬件特点进行扩展,并向8051上移植,与8051汇编语言相比,C51语言在可读性、可维护性上有明显优势,易学易用;便于模块化开发与资源共享,可移植性好,生成的代码效率高,采用较好的C51语言编译系统,编译代码效率可达汇编语言的90%。本课件是可编辑的正常PPT课件1.C51语言与汇编语言的比较在MCS-51单片机程序编写中,用C51语言与用汇编语言是不同的。汇编语言编写时需要考虑单片机存储器具体结构,熟悉其片内RAM与SFR的使用,并用物理地址处理端口数据。用C51语言不必像汇编语言那样具体分配存储器资源和处理端口数据,但对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。2.C51语言与标准C语言的区别C51语言与标准C语言程序主要区别是:C51语言程序需根据MCS-51单片机存储器结构及内部功能资源定义数据类型和变量,而标准C语言程序不需要考虑硬件相关的问题;C51语言的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有较大区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。本课件是可编辑的正常PPT课件C51语言基本语法、数据运算操作、程序控制语句以及函数的使用与标准C无明显差别,但正因为C51语言在标准C的基础上进行适合8051内核单片机硬件的扩展,所以有如下差别。(1)C51语言的库函数和标准C语言不同。标准C语言定义库函数按通用微型计算机定义,C51库函数是按MCS-51单片机硬件定义的,故C51语言剔除了标准C语言中不适合于嵌入式控制器系统的库函数,如字符屏幕和图形函数。(2)C51语言数据类型与标准C数据类型有所不同,C51语言在标准C的基础上增加了针对MCS-51单片机特有的4种数据类型。(3)C51语言变量存储模式与标准C中变量存储模式不同,其存储模式是与MCS-51单片机的存储器紧密相关。本课件是可编辑的正常PPT课件(4)C51语言与标准C的输入/输出处理不同,C51语言通过MCS-51串行口完成输入输出,执行前必须要对串行口进行初始化。(5)C51语言与标准C在函数使用中有区别,C51语言有专门的中断函数。
(6)C51语言有头文件。C51语言通过头文件把MCS-51单片机内部的外设硬件资源(如定时器、中断、I/O等)相应的特殊功能寄存器包含进来。(7)C51语言程序结构与标准C的有一点不同。鉴于MCS-51单片机有限的硬件资源,编译系统不允许太多的程序嵌套,也不支持C语言中的的递归特性。本课件是可编辑的正常PPT课件3.2C51语言的数据类型数据是CPU操作的对象,是有一定格式的数字或数值,其格式称为数据类型。1.数据类型C51语言支持的数据类型分为基本数据类型和组合数据类型,基本数据类型见表3-1所示。由于char型与short型相同,float型与double型相同,只列出其中一种;C51语言专门针对MCS-51单片机的特殊功能寄存器型和位类型,扩展了4种数据类型,不能使用指针来对它们存取。组合型数据类型包括数组类型、指针类型、结构类型、联合类型等较复杂的数据类型。本课件是可编辑的正常PPT课件表3-1C51语言支持的基本数据类型(1)本课件是可编辑的正常PPT课件表3-1C51语言支持的基本数据类型(2)本课件是可编辑的正常PPT课件2.对C51语言基本数据类型的说明下面对基本类型进行说明。(1)char(字符型)char(字符型)有signedchar和unsignedchar2种,默认为signedchar。用于存放一个单字节的数据。其中signedchar,它用于定义带符号字节数据,用补码表示;unsignedchar,用于存放一个字节的无符号数或存放西文字符,用ASCII码存放。(2)int(整型)int(整型)有signedint和unsignedint2种。默认为signedint。用于存放一个双字节数据。signedint用于存放两字节带符号数,补码表示。unsignedint用于存放两字节无符号数。本课件是可编辑的正常PPT课件(3)long(长整型)long(长整型)有signedlong和unsignedlong2种。默认为signedlong。用于存放一个四字节数据。signedlong用于存放四字节带符号数,补码表示。unsignedlong,用于存放四字节无符号数。(4)float(浮点型)float型长度四个字节,格式符合IEEE-754标准的单精度浮点型数据,包含指数和尾数两部分,最高位为符号位,“1”表示负数,“0”表示正数,其次的8位为阶码,最后的23位为尾数的有效数位,由于尾数的整数部分隐含为“1”,所以尾数的精度为24位。本课件是可编辑的正常PPT课件(5)*(指针型)指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。(6)sfr及sfr16(特殊功能寄存器型)用于访问MCS-51单片机中的SFR数据,分sfr和sfr16两种,其中sfr为字节型,可访问MCS-51内部的所有特殊功能寄存器;sfr16为双字节型,可访问MCS-51内部两个字节的特殊功能寄存器。C51语言中对SFR访问必须先用sfr或sfr16声明。本课件是可编辑的正常PPT课件【例3-1】举例sfr及sfr16的应用。sfrP0=0x80;定义了P0端口,其特殊功能寄存器地址为0x80;P0=0x0f;将P0高4位清零,第4位置高电平。sfr16DPTR=0x82;//定义片内DPH及DPL组成的数据指针寄存器DPTR,其中DPL字节地址82H,DPH字节地址83H。DPTR=0x1200;//将DPTR指向片外RAM0x1200单元。本课件是可编辑的正常PPT课件上面的例子用到C51语言的注释,关于注释,有2种用法,说明如下。①注释语句方法1://……..,两个斜杠后面开始书写注释语句,只能注释一行,换行需加“//”。②注释语句方法2:/*……*/,斜杠与星号结合,中间可以为多行注释,直到注释的结尾加“*/”。本课件是可编辑的正常PPT课件(7)bit及sbit(位类型)用于访问MCS-51单片机中的可寻址的位单元。在内存中都只占一个二进制位,其值为“1”或“0”。其中bit定义普通的位变量,在C51语言编译器编译时,其位地址是可以变化,sbit则定义SFR的可寻址位,即值是SFR中某位的绝对地址,其位地址不可变。本课件是可编辑的正常PPT课件【例3-2】sbit的应用举例。sfr P0=0x80; //定义P0地址0x80sbit P0_1=P0^1; //定义P0_1位为P0.1,符号“^”前是SFR名称,“^”后数字表示在寄存器中的位置,取值0~7。P0_1=1;//将P0_1置高电平注意,不要把bit与sbit相混淆。bit,只能是二进制的0或1。在C51语言程序设计中,在出现运算中数据类型不一致情况下,将支持数据类型隐式转换,顺序如下:bit——char——int——long——floatsigned——unsigned例如,当char型数据与int型数据运算时,将会把char型转换为int型数据,与int型数据运算后,将结果存为int型。C51语言同样支持强制类型转换符“()”对数据类型强制转换。本课件是可编辑的正常PPT课件3.3数据存储类型C51定义的数据类型都必须定位在8051单片机的某一存储区中,否则没有任何实际意义。数据的存储类型指出其所在的单片机存储器的位置。C51提供了3个不同的数据存储类型data、idata和bdata来访问片内数据存储区,提供了2个数据存储类型xdata和pdata来访问片外数据存储区,另外,C51语言提供了code存储类型来访问程序存储区。C51编译器支持以下6种数据存储类型,省略时将按编译模式默认数据存储类型,数据存储类型、大小和值域如表3-2所示。本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件数据存储类型说明如下:(1)datadata存储类型标识符声明的变量位于片内RAM低128字节的DATA区,寻址是最快的,可直接寻址。应把常使用的变量定义为data类型,但该区存储空间有限,包括程序变量、堆栈和寄存器组。由于C51用默认的工作寄存器组来传递参数,这样DATA区至少失去8字节空间。另外,当内部堆栈溢出的时候,程序会复位。(2)bdatabdata存储类型标识符声明的变量位于片内RAM的可位寻址区BDATA区(20H~2FH),即片内RAM可位寻址的16字节存储区(字节地址为20H~2FH)中的128个位。C51编译器不允许在BDATA区中声明float和double型变量。本课件是可编辑的正常PPT课件(3)idataidata存储类型标识符声明的变量位于IDATA区,即位于片内256字节RAM,该区只能间接寻址,常用来存放使用比较频繁的变量,速度比直接寻址慢。与外部RAM寻址相比,其指令执行周期和代码长度相对较短。(4)pdatapdata存储类型标识符声明的变量位于PDATA区,PDATA区仅指定低256字节的外部RAM空间。(5)xdata
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级财务会计学知到课后答案智慧树章节测试答案2025年春湖南工学院
- 四川工业科技学院《景观设计(1)》2023-2024学年第一学期期末试卷
- 西南民族大学《化工机械强度与振动》2023-2024学年第二学期期末试卷
- 洛阳理工学院《组织学与胚胎学(B)》2023-2024学年第二学期期末试卷
- 四川省资阳市2025届五年级数学第二学期期末调研试题含答案
- 海南健康管理职业技术学院《中国古代文学A(V)》2023-2024学年第二学期期末试卷
- 大同煤炭职业技术学院《个案工作实务》2023-2024学年第二学期期末试卷
- 广州华商学院《药理学实验A》2023-2024学年第二学期期末试卷
- 古诗词中炼字的好处
- 工程质量控制中的常见问题与解决方案
- 《台海危机》课件
- 部编版小学语文一年级下册第三单元大单元教学设计教材分析
- MOOC 数据库系统(中):建模与设计-哈尔滨工业大学 中国大学慕课答案
- 2024年湖南食品药品职业学院单招职业技能测试题库及答案解析
- 2024年江苏医药职业学院单招职业技能测试题库及答案解析
- 2024年全国高考物理电学实验真题(附答案)
- 保育员基本素养知识讲座
- 2024宁波枢智交通科技有限公司招聘笔试参考题库附带答案详解
- 乳腺疏通课件
- 《5G无线网络规划与优化》 课件 罗晖 第4-6章 5G行业应用-5G无线网络优化
- 药物指导健康宣教
评论
0/150
提交评论