基于51单片机实验开发平台的研制毕业论文.doc
编号: 毕业设计(论文)说明书题 目:基于51单片机实验开发平台的研制 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发 2011年 6月 5日摘 要设计一种基于S51单片机的开发平台,该开发板具有成本低、体积小、可靠性高、功能齐全、低功耗设计、操作方便等特点。本论文详细介绍了该开发平台的开发过程及相关硬件结构和软件设计。开发板以ATMEL公司的AT89S51单片机为核心控制器,板上主要包括数据采集处理模块、液晶显示模块、键盘模块等。针对各个硬件模块开发了相应的软件模块,包括各个控制驱动程序、AD/DA程序、液晶显示程序等。开发板可以作为主控制模块安装于控制系统中执行控制任务,也可以用作实验板,完成单片机各类通用实验,操作简单,控制结果可见,性价比高,可以应用于高校、科研院所的实验等场合,具有一定的使用价值和现实意义。由于单片机技术在各个领域正得到越来越广泛的应用,许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,AT89S-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了市场,成为国内单片机应用领域中的主流。目前,可用于AT89S-51系列单片机开发的产品越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。本课题设计了一款单片机实验开发系统,该系统可以实现专业基础课、专业课(单片机原理与应用,单片机接口技术等)、课程设计和毕业设计的实验。实验板是参考单片机教材中的实验内容设计的,能够实现简单的测试实验。本论文包括硬件系统的详细设计及汇编语言在基本控制中的应用。关键词:AT89S51;实验系统;单片机;硬件;AbstractDesign a development board based on S51 MCU,the board has characteristics of low cost,small size,high reliability,full-featured,low-power design and easy to operate.This paper introduces the development process of the development board and related hardware and software design.Development board using AT89S51 of ATMEL Corporation as core controller,resources on-board include data acquisition and processing module,keyboard module.Design software module corresponding to each hardware module,including the driver and control programs,DA/AD programs, liquid crystal display programs and so on.Development board can be used as the main control module installed in the control system to perform control tasks,also can be used as experimental board,complete all kinds os universal experiments os MCU,operated simply,control results can be seen,high cost performance,can be applied to universities,research institutes,laboratories and so on,has some practical value and practical significance.As the single chip microcomputer technic is used wider and wider in all areas, many manufacturers of integrated circuit have developped all kinds of single chip microcomputer one after another. Among the many members of single chip microcomputer family, the S-51 series of single chip microcomputer has quickly gained the market share and become the main stream in the national application area of single chip microcomputer with their excellent performance, mature technic, high reliability and high cost performance. At present, there are more and more products that can be used to develop S-51 series single chip microcomputer, and the development systems and softwares matched to them are improved day by day. Therefore, we can conveniently use available resources to develop all kinds of application system used for different aims.This project designs an experiment of single chip microcomputer development system which can be applied to the experiments for specialized core course, professional course (Principle and Application of single chip microcomputer,Interface technology of single chip microcomputer,etc), courses design and graduate design. The experimental borad is designed according to the experiment in the single chip microcomputer teaching material which can implement simple test experiments. This paper includes the detailed design of the hardware system and the application of assembly language in the basic control.Key words:AT89S51;Single chip microcomputer;Experimental system; Hardware;;keypad目 录引言1绪论21系统方案31.1 总设计方案31.2 设计原则32硬件部分32.1 硬件结构框图32.2 硬件电路设计42.2.1AT89S51单片机主控制42.2.2键盘模块52.2.3AD模块62.2.4DA模块72.2.5数码管模块102.2.6串口模块112.2.7点阵模块123系统软件开发工具介绍123.1编译软件Keil51概述123.2KEIL C51单片机编译开发系统的整日结构133.3系统硬件开发工具Protel99SE介绍133.4 小结144 软件部分154.1 整体程序设计154.2 分模块程序设计154.2.1 键盘模块程序设计154.2.2 AD模块程序设计164.2.3 串口通信模块程序设计174.2.4 数码管显示模块程序设计185 开发板设计及测试235.1 开发板PCB设计235.2 开发板测试236 结论24谢 辞25参考文献26附 录27引言单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。单片机具有成本低、体积小、可靠性高、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。因此拥有一块单片机开发板对于单片机学习具有极其重要的意义。但是单片机学习效果的优劣直接取决于单片机的选择,AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。 单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 本课题设计的S51单片机开发板,具有一般开发板通用结构,并基于硬件进行相关软件设计。通过对开发板上的模块进行实验,可以提高针对不同硬件进行编程的能力,同时通过实验现象对所用的硬件也有了更深一步的认识,因此该开发板具有一定的使用价值和现实意义。绪论 单片机最早被应用在工业控制领域,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。中国使用单片机的历史只有短短的30年,在初始的短短五年时间里 发展极为迅速。1986 年在上海召开了全国首届单片机开 发与应用交流会,很多地区还成立了单片微型计算机应用协会,那是全国形成的第一次高潮。单片机应用技术飞速发展,我们上因特网输入一个“单片机”的搜索,将会看到上万个介绍单片机的网站,这还不包括国外的。电子界,在2003年7月,91student 在上海、广州、北京等大城市所做的一次专业人才需求报告中,单片机人才的需求量位居第一。这是因为单片机比专用处理器更适合应用于嵌入式系统,它得到了最多的应用。纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板。但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言,因为单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸。二十世纪跨越了三个“电”的时代,即电气时代、电子时代和电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(也称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的里面。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机,智能型热水器等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。 1系统方案1.1 总设计方案本开发平台共分为7个模块,分别是:串口模块、点阵模块、AD模块、DA模块、键盘模块、数码管模块、AT89S51单片机控制模块。其中以S51单片机作为核心控制器;键盘模块用来向单片机输入特定编码的信息;AD模块用来实现模数转换;DA模块用来实现DA转换;数码管模块用来显示简单的数字、字母;串口模块一般用于接一些特殊的外部设备。1.2 设计原则开发板系统的扩展和配置应遵循以下设计原则: (1)尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础;(2)系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发; (3)硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑的原则是:软件能实现的功能尽可能由软件实现,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间;(4)系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品; (5)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等;(6)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载; (7)尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。2硬件部分2.1 硬件结构框图总体硬件结构主要包括:S51单片机主控制模块、键盘模块、AD模块、DA模块、数码管模块等。硬件结构图如图1-1所示: AD模块 串口模块AT89S51单片机主控制模块 键盘模块 数码管模块 点阵模块 DA模块 图1-1硬件结构 2.2硬件电路设计2.2.1AT89S51单片机主控AT89S51最小系统包括:复位电路、晶振电路、时钟电路。51原理图如图2-1所示: 图2-1 51原理2.2.2键盘模块在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,键盘原理图如图所2-2示: 图2-2键盘原理在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口就可以构成4*4=16按键,比如直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,直接用端口线则只能多出一键(9键),在需要的按键数较多时,才用矩阵法来做键盘是合理的。2.2.3AD模块A/D转换在单片机接口中应用广泛,串行A/D转换器具有功耗低、性价比高、芯片引脚少等特点。ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。主要特性有:1)8路输入通道,8位A/D转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时)。4)单个+5V电源供电 。5)模拟输入电压范围0+5V,不需零点和满刻度校准。6)工作温度范围为-40+85摄氏度。7)低功耗,约15mW。内部结构: ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 外部特性(引脚功能):ADC0809芯片有28条引脚,采用双列直插式封装。下面说明各引脚功能。IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 。ALE:地址锁存允许信号,输入,高电平有效。START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。GND:地。ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。(1)定时传送方式 :对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式 :A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。3)中断方式 :把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。ADC0809芯片如图2-3所示: 图2-3ADC0809芯片ADC0809硬件实现,如图2-4所示: 图2-4ADC0809硬件原理2.2.4DA模块DAC0832是8分辨率的D/A转换集成芯片。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。DAC0832的主要特性参数如下:分辨率为8位,电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度; 单一电源供电(+5V+15V); 低功耗,20mW。 DAC0832结构:D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化; IOUT2:电流输出端2,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的范围为+5V+15V;VREF:基准电压输入线,VREF的范围为-10V+10V;AGND:模拟信号地,DGND:数字信号地。 DAC0832的工作方式:根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料:D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。 DAC0832引脚功能说明:DI0DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2: 电流输出线。其值与Iout1之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻.。VCC:电源输入线 (+5v+15v) 。WREF:基准电压输入线 (-10v+10v),AGND:模拟地,摸拟信号和基准电源的参考地。DGND:数字地,两种地线在基准电源处共地比较好。(一) D/A转换器DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。运算放大器输出的模拟量V0为:由上式可见,输出的模拟量 与输入的数字量成正比,这就实现了从数字量到模拟量的转换。一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。D0D7:数字信号输入端。ILE:输入寄存器允许,高电平有效。CS:片选信号,低电平有效。WR1:写信号1,低电平有效。XFER:传送控制信号,低电平有效。WR2:写信号2,低电平有效。IOUT1、IOUT2:DAC电流输出端。Rfb:是集成在片内的外接运放的反馈电阻。Vref:基准电压(-1010V)。Vcc:是源电压(+5+15V)。AGND:模拟地 NGND:数字地,可与AGND接在一起使用。DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。DAC0832管脚如图2-4所示: 图2-4DAC0832管脚LM324简介:LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。 图2-5 图2-5管脚连接2.2.5数码管模块7段LED数码管的结构原理:单片机中经常使用7段LED来显示数字,也就是用7个LED构成字型“8”,并另外用一个圆点LED来显示小数点,也就是说一共有8个LED,构成了“8”的字型。7段LED分共阴级和共阳级两种,本论文选择的是共阴LED数码管。共阴极7段LED的原理图和管脚配置如图2-6所示,实际中,各个型号的7段LED的管脚配置可能不会是一样的,在实际应用中要先测试一下各个管脚的配置,再进行电路原理图的设计。 图2-6LED管脚配置7段LED数码管动态显示原理:LED的静态显示虽然有编程容易、管理简单等优点,但是静态显示所要占得I/O口资源很多,所以在显示的LED点较多的情况下,一般都采用动态显示方式。在多位7段LED显示中,为了简化电路,降低成本,则将所有位的段选线并联在一起,刚好由8个I/O口来控制8个段。而公共端则分别由相应的I/O口控制,以实现各个位的分时选通。原理图如2-7图所示: 图2-7LED原理2.2.6串口模块本文使用的是MAX232芯片来跟计算机通信。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。芯片如图2-8所示: 图2-8MAX232芯片第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5v)。MAX232的主要特点有:符合所有的RS-232C技术标准 ;只需要单一 +5V电源供电;片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- ;功耗低,典型供电电流5mA ;内部集成2个RS-232C驱动器;内部集成两个RS-232C接收器。2.2.7点阵模块LED点阵:随着LED应用领域的扩大,要求生产更为直接和方便的LED显示器件。因而出现了数码管、字符管、LED点阵、电平管等多种LED显示器。不管显示器的结构怎么变,它的核心部件仍然是发光半导体芯片。本文用的是8*8点阵,它是由64个发光二极管按一个规律组成的,如图2-9所示: 图2-9点阵原理硬件电路图如图2-10所示: 图2-10点阵硬件电路3系统软件开发工具介绍3. 编译软件Keil51概述 Keil C51编译器是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51编译软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。.2 KEIL C51单片机编译开发系统的整体结构C51工具包的整体结构,其中UVision与ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。3.3 系统硬件开发工具Protel99SE介绍Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层。 Protel 99SE的系统组成: 按照系统功能来划分,Protel99se主要包含以下两大部分和6个功能模块。(1)电路工程设计部分电路原理设计部分(Advanced Schematic 99):电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。本系统的主要功能是:绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。 印刷电路板设计系统(Advanced PCB 99):印刷电路板设计系统包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。本系统的主要功能是:绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。 自动布线系统(Advanced Route 99):本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。 (2)电路仿真与PLD部分电路模拟仿真系统(Advanced SIM 99):电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。 可编程逻辑设计系统(Advanced PLD 99):可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。本系统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。利用PLD系统可以最