资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片微型计算机及接口技术,本书基于51内核,融合了多种新型的单片机,结合编者多年的教学和科研经验,系统全面地介绍了单片机应用系统的基本概念、结构、软硬件设计方法和相关的开发工具。内容更加侧重于接口技术,读者对接口的应用有了更深入的了解,可以按照不同的应用需求选择不同的接口进行应用开发。通过本书的学习,可以帮助读者从系统的角度掌握单片机应用系统的基本知识,掌握单片机应用系统开发的基本方法,具备开发单片机应用系统的设计技能。,本书适用于计算机、电子、电气、通信等与控制相关的专业作为“单片机原理与应用”或“微型计算机接口技术”课程的教材,也适用于IT企业嵌入式工程师作为单片机开发参考手册。,第,1,章 概述,第,2,章,51,内核的单片机,第,3,章 单片机的软件开发环境,第,4,章,51,汇编语言程序设计,第,5,章,C51,程序设计语言,第,6,章,51,内核单片机的基本应用接口设计,第,7,章,51,内核单片机的通信接口设计,第,8,章,51,实时操作系统,第,9,章 单片机应用系统的开发实例,第一章 概述,4,导读,本章重点介绍单片机与接口技术的一些基本知识。,本章内容一般只要求作认识性了解,通过学习,学生应该能够:,初步建立对单片机系统的全面认识;,了解关于接口的一些基本概念和数据传送方式;,掌握认识接口的基本方法,为今后的深入学习和研究打下基础。,1.1 单片机与微控制器,按照冯.诺依曼原则,一台计算机的硬件系统由五大部分(运算器、控制器、存储器、输入设备、输出设备)组成。,一般的计算机,是采用按逻辑功能划分的各种微机电路芯片(如:CPU芯片、存储器芯片、I/O芯片等)组装而成的,即所谓“多片结构的计算机”。,单片机则是将CPU、存储器、I/O接口等集成在一块芯片上,因此称为“,Single-Chip Microcomputer,”。,单片机主要是针对工业控制以及与控制有关的数据处理而设计的。,单片机的发展,目前,单片机的发展已近40年的历史,它是硬件和软件交替发展的,可以分为四个阶段。,第一阶段(1971-1974年):,第二阶段(1974-1978年):初级单片机阶段。,第三阶段(1978-1983年):高性能单片机阶段。,第四阶段(1983年至今):,1971年,11,月,Intel推出,MCS,-4微型计算机系统(包括,4001,ROM芯片、4002 RAM芯片、4003移位寄存器芯片和4004微处理器)。这个时期的微处理器还不是真正意义上的单片机,但却拉开了单片机研制的序幕。,这个时期的代表产品是Intel公司的8048,它出现在1976年。8048片内包含了微型计算机的基本单元(CPU、存储器、并行I/O、定时计数器等),形成了实际的单片机。,这个时期的代表产品是Intel公司的8051,它出现在1980年。由于其面向控制的独特功能,使其在工业控制领域引起了轰动。在此基础上发展的51系列单片机,迅速成为应用最广泛的单片机系列。,高档单片机和专用单片机阶段。,微控制器,由于Intel公司彻底开放了8051单片机的技术,使得世界上很多IT厂商加入到开发与改造8051单片机的行列中,开发出各种基于51内核的新型单片机产品。,随着单片机技术的不断发展,新型的单片机内部不断扩展了各种控制功能。如:A/D转换器、D/A转换器、脉宽调制器(PWM)、计数器捕获/比较逻辑(PCA)、高速I/O口等等,使得它已突破了Microcomputer的传统内容,而朝着Microcontroller的内涵发展。,因此国外已将单片机统一称为,Microcontroller(微控制器),。国内,仍按习惯称为“,单片机,”,但其实质应该是“,微控制器,”或“,单片微控制器,”。,1.2 单片机系统,同计算机系统一样,单片机系统也是由硬件系统和软件系统构成的。,单片机的硬件系统分为单片机、单片机系统和单片机应用系统三个层次。,单片机:,单片机系统:,单片机应用系统:,单片机的软件一般可以分层为,系统软件,和,应用软件,。系统软件处于底层硬件和高层应用软件之间。但是,单片机的资源有限,设计者必须在系统软件的功能与构成系统软件的软硬件开销之间,仔细地寻求平衡。,将CPU和计算机的外围功能单元(如:存储器、I/O口、定时计数器、中断系统等)集成在一起的芯片。,当单片机内部的计算机外围功能单元不能满足对象要求时,通过系统扩展,在外部并行总线上扩展相应的计算机外围功能单元所构成的系统。构成单片机系统的手段是“系统扩展”。,通过系统配置,给单片机系统按控制对象的环境要求配置相应的外部接口电路(如:数据采集系统的传感器接口、控制系统的伺服驱动接口单元以及人机界面等),以构成满足对象全部要求的单片机硬件环境。构成单片机应用系统的手段是“系统配置”。,1.3 关于接口的一些基本概念,1、接口与端口,2、接口的基本形式,3、接口电路的基本组成,1、接口与端口,.,接口,的概念,计算机在工作过程中,CPU要不断地与其它部件交换信息。CPU不是直接与外部设备交换信息的,而是经过一个中间电路,这个电路就称为“接口电路”,简称“接口”。所谓接口就是主机与外部设备连接的桥梁,由它来完成CPU与外部设备之间信息的传递。,一般将外部设备与接口合称为“I/O系统”。接口又称为“设备控制器”或“适配器”。,.,端口,的概念,这里所说的端口,是指接口电路内可由程序员通过选择进行读/写的那些,寄存器的地址,。,通常,一个外设可用一个接口与计算机总线相连。但由于工作需要,一个接口中往往有几个端口。除了数据口外,还有命令口(或控制口)和状态口,分别用于对数据、命令和状态进行锁存。,2、接口的基本形式,I/O接口通常是数据传送的中转站,它的动作受控制信号的控制。因此,I/O接口一方面与数据总线相连,同时还必须与控制总线相连。为了保证通信的两方都得到数据,它至少应包含一个,具有数据锁存能力的锁存器,,,锁存器,和,缓冲器,一起用以实现对输入/输出数据的锁存与缓冲。此外,对锁存器还必须有,选择机构和读/写控制,,使 CPU能有选择地对I/O端口进行读或写。,3、接口电路的基本组成,接口是主机(CPU)与外部设备连接的桥梁,一定存在两个方向的连接界面,一方面与主机(CPU)的连接,另一方面与外部设备的连接,由它来完成CPU与外部设备之间信息的传递。,接口电路主要由,若干个端口,和,相应的控制逻辑,组成。,例如,要完成端口的选择,要有地址译码部件;要完成中断控制,要有中断控制逻辑;要完成差错检测,要有差错检测逻辑等。,1.4 数据传送方式,1、I/O接口与外部设备之间的数据传送方式,I/O接口与外部设备的数据传送方式是由所用外部设备决定的。根据外部设备的特点,有以下三种数据传送方式:,、无条件传送方式,、同步传送方式,、应答方式,无条件传送方式认为外部设备始终是准备好的,能随时接收或提供数据。,同步传送方式是指接口以某一确定的时钟速率和外设交换数据。例如,对磁盘信息的读写,计算机外部的同步通信都采用这种传送方式。这是一种速度较高的数据传送方式。它适用于中等以上数据传送速率和按规则间隔工作的外部设备。同步传送方式的关键是确定数据传送的起始与停止,通常采用的是使用专门信息或作出某些规定。,应答方式又称为握手(Hand shake)方式。应答方式要安排一对握手线。一根由接口送信号到外设,一根由外设送信号到接口。它们可以是一位控制信号或状态信号。,1.4 数据传送方式,2、CPU与I/O接口之间的数据传送方式,CPU与I/O接口的数据传送方式通常称为输入/输出的控制方式。采用何种方式和接口与外设之间的数据传送方式有很大关系。常见的方式有以下几种:,、无条件传送方式,、查询传送方式,、中断方式,、直接存储器存取(DMA)方式,无条件传送方式(或称简单的I/O方式)对应于接口与外设间的无条件传送方式。适用于那些随时都能读、写数据的设备。,无条件传送方式的接口要求比较简单,只需具有选址和缓冲功能即可。,很多外部设备,其状态不是已知的。例如,有些与CPU异步工作的设备,其工作状态总在变化,在这种情况下,利用无条件传送方式进行数据传送就很难保证数据的可靠性,因此必须在数据传送之前,对目标设备的状态进行查询,确知外设已做好了传送数据的准备时再进行数据传送,否则,CPU等待并持续不断地查询,一旦外设准备好,则立即进行读或写操作,这种式称为查询传送方式。,为了提高系统效率和实时性,可以采用中断传送方式。,在中断传送方式下,外设具有申请CPU服务的主动权,当输入设备已将数据准备好或者输出设备可以接收数据时,便可以向CPU发出中断请求,如果CPU允许中断响应,则CPU暂时停下目前的工作而和外设进行一次数据传输。等输入操作完成后,CPU继续进行原来的工作。,在DMA方式下,外部设备利用专门的接口电路直接和存储器进行高速数据传送,并不经过CPU。这样,进行传输就不必进行保护现场之类的一系列额外操作,数据传输的速度基本上决定于外设和存储器的速度。,1.5 认识接口的基本方法,为了实现接口的基本功能,一方面需要有,物理基础-硬件,的支持;另一方面还要有,相应的程序-软件,驱动。所以,一个能够实际运行的接口,应由,硬件,和,软件,两部分组成。,要掌握接口的应用,必须从硬件与软件两方面来认识它:,1、接口的外特性(硬件),2、接口的编程(软件),1、接口的外特性(硬件),接口的外特性,就是接口的应用特性,一般包括以下几个方面:,.接口的逻辑组成,.接口的引脚信号,.与接口相关的寄存器(端口),通过接口的连接框图了解接口的逻辑组成。,对于扩展的接口电路,可以采用两侧分析法来认识接口的引脚信号。,其一是与CPU连接的一侧,了解它提供的数据线的宽度、地址线的宽度、控制线的逻辑定义(高电平有效、低电平有效、脉冲跳变)、以及时序关系。,其二是与外设连接的一侧,情况比较复杂,因为被控对象种类繁多,型号不一,所提供的信号线五花八门,其逻辑定义,时序关系,电平高低差异甚大。,了解接口中的端口非常重要,一切对外设的操作都是通过对接口中的端口的操作来实现的。要正确的应用接口,必须从以下两个方面了解端口。,了解端口的功能,了解端口的地址分配,对于地址复用的端口,必须详细了解其采用的是哪种技术,才能够正确的实现对端口的操作。,常用的端口复用方法,常用的端口复用方法有如下几种:,I特征位法,在每次写入控制信息中留出若干位用于区分写入的是哪一种命令字。这些位称为特征位。,II索引法,每次写入控制信息时先写入索引值,然后写入命令字。由索引值决定命令字写入哪一个寄存器。此方法在命令种类多时尤其有用。,III特定顺序法,这种方法要求写入命令字时要按照严格的写入次序。由事先走好的次序决定哪一个命令写入哪一个寄存器。,2、接口的编程(软件),从实现接口的功能来看,一个完整的接口程序主要包括初始化程序段和数据传送程序段。,初始化程序段,数据传送程序段,初始化程序一般包括两大内容,其一对于可编程接口芯片,使用前都需要设置其工作方式及初始工作条件;其二是传送方式的初始化处理,对于中断方式,有中断源的屏蔽/开放、中断优先级的设置等;对于DMA方式,有相关的DMA通道的开放/屏蔽等。,只要有数据传送,就一定涉及到传送方式。,无条件传送方式:,比较简单,只要直接用指令去读或写即可。,程序查询方式:,需要首先读取状态口,检测外设或接口的状态,根据状态进行分析,如果外设传送数据准备就绪时,即进行数据传送,否则,返回读取状态口,持续不断地查询,直到外设准备好,再进行读或写操作。,程序中断方式:,数据传送是在中断服务程序中进行的。,本章小结,本章介绍了单片机与接口技术的一些基本知识。通过本章的学习,读者可以了解单片机与接口技术的一些基本概念和数据传送的方式,掌握认识接口的基本方法,为进一步学习奠定基础。,1、什么是单片机?,2、单片机的硬件系统分为哪几个层次?,4、什么是接口?什么是端口?,6、接口与外设之间有哪几种传送数据的方式?,21,第二章 51内核的单片机,22,导读,自Intel公司开放了8051单片机技术,世界上很多IT厂商加入到开发与改造8051单片机的行列中,基于51内核的各种新型单片机产品不断涌现。,本章内容一般只要求作认识性了解,通过学习,学生应该能够:,初步建立对51系列单片机的全面认识;,了解51内核单片机的体系结构、在片资源,能够根据实际的应用选择相应的单片机芯片。,2.1 传统的MCS51系列单片机,1980年Intel公司在MCS48系列单片机的基础上推出了MCS51系列单片机,由于该系列单片机片内含有存储器、定时计数器、并行I/O口和串行I/O口,成为单片机应用系统的主流产品。,1、MCS51单片机的基本型号,2、MCS51单片机的在片资源,3、MCS51的引脚信号,1、MCS51单片机的基本型号,MCS51系列单片机的基本型号有5种,主要区别是片内存储器不同。,型号,ROM,RAM,定时计数器,并行I/O,UART,中断系统,EPROM,ROM,中断源,优先级,8031,128B,2*16位,4,1,5,2,8032,256B,3*16位,4,1,6,2,8051,4KB,128B,2*16位,4,1,5,2,8052,8KB,256B,3*16位,4,1,6,2,8751,4KB,128B,2*16位,4,1,5,2,2、MCS51单片机的在片资源,MCS51单片机在一块芯片中集成了 CPU、RAM、ROM、定时计数器和I/O接口等多种功能(如图所示)。其内部包含的功能部件如下:,一个8位CPU;,一个片内振荡器及时钟电路;,4K字节ROM程序存储器:,128字节RAM数据存储器;,两个 16位定时计数器;,可寻址 64K外部数据存储,器和 64K外部程序存储器空,间的控制电路;,32条可编程的I/O线(四个,8位并行I/O端口),一个可编程全双工串行口;,具有五个中断源、两个优先级嵌套中断结构。,图中4K(4096)字节的ROM存储器部分用EPROM替换就成为8751;,图中去掉ROM部分就成为8031的结构图,3、MCS51的引脚信号,MCS51系列单片机通常有两种封装方式,一种是双列直插式封装(DIP);另一种是方形封装(PLCC)。图(a)为双列直插式封装引脚排列图,(b)为逻辑符号图。,40条引脚说明,主电源引脚Vss和Vcc,Vss,Vcc,外接晶体引脚,XTAL1,XTAL2,控制或与其它电源复用引脚,RST/Vpd,ALE/nPROG,nPSEN,nEA/Vpp,输入/输出引脚,P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0P3.7,电源,接地,电源,+5伏,内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。,内部振荡器的反相放大器的输出端,是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。,当振荡器运行时。在此引脚上出现不少于两个机器周期的高电平(由低到高跳变),将使单片机复位。,在 Vcc掉电期间,此引脚可接上备用电源,由 Vpd向内部 RAM提供备用电源,以保持内部RAM中的数据。,正常操作时为ALE功能(允许地址锁存),提供把地址的低字节锁存到外部锁存器。ALE引脚以不变的频率(振荡周期的1/6)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)八个 LSTTL电路。,对于 EPROM型单片机,在 EPROM编程期间,此引脚接收编程脉冲(nPROG功能)。,外部程序存储器读选通信号输出端。在从外部程序存储器取指令(或数据)期间;nPSEN 在每个机器周期内两次有效。nPSEN 同样可以驱动八个LSTTL输入。,nEA为内部程序存储器和外部程序存储器选择端。当nEA为高电平时,CPU从片内程序存储器开始执行指令,当PC的内容超过片内程序存储器地址的最大值时(4K),将自动转去执行片外程序存储器的指令。当nEA为低电平时,则从片外程序存储器开始执行指令。对于EPROM型单片机,在EPROM编程期间,此引脚上加21V EPROM编程电源(Vpp)。,P0是一个 8位漏极开路型双向 I/O口。在访问外部存储器时,它是分时传送的低字节地址和数据总线。P0口能以吸收电流的方式驱动八个LSTTL负载。,P1是一个带有内部提升电阻的 8位准双向 I/O口。它能驱动(吸收或输出电流)四个LSTTL负载。,P2是一个带有内部提升电阻的8位准双向I/O口。在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。,P3是一个带有内部提升电阻的 8位准双向 I/O口。能驱动(吸收或输出电流)四个LSTTL负载。P3口还用于第二功能。,P3引脚第二功能,P3.0RXD 串行输入,P3.1TXD 串行输出,P3.2nINT0 外中断0输入,P3.3nINT1 外中断1输入,P3.4T0 定时器0外部输入,P3.5T1 定时器1外部输入,P3.6nWR 片外RAM写允许,P3.7nRD 片外RAM读允许,2.2 ATMEL公司的89系列单片机,AT89系列单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统。它集成的Flash程序存储器,既可在线编程(ISP),也可用传统方法进行编程。,在通用的8位微处理器芯片中,ATMEL公司的AT89S系列单片机,功能强大,价位低,可为您提供较高的性价比,灵活应用于各种控制领域。,1、AT 89系列单片机型号的说明,AT89系列单片机的型号编码由前缀、型号和后缀三部分组成,格式如下:,AT 89Cxxxx xxxx,后缀 由x x x x 4个参数组成,用以说明产品的处理情况,=/883 表示采用MIL-STD-883标准,表示产品的温度范围,=C 商业产品 0-+70,=I 工业产品-40-+85,=A 车用产品-40-+125,=M 军工产品-55-+150,表示产品的封装形式,=D Cerdip,=J 塑料引线芯片载体,=L 无引线芯片载体,=P PDIP封装,=S SOIC封装,=Q PQFP封装,=A TQFP封装,=W 无封装,表示产品的速度(工作频率),=12 12MHz,=16 16MHz,=20 20MHz,=24 24MHz,型号 由89 C xxxx 3个参数组成,表示器件的型号,表示器件的特征,=C 表示是CMOS产品,=S 表示含有可下载Flash存储器,=LV 表示为低电压产品,表示 内部有Flash存储器,前缀 表示为ATMEL产品,2、AT 89系列单片机的特点,AT89系列单片机有多种型号,,低档产品:,AT89C1051、AT89C2051,,为20脚封装,最低工作电压为2.7V;,中档产品:,AT89C51、AT89LV51、AT89C52、AT89LV52、,AT89S51,与8051完全兼容,增强型产品:,AT89S52,内含看门狗电路。,与8051单片机相比,AT89S52单片机内部多了一个8K字节的Flash程序存储器,一个16位的定时器/计数器,一个中断源,还多了128字节内部RAM和看门狗电路。,由于AT89系列单片机采用Flash取代了使用不太方便的EPROM,使得这个系列单片机更受人们的青睐。,2.3 基于51内核的新型单片机的发展,从Intel公司彻底开放了8051单片机的技术,世界上很多IT厂商都加入到开发与改造8051单片机的行列中,相继开发出各种基于51内核的新型单片机产品。,纵观基于51内核的新型单片机的发展,主要反映在以下几个方面:,1、采用先进的结构以实现高性能,2、低功耗低电压化,3、采用FlashMemory,4、扩展了片内存储器的容量,5、在片资源更加丰富,6、增加了在系统编程的能力,7、增加了加密机制,8、集成网络控制,1、采用先进的结构以实现高性能,这里的高性能主要是指通过改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,大幅度提高运行速度。现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。,例如:,PHILIPS公司的51LPC系列单片机的指令执行速度比现有的80C51器件高1倍,因为它在结构上有所改善;采用双数据指针,依据条件读取扩展或外接存储器;采用四级中断优先,用来处理越来越频繁的中断;芯片上具有多个存储器,有最大到64KB的ROM或EPROM,有512B或1KB的RAM等;改善的UART,用来进行FRAMING错误检测,自动地址检测。,美国Cygnal公司生产的C8051F系列单片机具有高速指令处理的能力。作为标准的8051来说,一个机器周期要占用12个系统时钟周期,执行一条指令最少要一个机器周期。而C8051F系列单片机指令系统采用流水线结构,机器周期由标准的12个系统时钟周期降为一个系统时钟周期,指令处理能力比51单片机大大提高。,华邦公司的W77、W78系列8位单片机的引脚和指令集与8051兼容,但每个指令周期只需要4个时钟周期,速度提高了三倍,工作频率最高可达40MHz。,2、低功耗低电压化,MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺),由于CHMOS技术的进入,大大地促进了单片机的CMOS化。,CMOS电路的特点是,低功耗、高密度、低速度、低价格。,CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而,CHMOS则具备了,高速,和,低功耗,的特点,,这些特征,更适合于在要求低功耗,电池供电的应用场合。,很多单片机都具有,WAIT、STOP,等省电运行方式。允许使用的电压范围越来越宽,一般在3-6V范围内工作。低电压供电的单片机电源下限已可达1-2V。目前0.8V供电的单片机已经问世。,3、采用FlashMemory,随着半导体工艺技术的不断进步,MCU的Flash版本逐渐替代了原有的OTP版本。FlashMCU具有以下优点:与多次可编程的窗口式EPROM相比,FlashMCU的成本要低得多;在系统编程能力以及产品生产方面提供了灵活性,因为FlashMCU可在编程后再次以新代码重新编程,可减少已编程器件的报废和库存;有助于生产厂商缩短设计周期,使终端用户产品更具竞争力。,由于AT 89系列单片机采用Flash取代了使用不太方便的EPROM,使得这个系列单片机更受人们的青睐,成为51单片机的主流产品。,4、扩展了片内存储器的容量,新型的51内核单片机的片内存储器容量越来越大:程序ROM从原来的4KB扩展到8KB、16KB、64KB,片内RAM从原来的128B扩展到256B。,华邦电子股份有限公司的W79E532/W79E548/W79E54还将1KB的片外数据存储器放在了片内,可以采用MOVX 指令访问。,为了便于存放断电以后也不丢失的数据,C8051F系列单片机还增加了EEPROM存储器。,5、在片资源更加丰富,除了基本的存储器、定时计数器、并行I/O、串行UART以外,很多新型的单片机还集成有新型的通信接口(IIC、SPI、USB、CAN)和模拟应用接口(ADC、DAC、PWM)等。,6、增加了在系统编程的能力,宏晶科技有限公司的STC89系列单片机具有,ISP/IAP功能,,无需专用编程器,无需将单片机从目标板上取下,即可通过PC机串口,对单片机进行编程。由于STC89系列单片机在销售给用户之前,已,在单片机内部固化有ISP 系统引导程序,,因此,最好不要用通用编程器对STC89系列单片机进行编程,否则,有可能将单片机内部已固化的ISP 系统引导程序擦除,造成无法使用STC 提供的ISP软件下载用户的程序代码。,美国SST 89系列单片机提供系统在线编程(ISP功能),内部flash擦写次数1万次以上,程序保存时间可达100年。SST单片机是在目前所有的51单片机产品中IAP技术最强的单片机,单片机内部FLASH扇区小(128字节),速度快,功耗低,稳定性高。,【IAP】IAP:In Application Programming 是指在应用编程,即在程序运行中编程,就是片子提供一系列的机制(硬件/,软件,上的)当片子在运行程序的时候可以提供一种改变flash数据的方法。通俗点讲,也就是说程序自己可以往程序存储器里写数据或修改程序。这种方式的典型应用就是用一小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的boot程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到存储区。,7、增加了加密机制,宏晶科技有限公司的STC单片机和SYNCMOS半导体公司推出的SM系列单片机,在设计的时候就吸取51系列单片很容易被破解的教训,改进了加密机制。STC单片机出厂的时候就已经完全加密,用户程序是ISP/IAP机制写入,编程的时候是一边校验一边写,无法读出命令,这个增加了解密难度。SM系列单片机是不可解密。,8、集成网络控制,DS80C400是与8051兼容的高度集成的网络微控制器。DS80C400执行指令的速度比普通的8051快3倍。集成外设包括10/100以太网MAC,三个串行端口,一个CAN2.0B控制器,1-Wire主机和64个I/O引脚。,为了便于访问网络,DS80C400通过嵌入一个64KB的ROM提供了一个完整的、可被应用访问的TCP IPv4/6网络栈和OS。网栈支持最多32个并发的TCP连接,并且能够通过以太网MAC提供高达5Mbps的吞吐率。最高达75MHz的系统时钟频率使最短指令周期仅有54ns。24位寻址方式简化了对于大容量程序或数据存储器的访问,支持高达16MB的连续存储空间。,为了加速微控制器和存储器间的数据传送,DS80C400提供了四个数据指针,每个指针都可被配置为在执行完特定的数据指针相关指令后自动递增或递减。DS80C400的硬件算术加速器进一步提升了32位和16位乘除运算及高速移位、归一化和累加函数的执行速度。,本章小结,本章主要介绍了51内核的单片机,并且对一些新型的采用51内核的单片机作了简单的介绍。通过本章的学习,读者可以初步了解51单片机的组成结构、在片资源。,2、51单片机在一块芯片上集成了,个,位的CPU,,个片内振荡器及时钟电路,,字节ROM的程序存储器,,字节RAM的数据存储器,,个 16 位的定时计数器,可寻址外存(,字节RAM、,字节ROM)的控制电路,,条可编程的I/O口线,,个全双工串行口,,个中断源,,个优先级嵌套中断结构。,3、nEA引脚的作用是什么?在下列情况下,nEA引脚应接何种电平?,只有片内ROM;,只有片外ROM;,有片内ROM和片外ROM;,有片内ROM和片外ROM,片外ROM所存为调试程序。,第3章 单片机的软件开发环境,43,导读,单片机应用系统中的程序存储器中必须放入调试好的应用程序,系统才能运行。单片机的软件开发工具可以分为两大类:一类是功能单一的开发工具(如:源程序编辑器、汇编器、编译器、反汇编工具、反编译工具、软件仿真器、硬件仿真器等等);另一类是将多种功能集成在一起的集成开发环境。,通过对本章内容的学习,学生应该能够做到:,了解程序设计的一些基本概念;,掌握开发平台RealView MDK的使用方法;,能够在RealView MDK环境下进行应用程序的开发。,3.1 软件开发环境的基本要求,嵌入式软件的开发工具可以分为两大类:,一类是功能单一的开发工具(如:源程序编辑器、汇编器、编译器、反汇编工具、反编译工具、软件仿真器、硬件仿真器等等);,另一类是将多种功能集成在一起的集成开发环境。,3.1 软件开发环境的基本要求,一个软件集成开发环境至少需要具有以下3个基本功能:,1、源程序的编辑器,2、编译工具,3、仿真调试,一个优秀的软件集成开发环境还应该集成有更多的功能,如:,4、反编译工具,将单片机的目标代码转换为汇编语言源程序(反汇编)或高级语言源程序(反编译)。,5、程序下载,将编译生成的目标代码传送到应用系统的程序存储器中运行。,6、目标代码格式的转换,转换目标代码的格式。,源程序的编辑器,采用某种计算机语言来编写应用程序。在单片机的开发环境中常使用的计算机语言有:汇编语言、C语言和BASIC语言等。,汇编语言,是一种面向硬件的程序设计语言,要求设计人员必须了解单片机的硬件结构,汇编语言的实时性能非常好。当设计一个小的应用系统时,特别是实时时钟系统,对时钟要求很严格时,一般都采用汇编语言编程。,C语言,和,BASIC语言,都是高级程序设计语言,其语法结构更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。使用高级语言程序员不必知道处理器的具体内部结构,不必十分熟系处理器的运算过程,这意味着对新的处理器也能很快上手,而使得用高级语言编写的程序比汇编程序有更好的可移植性。,源程序编辑器的实质是一个,文本编辑器,,因此,任何一个具有文本编辑功能的软件都可以用来编辑源程序,只是在保存时,必须按照编译工具的要求,保存为相应的文本格式,即文件后缀必须满足编译工具的要求。,源程序的编辑必须符合编译程序的,语法规则要求,,一个优秀的源程序编辑器可以自动判别你编写的源程序是否符合编译程序的语法规则,并指出不合法的语句。,编译工具,将源程序转换为该单片机的机器语言程序(目标代码)。根据源程序编辑时所采用的计算机语言的不同,编译工具有:汇编器(将汇编语言编写的源程序转换为该单片机的机器语言程序)、C编译器(将C语言编写的源程序转换为该单片机的机器语言程序)和B编译器(将BASIC语言编写的源程序转换为该单片机的机器语言程序)。,有的开发环境自带有编译工具,也有的开发环境是借助于单片机厂商提供的编译工具来实现编译功能。,仿真调试,仿真器有二种主要类型:,一类是,实时在线仿真器,,这类仿真器需要采用与所仿真的单片机一致的仿真芯片构成硬件系统,可以做到完全的实时在线仿真,功能强大,开发起来非常方便;,另一类是,软件模拟仿真器,,完全由软件来模拟单片机的硬件环境,其实时性能较差,适用于简单,实时性不需很强的开发,这类仿真工具可以满足用户开发的低成本要求。,3.2 几种流行的51单片机的软件开发环境,、,Keil C51 V9,(,uVision 4,),软件名称:,Keil,uVision 4,软件大小:29.7 MB,软件语言:英文、汉化简体,应用平台:Win9x/NT/2000/XP,下载网址:C51,是Keil Software的IDE,是一个基于Windows的51单片机集成开发环境,它把项目管理,源代码编辑,程序调试等集成到一个功能强大的环境中。,源代码编辑可采用C语言,也可采用汇编语言。,Keil C51,支持所有的Keil 8051工具,包括C编译器(C51),宏汇编器(A51),库管理器(LIB51),连接/定位器(BL51),分段目标文件转换器(OC51),目标代码到HEX的转换器(OH51)。,Keil C51,可以连接仿真器进行仿真调试,也可以进行软件仿真调试。,(2005年ARM公司收购了Keil公司),3.2 几种流行的51单片机的软件开发环境,、,TKStudio IDE,软件名称:TKStudio IDE,软件大小:2326KB,软件语言:简体中文,应用平台:WIN98/98/ME/NT/2000/XP,下载网址:IDE是广州周立功单片机发展有限公司开发的简体中文界面的集成开发环境,软件从界面、功能到操作方法与KEIL uVision高度兼容,提供KeilA51、C51系列开发工具的无缝接轨,完美实现编译连接工具的最细节功能。系统在兼容Keil uVision时,更多地融入了自己的风格与经验,使界面更美观,功能更实用,能更准确、快捷地完成仿真调试任务。,TKStudio IDE目前可以免费下载使用,但其编译功能需要Keil uVision工具的支持,包括C编译器(C51),宏汇编器(A51),库管理器(LIB51),连接/定位器(BL51),目标代码到HEX的转换器(OH51)等。,系统在兼容Keil C51时,更多地融入了自己的风格与经验,使界面更美观,功能更实用,能更准确、快捷地完成仿真调试任务。,从使用的角度,可以将TKStudio IDE看成是Keil C51的中文简化版。,(2012年6月26日,周立功宣布放弃TKS集成开发环境,停止开发和维护),3.2 几种流行的51单片机的软件开发环境,、,51汇编集成开发环境,软件名称:51汇编集成开发环境,软件大小:5950KB,软件语言:简体中文,应用平台:Win9x/NT/2000/XP,下载网址:几种流行的51单片机的软件开发环境,、,BASCOM-8051,软件名称:BASCOM-8051,软件大小:4.1MB,软件语言:英文,应用平台:Win9x/NT/2000/XP,下载网址:,软件简介:,BASCOM-8051是MCS公司推出的采用BASIC语言的51单片机软件开发平台,集源程序的编辑、汇编和软件仿真调试于一体。,BASCOM-8051的DEMO版本仅可生成2KB的程序代码。,3.3,Keil uVision4集成开发环境,Keil,uVision4是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的51内核芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC+的界面相似,因此特别易于使用,同时具备非常高的性能。,3.3,Keil,uVision4,集成开发环境,安装与启动,:,Keil,uVision4,下载得到的是一个压缩文件,,解压安装完成后,,安装完成后,可从开始,程序,Keil uVision4启动,启动后的界面见图,Keil,uVision4,集成开发环境,工程项目的管理,:,在,Keil,uVision4,中,设置了一个项目管理器,可以在项目管理下,开发应用程序。创建一个应用,一般需要下列几个步骤:,新建一个项目,在项目中,创建、编辑源程序文件,为此项目指定编译和调试环境,编译项目,调试,新建一个项目,从Project菜单New Vision Project.进入新建对话框,输入工程名称,然后点击保存,即可创建一个新的项目。,新建一个项目,选择CPU,:,一个新的工程项目创建以后,首先需要选择目标CPU,Vision IDE支持很多种不同公司的CPU,我们在这里可以选择Atmel公司的AT89S51。,新建一个项目,点击
展开阅读全文