光敏电阻传感器检测系统的设计毕业论文_第1页
光敏电阻传感器检测系统的设计毕业论文_第2页
光敏电阻传感器检测系统的设计毕业论文_第3页
光敏电阻传感器检测系统的设计毕业论文_第4页
光敏电阻传感器检测系统的设计毕业论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

本科学生毕业设计光敏电阻传感器检测系统的设计系部名称:机电工程学院专业班级:机械设计制造及其自动化08-3班学生姓名:指导教师:职称:二○一二年六月TheGraduationDesignforBachelor'sDegreeTheDigitalLightIntensityDetectorSystemBaseonMCUCandidate:XuDongshengSpecialty:MachineryDesignandManufacturingandItsAutomationClass:08-3Supervisor:LecturerChenXiHeilongjiangInstituteofTechnology2012-06·Harbin目录摘要……………ⅠAbstract……………………Ⅱ第1章绪论 11.1课题的意义、目的和要求 11.1.1课题的意义 11.1.2课题的目的 11.1.3课题的要求 21.2数字式光照强度检测仪的发展前景及趋势 31.3本课题主要研究的内容 41.3.1单片机………41.3.2单片机发展历史及应用…………6第2章系统概述 92.1系统方案的选择与论证 92.2光敏电阻简介 102.3本章小结 13第3章系统的硬件部分 143.1单片机最小系统和通信模块的设计 143.1.1单片机最小系统的设计 143.1.2下载通信模块的设计 163.2光敏电阻网络的设计 173.3输出选择电路的设计 183.4A/D模数转换电路的设计 203.5数码管显示电路的设计 203.6本章小结 22第4章系统软件部分 234.1软件流程图 244.2Keil软件简介............................................264.3程序清单 264.4Protues软件绘图及仿真 284.5软件的调适与仿真 294.5.1系统软件调试 294.5.2仿真结果 304.6本章小结 32结论 33参考文献 34附录 35致谢 37Ⅰ摘要该数字式光照强度检测仪以单片机和模数转换为技术核心,具体由单片机最小系统、下载通信模块、A/D模数转换模块、光照方向检测模块、输出选择模块和数码管显示模块组成。在本系统的设计中,利用光敏电阻阻值随光强的变化特性来检测光强,采用单片机控制输出选择模块和数模转换芯片依次测量不同方向的光照强度,并通过编程处理数据进行光强的比较,最后通过数码管显示检测结果。总之,通过对电路的设计和实际装调,最终基本实现了基于单片机的数字式光照强度检测仪的整体功能,可显示最大光照强度及光强照射方向。关键词:单片机;光敏电阻;ADC0804;IC4051;数码管ⅡABSTRACTThedigitallightintensitydetectorwithmicrocontrollerandanalog-digitalconversionasacoretechnology,specificallybythemicrocomputersystem,downloadthecommunicationmodule,A/Danalog-digitalconversionmodule,lightdirectiondetectionmodule,theoutputselectionmoduleanddigitaldisplaymodulecomposition.Inthissystemdesign,useofphotosensitiveresistorcharacteristicswiththelightintensitytodetectchangesinlightintensity,theoutputselectcontrolofsingle-chipmoduleandseveralanalogconverterfollowedbymeasuringthelightintensityindifferentdirections,andhandlingdatathroughtheprogramintensitycomparison,thefinaltestresultsviadigitaldisplay.Inshort,throughthecircuitdesignandtheactualalignment,finallyrealizingasinglechipbasedondigitallightintensitydetectoroftheoverallfunction,canshowamaximumlightintensityandlightintensityirradiationdirection.

Keywords:SCM;PhotosensitiveResistance;ADC0804;IC405;DigitalTube第1章绪论1.1课题的意义、目的和要求1.1.1课题的意义本系统是一个基于单片机的数字式光照检测仪,通过数码管显示光度,并且具有判断光照方位能力。以89C51单片机为核心,控制A/D芯片采集数据,辅以数码管、比较器、数据选择器等器件,实现功能。本系统采用光敏电阻采集光照强度信息。光照强度直接反映在光敏电电阻阻值上,进而反映在光敏电阻两端的电压值上。然后通过单片机控制A/D模数转换对电压信号进行采集,经换算后通过数码管显示光强强度。判断光照方向时可采用两个位于不同方向的光敏电阻。光照方向会导致他们两端的电压值不同,把两个电压值输入到比较器进行比较,单片机根据比较结果控制数据选择器选择光照较强的那一路的电压值给A/D进行数模转换。用数码管的亮灭显示方向。本设计适当地利用了光敏电阻的特性以及单片机的强大的运算控制功能,实现了光照强度的检测,并在数码管上显示。设置了两个方向的光敏电阻,比较光照强度数值大小确定了当前光照方向。本系统充分利用了现有资源,结构合理,性能稳定,成本低,满足题目要求。加强对单片机的学习和认识,正确运用所学单片机的理论知识,将理论与实际相结合,单片机在我们的生活中得到越来越广泛的应用,单片机注定影响一个时代,只要存在计算机的地方就会有他的存在,学好单片机对今后的学习与工作有很多益处。1.1.2课题的目的采用光敏电阻为光传感器,利用光敏电阻的光照特性完成光强的检测。具体方法是将三路光敏电阻支路并联接入电路中,其中一路串接一固定电阻,另外两路分别串接电位器,利用光敏电阻值随光照强度变化的特性,使得电路的输出电压而变化。根据这一特性,结合光照强度和输出模拟电压之间的关系,分别对三路电压值进行采集得到某一光强度下对应的模拟电压,将模拟电压通过ADC0804模数转换器转换为数字电压,通过C语言编程,将其集于单片机中,进行比较以后通过两位数码管将最大值显示出来,相应地控制点亮对应的小数点以显示光照强度的方向。从ADC0804的模拟量通道输入0-5V之间的模拟量,通过ADC0804转换成数字量送给单片机,经单片机处理后在数码管上以十进制形成显示出来,学习用单片机控制A/D模数转换。光照强度检测仪的主体是光敏电阻,光敏电阻是采用半导体材料制作,利用内光电效应工作的光电元件。它在光线的作用下其阻值往往变小,这种现象称为光导效应,因此,光敏电阻又称光导管。在光敏电阻两端的金属电极之间加上电压,其中便有电流通过,受到适当波长的光线照射时,电流就会随光强的增加而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也可以加交流电压。光敏电阻的特性是光照变化时其电阻值随着变化,所以可以通过电阻值的变化得出光照强度的变化,而电阻值的变化可以反映在电阻两端的电压值的变化情况上,这样可以设计一个简单的电路,该电路由光敏电阻分压并可以将光敏电阻两端的电压信号作为输入信号输入单片机,然后进行数模转换,将输入单片机的电压模拟信号转换成数字信号,再由单片机处理转换出来的数字信号。然后由数码显示管显示出光照强度结果并判断光照方向。1.1.3课题的要求结合单片机最小电路和光敏电阻电路共同设计一个基于单片机的数字式光照强度检测系统,用数码管显示光照强度。还可以设置多个不同方向的光敏电阻,通过比较它们的光强数值以判断光照方位。技术要求:(1)对光照强度实施实时采集,光照强度的测量范围为:2~600LX,精度±0.2%;(2)用数码管显示光照强度;(3)可以设置多个不同方向的光敏电阻,通过比较它们的光强数值以判断光照方位;(4)通过比较不同方向测得的光强数值判断光照方向,在数码管上显示其方向。1.2数字式光照强度检测仪的发展前景及趋势本课题通常与仪器测量的光束强度,是专门针对一个电路测量光强度关联到一个时间信号的光强度。其中有一个光通过介质传递光束强度是在现有条件中的指示广泛的应用。例如,雅培制药,这一问题的受让人申请,已制定了在现有的某些有机样品的色谱条件下测定免疫分析仪的数目。该方法一般利用一个夹层硝化棉或类似附着在玻璃纤维垫地带一个一次性住房。该法是暴露在参考光的来源是通过媒介通过后,发出的光,是在衡量其强度取样器收集。光的强度是该样本的条件指示。这种类型的测量是特别有用的筛选和质量提供了人类对怀孕和怀孕的问题,及时发现绒毛膜评价试验。光照强度的分析与使用这些计划的检测电路通常比较熟悉。通常情况下,光强度检测用感光元素,是产生一个电压信号,然后放大并转换成由模拟到数字(A/D)转换为数字信号的能力。该A/D转换器生成一个变量引入到一个微处理器平信号,其中,信号电平进行比较参考信号,以便与预定相关的职权收集信号“读”的样本。实例的A/D转换器显示和美国八所描述。4779074号,题为:低等级电压脉冲转换器,发给稀土惠特:等。10月18日,1988年,和美国专利。4178585号,题为:模拟数字转换器,发出的光高木,12月11日,1979年。利用光的强度取样,以确定样本的条件,产生了不同程度的转换,相应的数字信号沿普遍使用在上述专利中描述的线的A/D转换器,以确定已知的光强度测量设备光的强度。例如,欧洲专利申请由R.飞利浦等人第0479394A3。,8月7日提出,1987年,公开了一种方法和分析物的测定仪器。A光源是为了一个样本及一个探测器所发出的光收集。光照强度的排放水平是用来确定样本的条件。由于该应用程序中显示,所发出的光被转换成模拟信号,然后放大并转换成数字信号通过一个A/D转换器转换器的数字输出,被介绍到微处理器。.第4766083题为:为生物凝集光度测定法等。8月23日,1988年,公开了一种测量生物样品凝集反应系统测试使用的凝集试验检测样本散射光激光束源和探测器1光度法和器具。由光敏元件收集的光线是从模拟信号转换为数字信号处理前。虽然这些设备提供准确的抽样技术,并模拟向数字转换计划是适合实现预期的效果,但仍然是对的A/D转换器使用存在的弊端,光照强度分析系统。首先,成本与高分辨率A/D芯片相关已禁止光频谱分析系统的广泛应用。一个典型的模拟到数字转换器网络有16位转换器功能可要花好几百美元。凡需要24位分辨率,成本可大幅增加比例。因此,最昂贵的,昂贵的系统组成部分之一,是转换器网络。因此,如果信号的转换成本可以大大降低,光频谱分析仪器的适用性,可大大提高,同时降低成本,提供更好更广泛的取样系统的检测能力。目前,仍然有必要制定一个系统,使光强度检测的有效使用,而又能准确有效地转换设备系统的应用。随着红外技术的推广,红外满方的检测仪器将朝着快速、便携、低成本、低功耗以及自动化的方向发展。(1)快速性要求检测的时间短,能迅速得到检测结果,以适应检测。(2)便携,体积小,能够在离线、现场后在线环境下,实现准确,无损检测。(3)低成本,价格便宜,是普通老百姓买得起,用得起。(4)低功耗,易于操作,检测人员不需要对仪器进行复杂的调整,只需启动几个按钮就可以进行检测。1.3本课题主要研究的内容(1)结合单片机最小电路和光敏电阻电路设计一个基于单片机的数字式光照强度检测系统;(2)单片机最小系统及光敏电阻网络的设计;(3)编写单片机程序,将获得的电信号转换成光照强度单位下的数值,并用数码管显示。

第2章系统概述2.1系统方案的选择与论证2.1.1设计方案一采用光敏电阻、二极管和555定时器构成多谐振荡电路,利用多谐振荡电路的两个暂稳态输出由此产生矩形波脉冲信号。而光敏电阻阻值会随着光照强度的变化而发生变化,进而使得多谐振荡电路的周期变化,其输出波形频率也随之改变。将其输出模拟信号波形输入到一个简易数字式频率计通过两位数码管显示出来,数字式频率计主要由时基电路、闸门电路计数器、锁存器、译码显示电路和逻辑控制电路组成。具体实现框图如下图2.1所示。光敏电阻阻值变化光敏电阻阻值变化多谐振荡器电路周期变化简易数字频率计时基电路时基电路闸门电路计数器锁存器译码显示器逻辑控制电路\图2.1设计方案一原理框图本方案采用性能稳定且便宜的光敏电阻作为光照传感器,通过光敏电阻值变化影响多谐振荡电路的周期而检测光强,性能较稳定一些,灵敏度也较高,但是电路结构比较复杂,所用元器件种类较多,实现和调试工作会比较困难,造价也较高,虽然能满足稳定性和灵敏度的要求,但不宜采用。2.1.2设计方案二本方案采用光电二极管,利用其产生的电流随光照增强的线性特性输出模拟采样电压,并联三条光敏二极管和电阻支路,将这三路电压通过选通器循环输入到模数转换器ADC0804将模拟信号转换为数字信号,将数字信号通过通信模块输送给STC89C51单片机,通过比较后得出最大值,将最大值输出并利用两位数码管显示出来。具体框图如下图2.2所示。89C5189C51单片机光敏二极管接受光照输出电流变化采集电阻两端电压运算放大器两位数码管显示模数转换ADC图2.2设计方案二原理框图对于本方案,采用线性好,响应速度快的光敏二极管作为光照传感器,故电路响应速度快,灵敏度高。缺点是单独使用输出电流(或电压)很小,需要加放大电路将采样电压进一步放大,而加入运放环节会由于运放的零漂和易受温度影响使得电路稳定性降低,误差增大。另外限于实验元器件的供给,实验中也不采用本方案。2.1.3设计方案三采用三路光敏电阻支路并联检测光照强度,通过每一路可以得到一个模拟采样电压,将这三路电压通过CD4051单8通道数字控制模拟电子开关循环输入到模数转换器ADC0804将模拟信号转换为数字信号,将数字信号通过通信模块输送给STC89C51单片机,通过比较后得出最大值,将最大值输出并利用两位数码管显示出来。对于光强的方位,则通过控制两位数码管的两个小数点的关断与否来显示出来,具体是两个小数点分别单独亮时对应两个方位,而两个小数点均不亮时对应另外一个方位。至此,可以将光照的强度以及光照的方位通过两位数码管显示出来,完成了本设计选题的任务及要求。具体框图如下图2.3所示:通信下载模块数码管显示单片机光敏电阻网络A/D模数转换通信下载模块数码管显示单片机光敏电阻网络A/D模数转换输出选择光照光照图2.3设计方案三原理框图本方案采用性能稳定且便宜的光敏电阻作为光照传感器,STC89C51单片机作为主控制器。性能稳定,抗干扰能力强,不易受外界环境温度等因素影响,灵敏度也较高,但是由于光照传感器采用光敏电阻且为三条支路并联采集模拟电压信号,会存在一定的误差。总体上来说,本方案电路结构简单、所用元器件供给充足、成本造价低、性能稳定且误差范围也在设计选题的要求之内,能在简单低成本的基础上很好的完成设计选题的任务,故实验中采用本方案。2.1.4方案综合比较和选择通过以上三种方案的设计,方案一采用光敏电阻作为光照传感器,稳定性和灵敏度虽然都能满足设计选题的要求,但是电路结构过于复杂,实现和调试都比较困难,在实验中不采用;方案二采用光敏二极管作为光照传感器,线性度好,响应速度快,但是需要额外添加运放环节,对系统稳定性和误差都会带来不利影响,另外限于元器件的供应,本实验中也不采用:而方案三采用光敏电阻作为光照传感器,进行模拟电压采样,通过ADC数模转换器将模拟信号转换为数字信号传送到51单片机中,进而控制两位数码管显示具体数值和方位,简单可行,成本造价低,故在实验中采用本方案。2.2系统工作原理设计中采用光敏电阻为光传感器,利用光敏电阻的光照特性完成光强的检测。具体方法是将三路光敏电阻支路并联接入电路中,其中一路串接一固定电阻,另外两路分别串接电位器,利用光敏电阻值随光照强度变化的特性,使得电路的输出电压而变化。根据这一特性,结合光照强度和输出模拟电压之间的关系,分别对三路电压值进行采集得到某一光强度下对应的模拟电压,将模拟电压通过ADC0804模数转换器转换为数字电压,通过C语言编程,将其集于单片机中,进行比较以后通过两位数码管将最大值显示出来,相应地控制点亮对应的小数点以显示光强的方位。2.3本章小结本章主要讲述了系统方案的选择与论证并对系统进行了概述,通过对不同方案的选择了解整个系统的工作流程,根据实际情况与技术要求,画出了系统结构框图,并拟定了系统总体设计方案,也对系统工作原理作了简要概述。

第3章系统硬件设计3.1单片机的选择3.1.1单片机定义及特点在一块芯片上集成CPU、数据存储器、程序存储器、输入输出和定时/计数器等部件的一台小型计算机,它体积小、结构紧凑、功耗低,嵌入到某应用系统中,主要完成信号控制功能,又称“嵌入式微控制器”。本设计采用89C51单片机,89C51单片机引脚图如图3.1所示。图3.189C51单片机引脚图89C51单片机各个引脚介绍:输入输出引脚:(1)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。(2)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。(3)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(4)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)其它的控制或复用引脚:XTAL1/XTAL2:XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率最高可以达到33MHz。电容取30pF±10pF。单片机程序指令的执行是以振荡器的振荡来驱动的。在MCS-51架构中,每12个振荡器周期组成一个指令周期(或称机器周期)。单片机执行指令的时间是以指令周期为单位的。不同指令的执行时间可能是不同的,一条指令的执行时间最短为一个指令周期。因此,单片机所接的振荡器频率越高,它执行指令的速度就越快RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。3.1.2单片机发展历史及应用单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机由运算器、控制器、存储器、输入输出设备构成。单片机诞生于1971年,经历了SCM、MCU、ScO三大阶段。20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。我国单片机起步较晚,我国使用最多的是Intel公司的MCS-51系列单片机及其增强型、拓展型的衍生机型,MCS-51是最早进入我国的单片机主流品种之一,在我国得到广泛应用,直到现在仍为单片机主流系列。当今社会,应用单片机的产品已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的足迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制域。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。科技越发达,智能化的东西就越多。以下大致介绍一些典型的应用领域和应用特点。家用电器领域,国内各种家用电器已普遍采用单片微机控制取代传统的控制电路,做成单片微机控制系统,如洗衣机、电冰箱、空调机、微波炉、电饭堡、电视机、录像机及其它视频音像设备的控制器。办公自动化领域,比如一台PC机可能嵌入了10个单片微机,如控制键盘、鼠标、显示器、CD-ROM、声卡、打印机、软/硬盘驱动器、调制解调器等。现代办公室中所使用的大量通信、信息产品,如绘图仪、复印机、电话、传真机等,多数都采用了单片微机。工业自动化领域的在线应用,如工业过程控制、过程监测、工业控制器及机电一体化控制系统等,许多都是以单片微机为核心的单机或多机网络系统。如工业机器人的控制系统是由中央控制器、感觉系统、行走系统、擒拿系统等节点构成的多机网络系统。而其中每一个小系统都是由单片微机进行控制的。智能仪器仪表与集成智能传感器领域,应用单片微机来对传统的仪器仪表行业的产品进行“更新换代”,提供了非常理想的的条件。目前各种变送器、电气测量仪表普遍采用单片微机应用系统替代传统的测量系统,使测量系统具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音功能等。汽车电子与航空航天电子系统,通常在这些电子系统中的集中显示系统、动力监测控制系统、自动驾驭系统、通信系统以及运行监视器(黑匣子)等,都要构成冗余的网络系统。比如一台RMW-7系列宝马轿车就用了63个单片微机,大部分还是16位单片微机。单片微机的应用从根本上改变着传统的控制系统设计思想和设计方法,从前必须由模拟电路或数字电路实现的大部分控制功能,现在已能使用单片微机通过软件方法实现了。这种以软件取代硬件,并能提高系统性能的控制技术,称之为微控制技术。这标志着一种全新概念的建立。学习单片机是社会发展的必然需求,也是大学期间的必修课。现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。微型单片化现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。从单片机的发展历程看,未来单片机技术将向多功能、高性能、高速度、低电压、低功耗、外围电路内装化及片内储存器容量增加的方向发展。3.2单片机最小系统和通信模块的设计3.2.1单片机最小系统的设计单片机最小系统或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。复位电路:由电容串联电阻构成,结合"电容电压不能突变"的性质,可以知道当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位,一般教科书推荐C取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小,根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平,单片机系统自动复位。

晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式,内部时钟方式在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12MHz、11.0592MHz、24MHz等。一些新型的单片机还可以选择更高的频率。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。AT89C51单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期。振荡周期:是片内振荡电路或片外为单片机提供的脉冲信号的周期。时序中1个振荡周期定义为1个节拍,用P表示。时钟周期:振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。时钟周期为振荡周期的2倍。时序中1个时钟周期定义为1个状态,用S表示。每个状态包括2个节拍,用P1、P2表示。机器周期:机器周期是单片机完成一个基本操作所需要的时间。一条指令的执行需要一个或几个机器周期。一个机器周期固定的由6个状态S1~S6组成。指令周期:执行一条指令所需要的时间称为指令周期。一般用指令执行所需机器周期数表示。AT89C51单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。了解了以上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。若单片机使用12MHz的晶振频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us。单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。单片机的主要功能是负责整个系统的控制,不承担复杂的数据处理任务,因此在设计本系统时选用STC89C51。其中,时钟电路为在引脚XTALl和XTAL2跨接晶振和两个补偿电容构成自激振荡器,结构中Y1、C1、C2,根据情况本设计中选择12MHz的晶振,补偿电容选择30pF左右的瓷片电容;复位电路则采用手动按键复位两种方式实现,其结构如图中R0、C3和S1,通过按键将电阻R0与VCC接通即可实现复位;P0口外接上拉电阻,其结构如图中3.2,采用10K的排阻以提供给I/O口合适的电流。下图为一个51单片机的最小系统电路图。图3.2单片机最小系统电路图3.2.2下载通信模块的设计下载通信模块选用MAX232芯片。MAX232是MAXIM公司专门为PC视RS-232标准串口设计的电平转换电路。该芯片与TTL/COMS电平兼容,片内有2个发送器,2个接收器,且使用+5V单电源供电,使用非常方便。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。现从MAX232芯片中两路发送接收中任选一路作为接口,其发送接收的引脚一一对应。本系统中使T2IN接单片机的发送端TXD,同时R2OUT接单片机的RXD端,C1+、C1-脚和C2+、C2-脚接104瓷片电容,其接口电路如图3.3所示。图3.3通信模块的电路图3.3光敏电阻网络的设计光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光光线作控制光源,使设计大为简化。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出。引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。在黑暗环境里,它的电阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子—空穴对了半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子—空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到波长的光线照射时,电流就会随光强的而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。半导体的导电能力取决于半导体导带内载流子数目的多少。光照强度检测接收光源的器件是光敏电阻,光敏电阻是采用半导体材料制作,利用内光电效应工作的光电元件。它在光线的作用下其阻值往往变小,这种现象称为光导效应,因此,光敏电阻又称光导管。在光敏电阻两端的金属电极之间加上电压,其中便有电流通过,受到适当波长的光线照射时,电流就会随光强的增加而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也可以加交流电压。光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。这种由光照产生的电子—空穴对了半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子—空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到波长的光线照射时,电流就会随光强的而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。光敏二极管是一种将光能变换为电能的器件,它利用了半导体的光生伏特效应的原理。光敏二极管的优点是线性好,响应速度快,对宽范围波长的光具有较高的灵敏度,噪声低;缺点是单独使用输出电流(或电压)很小,需要加放大电路。光敏电阻的特性是光照变化时其电阻值随着变化,所以可以通过电阻值的变化得出光照强度的变化,而电阻值的变化可以反映在电阻两端的电压值的变化情况上,这样可以设计一个简单的电路,该电路由光敏电阻分压并可以将光敏电阻两端的电压信号作为输入信号输入单片机,然后进行数模转换,将输入单片机的电压模拟信号转换成数字信号,再由单片机处理转换出来的数字信号。光敏电阻的入射光强,电阻减小;入射光弱,电阻增大。该器件一般可用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。本电路制作中,将光敏电阻分别串联2K电阻和10K滑动变阻器,再接通电源,调试过程中,还需将三个光敏电阻进行校准,使得在同一光强下从光敏电阻一端的电压值尽量保持一致。光敏电阻网络电路如图3.4。图3.4光敏电阻网络电路3.4输出选择电路的设计输出选择电路可用数据选择器来实现。数据选择器的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。本设计中采用芯片IC4051作为主要芯片。该器件为8选1的数据选择器,其中A、B、C管脚分别接单片机的P0.7、P0.6和P0.5以实现对地址的选择,如当ABC为001时,X4端的信号作为输出信号送至X端,其具体结构和电路接法见图3.5。图3.5输出选择模块3.5A/D模数转换电路的设计A/D转换器就是模拟/数字转换器是将输入的模拟信号转换成为数字信号。本实验中利用模数转换将模拟电压值转换为离散的数字量再送入单片机进行数据处理。制作中选用芯片ADC0804为8位CMOS逐次比较型模数转换器。该芯片工作电源电压为5V,它的转换分辨率为8位256级,即表现为输入电压分辨率为0.02V;也就是说输入电压每增加0.02V,转换输出的数据才加1,经计算可知在误差允许的范围之内,故方案可行。模数转换的过程:模数转换包括采样、保持、量化和编码四个过程。在某些特定的时刻对这种模拟信号进行测量叫做采样,量化噪声及接收机噪声等因素的影响,采样速率一般取。通常采样脉冲的宽度是很短的,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。假设噪声信号在量化电平中是均匀分布的,则量化噪声均方值与量化间隔和模数转换器的输入阻抗值有关。编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的,例如,采样和保持就利用一个电路连续完成,量化和编码也是在转换过程中同时实现的,且所用时间又是保持时间的一部分。表3.1为芯片ADC0804的管脚和对应功能功能。表3.1ADC0804管脚功能1.CS片选端,CS=0时芯片被选中2.RD读控制端,RD=0时,DB0-DB7才会输出3.WR写控制端4.CLK-IN时钟输入端5.INTR中断输出端,低电平有效,接单片机外部中断6.Vin+模拟电压同相输入端7.Vin-模拟电压反相输入端,使用时一般接模拟地8.A-GND模拟地9.Vref/2参考电压端,此脚电压为输入最高电压的1/210.DGND数字地11-18.D7-D0数据输出19.CLKR时钟外接电阻端20.VCC电源,5VADC0804是8位全MOS中速A/D转换器、它是逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接接口。单通道输入,转换时间大约为100us。ADC0804转换时序是:当CS=0许可进行A/D转换。WR由低到高时,A/D开始转换,一次转换一共需要66-73个时钟周期。CS与WR同时有效时启动A/D转换,转换结束产生INTR信号(低电平有效),可供查询或者中断信号。当CS=0和RD=0时可以读取数据结果。电路设计中,用单片机的P0.4、P0.3和P0.2分别控制芯片的使能端和读写控制端,电压模拟量经电阻R5送给6管脚,11-18管脚对应连接单片机的P2口,即可将数字量读出。另外管脚4和19外接大小为10K的电阻R4,管脚4与地之间接电容C8,大小为200pF,计算可得片内时钟为450KHz左右,具体电路如图3.6。图3.6A/D模数转换电路图3.6数码管显示电路的设计数码管显示电路采用两位共阳数码管LG5022BH,其中由单片机的P0.1和P0.0作为位选口,输出低电平时数码管被选中;P1口作为段选,输出低电平时相应的段被点亮。数码管的驱动选用三极管S8550,电阻R9和R10选取1K的阻值大小,以提供合适的电流使三极管导通。数码管显示原理:数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管。按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字。根据数码管的驱动方式的不同,可以分为静态式和动态式两类。下图为数码管显示电路。图3.7数码管显示电路3.7本章小结本章从这五个方面对系统各个功能模块的内容与工作方式做了介绍,是本论文主要介绍的内容。经查阅相关资料确定了本文所需要设计的单片机的类型—AT89C51。根据实际情况与技术要求,结合已确定的系统结构框图对各部分进行设计,包括单片机最小系统、光敏电阻网络、A/D模数转换、数码管显示电路以及输出选择电路,并对每一部分都进行了较详细的叙述。

第4章系统软件设计4.1软件流程图软件流程图如下图:开始开始单片机初始化单片机初始化A/D模数转换函数定义A/D模数转换函数定义光强数值显示函数和光照方向显示函数定义光强数值显示函数和光照方向显示函数定义扫描三个光敏电阻对应的端口扫描三个光敏电阻对应的端口判断它们大小并给出其中最大值及其方向判断它们大小并给出其中最大值及其方向显示数值为(X-40)*10/21显示数值为(X-40)*10/21光强显示及方向显示,并延时 光强显示及方向显示,并延时图4.1软件流程图4.2Keil软件4.2.1Keil软件简介KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。C语言丰富而实用的语句决定了C语言程序灵活性以及强大的代码组织能力,利用C语言,我们可以很方便地编写出庞大的工程,可以很轻松地实现多人协作编程。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。下图为Keil软件主界面。图4.2Keil软件界面4.2.2Keil工程的建立及编译首先启动Keil软件的集成开发环境,可以从桌面上直接双击uVision的图标以启动该软件。UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件1、源文件的建立使用菜单“File->New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入汇编语言源程序保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名),这里假定将文件保存为exam1.asm。需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意文本编缉器编写,而且,Keil的编缉器对汉字的支持不好,建议使用UltraEdit之类的编缉软件进行源程序的输入。2、建立工程文件在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。点击“Project->NewProject…”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字(设为exam1),不需要扩展名。点击“保存”按钮,出现第二个对话框,如图5.2所示,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil支持的CPU很多,我们选择Atmel公司的89C51芯片。点击ATMEL前面的“+”号,展开该层,点击其中的89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“SourceGroup1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“SourceGroup1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,如图2所示。选中其中的“AddfiletoGroup”“SourceGroup1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型”默认为Csourcefile(*.c),也就是以C为扩展名的文件,而我们的文件是以asm为扩展名的,所以在列表框中找不到exam1.asm,要将文件类型改掉,点击对话框中“文件类型”后的下拉列表,找到并选中“AsmSourceFile(*.a51,*.asm),这样,在列表框中就可以找到exam1.asm文件了。双击exam1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图4所示的对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close”即可返回主界面,返回后,点击“SourceGroup1”前的加号,会发现exam1.asm文件已在其中。双击文件名,即打开该源程序。图4.3工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先点击左边Project窗口的Target1,然后使用菜单“Project->Optionfortarget‘target1’”即出现对工程设置的对话框,这个对话框可谓非常复杂,共有8个页面,要全部搞清可不容易,好在绝大部份设置项取默认值就行了。设置对话框中的Target页面,如图5所示,Xtal后面的数值是晶振频率值,默认值是所选目标CPU的最高可用频率值,对于我们所选的AT89C51而言是24M,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为12。MemoryModel用于设置RAM使用情况,有三个选择项,Small是所有变量都在单片机的内部RAM中;Compact是可以使用一页外部扩展RAM,而Larget则是可以使用全部外部的扩展RAM。CodeModel用于设置ROM空间的使用,同样也有三个选择项,即Small模式,只用低于2K的程序空间;Compact模式,单个函数

温馨提示

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

评论

0/150

提交评论