29088|12

1170

帖子

0

TA的资源

至上芯片

楼主
 

MCS——51单片机系统设计 [复制链接]

摘要:介绍了一种由单片机、程序内存、数据存储器、D/A转换接口组成的MCS——51通用型单片机应用系统,并详细论述了系统各部分的组成,工作原理以及系统软件的设计思想。 关键词:MCS—51单片机系统;8051芯片 1 引 言 1.1设计的意义 随着大规模集成电路的发展,组成微型计算机的各功能部件:中央处理器、内存、串/并行输入输出接口、定时/计数器、中断控制器能及特殊功能单元,如:A/D、D/A转换器、高速输入输出部件、DMA、浮点运算等已集成在一块半导体芯片上,构成一完整的微型等特点,因此,特别适合于工业控制与控制有关的数据系统,愈来愈广泛地应用于自动控制、智能化仪器、仪表、数据采集、军工产品以及家用电器等各个领域,因此,学会设计一个单片机应用系统是非常必要的。 1.2设计的目的 单片机分为通用型单片机和专用型单片机。专用型单片机是针对各种特殊场合场专门设计的芯片。通用型单片机可开发资源(如ROM、I/O口)全部提供给用户使用,其适应性较强,应用较广泛。 MCS—51系列的单片机属于高档8位单片机,它是Intel公司继MCS—48系列的成功设计之后,于1980年推出的产品。由于MCS—51系列具有很强的片内功能和指令系统,从而使单片机的应用发生了一个飞跃。MCS—51系列性能价格比大大超过了Z80等单板微型机,开发用的仿真机研究较早并日趋完善,生产厂家较多,支持芯片种类多,适合不同应用场合的新机种不断涌现。因此,本次设计的目的为研制一个MCS—51通用型单片机应用系统。 在一片集成电路芯片上集成微处理器、存储器、1/0接口电路,从而构成了单芯片微型计算机,即单片机。
此帖出自51单片机论坛

最新回复

不错  详情 回复 发表于 2011-7-22 19:51
点赞 关注
 

回复
举报

1170

帖子

0

TA的资源

至上芯片

沙发
 

回复: MCS——51单片机系统设计

一、单片机的发展和分类 1.2.1单片机的发展过程和分类 一、单芯片微机形成阶段 1976年,Intel公司推出了MCS-48系列单片机。该系列单片早期产品在芯片内集成有:8位CPU、IK字节程序存储器(ROM)、64字节数据存储器(RAM)、27根I/O线和1个8位定时/计数器。 此阶段的主要特点是:在单个芯片内完成了CPU、存储器、I/O接口、定时/计数器、中断系统、时钟等部件的集成,但存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。 1980年,Intel公司推出MCS-51列单片机。该系列单片机在芯片内集成有:8位CPU、4K字节程序存储器(ROM)、128字节数据存储器(RAM)、4个8位并行接口、1个全双工串行接口和2个16位定时/计数器。寻址范围为64K,并集成有控制功能较强的布尔处理器完成位处理功能。 此阶段的主要特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种。 1.2.2单片产品近况 随着微电子 一、8051系列单片机产品繁多,主流地位已经形成 通用微型计算机计算速度的提高主要体现在CPU位数的提高(16位、32位乃至64位),而单片机更注重的是产品的可靠性、经济性和嵌入性。所以,单片机CPU位数的提高需求并不十分迫切。 因此,许多单片机芯片生产厂商倾力于提高8051单片机产品的综合功能,从而形成了8051的主流产品的地位。 ATMEL公司融入Flash存储器技术推出的AT89系列单片机; Philips公司推出的80C51、80C552系列高性能单片机; 华邦公司推出的W78C51、W77C51系列高速低价单片机; ADL公司推出的ADUC8××系列高精度ADC单片机; LG公司推出的GMS90/97系列低压高速单片机; Maxim公司推出的DS89C420高速(50MIPS)单片机; Cygnal公司推出的C8051IF系列高速SOC单片机等。 二、非80C51结构单片机新品不断推出,给用户提供了更为广泛的选择空间在80C51及其廉容产品流行的同时,一些单片机芯片生产厂商的也推出了一些非80C51结构的产品,影响比较大的有: Intel公司推出的MCS-96系列16位单片机; Microchip公司推出的PIC系列RISC结构单片机; TI公司推出的MSP430F系列16位低电压、低功耗单片机; ATMEL公司推出的AVR系列RISC结构单片机等。 1.3国内外现状 通用型的单片机从基本操作处理的资料来看,有4位单片机、8位单片机、16位单片机以及32位单片机。 8位单片机是单片机中的主要机型。在8位机中,一般把无串行I/O接口和只提供小范围的寻址空间(小于8KB)的单片机称为低档的8位单片机,如:Intel公司的MCS-48系列和Fairchild公司的F8就属此类;把带有串行I/O接口或A/D转换,以及可以进行64KB以上寻址的单片机,称为高档8位单片机,如Intel公司的MCS-51系列、Motorola公司的MC6801、Zilog公司的Z8即是。近来,在高档8位单片机的基础上又出现了超8位单片机,如Super8,Motorola公司的MC68HC11等。它们不但进一步扩大了片内ROM和RAM的容量,而且还增加了高级通信、DMA传送和高速I/O的功能。 一、单片机的发展和分类 1.2.1单片机的发展过程和分类 一、单芯片微机形成阶段 1976年,Intel公司推出了MCS-48系列单片机。该系列单片早期产品在芯片内集成有:8位CPU、IK字节程序存储器(ROM)、64字节数据存储器(RAM)、27根I/O线和1个8位定时/计数器。 此阶段的主要特点是:在单个芯片内完成了CPU、存储器、I/O接口、定时/计数器、中断系统、时钟等部件的集成,但存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。 1980年,Intel公司推出MCS-51列单片机。该系列单片机在芯片内集成有:8位CPU、4K字节程序存储器(ROM)、128字节数据存储器(RAM)、4个8位并行接口、1个全双工串行接口和2个16位定时/计数器。寻址范围为64K,并集成有控制功能较强的布尔处理器完成位处理功能。 此阶段的主要特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种。 1.2.2单片产品近况 随着微电子 一、8051系列单片机产品繁多,主流地位已经形成 通用微型计算机计算速度的提高主要体现在CPU位数的提高(16位、32位乃至64位),而单片机更注重的是产品的可靠性、经济性和嵌入性。所以,单片机CPU位数的提高需求并不十分迫切。 因此,许多单片机芯片生产厂商倾力于提高8051单片机产品的综合功能,从而形成了8051的主流产品的地位。 ATMEL公司融入Flash存储器技术推出的AT89系列单片机; Philips公司推出的80C51、80C552系列高性能单片机; 华邦公司推出的W78C51、W77C51系列高速低价单片机; ADL公司推出的ADUC8××系列高精度ADC单片机; LG公司推出的GMS90/97系列低压高速单片机; Maxim公司推出的DS89C420高速(50MIPS)单片机; Cygnal公司推出的C8051IF系列高速SOC单片机等。 二、非80C51结构单片机新品不断推出,给用户提供了更为广泛的选择空间在80C51及其廉容产品流行的同时,一些单片机芯片生产厂商的也推出了一些非80C51结构的产品,影响比较大的有: Intel公司推出的MCS-96系列16位单片机; Microchip公司推出的PIC系列RISC结构单片机; TI公司推出的MSP430F系列16位低电压、低功耗单片机; ATMEL公司推出的AVR系列RISC结构单片机等。 1.3国内外现状 通用型的单片机从基本操作处理的资料来看,有4位单片机、8位单片机、16位单片机以及32位单片机。 8位单片机是单片机中的主要机型。在8位机中,一般把无串行I/O接口和只提供小范围的寻址空间(小于8KB)的单片机称为低档的8位单片机,如:Intel公司的MCS-48系列和Fairchild公司的F8就属此类;把带有串行I/O接口或A/D转换,以及可以进行64KB以上寻址的单片机,称为高档8位单片机,如Intel公司的MCS-51系列、Motorola公司的MC6801、Zilog公司的Z8即是。近来,在高档8位单片机的基础上又出现了超8位单片机,如Super8,Motorola公司的MC68HC11等。它们不但进一步扩大了片内ROM和RAM的容量,而且还增加了高级通信、DMA传送和高速I/O的功能。
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

板凳
 

回复: MCS——51单片机系统设计

1.3.1 单片机的特点 一、控制性能和可靠性 单片机是为满足工业控制而设计的,所以实时控制功能特别强,其CPU可以对I/O接口直接进行操作,位操作能力更是其它计算机无法比拟的。 近期推出的单片机产品,内部集成有高速I/O接口、ADC、PWM、WDT等部件,并在低电压、低功耗、串行扩展总线、控制网络总线和开发方式等方面都有了进一步的增强。 1.3.2 单片机的应用领域 单片机具有良好的控制性能和灵活的嵌入品质,近年来单片机在各种领域都获得了极为广泛的应用。概地分成如下几个方面: 一、智能仪器仪表 单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。 二、机电一体化产品 机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机动车等。 三、实时工业控制 单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便的实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电动机转速控制、温度控制、自动生产线等。 四、分布系统的前端模块 在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块。系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。 另外,在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子等。
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

4
 

回复: MCS——51单片机系统设计

二、51单片机简介 MCS-51是Intel公司生产的一个单片机系列名称。属于这一系列的单片机有多种,如8051/8751/8031,8052/8752/8032,80C51/87C51/87C51/80C31,80C52/87C52/80C32等。 8位CPU,含布尔处理器; 时钟电路; 总线控制逻辑 存储器系统 4K字节程序存储器(ROM/EPROM/Flash,可外扩至64K); 128字节的数据存储器(RAM,可再外扩64K); 特殊功能寄存器SFR。 I/O口和其它功能单元 4个并行I/O和其它功能单元 2个16位定时/计数器; 1个全双工异步串行口; 中断系统(5个中断源、2个优先级)。 80C51的应用模式 一、总线型单片机应用模式 通常的微处理器芯片都设有单独的地址总线、数据总线和控制总线。但单片机由于芯片引脚数量的限制,数据总线与地址总线经常采用复用方式,且许多引脚还要与并行I/O口引脚兼用。总线型单片机典型产品如80C31/AT89C51等。 1.总线型应用的“三总线”模式 常用的总线型单片机有40个引脚,除电源、晶振输入引脚和仅能作通用并行I/O的PI口外,其余引脚大多是为应用系统总线扩展而设置的。利用这些引脚可以方便地将单片要配置成典型的“三总线”结构。 这时应用系统在以下方面可以得到扩展: 芯片内部没有程序存储器(如80C310)或芯片内程序存储器容量不够用时(如80C51); 系统需要扩展并行总线外围器件(如扩展并行可编程接口81C55或ADC0809等)。 这种总线型应用在扩展外围器件较多时接线复杂,系统可靠性会降低。所以系统设计时,应尽量减少扩展器件的数量。 我所设计的单片机系统就是一个典型的“三总线”模式,使用数据总线扩展外部数据接口(RAM、EEPROM、ADC、DAC等),使用地址总线对外部各器件进行地址译码、选择,使用控制总线对外部芯片进行各种控制(读写控制等)。 2.非总线型应用的“多I/O”模式 总线型单片机也可以采用非总线型的“多I/O”模式,这时单片机的扩展功能都不使用,因此可以利用的通用I/O口线的数量较多,该模式极适于具有大量I/O口线需求的应用系统。 二,非总线型单片机应用模式 非总线型单片机已经用于外部总线扩展的I/O接口线和控制功能线去掉,从而使单片机的引脚数减少,体积减少。结于不需进行并行外围扩展、装置的体积要求苛刻且程序量不大的系统极其适合。 80C51的内部结构 80C51单片机由微处理器(含运算器和控制器)、存储器、I/O接口以及待殊功能寄存器SFR。 一、80C51的微处理器 作为80C51单片机核心部分的微处理器是一个8位的高性能中央处理器(CPU)。它的作用是读入并分析每条指令,根据各指令的功能控制单片机的各功能部件控制单片机的和功能部件执行指定的运算或操作。它主要由下两部分构成: 1.运算器 运算器由算术/逻辑运运算ALU、累加器ACC、寄存器B、暂存寄存器、程序状态字寄存器PSW组成。它所完成的任务是实现算术与逻辑运算、位变量处理和数据传送等操作。 2.控制器 同一般策处理的控制器一样,80C51的控制器也由指令寄存器IR、指令译码器ID、定时及控制逻辑电路和程序计数器PC等组成。 二、80C51的片内存储器 80C51单片机内存储器与一般微机存储器的配置不同。一般微机的ROM和RAM安排在同一空间的不同范围(称为普林斯顿结构)。而80C51单片机的存储器在物理上设计成程序存储器和数据存储器两个独立的空间(称为哈佛结构)。 三、80C51的I/O口及功能单元 80C51单片机有4个8位的并行口,即P0-P3。它们均为双向口,既可作为输入,又可作为输出。每个口各有8条I/O线。 80C51单片机内部集成有2个16位的定时/计数器(增强型单片机有3个定时/计数器)。 80C51单片机还具有一套完善的中断系统。 四、80C51的特殊功能寄存器(SFR) 80C51单片机内部有SP、DPTR(可分成DPH、DPL2个8位寄存器)、PCON、IE、IP等21个特殊功能寄功器单元,它们同内部RAM的128个字节统一编址,地址范围是80H-FFH。这些SFR只用到了80H-FFH中的21个字节单元,且这些单元是离散分布的。 80C51的程序存储器配置 80C51单片机的程序计数器RC是16位的计数器,所以能寻址64KB的程序存储器地址范围,允许用户程序调用或转向64KB的任何存储单元。 80C51的 引脚为访问内部或外部程序存储器的选择端。接高电平时,CPR将首先访问内部存储器,当指令地址超过OFFFH时,自动转向片外ROM支取指令;接低电平时(接地),CPU只能访问外部程序存储器(对于80C31单片机,由于内部无程序存储器,只能采用这种接法。) 80C51的数据存储配置 80C51单片机的数据存储器分为片外RAM和片内RAM两大部分, 80C5片内RAM共有128字节,分成工作寄存器区、位寻地区、通用RAM区三部分。 80C51的特殊功能寄存器 在80C51单片机中设置了与片内RAM统一编址的21个特殊功能寄功器(SFR),它们离散地分布在80H-FFH的地址空间中。字节地址参被8整除的(即十六进制的地址码尾数为0或8的)单元是具有地位地址的寄存器。 80C51的并行口结构与操作 82C51单处机有4个8位的并行I/O口P0、P1、P2、和P3。各口均由口锁存器、输出驱支器和输入缓冲器组成。
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

5
 

回复: MCS——51单片机系统设计

P0口、P2口的结构 当不需要外部程序存储器和数据存储器扩展时(如80C51/87C51的单片应用),P0口、P2口可用通用的输入/输出口。 当需要外部程序存储器和数据存储器扩展时(如80C31的应用,)P0口作为分时复用的低8位地址/数据总线,P2口作为高8位地址总线。 一、P0口结构 当系统不进行片外ROM扩展(此时 =1),也不进行片外RAM扩展(内部RAM传送使用“MOV”类指令)时,P0用作通用I/O口。在这种情况下,单片机硬件自动控制C=0,MUX开关接口锁存器的反相输出端。 2.P0用作地址/数据总线 当系统进行片外ROM扩展(此时 =0)或进行片外RAM扩展(外部RAM传送使用MOVX@DPTR类指令)时,P0用作地址/数据总线。在这种情况下,单片内硬件自动使C=1,MUX开关接口反相器的输出端,这时与门的输出由地址/数据线的状态决定。 二P2口的结构 P2口由一个输出锁存器、一个转换开关MUX、两个三态输入缓冲器、输出驱动电路和一个反相器组成。 1.P2用作通用I/O口 当不需要在单片机芯片外部扩展程序存储器(对于80C51/87C51, =1),只需扩展256字节的片外RAM时(访问片外RAM利用“MOVX @RI”类指令来这现),只用到了地址的低8位,P2口不受该指令的影响。 仍可以作为通用I/O口使用。 2.p2用作地址总线 当需要在单片机芯片外部扩展程序存储器( =0)或扩展的RAM容量超过256字节时(读/写外片RAM或I/O采用MOVX@DPTR类指令), P1口、P3口的结构 P1口是80C51惟一的单功能口,仅能用作通用的数据输入/输入口。 P3口是双功能口,除具有数据输入/输出功能外,每一口线还具有特殊的第二功能。 1.P3用作第一功能的通用I/O口 当CPU对P3口进行字节或位寻址时(多数应用场合是把几条口线设为第二功能,另外几条口线设为第一功能,这时宜采用位寻址方式),单片机内部的硬件自动将第二功能输出线的W置1。这时,对应的口线为通用I/O口方式。 2.P3用作第二功能使用 当CPU不对P3口进行字节或位寻址时,单片机内部硬件自动将口锁存器的Q端置1。这时,P3口可以作为第二功能使用。各引脚的定义如下: P3.0: RXD(串行口输入) P3.1: TXD(串行口输出) P3.2: (外部中断0输入) P3.3: (外部中断1输入) P3.4: T0(定时/计数器0的外部输入); P3.5: T1(定时/计数器0的外部输入) P3.6: (片外数据存储器“写”选通控制输出); P3.7: (片外数据存储器“读”选通控制输出)。 P0、P1、P2、P3口输入和输出电平与CMOS电平和TTL电平均兼容。 P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,接口线输出不是开漏的,无须接上拉电阻。
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

6
 

回复: MCS——51单片机系统设计

三、单片机系统设计 系统整体构建: 系统由片外8KB程序存储器(2764),作为外部程序存储空间; 8K片外数据存储器(6264),作为外部数据存储空间,当系统有较多运行数据需要存储时(内部256B数据空间不够使用时),需要扩展外部数据空间; ADC0809作为外部ADC,构成8路8为精度ADC输入,使用ADC将外部的模拟电压信号转换成数字信号,再将转换得到的数字信息交给CPU进行运算,CPU再根据运算的结果进行相应的处理,从而实现了对模拟信号的处理、判断; DAC0832作为外部DAC,构成一路8位精度DAC输出,8位DAC的在5V输出时能达到0.02V的精度,输出的模拟信号可以给一些需要模拟量来控制的电路做为控制信息,比如LED亮度等,通过DAC能够实现用数字信号对模拟信号的控制; 两片74LS373构成两为静态显示输出,直接使用373输出来驱动数码管,所以要求选用共阳的数码管,要在某个数码管上显示数值时,只需要先将要显示的数字转换成笔形码,然后由CPU选择相应的地址将数据送到相应的74LS373上即可,硬件电路自动实现了对显示数字的保存,在需要显示新的数据时只要将新的数据再写入一次即可; 使用74LS138做为外部译码电路,构成各芯片的片选信号,通过对高3位地址的选择,来控制外部的某个芯片选通,工作; MAX202和51构成RS232通信控制电路,MAX202是美国美信公司生产的TTL-RS232的电平转换芯片,有两个电平转换通道,在这里只使用1组。 下图是51系统框图:
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

7
 

回复: MCS——51单片机系统设计

接收程序清单如下: ASTART: CLR EA MOV TMOD,#20H ;定时器1置为方式2 MOV TH1,#0F4H ;装载定时器初值,波特率2400 MOV TL1,#0F4H MOV PCON,#00H SETB TR1 ;启动定时器 MOV SCON,#50H ;设定串口方式1,且准备接收应答信号 ALOOP1: MOV SBUF,#0E1H ;发联络信号 JNB TI,$ ;等待一帧发送完毕 CLR TI ;允许再接收 JNB RI,$ ;等待2号机的应答信号 CLR RI ;允许再接收 MOV A,SBUF ;2号机未准备好,继续联络 XRL A,#0E2H ;判断2号机是否准备完毕 JNZ ALOOP1 ;2号机未准备好,继续联络 ALOOP2: MOV R0,#40H ;2号机准备好,设定数据块地址指针初值 MOV R7,#10H ;设定数据块长度初值 MOV R6,#00H ;清校验和单元 ALOOP3: MOV SBUF,@R0 ;发送一个数据字节 MOV A,R6 ADD A,@R0 ;求校验和 MOV R6,A ;保存校验和 INC R0 JNB TI,$ CLR TI DJNZ R7,ALOOP3 ;整个数据块是否发送完毕 MOV SBUF,R6 ;发送校验和 JNB TI,$ CLR TI JNB RI,$ ;等待2号机的应答信号 CLR RI MOV A,SBUF ;2号机应答,读至A JNZ ALOOP2 ;2号机应答“错误”,转重新发送 RET ;2号机应答“正确”,返回 发送程序清单如下: BSTART: CLR EA MOV TMOD,#20H MOV TH1,#0F4H MOV TL1,#0F4H MOV PCON,#00H SETB TR1 MOV SCON,#50H ;设定串口方式1,且准备接收 BLOOP1: JNB RI,$ ;等待1号机的联络信号 CLR RI MOV A,SBUF ;收到1号机信号 XRL A,#0E1H ;判是否为1号机联络信号 JNZ BLOOP1 ;不是1号机联络信号,再等待 MOV SBUF,#0E2H ;是1号机联络信号,发应答信号 JNB TI,$ CLR TI MOV R0,#40H ;设定数据块地址指针初值 MOV R7,#10H ;设定数据块长度初值 MOV R6,#00H ;清校验和单元 BLOOP2: JNB RI,$ CLR RI MOV A,SBUF MOV @R0,A ;接收数据转储 INC R0 ADD A,R6 ;求校验和 MOV R6,A DJNZ R7,BLOOP2 ;判数据块是否接收完毕 JNB RI,$ ;完毕,接收1号机发来的校验和 CLR RI MOV A,SBUF XRL A,R6 ;比较校验和 JZ END1 ;校验和相等,跳至发正确标志 MOV SBUF,#0FFH ;校验和不相等,发错误标志 JNB TI,$ ;转重新接收 CLR TI END1: MOV SBUF,#00H RET
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

8
 

回复: MCS——51单片机系统设计

程序存储器的扩展 由于受引脚个数的限制,8051系列单片机的数据线和地址线(低8位)是分时复用的。当系统要求扩展时,为了便于与各种芯片相连接,应将其外部连线变为与一般CPU类似的三总线结构形式,即地址总线(AB)、数据总线(DB)和控制总线(CB)。 ?数据总线宽度为8位,由P0口提供; ?地址总线宽度为16位,低8位A7~A0由P0口经地址锁存器提供,高8位A15~A8由P2口提供。由于P0口是数据、地址分时复用,所以P0口输出的低8位地址必须用地址锁存器进行锁存; ?控制总线由 、 、 、ALE和 等信号组成,用于读/写控制、片外ROM选通、地址锁存控制和片内、片外ROM选择。 片外ROM扩展 在80C51系列单片机应用系统的扩展中,经常要进行ROM的扩展。其扩展方法较为简单容易。由于80C51采用不同的控制信号和指令(CPU对ROM的读操作由 控制,指令用MOVC类;CPU对RAM读操作用 控制,指令用MOVX),所以,尽管ROM与RAM的地址是重叠的,也不会发生混乱。80C51对片内和片外ROM的访问使用相同的指令,两者的选择是由硬件实现的。当 =0时,选择片外ROM;当 =1时,选择片内ROM。 ROM芯片及扩展方法 能够作为片外ROM的芯片主要有EPROM存储器和E2PROM存储器。 1.EPROM存储器及扩展 常用的EPROM芯片有2732、2764、27128、27256、27512等。 80C31的P0口为低8位地址及数据总线的分时复用引脚,需接地址锁存器,将低8位的地址锁存后再接到2764A的A0~A7上。该电路采用74LS373作为地址锁存器,80C31的地址锁存控制信号线ALE接锁存器控制端G,当ALE发生负跳变时,74LS373将低8位地址锁存,P0口方可作为数据线使用。 图中涉及的引脚符号功能如下: Ai~A0:地址输入线,I=10(2817A)或12(2864A)。 D7~D0:双向三态数据线。 :片选信号输入线,低电平有效。 :选通信号输入线,低电平有效。 :写选通信号输入线,低电平有效。 VCC:主电源,+5V。 GND:接地端。 3.应注意的问题 如在确定了8KB的容量以后,应根据不同的应用参数在2764中选择相应的瑾规格芯片。应用参数主要有最大读取时间、电源容差、工作温度及老化时间等。应注意芯片的速度是否能和80C51系列单片机的 信号匹配。对于采用12MHz晶振的80C51系列单片机, 的信号宽度为230ns,选用芯片片的读数时间应小于230ns。 数据存储器的扩展 由于8051单片内RAM仅128字节,当系统要求较大容量的数据存储时,就需要扩展片外RAM,最大可以扩展64K字节。 一、RAM扩展原理 扩展RAM和扩展ROM类似,由P2口提供高8位地址,P0口分为地区冲突作为低8位地址线和8位双向数据总线。片外RAM的读和写由80C51的RD和WR信号控制,所以,虽然与ROM的地址重叠,但不会发生混乱。 80C51系列单片通过16根地址线可分别对片外64KB ROM(无片内ROM的单片机)及片机64KM RAM寻址。在对片外ROM操作的整个取指令周期里, 为低电平,以选通片外POM,而 或 始终为高电平,此时片外RAM不能进行读写操作;在对片外RAM操作的周期, 或 为低电平, 为高电平,所以对片对ROM不能进行读操作,只能对片外RAM进行读或写操作。 二、数据存储器扩器方法 1.数据存储器 Ai~A0:地址输入线,I=10/12/13/14(6116/6264/62128/62256)。 D0~D7:三态双向数据线。 :片选信号输入线,低电平有效。 :读选通信号输入线,低电平有效。 :写选通信号输入线,低电平有效。 CS:6264的片选信号输入线,高电平有效,可用于掉电保护。 片外数据的访问: 片外数据的读取: MOV DPTR,ADDRESS ;ADDRESS为要访问的地址 MOVX A,@DPTR ;将片外存储器的数据送入A 片外数据的写入: MOV DPTR,ADDRESS ; MOVX @DPTR,A ;将A中的数据送入片外存储器
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

9
 

回复: MCS——51单片机系统设计

七段显示器的原理 显示器是单片机应用系统常用的设备,包括LED、LCD等。LED显示器由若干个发光二极管组成,当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的二极管导通,就能显示对应字符。 七段LED通常构成字形“8”,还有一个发光二极管用来显示小数点。各段LED显示器需要由驱动。在七段LED显示器中,通常将各段发光二极管的阴极或阳极连在一起作为公共端,这样可以使驱动电路简单。将各段发光二极管阳极连一起的叫共阳极显示器,用低电平驱动;将阴极连在一起的叫共阴极显示器,用高电平驱动。 1.静态显示 所谓静态显示,是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。静态显示有并行输出和串行输出两种方式。 对于静态显示方式,LED显示器由接口芯片直接驱动,采用较小的驱动电流就可以得到较高的显示亮度。但是,并行输出显示的十进制位数时,需要并行I/O接口芯片的数量较多。 该系统设计时采用了并行输出静态显示的方式,使用静态显示能够减少CPU的负担,使CPU能有更多的时间进行其他的工作。电路原理如下图,由74LS138译码选择两片74LS373中的一片工作时,通过数据总线将要显示的数据锁存到74LS373中,一直到新的数据锁存近来才改变显示值。 显示控制程序: DISP1: MOV DPTR,#0C000H ;要显示的第一个数的地址 MOV A,#00000110B ;要显示的数字为1 MOVX @DPTR,A ;送出数据显示 DISP2: MOV DPTR,#0B000H;第二个数位于0B000H MOV A,#01011010B ;要显示的数字为2 MOVX @DPTR,A ;送出数据显示 矩阵式键盘及其接口 矩阵式键盘采用行列结构,按键设置在行列的交点上。当口线数为8时,可以将4根口线定义为行线,另4根口线定义为列线,形成4×4键盘,可以配置16个按键。 矩形式键盘的行线通过电阻接+5V(芯片内部有上拉电阻时,就不用外接了),当键盘上没有键闭合时,所有的行线与列线是断开的,行线均呈高电平。 当键盘上某一键闭合时,该键所对的行线与列线短接。此时该行线的电平将电被短接的列线电平所决定。 判有无按键按下。将行线接至单片机的输入口,列线接至单片机的输出口。首先使所有列线为低电平,然后读行线状态,若行线均为高电平,则没有键按下;若读出的行线状态不全为高电平,则可以断定有键按下。 执行该程序后,可以获得按下键所在的行列位置,此种键识方法称为扫描法。从原理上易于理解,但当所按键在最后一列时,所需扫描次数较多。 采用线反转法完成所按键的识别。先把列线置成低电平,行线置成输入状态,读行线;再把行线置成低电平,列线输入状态,读列线。有键按下时,由两次所读状态即可确定所按键的位置。示例程序如下: SMKEY: MOV P1,#OFH ; 置P1口高4位为“0”、低4位为输入状态位为输入状态 MOV A,P1 ; 读P1口 ANL A,#OFH ; 屏蔽高4位 CJNE A,#OFH,HKEY ; 有键按下转回 CJNE SMKEY ; 无键按下转回 HKEY: LCALLDELAY10 ; 延时10ms,去抖 MOV A,P1 ; ANL A,#OFH ; MOV B,A ; 行线状态在B的低4位 CJNE A,#OFH,WKEY ; 确认有键按下,转判哪一键按一下 SJMP SMKEY ; 是抖动转回 WKEY: MOV P1,#OFOH ; 置P1口高4位为输入、低4 位为“0” MOV A,P1 ; ANL A,#OFOH ; 屏蔽低4位 ORL A,B ; 列线状态在高4位,与行线状态合成于B 中 … … ; 键处理
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

10
 

回复: MCS——51单片机系统设计

键处理。键处理是根据所按键散转进入相应的功能程序。为了散转的方便,通常应先得到按下键的键号。 键号=所在行号×键盘列数+所在列号 2×4+1=9 根据键号就可以方便地通过散转进入相应键的功能程序,在此处仅仅给出键盘扫描程序,获得按键值以后,再由住程序根据具体的电路功能要求对程序进行散转。
此帖出自51单片机论坛
 
 
 

回复

1170

帖子

0

TA的资源

至上芯片

11
 

回复: MCS——51单片机系统设计

DAC0832控制接口 DAC0832是使用非常普遍的8位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。在使用DAC时,根据具体的接口地址,将要转换的数据送到相应的外部地址空间即可实现DAC的转换,为外部某些需要模拟电压、电流信号的电路通过相应的电压、电流。该电路工作在单缓冲方式——单缓冲方式,即输入锁存器和DAC寄存器相应在的控制信号引脚分别连在一起,使数据直接写入DAC寄存器,立即进行D/A转换(这种情况下,输入锁存器不起锁存作用。)此方式适用于只有一路模拟量输出,或有几路模拟量输出但并不是要求同步的系统。 如图: DAC0832主要特征: ?分辨率8位; ?电流建立时间:1μS; ?数据输入可采用双缓冲、单缓冲或直通方式; ?输出电流线性度可在满量程下调节; ?逻辑电平输入与TTL电平兼容; ?单一电源供电(+5~+15V); ?低功耗,20mW。 一、DAC0832的内部结构及引脚 DAC0832由一个8位输入锁存器、一个8位DAC寄存器和一个8位D/A转换器及逻辑控制电路组成。输入数据锁存器和DAC寄存器构成了两级缓存,可以实现多通道同步转换输出。 DAC0832采用20脚双列直插式封装,各引脚功能如下: :片选信号引脚,输入低电平有效。与ILE相配合,可对写信号 是否有效起到控制作用。 ILE:允许锁存信号引脚,输入高电平有效。输入锁存器的信号 由ILE、 、 的逻辑组合产生。当ILE为高电平, 为低电平, 输入负脉冲是时, 信号为正脉冲。 为高电平时,输入锁存器的状态随着数据输入线的状态变化, 的负跳变将数据线上的信息锁入输入锁存器。 :写信号1引脚,输入低电平有效。当 、 、ILE均为有效时,可将数据写入输入锁存器。 :写信号2引脚,输入低电平有效。当其有效时,在传送控制信号 的作用下,可将锁存在输入锁存器的8位数据送到DAC寄存器。 :数据传送控制信与引脚,输入低电平有效。当 为低电平, 输入负脉冲时,则在 产生正脉冲。 为高电平时,DAC寄存器的输出和输入锁存器状态一致, 的负跳变将输入锁存器的内容锁入DAC寄存器。 VREF:基准电压输入引脚,可在-10~+10V范围内调节。 D17~D10:数字量数据输入引脚。 IOUT1、IOUT2:电流输出引脚。电流IOUT1与IOUT2的和为常数,IOUT1、IOUT2随寄存器的内容线性变化。 Rfb:DAC0832芯片内部反馈电阻引脚。 Vcc:电源输入引脚,+5~+15V。 DGND、AGND:分别为数字信号地和模拟信号地。 执行下面几条指令就能完成一次D/A转换: MOV DPTR,#4000H ;指向DAC0832口址 MOV A, #data ; MOVX @DPTR,A ;启动D/A转换 A/D转换器新品不断推出。按工作原理分,ADC的主要种类有:逐次逼近式、双积分式、计数比较式和并行式。 ADC0809芯片及其与单片机的接口 ADC0809是由8位逐次逼近式、单片CM集成A/D转换器。 分辨率为8位; 精度:ADC0809小于±1LSB(ADC0808小于±1/2LSB); 单+5V供电,模拟输入电压范围为0~+5V; 具有锁存控制的8路输入模拟开关; 可锁存三态输出,输出与TTL电平兼容; 不必进行零点和满度调整; 转换速度取决于芯片外接的时钟频率。时钟频率范围:10~1280KHZ。 一、ADC0809的内部结构及引脚功能 ADC0809片内带有锁存功能的8路模拟多路开关,可对8路输入模拟信号分时转换,具有多路开关的地址译码和锁存电路、8位A/D转换器和三态输出锁存器等。 引脚功能如下: 1N0~IN7:8路模拟量输入端。 D7~D0:8位数字量输出端。 ALE:地址锁存允许信号输入端。通常向此引脚输入一个正脉冲时,可将3位地址选择信号A、B、C锁存于地址寄存器内并进行译码,选通相应的模拟输入通道。 START:启动A/D转换控制信号输入端。一般向此引脚输入一个正脉冲,上升沿复位内部逐次逼近寄存器,下降沿后开始A/D转换。 CLOCK:时钟信号输入端。 EOC:转换结束信号输出端。A/D转换期间EOC为低电平,A/D转换结束后EOC为高电平。 OE:输出允许控制端,控制输出锁存器的三态门。当OE为高电平时,转换结果数据出现在D7~D0引脚。当OE为人低电平时,D7~D0引脚对外呈高阻状态。 C、B、A:8路模拟开关的地址选通信号输入端,3个输入端的信号为000~111时,接通IN0~IN7对应通道。 VR(+)、VR(-):分别为基准电源的正,负输入端。 Vcc:电源输入端,+5V。 GND;地。 ADC0809与单片机的接口 1.查询方式 ADC0809与单片机的接口电路如图由于ADC0809片内无时钟,故利用80C51提供的地址锁存允许信号ALE经D触发器二分频后获得。 ALE引脚频率是单片机时钟频率的1/6,如果单片机时钟频率为12MHz,则ALE引脚的频率为2MHZ,经过2分频后为1MHz,用来给ADC0809的ALE提供时钟信号,所以ADC0809能可靠工作。 下面的程序采用查询方式,分别对8路模拟信号轮流取样一次,并依次把转换结果存储到片内RAM以DATA为始地址的连续单元中。 MAIN:MOV R1,#DATA ;置数据区首地址 MOV DRTR,#0E000H ;指向0通道 MOV R7,#08H ;置通道数 LOOP:MOVX @DPTR,A ;启动A/D转换 HER:JB P3.3,HER ;查询A/D转换 MOVX A,@DPTR ;读取A/D转换结束 MOV @R1,A ;存储数据 INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针 DJNZ R7,LOOP ;8个通道转换完否? 也可以采用软件延时的方法读取每次的A/D转换结果,即在启动A/D后,延时100μs左右,等待转换结果。 2.中断方式 采用中断方式可大大节省CPU的时间。当转换结束时,EOC向单片机发出中断申请信号。响当当应中断请求后,由中断服务子程序读取A/D转换结查并存储到RAM中,然后启动ADC0809的下一次转换。在系统任务比较繁重是,可以使用中断方式进行ADC的操作,以减少系统负担。 ADC0809与51的连接如图:
此帖出自51单片机论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

12
 
此帖出自51单片机论坛
 
 
 

回复

113

帖子

0

TA的资源

一粒金砂(中级)

13
 

回复 4楼 呱呱 的帖子

不错
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表