《走马灯多功能工作模式控制系统毕业设计.doc》由会员分享,可在线阅读,更多相关《走马灯多功能工作模式控制系统毕业设计.doc(38页珍藏版)》请在三一办公上搜索。
1、信息职业技术学院毕业设计说明书(论文)设计题目: 走马灯多工作模式控制系统设计 专 业: 应用电子技术 班 级: 应电08-3 学 号: 姓 名: 指导教师: 二0一0年七月十日信息职业技术学院毕业设计(论文)任务书学 生姓 名学号0班级应电08-3 专业应用电子技术设计(或论文)题目走马灯多工作模式控制系统设计指导教师姓名职 称工作单位及所从事专业联系方式备 注讲师/工程师院1设计(论文)内容:运用电子技术知识、单片机技术和技能设计一个走马灯。功能要求如下:1采用按键钮控制走马灯的显示模式并用数码管记录显示模式个数。2具有能产生九种多样显示的功能。3利用单片机控制十六个LED显示。4具有加速
2、、减速可调的功能。要求完成:选择各单元电路结构并阐述工作原理,绘制整机电路原理图(A4图纸),写出C语言源程序;准确计算或估算电路参数,正确选择电路元件与设备,给出元件、设备明细表;撰写设计说明书,要求准确阐述电路选择依据,反映计算方法、元件、设备选择等设计过程,并使用软件进行仿真或制作实物。进度安排:5月45月11日:查找资料,选择参考方案 5月115月18日:确定方案5月185月25日:查找资料,进行单元电路的设计 5月255月31日:整机电路分析5月316月7日:整理报告,确定初稿 6月76月14日:检查定稿主要参考文献、资料(写清楚参考文献名称、作者、出版单位):1 张洪润,易涛编著.
3、单片机应用技术教程 (第二版).北京:清华大学出版社. 2003.2 求是科技编著.单片机典型模块设计实例导航.北京:人民邮电出版社.2004.3 孙进生编著.电子产品设计实例教程.北京:冶金工业出版社.2004.4 王静霞编著.单片机应用技术(C语言版). 北京:电子工业出版社.2009.5 潘新民,王燕芳编著.微型计算机控制技术.北京:电子工业出版社.2004.6 杨宁编著.单片机与控制技术.北京:北京航空航天大学出版社.2005.7 李庭贵编著单片机应用技术及项目化训练.西南交通大学出版社.2009.审批意见教研室负责人:年 月 日目 录摘 要1第1章 绪论2第2章 系统的方案论证与比较
4、32.1 方案的比较32.2 方案论证4第3章 系统硬件设计53.1 主控芯片的介绍53.1.1 8051内部结构63.1.2 8051信号引脚73.2 时钟电路功能以及工作原理的分析93.3 复位电路功能以及工作原理的分析103.4 显示电路103.5 按键电路的结构和工作原理113.6 彩灯控制123.7 整机电路工作原理12第4章 软件设计144.1 主程序模块144.2 定时器中断模块154.3 显示部分模块164.4 模式选择模块17第5章 系统的仿真与调试205.1 Keil C51 软件的使用205.2 Proteus 软件仿真215.3 仿真效果21结 论22参考文献23附录1
5、 源程序24附录2 整机电路图33附录3 元器件明细表34摘 要随着社会的进步电子技术的应用越来越广泛,单片机应用技术作为计算机技术的一个重要分支,也因此广泛应用到工业控制、智能化仪器仪表、家用电器、电子玩具等各个领域,它具有结构简单、控制功能强、可靠性高、体积小、价格低等优点。电子设计也就成为整个的综合体。通过电子设计可以培养学生的电子系统设计能力,加强实践能力和动手操作能力以及能力。随着社会的发展广告越来越体现出其的重要价值。夜晚,华灯初上整个城市被五颜六色丰富多彩的广告牌闪烁的格外美丽,它们闪烁的多姿多彩代表这整个城市的繁华与向荣,所以本次电子设计是以AT89C51单片机作为主控核心,与
6、按键、发光二极管、LED数码管显示器等较少的辅助的硬件电路相结合,利用软件对彩灯进行控制闪烁样式,发光二极管采用多种颜色,显示的闪烁模式也是多样的,给人一种悦目的感觉。本系统具有体积小、硬件少、电路结构简单及容易操作等特点。 关键词 AT89C51;单片机;发光二极管;彩灯;多种变化第1章 绪论当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路控制的系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说是,智能控制与自动控制的核心就是单片机。在大学期间,完成了前期的单片机基础知识学习以后,利
7、用理论与实际相结合,用AT89C51单片机自动制了一款简易的流水灯,重点介绍了用单片机控制系统的运行。在现在诸多的娱乐场所、理发店、宾馆、饭店、公司等的门外,都可以看到各式各样的广告流水灯。所谓“广告流水灯”,就是将一系列的颜色的广告灯连接在一起,然后令这些灯按一定的次序逐个或者几个的一次点亮或熄灭。有各灯点亮和熄灭,产生的效果就像流动的水一样,因此,就称这类广告灯为“广告流水灯”。生活中广告流水灯的形式和点亮的次序是多种多样的。由单一颜色的几个按固定的次序来点亮的,有多个不同颜色的灯构成某一图案依次点亮的也有多排广告灯按多种组合好的次序循环点亮的等。这次设计的广告流水灯,就是这些广告灯中的类
8、型。第2章 系统的方案论证与比较2.1 方案的比较方案一: 利用CD4017芯片和NE555芯片的集成电路,是CD4017芯片和NE555芯片的综合运用。该流水灯的功能是能够根据需要产生多种多样的变化方式,从而产生丰富多彩的彩灯图案。本次设计的方案中采用了CD4017芯片和NE555芯片来实现变化的需要,采用CD4017芯片实现对脉冲信号的分配,使得输出时序就是与时钟同步的高电平,宽度等于时钟周期,NE555产生连续脉冲输入,CD4017有连续脉冲输入时,其对应的输出端依次变为高电平状态,直接用作顺序脉冲发生器,配合二极管,进而形成相应的多功能流水彩灯电路。原理电路图由振荡电路、译码电路和光源
9、电路三部分组成。在设计电路时,选用的脉冲发生器是由NE555与R2、R3及C3组成的多谐振荡器组成。主要是为灯光流动控制器提供流动控制的脉冲,灯光的流动速度可以通过电位器RP进行调节。由于RP的阻值较大,所以有较大的速度调节范围。灯光流动控制器由一个十进制计数脉冲分配器CD4017和若干电阻组成。原理框图如2-1所示。NE555CD4017彩灯控制电路CD4017图2-1 CD4017控制原理框图方案二: 利用51单片机控制十六个发光二极管实现九种闪烁模式,具有加速减速模式以及数码管实现闪烁模式的个数。本设计采用了51单片机来控制,原理框图如2-2所示。单片机时钟电路复位电路显示电路按键电路彩
10、灯控制电路图2-2 单片机控制原理框图2.2 方案论证方案一采用了CD4017芯片和NE555芯片来实现变化的需要,采用CD4017芯片实现对脉冲信号的分配,使得输出时序就是与时钟同步的高电平,宽度等于时钟周期,NE555产生连续脉冲输入,CD4017有连续脉冲输入时,其对应的输出端依次变为高电平状态,直接用作顺序脉冲发生器,配合二极管,进而形成相应的多功能流水彩灯电路。灯光的流动速度可以通过电位器RP进行调节。方案二利用51单片机控制具有加速减速功能以及数码管实现闪烁模式的个数。二者相比较方案一的电路和操作比较复杂,最后一点就是数码管不显示模式个数,这样不利于我们直观的看出显示的模式个数,也
11、不利于我们调节当按下模式键多次时会使我们混乱现象。其硬件电路和软件调试比较复杂,制作成本较高。近年来随着科技的飞速发展,单片机的应用正不断走向深入。所以我们选用单片机作为核心部件进行逻辑控制及信号的产生,用单片机本生的优势节约成本.所以综上所述应采用第二种方案为本次设计方案。第3章 系统硬件设计3.1 主控芯片的介绍单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(Central Processing Unit) 、存储器(Memory)、基本输入/输出(Input/Output, 简称I/O)接口电
12、路、定时/计数器和中断系统等,都制作在一块集成芯片上,构成一个完整的微型计算机。单片机的内部基本结构图如图3-1所示。目前,单片机正朝着高性能和多品种方向发展。今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量、高性能化、低价格化、外围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能更强。单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法,从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机能实现了。这种用软件代替硬件
13、的控制技术也称微控技术,是对传统控制技术的一次革命。单片机的应用系统是以单片机为核心,配以输入、输出、显示等外围接口电路和软件,能实现一种或多种功能的实用系统。其由硬件和软件两部分组成,二者相互依赖,缺一不可。硬件是软件的基础,软件是在硬件的基础上,对其资源进行合理调配和使用,控制其按照一定顺序完成各种时序、运算或动作,从而实现应用系统所需求的任务。单片机应用系统的组成如图3-2所示。中断系统定时/计数器CPU并行I/O端口存储器串行I/O端口图3-1 单片机的内部基本结构图单片机接口电路及外设等控制程序电路板硬件软件图3-2 单片机应用系统的组成3.1.1 8051内部结构8051是MCS-
14、51系列单片机的典型芯片,8051片内有4KROM,无需外接存储器。8051单片机的内部组成如图3-3所示。其功能划分由8个部件组成,分别为:图3-3 8051 单片机的内部组成1中央处理器(CPU)中央处理器是单片机的控制核心,完成运算和控制功能。CPU由运算器和控制器组成。运算器包括一个8位算术逻辑单元(Arithmetic Logical Unit,简称ALU)、8位累加器(Accumulator,简称ACC)、8位暂存器寄存器B和程序状态寄存器(Program Status Word,简称PSW)等。控制器包括程序计数器(Program Counter,简称PC)、指令寄存器(Inst
15、ruction Register,简称IR)、指令译码器(Instruction Decoder,简称ID)及控制电路等。2内部数据存储器 RAM (Random Access Memory) 8051内部共有256个RAM单元,其中的高128个单元被专用寄存器占用;低128个单元供用户暂存中间数据,可读可写,掉电后数据会丢失。通常所说的的内部数据存储器就是指低128个单元。3内部程序存储器ROM (Read-only Memory) 8051内部共有4KB掩模ROM,只能读不能写,掉电后数据不会丢失,用于存放程序或程序运行过程中改变的原始数据,通常称为程序存储器。4并行I/O端口 8051内
16、部有4个8位并行I/O端口(称为P0、P1、P2和P3),可以实现数据的并行输入输出。5串行口 8051内部有一个全双工异步串行口,可以实现单片机与其他设备之间的串行数据通信。该串行口既可作为全双工异步通信收发器使用,也可作为同步移位器使用,扩展外部I/O端口。6定时/计数器 8051内部有两个16位的定时/计数器,可实现定时或计数功能,并以其定时或计数结果对计算机进行控制。7中断系统 8051内部有5个中断源,分为高级和低级两个优先级别。8时钟电路 8051内部有时钟电路,只需外接石英晶体和微调电容即可。晶振频率通常选择12MHZ或11.0592MHZ.3.1.2 8051信号引脚8051单
17、片机采用标准40引脚双列直插式封装,其引脚排列如图3-4所示,引脚功能见表1-1。表1-1 8051 引脚功能引脚名称引脚功能P0.0P0.7P0口8位双向端口线P1.0P1.7P1口8位双向端口线P2.0P2.7P2口8位双向端口线P3.0P3.7P3口8位双向端口线ALE地址锁存控制信号PSEN外部程序存储器读选通信号EA访问程序存储控制信号RST复位信号XTAL1和XTAL2外接晶体引线端Vcc图3-4 AT89C51单片机管脚图+5V电源Vss地线1信号引脚介绍(1)ALE:系统扩展时,P0口是8位数据线和低8为地址线复用引脚,ALE用于把P0口输出的低8位地址锁存起来,以实现低8位地
18、址和数据的隔离。 (2)PSEN:PSEN有效时,可实现对外部ROM单元的读操作。 (3)EA:当EA信号为低电平是,对ROM的读操作限定在外部程序存储器;而当EA为高电平是,对ROM的读操作是从内部程序存储器开始的,并可延至外部程序存储器。 (4)RST:当输入的复位信号延续两个机器周期以上的高电平是即为有效,用以完成单片机的复位初始化操作。 (5)XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,两引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于连接外部时钟脉冲信号。VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当
19、P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口
20、的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口:P3口是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 2信号引脚的第二功能 为了满足实际需要,部分信号引脚被赋予双重功能。常用的是8条P3口线所提供的第二功能,如图1-2所示,表1-2
21、 P3口各引脚的第二功能第一功能第二功能第二功能信号引脚名称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2INT0外部中断0申请P3.3INT1外部中断1申请P3.4T0定时计数器0的外部输入P3.5T1定时计数器1的外部输入P3.6WR外部RAM或外部I/O写选通P3.7RD外部RAM或外部I/O读选通3.2 时钟电路功能以及工作原理的分析 时钟电路用于产生单片机工作所需要的时钟信号,在芯片的外部通过19脚、18脚接晶体振荡器和微调电容。形成反馈电路,构成一个稳定的自己振荡器。电路中的C1、C2一般取30pF左右,而晶体振荡器的频率范围通常是1.2-12MHz.一般使用振荡频率
22、为6MHz或12MHz的晶振。晶体振荡频率越高,系统的时钟频率也越高,单片机的运行速度也就越快。其电路原理图如3-1所示。图3-1 时钟电路原理图3.3 复位电路功能以及工作原理的分析图3-2 复位电路原理图复位是单片机的初始化操作,其目的是使CPU及各专用寄存器处于一个确定的初始状态。如:把PC的内容初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当单片机系统在运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要复位以使其恢复正常工作状态。RST端的外部复位电路有两种操作方式:上电自动复位和按键手动复位。按键手动复位有电平方式和脉冲方式两种,本系
23、统设计采用上电复位,如图3-2所示。上电复位是直接将RST端通过电阻接高电平来实现单片机的复位。3.4 显示电路图3-3 显示电路在单片机系统中,经常采用LED数码管来显示单片机系统的工作状态、运算结果等各种信息,通常都需要直观交互显示出来。本次设计显示电路如图3-3所示。单片机应用系统中最常用的显示器有LED和LCD两种。这两种显示器都可以显示数字、字符及系统的状态,LED和LED数码显示最为普遍,本设计采用的是LED显示。LED数码管是单片机人机对话的一种重要输出设备。LED数码管由8个发光二极管构成,通过不同的发光字段组合可用来显示数字0-9、字符A-F、H、L、P、R、U、Y、符号“-
24、”及小数点“.”等。LED数码管可分为共阳极和共阴极两种结构,共阳极数码管是由8个发光二极管的阳极连接在一起,作为公共控制端(com),接高电平。阴极作为“段”控制端,当某段控制端为低电平时,该段对应的发光二极管导通并点亮,点亮不同的段显示不同的字符。共阴极数码管是由8个发光二极管的阴极连接在一起,作为公共控制端(com),接低电平。阴极作为“段”控制端,当某段控制端为高电平时,该段对应的发光二极管导通并点亮。要使数码管显示出数或字符,直接将相应的数字或字符送至数码管的段控制端是不行的,必须使段控制端输出相应的字型编码。表3-1中分别列出共阳、共阴极数码管的显示字型编码。表3-1 数码管字符型
25、编码显字符示共阳极数码管共阴极数码管dpgfedcba字型码dpgfedcba字型码011000000C0H001111113FH111111001F9H0000011006H210100100A4H010110115BH310110000B0H010011114FH41001100199H0110011066H51001001092H011011016DH61000001082H011111017DH711111000F8H0000011107H81000000080H011111117FH91001000090H011011116FH3.5 按键电路的结构和工作原理按键的开关状态是通过一定
26、的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定。这一过程处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本次采用的是独立式按键,直接用I/O线构成单个按键电路,每个按键占用一条I/O线,每个按键的工作状态不会相互产生影响。电路原理图如图3-5所示。P2.1引脚接“模式”键,按一下则闪烁一种模式相对应的数码管显示加一。P2.4引脚接“加速”键,按一下则闪烁加快速度。P2.5引脚接“减速”键,按一下则闪烁减慢
27、速度。图3-5 按键电路3.6 彩灯控制LED工作条件2V的正向电压,流过的电流为4-10mA,显然不能直接用单片机的端口驱动,需在电路中串联限流电阻。由于单片机I/O口的低电平驱动能力较强,用低电平使发光二极管点亮,高电平熄灭。在流水灯电路中,电压Vcc直接接到发光二极管的正极。本次设计的彩灯电路如图3-6所示。图3-6 彩灯控制电路3.7 整机电路工作原理 利用51单片机控制十六个发光二极管实现九种闪烁模式,具有加速减速模式以及数码管实现闪烁模式的个数。本设计采用了51单片机来控制,原理图如3-7所示(见下页)。图3-7 整机电路原理图 第4章 软件设计整个系统的功能是由硬件电路配合软件来
28、实现的,当硬件基本定型的时候软件也基本定下拉了,从软件的功能不同,可以分为两的类:一是监控软件(主程序)它是整个软件的核心,专门用来协调各个执行模块和操作者的联系。二是执行软件(子程序)它是用来完成各种实质性的工作的,如测量、计算、显示、通讯等。每一个执行软件就是一个小的执行模块,这里将每一个模块一一列出来,并为每个执行模块进行功能定义和接口定义。各执行模块规划好以后,就可以规划监控软件了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的条件,合理安排监控软件和执行软件之间的调度关系。4.1 主程序模块主程序主要完成硬件初始化,子程序调用等功能main() 进入定时器中断
29、时间清零进入模式选择时间自加并把次值赋予行参进入模式选择4-1 主程序流程图unsigned char Key; InitialCPU();InitialTimer2();while(1)Key = GetKey();if(Key!=0x00)KeyDispose(Key); void InitialCPU(void)RunMode = 0x00;TimerCount = 0; SystemSpeedIndex = 10;P1 = 0x00;P0 = 0x00;P2 = 0xFF;P3 = 0x00;Delay1ms(500);P1 = 0xFF;P0 = 0xFF;P2 = 0xFF;P3
30、= 0xFF;SetSpeed(SystemSpeedIndex);Display(RunMode); 4.2 定时器中断模块Unsigned int TimerCount,SystemSpeed,SystemSpeedIndex;void InitialTimer2(void) /定时器初始T2CON = 0x00;/16Bit Auto-Reload Mode TH2 = RCAP2H = 0xFC; /重装值,初始值TL2 = RCAP2L = 0x18;ET2=1;/定时器 2 中断允许TR2 = 1;/定时器 2 启动EA=1;void Timer2(void) interrupt
31、5 using 3 /定时器TF2 = 0; /中断标志清除( Timer2 必须软件清标志!)if(+TimerCount=SystemSpeed) TimerCount = 0;TimerEventRun(); 4.3 显示部分模块void LEDFlash(unsigned char Count)定义一个值使其循环10次并将此赋给行参判断模式键是否按下显示调用模式显示显示0NY4-2显示部分模块流程图unsigned char i;bit Flag;for(i = 0; iCount;i+)Flag = !Flag;if(Flag)Display(RunMode);elseDisplay
32、(0x10);Delay1ms(100);Display(RunMode);unsigned char GetKey(void)unsignedchar KeyTemp,CheckValue,Key = 0x00;CheckValue = P2&0x32;if(CheckValue=0x32)return 0x00;Delay1ms(10);KeyTemp = P2&0x32;if(KeyTemp=CheckValue)return 0x00;if(!(CheckValue&0x02)Key|=0x01;Key|=0x02;if(!(CheckValue&0x20)Key|=0x04;retu
33、rn Key;4.4 模式选择模块执行其他模式执行其他模式执行其他模式执行其他模式NNNN执行模式0条件1成立执行模式1条件2成立执行模式2条件3成立执行模式3YYYY条件0成立/Mode 0 /模式选择unsignedintLEDIndex=0; bit LEDDirection = 1,LEDFlag = 1;void Mode_0(void)LEDShow(0x0001LEDIndex);LEDIndex = (LEDIndex+1)%16;/Mode 2void Mode_2(void)if(LEDDirection)LEDShow(0x0001LEDIndex);if(LEDInde
34、x=15)LEDDirection = !LEDDirection; LEDIndex = (LEDIndex+1)%16;/Mode 3void Mode_3(void)if(LEDDirection)LEDShow(0x0001LEDIndex);if(LEDIndex=15)LEDDirection = !LEDDirection; LEDIndex = (LEDIndex+1)%16;/Mode 4 void Mode_4(void) if(LEDDirection) if(LEDFlag) LEDShow(0xFFFELEDIndex);elseif(LEDFlag)LEDShow(
35、0x7FFFLEDIndex); elseLEDShow(0xFFFELEDIndex); if(LEDIndex=15) LEDDirection = !LEDDirection; if(LEDDirection)LEDFlag = !LEDFlag; LEDIndex = (LEDIndex+1)%16; LEDShow(0x000FLEDIndex); if(LEDIndex=15)LEDDirection = !LEDDirection;LEDIndex = (LEDIndex+1)%16; /Mode 6void Mode_6(void) if(LEDDirection)LEDSho
36、w(0x000FLEDIndex); Els /Mode 7void Mode_7(void) if(LEDDirection)LEDShow(0x003FLEDIndex); if(LEDIndex=9)LEDDirection = !LEDDirection; LEDIndex = (LEDIndex+1)%10; /Mode 8void Mode_8(void)LEDShow(+LEDIndex);void TimerEventRun(void)if(RunMode=0x00)第5章 系统的仿真与调试5.1 Keil C51 软件的使用 Keil C51 软件是目前最流行的开发MCS-5
37、1 系列单片机的软件。Keil uVision3 集成开发环境是 Keil Software Inc/Keil Elektronik GmbH 开发的基于80C51 内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成工程建立和管理、编译、链接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。Keil C51 软件的使用步骤如下。首先启动Keil C51 软件的集成开发环境直接双击uVision,再建立工程文件单击“Project” “New Project”菜单,出现“Create New Project”对话框。在“保存”在下拉列表框中选择工程的保存目录,并在“文件
38、名”文本框中输入工程名,不需要扩展名,单击“保存”按钮,出现“Select Device for TargetTarget”对话框,单击“Atmel”前面的“+”号,展开该层,单击其中的“AT89C51”,然后在单击“确定”按钮,回到主界面。然后建立并添加源文件。使用菜单“File” “New”或者单击工具栏的“新建文件夹”按钮,出现文本编辑窗口,在该窗口中输入新编制的源程序并保存该文件。在源文件名的后面必须加扩展名“.c”,再将左边“Target1”前面的“+”号展开,在“Source Group1”上单击鼠标右键打开快键菜单,再单击“Add Files to Group Source Gr
39、oup1”选项,在选择“文件类型”下拉列表框中的“C Source file(*.c),找到前面新建的“ex1.c”文件后,单击“Add”按钮加到工程中。此时,在左边文件夹“Source Group1”前面会出现一个“+”号,单击“+”号展开后,出现一个名为“ex1.c”文件,说明新文件的添加已完成。最后配置工程属性,将鼠标移到左边窗口的“Target1”上,单击鼠标右键打开快捷菜单,再单击“Options for TargetTarget对话框。再单击“Output”选项卡,在“Creat Executable”选项前面的小圆内打点,确认已选中该项,再单击“确定”按钮,产生可执行文件。单击“
40、Debug”选项卡,选择“Use Simulator”单选项后再单击“确定”按钮,进行软件仿真调试。最后程序调试,在主界面中,单击“Debug”菜单项,再单击“Start/Debug Session”选项即可进入程序调试状态。可以运用单步、跟踪、断点、全速运行等方式进行调试。5.2 Proteus 软件仿真Proteus 软件是一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ISIS模块用来完成电路原理图的布图与仿真。其操作步骤如下。首先启动Proteus 软件的集成开发环境直接双击ISIS打开后看到有菜单及工具栏、预览区、元器件浏览区、编辑窗口、对象拾取区、元器件调整工具栏、运行工具条这几个区域。点击启动界面元器件浏览区域中的“P”按钮来打开“Pick Devices”对话框从元件库中来拾取所需的元器件