步进电机控制系统的设计_第1页
步进电机控制系统的设计_第2页
步进电机控制系统的设计_第3页
步进电机控制系统的设计_第4页
步进电机控制系统的设计_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上摘要步进电机是一种进行精确步进运动的机电执行元件,它广泛地用于工业机械的数字控制,为使系统的可靠性,通用性,可维护性以及性价比最优,根据控制系统功能要求及步进电动机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的三相步进电动机的开环控制系统。本论文主要介绍了基于单片机的步进电动机控制的规律、硬件的结构和组成,以及其工作原理。本论文设计的控制系统主要通过单片机存储器、I/O口、中断、键盘、LED显示器的扩展、步进电动机的环形分配器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等等的设计,实现了三相步进电动机的正反转、急停、

2、加减速等功能。关键词:8051单片机;三相步进电动机;控制Abstract Stepper motor is a stepper motor for precise electrical and mechanical actuators, which are widely used in industrial machinery, digital control, for the system reliability, interoperability, maintainability, and cost-optimal, according to the control system fun

3、ctional requirements and stepper motor applications, to determine hardware and software design, function, in order to achieve based on the 8051 three-phase stepper motor open-loop control system. This paper introduces a microcomputer-based stepper motor control laws, hardware structure and compositi

4、on, and its working principle. In this thesis, the control system is mainly through the microcontroller memory, I / O port, interrupt, keyboard, LED display of the expansion of the annular distributor stepper motor, drive and protection circuit, man-machine interface circuit, interrupt system and re

5、set circuit, single voltage-driven circuit design, etc., to achieve a three-phase stepper motor rotating, emergency stop, acceleration and deceleration functions.Keywords: 8051; three-phase stepper motor; control专心-专注-专业目 录绪论自单片机出现至今,单片机技术已走过了近20年的发展路程。纵观20年来单片机发 展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电

6、路技术的发 展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。单片机长寿命,这里所说的长寿命,一方面指用单片机开发的产品可以稳定可靠地工作十年、二十年,另一方面是指与微处理器相比的长寿命。随着半导体技术的飞速发展,MPU更新换代的速度越来越快,以386、486、586为代表的MPU,很短的时间内就被淘汰出局,而传统的单片机如68HC05、8051等年龄已有15岁,产量仍是上升的。这一方面是由 于其对相应应用领域的适应性,另一方面是由于以该类CPU为核心,集成以更多I/O功能模块的新单片机系列层出不穷。可以预见,一些成功上市的相对年轻的CPU核心,也会随着I/O功能模块的不断丰

7、富,有着相当长的生存周期。新的CPU类型的加盟,使单片机队伍不断壮大,给用户带来了更多的选择余地。 8位、16位、32位单片机共同发展,这是当前单片机技术发展的另一动向。长期以来,单片机技术的发展是以8位机为主的。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足发展。以Motorola 68K为CPU的32位单片机97年的 销售量达8千万枚。过去认为由于8位单片机功能越来越强,32位机越来越便宜,使16位单片机生存空间有限,而16位单片机的发展无论从品种和产量方面,近年来都有较大幅度的增长。 单片机速度越来越快 MPU发展中表现出来的速度越来越快是以时钟频率越

8、来越高为标志的。而单片机则有所不同,为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。一些8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频率的条件下,使运算速度提高了很多,Motorola单片机则使用了琐相环技术或内部倍频技术使内部总线速度大大高于时钟产生器的频率。68HC08单片机使用4.9M外部振荡器而内部时钟达32M,而M68K系列32位单片机使用32K的外部振荡器频率内部时钟可达16MHz以上。 低电压与低功耗自80年代中期以来,NMOS工艺单片机逐渐被CMOS工艺代替,功耗得以大幅度下降,随着超大规模集成电路技术由3m工艺发展到1.5、

9、1.2、0.8、0.5、0.35 近而实现0.2m工艺,全静态设计使时钟频率从直流到数十兆任选,都使功耗不断下降。Motorola 最近推出任选的M.CORE 可在1.8V电压下以50M/48MIPS全速工作,功率约为 20MW。几乎所有的单片机都有Wait、Stop等省电运行方式。允许使用的电源电压范围也越来越宽。一般单片机都能在3到6V范围内工作,对电池供电的单片机不再需要对电源采取稳压措施。低电压供电的单片机电源下限已由2.7V降至2.2V、1.8V。0.9V供电的单片机已经问世。低噪声与高可靠性技术 为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标

10、准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。如美国国家半导体NS的COP8单片机内部增加了抗EMI电路,增强了“看门狗”的性能。Motorola也推出了低噪声的LN系列单片机。OTP与掩膜 OTP是一次性写入的单片机。过去认为一个单片机产品的成熟是以投产掩膜型单片机为标志的。由于掩膜需要一定的生产周期,而OTP型单片机价格不断下降,使得近年来直接使用OTP完成最终产品制造更为流行。它较之掩膜具有生产周期短、风险小的特点。近年来,OTP型单片机需量大幅度上扬,为适应这种需求许多单片机都采用了在片编程技术(In System Programming)。未编程的OTP芯片可采用裸

11、片Bonding技术或表面贴技术,先焊在印刷板上,然后通过单片机上引出的编程线、串行数据、时钟线等对单片机编程。解决了批量写OTP 芯片时容易出现的芯片与写入器接触不好的问题。使OTP的裸片得以广泛使用,降低了产品的成本。编程线与I/O线共用,不增加单片机的额外引脚。而一些生产厂商推出的单片机不再有掩膜型,全部为有ISP功能的OTP。MTP向OTP挑战 MTP是可多次编程的意思。一些单片机厂商以MTP的性能、OTP的价位推出他们的单片机,如ATMEL AVR单片机,片内采用FLASH,可多次编程。华邦公司生产的与8051兼容的单片机也采用了MTP性能,OTP的价位。这些单片机都使用了ISP技术

12、,等安装到印刷线路板上以后再下载程序。随着单片机的进一步发展,单片机应用为工程师提供更广阔的选择空间,单片机技术的发展将给现代工业领域带来新的技术革命。由于单片机对各行各业都有用,这种电子技术的进步导致各行各业的进步,也带动了人类文明的进步。第一章 单片机的简介一、单片机的基础知识单片微型计算机简称单片机。由于它的结构及功能均按照工业控制要求设计,所以,其确切的名称应该是单片微控制器(Single Chip Microcontroller)。单片机是把微型计算机的各个功能部件:中央处理器(CPU)、随机存取存贮器(RAM)、只读存贮器(ROM)、输入/输出端口(I/O端口)、定时器/计数器以及

13、中断系统等,它们经过地址总线(Addres Bus)、数据总线(Data Bus)和控制总线(Control Bus)的连接以及输入/输出端口与外围装置的连接,构成一个完整的微型计算机,故它又称为单片微型计算机(Single Chip Microcomputer)。二、单片机微处理器的特点 受密度限制:芯片存储器存储容量较小,一般ROM小于4/8KB,RAM小于256字节。 可靠性良好:单片机是按照工业控制要求所设计的,其抗工业噪声干扰优于一般的CPU,程序指令及常数数据都烧写在ROM内,其许多信号通道均在同一个芯片内,因此可靠性高。 易扩充:单片机具有一般微电脑所必需的器件,如三态双向总线、

14、并行及串行的输入/输出引脚,可以扩充为各种规模的微电脑系统。 控制功能强:为了满足工业控制的要求,单片机的指令除了输入/输出控制指令、逻辑判断指令外,还有更为丰富的条件分支跳跃指令。单片机的发展经历了探索-完善-MCU化-百花齐放四个阶段。三、单片机微处理器技术的发展历程单片机的发展经历了“探索-完善-MCU化-百花齐放”四个阶段。1、芯片化探索阶段20世纪70午代,美国的Fairchild(仙童)公司首先推出了第一款单片机F8,随后Intel公司推出了影响面大、应用更广的MCS48单片机系列。MCS48单片机系列的推出标志着在工业控制领域,进入到智能化嵌入式应用的芯片形态计算机的探索阶段。参

15、与这一探索阶段的还有Motorola、Zilog和Ti等大公司,它们都取得了满意的探索效果,确立了在SCMC的嵌入式应用中的地位。这就是Single Chip Microcomputer的诞生年代,单片机一词即由此而来。这一时期的特点是: 嵌入式计算机系统的芯片集成设计; 少资源、无软件,只保证基本控制功能。2结构体系的完善阶段在MCS-48探索成功的基础上很快推出了完善的、典型的单片机系列MCS-5l。MCS-51系列单片机的推出,标志Single Chip Microcomputer体系结构的完善。它在以下几个方面奠定了典型的通用总线型单片机的体系结构。完善的总线结构:并行总线:8位数据总

16、线、16位地址总线及相应的控制总线,两个独立的地址空间;串行总线:通信总线,扩展总线。完善的指令系统:具有很强的位处理功能和逻辑控制功能,以满足工业控制等方面的需要;功能单元的SFR(特殊功能寄存器)集中管理。完善的MCS-51成为SCMC的经典体系结构。日后,许多电气商在MCS-51的内核和体系结构的基础上,生产出各具特色的单片机。3从SCMC向MCU化过渡阶段Intel公司推出的MCS96单片机,将一些用于测控系统的模数转换器(ADC)、程序运行监视器(WDT)、脉宽调制器(PWM)、高速I/O口纳入片中,体现了单片机的微控制器特征。MCS-51单片机系列向各大电气商的广泛扩散,许多电气商

17、竞相使用80C51为核,将许多测控系统中使用的电路技术、接口技术、可靠性技术应用到单片机中;随着单片机内外围功能电路的增强,强化了智能控制器特征。微控制器(Microcontrollers)成为单片机较为准确表达的名词。其特点是:满足嵌入式应用要求的外围扩展,如WDT、PWM、ADC、DAC、高速I/0口等。众多计算机外围功能集成,如:提供串行扩展总线:SPI、I2C、BUS、Microwire;配置现场总线接口:CAN BUS。CMOS化,提供功耗管理功能。提供OTP供应状态,利于太规模和批量生产。4MCU的百花齐放阶段单片机发展到这一阶段,表明单片机已成为工业控制领域中普遍采用的智能化控制

18、工具-小到玩具、家电行业,大到车载、舰船电子系统,遍及计量测试、工业过程控制、机械电子、金融电子、商用电子、办公自动化、工业机器人、军事和航空航天等领域。为满足不同的要求,出现了高速、大寻址范围、强运算能力和多机通信能力的8位、16位、32位通用型单片机,小型廉价型、外围系统集成的专用型单片机,以及形形色色各具特色的现代单片机。可以说,单片机的发展进人了百花齐放的时代,为用户的选择提供了空间。这一时期的特点为:(1)电气商、半导体商的普遍介入MCS-48的成功,刺激了许多半导体公司竞相研制和发展自己的单片机系列。到目前为止,世界各地厂商已相继研制出大约50个系列300多个品种的单片机产品,其中

19、较有代表性的有Motorola公司的6801、6802,Zilog公司的Z-8系列,Microchip公司的PIC系列等。此外,开本的NEC公司、日立公司也都推出了各自具有特色的单片机品种。(2)大力发展专用单片机通用型与专用型是按某一型号单片机适用范围区分的。例如,80C51是通用型单片机,它并不是为某一种专门用途设计的单片机;而专用型单片机是针对某一类产品甚至某个产品需要而设计、生产的单片机。例如,来电显示电话中配有液晶驱动器接口的单片机和全自动洗衣机中的微控制器,都是专用单片机;特别是小家电、玩具领域的单片机,因为小封装、价格低廉一外围器件、外设接口集成度高,多数为专用单片机。(3)提高

20、综合品质在体系结构(RISC)、电磁兼容性能(EMC)、开发环境(高级语言支持ISP、IAP等)、功耗管理等诸方面得到了提高。根据控制单元设计的方式与采用的技术不同,目前市场上的这些单片机可区分为两大类型:繁杂指令集结构(CISC架构)和精简指令集结构(RISC架构)。繁杂指令集结构(CISC)的特点是指夺数量多,寻址方式丰富,较适合初学者系统学习,如INTEL的80C51或80C196、MC68K;而精简指令集结构(RISC)具有较少的指令与寻址模式,结构简单,成本较低,执行程序的速度较快,成为单片机的后起之秀,如PIC、EM78XXX和Z86HCXX。ISP(In System Progr

21、amming)和IAP(In Application Programming)方式是两种先进的实时在线开发方式。它们无须传统的开发装置,借助计算机和单片机的高性能,实现了真正的在线仿真。(4)C语言的广泛支持单片机普遍支持C语言编程,为后来者学习和应用单片机提供了方便;高级语言减少了选型障碍,便于程序的优化、升级和交流。(5)多种选择下的选择原则 寻求最简化的单片机应用系统;尽可能选择专用单片机;综合考虑下进行合理选择四、单片机微处理器系列介绍单片机微处理器出现的历史并不长,如果将8位单片机的推出作为起点,那么,单片机微处理器的发展大致可分为三个阶段。第一阶段(1976年1978年):初级单片

22、机阶段。以Intel公司MCS48为代表。这个系列的单片机内集成有8位CPU、I/O接口、8位定时器/计数器,寻址范围不大于4K字节,且无串行口。第二阶段(1978年1982年):高性能单片机阶段。在这一阶段推出的单片机普遍带有串行I/O口,有多级中断处理系统、16位定时器/计数器。片内RAM、ROM容量加大,且寻址范围可达64K字节,有的片内还带有A/D转换器接口。这类单片机有Intel公司的MCS51、Motorola公司的6801和Zilog公司的Z8等。这类单片机应用领域极其广泛,各公司正在大力改进其机构与性能。第三阶段(1982年1990年):8位单片机巩固发展以及16位单片机推出阶

23、段。此阶段的主要特征是:一方面发展16位单片机及专用单片机;另一方面不断完善高档8位单片机,改善其结构,以满足不同用户的需求。第四阶段(1990至今):微控制器的全面发展阶段,办公自动化设备;单片机在机电一体化中的应用;在实时过程控制中的应用;单片机在日常生活及家用电器领域的应用;在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比;在计算机网络和通信领域中的应用;商业营销设备;单片机在医用设备领域中的应用;汽车电子产品;航空航天系统和国防军事、尖端武器等领域。目前国际市场上有不少类型的4位、8位及16位单片机,由于各种原因。许多单

24、片机在国内都未形成主流系列。目前国内仍然以Intel的MCS51、MCS96为主流系列。随着这些系列的深入开发,其主流系列的地位将会不断巩固和发展下去。五、单片机微处理器技术的应用领域1.在工业控制中的应用工业自动化控制是最早采用单片机控制的领域之一,在测控系统、过程控制、机电一体化设备中主要利用单片机实现逻辑控制、数据采集、运算处理、数据通信等用途。2.在智能仪器中的应用内部含有点片剂的仪器系统称为智能仪器,也称为微机化仪器。3.在家用电器中的应用单片机功能完善、体积小、价格廉、易于嵌入,非常适合于对家用电器的控制。4.在信息和通信产品中的应用信息和通信产品的自动化和智能化程度很高,其中许多

25、功能的完成都离不开单片机的参与。这里最具代表性和应用最广的产品就是移动通信设备,例如手机内的控制芯片就是属于专用型单片机。5.在办公自动化设备中的应用现在办公自动化设备中大多数嵌入了单片机控制核心。如打印机、复印机、传真机、绘图机、考勤机及电话等。通过单片机控制不但可以完成设备的基本功能,还可以实现与计算机之间的数据通信。第二章 单片机的组成与工作原理MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。它们的结构基本相同,其主要差别反映在存储器的配置上。8051内部设有4K字节的掩模ROM程序存储器,8031片

26、内没有程序存储器,而8751是将8051片内的ROM换成EPROM。由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异,本章将对8051单片机的结构作一介绍。一、MCS-51单片机的内部结构(一) MCS-51单片机组成MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。MCS-51单片机内包含下列几个部件: 一个8位CPU; 一个片内振荡器及时钟电路; 4K字节ROM程序存储器; 128字节RAM数据存储器; 两个16位定时器/计数器; 可寻址64K外部数据存储器和64K外部程序

27、存储器空间的控制电路; 32条可编程的I/O线(四个8位并行I/O端口); 一个可编程全双工串行口; 具有五个中断源、两个优先级嵌套中断结构。 图2-1 8051单片机的结构框图8051单片机的结构框图如图2-1所示。各功能部件由内部总线联接在一起。图中4K(4096)字节的ROM存储器部分用EPROM替换就成为8751;图中去掉ROM部分就成为8031的结构图。1. CPU结构CPU是单片机的核心部件。它由运算器和控制器等部件组成。(1) 运算器运算器的功能是进行算术运算和逻辑运算。可以对半字节(4位)、单字节等数据进行操作。例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算

28、术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。8051运算器还包含有一个布尔处理器,用来处理位操作。它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他可寻址的位之间进行数据传送等位操作。也能使进位标志位与其他可位寻址的位之间进行逻辑与、或操作。程序计数器PC程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。令寄存器指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译

29、码后由定时与控制电路发出相应的控制信号,完成指令功能。定时与控制部件 时钟电路8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-2所示。在XTAL1和 XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶振可以在1.2MHz到12MHz之间选择,电容值在5-30PF之间选择,电容的大小可起频率微调作用。XTAL1XTAL2 电容1 晶振 电容2 图 2-2 内部方式时钟电路外部方式的时钟很少用,若要用时,只要将XTAL1接

30、地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。 时序MCS-51典型的指令周期(执行一条指令的时间称为指令周期)为一个机器周期,一个机器周期由六个状态(十二振荡周期)组成。每个状态又被分成两个时相P1和P2。所以,一个机器周期可以依次表示为S1P1,S1P2,S6P1,S6P2。通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。图2-3给出了8051单片机的取指和执行指令的定时关

31、系。这些内部时钟信号不能从外部观察到,所用XTAL2振荡信号作参考。在图中可看到,低8位地址的锁存信号ALE在每个机器周期中两次有效:一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。图2-3 8051时序对于单周期指令,当操作码被送入指令寄存器时,便从S1P2开始执行指令。如果是双字节单机器周期指令,则在同一机器周期的S4期间读入第二个字节,若是单字节单机器周期指令,则在S4期间仍进行读,但所读的这个字节操作码被忽略,程序计数器也不加1,在S6P2结束时完成指令操作。图2-3的(a)和(b)给出了单字节单机器周期和双字节单机器周期指令的时序。8051指令大部分在一个机器周期完成。

32、乘(MUL)和除(DIV)指令是仅有的需要两个以上机器周期的指令,占用4个机器周期。对于双字节单机器周期指令,通常是在一个机器周期内从程序存储器中读入两个字节,唯有MOVX指令例外。MOVX是访问外部数据存储器的单字节双机器周期指令。在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。图2-3中(c)给出了一般单字节双机器周期指令的时序。2. 存储器MCS-51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。程序存储器为只读存储器(ROM)。数据存储器为随机存取存储器(RAM)。单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。有关存储器

33、的内容将在下面中详述。3. I/O端口I/O端口又称为I/O接口,也叫做I/O通道或I/O通路,I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。(1)、并行I/O端口MCS-51单片机设有四个8位双向I/O端口(P0、P1、P2、P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个LSTTL电路。P1、P2、P3口为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力为4个LSTTL电路。1)、P0端口功能(P0.0P

34、0.7、3239脚)图2-4 P0口位结构图2-4 是 P0口位结构,包括1个输出锁存器,2个三态缓冲器,1个输出驱动电路和1个输出控制端。输出驱动电路由一对场效应管组成,其工作状态受输出端的控制,输出控制端由1个与门、1个反相器和1个转换开关MUX组成。对8051/8751来讲P0口既可作为输入输出口,又可作为地址/数据总线使用, P0口作地址/数据复用总线使用若从P0口输出地址或数据信息,此时控制端应为高电平,转换开关MUX将反相器输出端与输出级场效应管V2接通,同时与门开锁,内部总线上的地址或数据信号通过与门去驱动V1管,又通过反相器去驱动V2管,这时内部总线上的地址或数据信号就传送到P

35、0口的引脚上。工作时低8位地址与数据线分时使用P0口。低8位地址由ALE信号的负跳变使它锁存到外部地址锁存器中,而高8位地址由P2口输出(P0口和P2口的地址/数据总线功能,请阅第八章MCS-51扩展技术)。 P0口作通用I/O端口使用对于有内部ROM的单片机,PO口也可以作通用I/O,此时控制端为低电平,转换开关把输出级与锁存器的Q端接通,同时因与门输出为低电平,输出级V1管处于截止状态,输出级为漏极开路电路,在驱动NMOS电路时应外接上拉电阻;作输入口用时,应先将锁存器写“1”,这时输出级两个场效应管均截止,可作高阻抗输入,通过三态输入缓冲器读取引脚信号,从而完成输入操作。 PO口线上的“

36、读一修改一写”功能图2-4上面一个三态缓冲器是为了读取锁存器Q端的数据。Q端与引脚的数据是一致的。结构上这样安排是为了满足:“读一修改一写”指令的需要,这类指令的特点时:先读口锁存器,随之可能对读入的数据进行修改再写入到端口上。例如:ANL PO,A;ORL PO,A;XRL PO,A;。这类指令同样适合与P1P3口,其操作是:先将口字节的全部8位数读入,再通过指令修改某些位,然后将新的数据写回到口锁器中。2)P1口(P1.0P1.7、18脚)准双向口 P1口作通用I/O端口使用P1口是一个有内部上拉电阻的准双向口,位结构入图2-5所示,P1口的每一位口线能独立用作输入线或输出线。作输出时,如

37、将“0”写入锁存器,场效应管导通,输出线为低电平,即输出为“0”。因此在作输入时,必须先将“1”写入口锁存器,使场效应管截止。该口线由内部上拉电阻提拉成高电平,同时也能被外部输入源拉成低电平,即当外部输入“1”时该口线为高电平,而输入“0”时,该口线为低电平。P1口作输入时,可被任何TTL电路和MOS电路驱动,由于具有内部上拉电阻,也可以直接被集电极度开路和漏极开路电路驱动,不必外加上拉电阻。P1口可驱动4个LSTTL门电路。图 2-5 P1口位结构 P1口其他功能P1口在EPROM编程和验证程序时,它输入低8位地址;在8032/8052系列中P1.0和P1.1是多功能的,P1.0可作定时器/

38、计数器2的外部计数触发输入端T2,P1.1可作定时器/计数器2的外部控制输入端T2EX。3) P2口(P2.0P2.7,2128脚)准双向口P2口的位结构如图2-6所示,引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。图 2-6 P2口位结构 P2口作通用I/O端口使用当P2口作通用I/O端口使用时,是一个准双向口,此时转换开关MUX倒向左边,输出级与锁存器接通,引脚可接I/O设备,其输入输出操作与P1口完全相同。 P2口作地址总线口使用当系统中接有外部存储器时,P2口用于输出高8位地址A15A8。这时在CPU的控制下,转换开关MUX倒向右边,接通内部地址总线。P2口的口线状

39、态取决于片内输出的地址信息,这些地址信息来源于PCH、DPH等。在外接程序存储器的系统中,由于访问外部存储器的操作连续不断,P2口不断送出地址高8位。例如,在8031构成的系统中,P2口一般只作地址总线口使用,不再作I/O端口直接连外部设备。在不接外部程序存储器而接有外部数据存储器的系统中,情况有所不同。若外接数据存储器容量为256B,则可使用MOVX A,Ri类指令由PO口送出8位地址,P2口上引脚的信号在整个访问外部数据存储器期间也不会改变,故P2口仍可作通用I/O端口使用。若外接存储器容量较大,则需用MOVX A,DPTR类指令,由PO口和P2口送出16位地址。在读写周期内,P2口引脚上

40、将保持地址信息,但从结构可知,输出地址时,并不要求P2口锁存器锁存“1”,锁存器内容也不会在送地址信息时改变。故访问外部数据存储器周期结束后,P2口锁存器的内容又会重新出现在引脚上。这样,根据访问外部数据存储器的频繁程度,P2口仍可在一定限度内作一般I/O端口使用。P2口可驱动4个LSTTL门电路。 4) P3口(P3.0P3.7、1017脚)双功能口 P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同P1口。P3口的位结构如图 2-7。当作第二功能使用时,每一位功能定义如表2-1所示。P3口的第二功能实际上就是系统具有控制功能的控制线。此时相应的口线锁存器必须为“1”状

41、态,与非门的输出由第二功能输出线的状态确定,从而P3口线的状态取决于第二功能输出线的电平。在P3口的引脚信号输入通道中有两个三态缓冲器,第二功能的输入信号取自第一个缓冲器的输出端,第二个缓冲器仍是第一功能的读引脚信号缓冲器。P3口可驱动4个LSTTL门电路。图 2-7 P3口位结构表 2-1 P3口的第二功能端 口 功 能第 二 功 能P3.0RXD-串行输入(数据接收)口P3.1TXD-串行输出(数据发送)口P3.2-外部中断0输入线P3.3-外部中断1输入线P3.4T0 -定时器0外部输入P3.5T1 -定时器1外部输入P3.6-外部数据存储器写选通信号输出P3.7-外部数据存储器读选通信

42、号输入每个I/O端口内部都有一个八位数据输出锁存器和一个八位数据输入缓冲器,四个数据输出锁存器与端口号P0、P1、P2和P3同名,皆为特殊功能寄存器。因此,CPU数据从并行I/O端口输出时可以得到锁存,数据输入时可以得到缓冲。 四个并行I/O端口作为通用I/O口使用时,共有写端口、读端口和读引脚三种操作方式。写端口实际上就是输出数据,是将累加器A或其它寄存器中数据传送到端口锁存器中,然后由端口自动从端口引脚线上输出。读端口不是真正的从外部输入数据,而是将端口锁存器中输出数据读到CPU的累加器。读引脚才是真正的输入外部数据的操作,是从端口引脚线上读入外部的输入数据。端口的上述三种操作实际上是通过

43、指令或程序来实现的,这些将在以后章节中详细介绍。 (2)、串行I/O端口 8051有一个全双工的可编程串行I/O端口。这个串行I/O端口既可以在程序控制下将CPU的八位并行数据变成串行数据一位一位地从发送数据线TXD发送出去,也可以把串行接收到的数据变成八位并行数据送给CPU,而且这种串行发送和串行接收可以单独进行,也可以同时进行。 8051串行发送和串行接收利用了P3口的第二功能,即利用P3.1 引脚作为串行数据的发送线TXD和P3.0引脚作为串行数据的接收线RXD,如表2-1所示。串行I/O口的电路结构还包括串行口控制器SCON、电源及波特率选择寄存器PCON和串行数据缓冲器SBUF等,它

44、们都属于特殊功能寄存器SFR。其中PCON和SCON用于设置串行口工作方式和确定数据的发送和接收波特率,SBUF实际上由两个八位寄存器组成,一个用于存放欲发送的数据,另一个用于存放接收到的数据,起着数据的缓冲作用,这些将在第七章中详细加以介绍。4. 总线MCS-51单片机属总线型结构,通过地址/数据总线可以与存储器(RAM、EPROM)、并行I/O接口芯片相连接。在访问外部存储器时,P2口输出高8位地址,P0口输出低8位地址,由ALE(地址锁存允许)信号将P0口(地址/数据总线)上的低8位锁存到外部地址锁存器中,从而为P0口接受数据作准备。在访问外部程序存储器(即执行MOVX)指令时,PSEN

45、(外部程序存储器选通)信号有效,在访问外部数据存储器(即执行MOVX)指令时,由P3口自动产生读/写(/)信号,通过P0口对外部数据存储器单元进行读/写操作。MCS-51单片机所产生的地址、数据和控制信号与外部存储器、并行I/O接口芯片连接简单、方便。(二) MCS-51单片机存的储器结构MCS-51存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统,控制信号和功能,程序存储器用来存放程序和始终要保留的常数,例如:所编程序经汇编后的机器码。数据存储器通常用来存放程序运行中所需要的常数或变量。例如:做加法时的加数和被加数、做乘法时的乘数和被乘数、模/数

46、转换时实时记录的数据等等。从物理地址空间看,MCS-51有四个存储器地址空间,即:片内程序存储器和片外程序存储器以及片内数据存储器和片外数据存储器。MCS-51系列各芯片的存储器在结构上有些区别,但区别不大,从应用设计的角度可分为如下几种情况:片内有程序存储器和片内无程序存储器、片内有数据存储器且存储单元够用和片内有数据存储器且存储单元不够用。1. 程序存储器 程序存储器用来存放程序和表格常数。程序存储器以程序计数器PC作地址指针,通过16位地址总线,可寻址的地址空间为64K字节。片内、片外统一编址。(1)、片内有程序存储器且存储空间足够在8051/8751片内,带有4K 字节ROM/EPRO

47、M程序存储器(内部程序存储器),4K字节可存储约两千多条指令,对于一个小型的单片机控制系统来说就足够了,不必另加程序存储器,若不够还可选8K或16K内存的单片机芯片,例如:89C52等,总之,尽量不要扩展外部程序存储器,这会增加成本、增大产品体积。(2)、片内有程序储器且存储空间不够若开发的单片机系统较复杂,片内程序存储器存储空间不够用时,可外扩展程序存储器,具体扩展多大的芯片要计算一下,由两个条件决定:一是看程序容量大小,二是看扩展芯片容量大小,64K总容量减去内部4K即为外部能扩展的最大容量,2764容量为8K、27128容量为16K、27256容量为32K、27512容量为64K。(具体

48、扩展方法见存储器扩展)。若再不够就只能换芯片,选16位芯片或32位芯片都可。定了芯片后就要算好地址,再将引脚接高电平,使程序从内部ROM开始执行,当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间。对8051/8751而言,外部程序存储器地址空间为1000H FFFFH。对这类单片机,若把接低电平,可用于调试程序,即把要调试的程序放在与内部ROM空间重叠的外部程序存储器内,进行调试和修改。调试好后再分两段存储,再将接高电平,就可运行整个程序。(3)、片内无程序存储器8031芯片无内部程序存储器,需外部扩展EPROM 芯片,地址从0000H-FFFFH都是外部程序存储器空间,在设计时应

49、始终接低电平,使系统只从外部程序储器中取指令。MCS-51单片机复位后程序计数器PC的内容为0000H ,因此系统从0000H单元开始取指,并执行程序,它是系统执行程序的起始地址,通常在该单元中存放一条跳转指令,而用户程序从跳转地址开始存放程序。2. 数据存储器(1)、内部数据存储器MCS-51单片机的数据存储器无论在物理上或逻辑上都分为两个地址空间,一个为内部数据存储器,访问内部数据存储器用MOV指令,另一个为外部数据存储器,访问外部数据存储器用MOVX指令。MCS-51系列单片机各芯片内部都有数据存储器,是最灵活的地址空间,它分成物理上独立的且性质不同的几个区:00H - 7FH(0 -

50、127)单元组成的128字节地址空间的RAM区;80H - FFH(128 - 255)单元组成的高128字节地址空间的特殊功能寄存器(又称SFR)区。注意:8032/8052单片机将这一高128字节作为RAM区。数据缓冲区 地址范围30H-7FH位寻址区(位地址00-7F) 地址范围20H-2FH工作寄存器区3(R0-R7) 地址范围18H-1FH工作寄存器区2(R0-R7) 地址范围10H-17H工作寄存器区1(R0-R7) 地址范围08H-0FH工作寄存器区0(R0-R7) 地址范围00H-07H图图2-8 MCS-51内部RAM存储器结构在8051,8751和8031单片机中,只有低1

51、28字节的RAM区和128字节的特殊功能寄存器区,两区地址空间是相连的,特殊功能寄存器(SFR)地址空间为80H-FFH。注意:128字节的SFR区中只有26个字节是有定义的,若访问的是这一区中没有定义的单元,则得到的是一个随机数。内部RAM区中不同的地址区域功能结构如上图2-8所示。其中00H-1FH(0-31)共32个单元是四个通用工作寄存器区,每一个区有八个工作寄存器,编号为R0-R7,每一区中R0-R7,地址见表2-2。 表2-2 寄存器和RAM地址对照表0 区1区2区3区地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119

52、HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EHR607HR70FHR717HR71FHR7当前程序使用的工作寄存区是由程序状态字PSW(特殊功能寄存器,字节地址为(0D0H)中的D4、D3位(RS1和RS0)来指示的,PSW的状态和工作寄存区对应关系见表2-3。表2-3 工作寄存器区选择PSW4(RS1)PSW3(RS0)当前使用的工作寄存器区R0 - R7000区 (00 - 07H)011区 (08 - 0FH)102区 (10 - 1

53、7H)113区 (18 - 1FH)CPU通过对PSW中的D4、D3位内容的修改,就能任选一个工作寄存器区,例如: SETB PSW3 CLR PSW4 ;选定第区SETB PSW4 CLR PSW3 ;选定第2区SETB PSW3 SETB PSW ;选定第区不设定为第0区,也叫默认值,这个特点使MCS-51具有快速现场保护功能。特别注意的是,如果不加设定,在同一段程序中R0 - R7只能用一次,若用两次程序会出错。如果用户程序不需要四个工作寄存器区,则不用的工作寄存器单元可以作一般的RAM使用。内部RAM的20H -2FH为位寻址区(见表2-4)这16个单元和每一位都有一个位地址,位地址范

54、围为00H - 7FH。位寻址区的每一位都可以视作软件触发器,由程序直接进行位处理。通常把各种程序状态标志、位控制变量设在位寻址区内。同样,位寻址区的RAM单元也可以作一般的数据缓冲器使用。在一个实际的程序中,往往需要一个后进先出的RAM区,以保存CPU的现场,这种后进先出的缓冲器区称为堆栈(堆栈的用途详见指令系统和中断的章节),堆栈原则上可以设在内部RAM的任意区域内,但一般设在30H -7FH的范围内。栈顶的位置由栈指针SP指出。(2)、外部数据存储器MCS-51具有扩展64K字节外部数据存储器和I/O口的能力,这对很多应用领域已足够使用,对外部数据存储器的访问采用MOVX指令,用间接寻址方式,R0,R1和DPTR都可作间址寄存器。若系统较小,内部的R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论