生产流水线产品产量统计显示系统的设计.doc_第1页
生产流水线产品产量统计显示系统的设计.doc_第2页
生产流水线产品产量统计显示系统的设计.doc_第3页
生产流水线产品产量统计显示系统的设计.doc_第4页
生产流水线产品产量统计显示系统的设计.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

生产流水线产品产量统计显示系统的设计本科毕业设计题 目 生产流水线产品产量统 计显示系统的设计 姓 名 王 鹏 专 业 自动化 学 号 201142064 指导教师 王忠利 郑州科技学院电气工程学院 二一五年六月目 录摘 要IABSTRACTII前 言III1系统的设计方案与选择12 硬件电路的设计32.1 系统硬件电路32.2 电源供电电路32.2.1 桥式整流电路42.2.2 滤波电路42.2.3 稳压电路52.3 掉电记忆模块62.4 红外检测模块72.5 单片机控制电路92.5.1 单片机最小系统112.5.2 LED数码管显示模块132.5.3 报警器模块153 系统程序设计173.1 程序流程图173.2 程序设计173.3 程序调试244 数据分析25结 论27致 谢28参考文献29附录一:元器件清单30附录二:原理图31附录三:仿真图32附录四:实物图33生产流水线产品产量统计显示系统的设计摘 要随着当今社会的飞速发展,越来越多的流水线上的产品需要进行自动计数。基于单片机构成的产品自动计数器有直观、计数精确的优点,目前已在各行各业中得到了广泛的应用。数字计数器有多种形式,总体来说有接触式、非接触式两种,在科技发展的今天,非接触式红外计数器的应用更加广泛1。本设计采用一对红外发射接收管作为计数器的信号检测头,具有价格低廉,抗干扰性好,结构简单,操作方便等特点。本设计采用红外发光管发射红外线,红外接收管接收此红外线2,并将其放大、整流形成低电平信号,当产品阻挡红外光时,接收管将接收不到红外信号,放大器会输出高电平,此时将这个电平信号送入AT89C5单片机控制单元3,通过对单片机编程实现计数,然后由数码管LED显示数值4。从而实现生产流水线产品产量统计显示的功能。关键字:单片机;自动计数;LED数码管IITHE DESIGN OF THE PRODUCTION LINE OUTPUT STATISTICS SYSTEMABSTRACTWith the rapid development of todays society, more and more products assembly line for automatic counting. Based on single chip product automatic counter has the advantages of intuitive, counting precision, has been widely applied in all walks of life. Digital counter has various forms, generally has two kinds of contact type and non-contact, in todays development of science and technology, the application of non-contact infrared counter more widely. This design USES a pair of infrared receiving tube as counter signal detection head, with a low price, good anti-interference, simple structure, convenient operation, etc. This design use infrared launch infrared light-emitting tube, infrared receiving tube receives the infrared ray, and the low level signal amplification, rectification formation. When someone or something blocking infrared receiving tube not receives the infrared signal, the amplifier outputs high level, at the same time the level signal into the AT89C51 single-chip microcomputer control unit, through the microcontroller programming count, then the digital tube LED display values. So as to realize the function of production line product output statistics show. Keywords:SCM ; Automatic counting ;Digital tube1前 言在当今社会飞速发展的格局下,厂家很多采用流水线装置进行产品生产作业,而怎样才能对其生产线上的产品进行精确的、实时的、有效率的自动计数?这一问题成为了大多生产厂家十分关切的问题。传统的机械式或电子式计数器(主要采用数字电路集成组件组成)存在以下问题:元器件数量较多、电路比较复杂、维修比较困难、故障率较高、功能不易更改、设置预定数值不方便且功能过于单一、适用范围小。而基于单片机为核心控制的计数器有着能够实时,精确,可靠,稳定等计数优点已成为广大厂家的首选自动计数的装置。目前,基于单片机计数设备和以开发产品的微控制器技术为基础的控制技术发展迅速,在各个领域得到广泛应用。以单片机为核心的产品和设备,促进了生产技术水平的提高,因此企业迫切需要很多懂单片机技术开发、应用和维护这些智能产品管理的高级工程技术人员。电子计数器是一种多功能的电子测量仪器,它采用电子检测在一段时间内输入的脉冲数,以数字形式显示的结果。单片机以其体积小、功能强、可靠性高、性价比高的特点,已成为实现工业生产技术、智能化测量和控制产品的进步和发展的一个重要手段。而现在的产品产量计数器产品大部分采用的是非接触方式,并已开发出了多种类型型号的专用测试芯片。使用以AT89C51单片机为核心,辅以各种外设控制单元的自动计数装置已成为现在自动计数应用领域的主流。但是,如何提高自动计数器的实时性、抗干扰能力、稳定性等是国内外生产研究自动计数器的主要方向。产品产量计数器是工厂流水线产品产量检测的主体,但其往往工作在高温、高噪音等极其恶劣的环境中。而以AT89C51为核心的微控制器产品系列自动计数器工作在这种环境下会经常出现误操作(单片机程序跑飞)、滥用(单片机逍遥)或进入死机(程序进入无限循环)等问题,这些问题是由于单芯片自动技术产品存在的最大缺点。本设计要求如下:(1)整个系统抗干扰能力强、稳定性高。(2)计数范围:0099。(3)每满100都会自动发出3s的报警声并亮起指示灯。(4)将计数值准确显示出来。(5)具有断电记忆功能。(6)具有自动、手动清0能力。在本次设计中,涉及到的内容包括:输入为220V输出为9V的变压器接线及工作原理、DB207桥式整流电路引脚、三端稳压芯片7805的引脚接线、掉电数据保护芯片AT24C02的工作原理、共阳极两位七段数码管SN450561K的引脚接线原理以及对射红外线检测的工作原理、单片机最小工作系统、放大电路等知识。IV1 系统的设计方案与选择方案一:如图1.1所示红外发射电路NE555红外接受电路LM567计数显示专用芯片CL102电源电路图1.1 原理框图方案一中红外发射电路NE555和红外接收电路LM567构成红外检测单元并形成计数脉冲信号,计数显示部分则使用了专用芯片CL102,该芯片是集译码、驱动、锁存、显示为一体的专用芯片。红外接受管电压比较器红外发射管单片机控制AT89C51电源供电电路L7805驱动显示器74LS245LED数码管方案二:如图1.2所示图1.2 原理框图方案二利用红外接收发射管的工作原理,即红外接收头在有红外光电阻原理分压可取基准电压,然后通过电压比较器可输出高低电平。当有红外光照射时,红外接收管串联的电阻分得的电压很大,可使电压比较器LM324输出为低电平;反之,红外接收头串联电阻分得的电压很小,可使电压比较器LM324输出为高电平,然后通过单片机控制处理,使输出精准的数值,然后通过数码管显示出来。方案三:如图1.3所示对射红外探测装置单片机控制单元AT89C51掉电数据保护芯片AT24C02电源供电电路7805LED数码管显示图1.3 原理框图方案三利用对射红外检测装置形成计数脉冲5后送入控制单元AT89C51单片机6,通过对它片内计数、显示编程。通过两位七段数码管显示出来。AT24C02是EEPROM模块,可以保存单片机运算时的中间有用结果的芯片,是突然掉电、关断电源、瞬间电源电压不稳定时,保证不会造成数据丢失或者数据误写,同时可以在上电后从中读出其保存的数据内容,大大增强了抗干扰的能力。方案四:如图1.4所示红外检测装置555定时计数器LED数码显示蜂鸣器报警模块图1.4 原理框图方案四利用红外线检测装置形成的脉冲信号对555计数器进行输入7,利用各种与非门、非门、与门形成硬件电路,使数码管显示出计数数字,由555定时器来保证蜂鸣器的延时,并提供报警信号。以上方案各有自己的优点:方案一是一个简易的产品自动计数器,成本低廉、计数准确,但是在系统处于异常状态时,工作就十分不稳定,属于产品自动计数市场上的淘汰产品,一般用在计数要求不高的场合中,这个方案太过于简单,系统稳定性不高,故不选用。方案二所涉及的知识面广,同时能达到精确、稳定自动计数的效果,但是整个系统的抗干扰力较弱,系统掉电后不能保存数据,在系统异常状态时容易出现误操作或死机,不符合该设计的要求。方案三可完美的实现产品自动计数功能,同时能让系统处于异常状态和抗干扰时通过外围专用芯片到非常好的解决,该系统外围电路架设相对简单,但是在市场上属于高端的自动计数产品。能准确计数、抗干扰性强、系统稳定、具有掉电数据记忆功能,可以说是一个完美的系统,故选此方案作为毕业设计的方案。方案四结构较为复杂,也可达到准确计数,但是系统抗干扰能力较弱,元器件较多,维修时不易检测出问题所在,不符合本设计要求,故不选择此方案。2 硬件电路的设计2.1 系统硬件电路本系统需要供应220V交流电,经过降压变压器变成9V交流电,然后经过桥式整流电路、滤波电路、稳压电路处理,变成5V直流电,供单片机、数码管、红外检测装置、发光二极管和蜂鸣器使用。当有物体经过红外线检测器,该装置提供高电平给AT89C51单片机,进行计数,并有数码管显示出来。当计数至99时,下个产品经过后,系统会自动清零,并使蜂鸣器响起3S,同时指示灯亮起,达到声光同时报警的效果,如果该系统在使用中意外断电,没关系,本系统设有掉电数据记忆装置,可在下次通电后显示出本次的统计数值,然后可进行手动清零重新开始统计,也可接着上次数据继续统计。这样就能避免一些不必要的损失,再加上该系统稳定性高、抗干扰能力强,所以采用这种计数器的流水线将会越来越多。2.2 电源供电电路图2.1 电源供电电路图如图2.1所示,电源采用220V的家庭用电,经过降压变压器降至9V交流电,然后经过整流电路整流成直流电源,再经过稳压电路、滤波电路,最后输出5V直流电,供单片机、红外检测模块、LED数码管8、蜂鸣器、发光二极管使用。2.2.1 桥式整流电路图2.2 桥式整流电路桥式整流也叫整流桥堆,桥式整流器是利用二极管的单向导通性,将四个二极管两两对接而成,当输入正弦波的正半部分时,其中两只管导通,得到正的输出,输入正弦波的负半部分时,另两只管导通,由于这两只管是反接的,所以输出还是得到正弦波的正半部分。桥式整流器是对二极管半波整流的一种改进,也是进行整流的最常用电路,常用来将交流转变成为直流电。桥式整流器对输入正弦波的利用率是半波整流的两倍。桥式整流器品种多,性能优良,整流效率高,稳定性好,最大整流电流从0.5A到50A,最高反射峰值电压从50V到1000V。而本设计中为方便采用DB207芯片代替,其特点具有一致性好、安装方便,电路模块清晰明了。2.2.2 滤波电路图2.3 滤波电路图桥式整流电路的作用是将交流电转换成直流电,但其输出的直流电中脉动成分比较大,而大多数电子设备所需直流电的脉动系数(电压或电流的幅值与平均值之比,就是脉动系数S)要求应小于0.01,所以整流输出的电压应采取一些措施,最大限度减少输出电压的交流成分,与此同时,要尽量保存输出电压中存在的直流成分,使输出电压和理想的直流电接近,这样的电路被称为直流电源中滤波电路。通常的滤波电路可分为有源滤波和无源滤波这两种类型。无源滤波的主要类型又包括电感滤波、电容滤波以及复式滤波(包括LC滤波、LCrr型滤波、倒L型,也被称为电子滤波器)。脉动系数是指直流电源中脉动成分的大小,此值越大,则滤波器的滤波效果越差。脉动系数(S)=输出电压交流分量的最大值/输出电压的直流分量。在交流电的角频率一定的情况下R越大,C2越大,脉动系数则越小,滤波效果也就越好。当R值增大时,电阻上的直流压降会增大,这样就增大了直流电源的内部损耗;如果增大C2的电容量,就会增加电容器的体积和重量,实现起来不具有竞争力。所以,我们在稳压前后都设有有滤波吸收电路,用电容器的充放电来补偿交流分量的电压波动。2.2.3 稳压电路图2.4 稳压电路及电源指示灯电路本次设计采用三端稳压芯片7805,电子产品中,常见的三端稳压集成电路芯片有负电压输出的79系列和正电压输出的78系列。顾名思义,三端IC就是指该种稳压用的集成电路,仅有三个引脚输出,分别是输入端、输出端和接地端。它的外形和普通的三极管相似,有9013样子的TO-92封装,也有TO-220的标准封装。用78/79系列的集成稳压IC构成恒压电源时需要的外部元件很少,电路内部包含有调整管、过热、过流的保护电路,使用起来方便又可靠,并且价格非常便宜。在该系列中,三端稳压IC标号的79或者78后面的字符代表该三端稳压电路的额定输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。7805最大输出电流为1.5A,在制作中如果需要输出1.5A电流以上的稳压电源时,通常采用并联N个三端集成稳压电路,这时最大的输出电流就变为1.5A的N倍,但在应用时要注意:并联使用时,三端稳压电路需采用同一批号、同一厂家的产品,来保证稳压电路参数的一致性。此外,输出电流要比工作的实际电流高出1.5A以上,这样可以避免由于个别三端稳压电路的异常而导致其他三端稳压电路连锁烧毁的发生。2.3 掉电记忆模块如图2.5 掉电记忆芯片AT24C02美国Atmel公司的AT24C02是低功耗CMOS型E2PROM,内含256*8位的存储空间,并且具有写入速度快(小于10ms),工作电压宽(2.5V5.5V),擦写次数较多(高于10000次),数据不易丢失,抗干扰能力强,体积小等优点。并且它是采用I2C总线式来进行数据读写的串行操作,只占用极少的资源和I/O线。AT24C02有一个16字节页写缓冲器,该器件通过I2C总线接口进行操作,还有一个专门的写保护功能。AT24C02A、AT24C02B由2048位串行的电可擦除可编程只读存储器(EEPROM)构成,它们组成256个字节,每个字节8位。AT24C02A提供两个电压版本:1.8V(1.85.5V),2.7V(2.75.5V);AT24C02B只提供1.8V(1.85.5V)版本。当WP引脚连接到VCC时,AT24C02A上半部被写保护,AT24C02B支持全部写保护。对新设计的产品,请尽量选用AT24C02B。A支持400KHz,B支持100KHz。A可以基本可以直接替代B,但B在高速率的读写情况下,不可以直接替代A。图2.6 AT24C02引脚图AT24C02的引脚如图2.6,各引脚功能如下:SDA:双向串行数据/地址管脚,用于器件内所有数据的接收和发送。SCL:串行时钟输入管脚,用于产生器件所有数据发送和接收的时钟。WP:写保护。当WP管脚连接到Vcc时,所有内容均被写保护,只能读。当WP管脚连接到Vss或悬空时,器件可以进行正常的读/写操作。A0、A1、A2:器件地址输入端。这些输入管脚用于多个器件级联时设置器件地址,这些引脚处于悬空时,则默认为0。使用AT24C02最多可以级联8个器件,如果仅有一个24C02芯片被总线寻址,那么该芯片的三个地址输入引脚可悬空也可连接到VSS。VCC:电源电压(5V)。VSS:电源地(GND)。AT24C02支持I2C总线数据传送协议,I2C总线协议规定:向总线传送数据的器件均称为发送器,接收器则包括从总线中接收数据的所有器件。数据传送是受所有起始停止信号的主器件和产生串行时钟的控制,无论是主器件还是从器件均可以作为接收器或发送器,但是是由主器件来控制数据发送模式还是接收模式。2.4 红外检测模块图2.7 红外检测模块电路图本次设计利用红外发射管来发射红外线9,然后让红外接收管接收该红外线,此时红外线接受管会产生低电平信号,当产品阻断红外光时,接收管接收不到红外信号,红外线接受管会产生高电平信号,同时将这个电平信号送入AT89C51单片机控制单元,通过对单片机编程实现计数,起到识别产品是否通过的作用。现在所用的光电开关大致可分为以下几类:(1)镜反射式光电开关,它是集发射器和接收器为一体,光电开关发射器射出的红外线经过反射镜反射回接收器,当被检测物体经过并且完全挡住光线时,光电开关就会产生检测开关信号。 (2)对射式光电开关10,它的发射器和接收器分别安装在被检测物体经过的路径两边并且光轴水平相对,发射器发射出的红光线将直接被接收器接受,当被检测物体经过发射器和接收器之间并阻断红外线时,该开关会产生开关信号。如果被检测的物体是不透明物体,那么对射式开关就是作为检测装置的首选。(3)槽式光电开关,本类开关一般采用标准U字型结构,它的发射器、接收器将分别安装在U型槽两侧,正常工作时将产生一光轴,在被检测的物体通过U型槽并阻挡光线时,该开关会产生开关信号。该类型光电开关常用于检测运动速度快的物体,同时它能分辨出半透明与透明的物体,使用安全可靠。(4)漫反射式光电开关,此类光电开关的集发射器和接收器是一体的,在被检测的物体通过时,被测物将把红外线发射器发出的足够多的红外线反射给接收器,这时,该开关会产生开关信号。漫反射式的光电开关主要用在被测物体表面光亮或其反光率极高的情况下。 (5)光纤式光电开关,该类型光电开关采用塑料或者玻璃光纤传感器引导光线,其优点是可以对远距离的被测物体进行检测。通常分为漫反射式和对射式。对射式光电开关的应用,主要应用于烟雾报警器、传真机、小家电、照相机、投币机、扫描仪、光碟机、DSC(数位相机)等产品。生活中对射式光电开关应用主要有:坐电梯,当有人进去时,阻碍了门两边的红外发射接收对管时,电梯门停止关闭。投币器,当有硬币进入时,阻碍了对射式光电开关的对射,机器产生了一个命令,自动洗衣服或者游戏开始的命令。打印机,当纸张推出时,阻碍了对射式光电开关的对射打印机知道到第几张纸,或者停止打印。2.5 单片机控制电路图2.8 单片机控制单元电路图AT89C51的标准功能11:4K字节FLASH闪烁存储器、128字节内部RAM、32个I/O口线、两个16位定时/计数器、一个5向量两级中断、一个全双工串行通信口、片内振荡电路,同时AT89C51可降为0HZ的静态逻辑操作,并且支持两个软件的节电工作模式。空闲方式会停止CPU的工作,但是允许定时/计数器、RAM、串行通信口及中断系统继续工作。掉电后保存ROM的内容,但是振荡器停止工作并且禁止其他部件工作直到下一个硬件的复位。AT89C51共有四十个引脚,采用双列直插式封闭,各引脚功能如下:P0P3:数据输入输出端口。P0口:一个漏极开路的8位准双向I/O端口,是漏极开路输出端口,每位可以驱动8个LS型的TTL负载。在P0口作为输入功能使用时,应先向端口锁存器(地址80H)定入全1,此刻P0口的引脚全部悬空,相当于高阻抗输入。作为输入口的功能使用时需先写我,这就是准双向的含义。P1口:P1.0P1.7,一个8位的双向I/O端口,P1口是4个端口中作用最单一的,仅仅用作输入、输出接口使用。P2口:P2.0P2.7,一个8位的双向I/O端口,P2口的作用和P0口作用基本相同:作为输入、输出接口使用;和P0口共同完成存储器扩展数据传送,主要用于扩展外部存储器的地址线高8位使用。P3口:一个内部含有上拉电阻的8位双向I/O端口,P3输出缓冲器可以驱动(输出或吸收电流方式)4个TTL输入。对端口写1时,能通过内部上拉电阻把端口拉至高电平,这时可作为输入端口。P3用作输入口使用时,因有内部的上拉电阻,所以被外部信号拉低的引脚均会输出一个电流(I)。在AT89C51中,P3口还能用于其他复用的功能,即第二功能,其第二功能如表2.1所示。表2.1 AT89C51P3口功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数0)P3.5T1(定时/计数1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST引脚是复位信号的输入端,复位信号是高电平有效,它的有效时间需持续24个振荡周期(即二个机器周期)以上,如果使用的是频率为6MHZ的晶振,则复位信号必须持续超过4s的时间,才能完成复位操作。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)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。单片机控制单元包括:单片机最小系统、复位电路、显示电路、报警电路,这些硬件电路的连接都是3基于单片机程序的编写为基础的。2.5.1 单片机最小系统图2.9 单片机最小系统电路单片机最小系统12,又称为最小应用系统,就是使单片机正常运行的前提下使用最少的元件组成的系统。对51系列单片机来说,最小系统一般至少包括:复位电路、晶振电路、单片机等部分。复位电路:由电容和电阻串联构成,由于“电容电压不能突变”的性质,可以知道,当系统上电的瞬间,RST脚将会出现高电平,并且该高电平持续的时间是根据电路的RC值决定的。一般的51单片机如果RST脚的高电平持续两个机器周期及以上将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。至于如何具体定量计算,可以参考电路分析相关书籍。复位电路又分为手动复位,上电复位和看门狗复位。上电复位:在加电瞬间电容通过充电来实现的。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。手动复位:所谓手动复位就是通过一按键开关,使单片机进入复位状态。系统在上电运行后,需要复位,通过手动来实现,一般是阻容复位和手动复位相结合。看门狗复位:看门狗(以max813为例)是一种监控单片机是否出问题和上电复位的一咱专用芯片,它在单片机上电的时候可以给出上电复位信号,当系统进行正常工作的时候,要在1.6秒之内要给出一个脉冲信号,否则看门狗就会发出一个复位信号至单片机的复位角,使单片机复位,这种操作一般在程序中处理。MAX813的各引脚功能:MR(1脚):手动复位端。如果该引脚输入的低电平持续140ms以上,MAX813就会发出复位信号,此复位信号的脉宽一般是200ms。VCC(2脚):电源端需接+5V。GND(3脚):电源负极端。PFI(4脚):电源故障输入端。如果该端接入的电压低于1.25V时,MAX813会使PFO(电源故障输出端)产生信号将高电平转为低电平。PFO(5脚):电源故障输出端。系统供电正常时,输出则为高电平,电源电压掉电或者变低时,输出电压将由高电平转为低电平。WDI(6脚):看门狗信号输入端(喂狗信号)。系统正常运行时,必须每1.6s之内向该端口输入一次信号,如果超过1.6s后,MAX813仍然收不到该信号的话,就会产生看门狗输出信号。WDO(8脚):看门狗信号输出端。在正常工作的时候输出为高电平,看门狗信号输出时,该端的输出信号将由原来的高电平转为低电平。其原理是,如果干扰信号进入系统时,常常会导致程序跑飞,而程序跑飞的根本原因是由于程序计数器PC错位引起的,在程序存储器中,指令码和存放指令的地址按照一一对应的原则,有的指令码是单字节,有的二字节,三字节是单片机中最多字节的指令,PC内容就是要执行指令码的地址,若修改了PC内容,打破单片机正常的取指操作,将导致程序非正常运行,甚至会出现致命的故障(便修改重要的数据等),为了克服这类问题,可采用看门狗监视程序辅助运行,如果程序跑飞,则看门狗就会产生复位信号,会使单片机重新返回程序,然后正常运行。晶振电路:常用的晶振频率为11.0592MHz(可以准确地得到19200波特率和9600波特率,常用于包含串口通讯的电路)/12MHz(可以精确的产生uS级时歇,定时操作较为方便)。单片机:一片AT89S51/52或其他51系列兼容单片机。特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。这一点是初学者容易忽略的。2.5.2 LED数码管显示模块图2.10 LED数码管显示模块本设计采用两位七段共阳极数码管和两个NPN来完成显示模块,而该设计中段码输出口是利用P0口作为输出口,而P0口是漏极开路,虽然有很强的灌电流能力,但拉电流能力很差,故在P0口上加一10的排阻作为上接电阻。上拉电阻的作用是,当单片机的P0口上输入为0时,上拉电阻上的电流直接流入单片机中,使数码管的段码上伤保持低电平,故在这时数码管不发光;而当单片机的P0口输出为0时,这时上拉电阻的有能使电流灌入单片机中,故排阻上的电流流入数码管中,因此这时数码管发光。 图2.11 共阴数码管原理图 图2.12 共阳数码管原理图数码管实际上就是八个发光二极管,它们以两种方式连接,如果将其阴极连接在一起,这种方式构成的数码管成为共阴数码管;如果将其阳极连接在一起,这种方式构成的数码管为共阳数码管。LED数码管的特点:(1)发光响应时间极短(0.1s),高频特性较好,单色性较好,亮度较高。(2)能在小电流、低电压条件下驱动发光,能与CMOS、TTL电路兼容。(3)体积小,重量轻,抗冲击性能好。(4)寿命长,使用天10万小时以上,甚至可达100万小时,且成本低。显示部分采用软件译码方式,所谓软件译码就是把各字符的段选码组织到一个表中,要显示某字符先查表得到其段选码,然后送往显示器的段码线。单片机应用系统中多采用软件译码的动态显示。由于多位LED数码管所有段选线都是由同一个8位I/O口控制13,因此,在每个瞬间,我位LED将显示为同样的字符,如果要让每位显示的字符不同,就必须要采用动态扫描的方法交替点亮每位LED,即在一瞬间只有某一位LED显示出字符。此刻的瞬间,段选控制I/O输出对应的字符段的选码(字型码),而位选控制14I/O口则应在该显示位输入一个选通电平(LED为共阴时,则送入低电平,LED为共阳时,则送入高电平),用来保证该位LED显示出相应的字符,轮流使每位数码管分时显示出该位应该显示的字符。位选码、段选码每送入一次后延时1ms,人类视觉的暂留时间是100ms(0.1s),因此每位数码管显示的时间间隔不必大于20ms,并且要保证延时一定时间,以便给人造成视觉的暂留效果,让人看着每位数码管都在亮,不会有闪烁的感觉。2.5.3 报警器模块图2.13 声光报警模块本设计采用声光同时报警,当系统计数到100时,系统自动清零,蜂鸣器发出3S的报警声,同时发光二极管亮起,起到声光同时报警的效果。图中三极管的作用主要是为了放大信号,使蜂鸣器的报警音量更高。半导体三极管又被称为晶体三极管,三极管在电子电路中是较为重要的元器件。它的主要作用是电流的放大和开关。 三极管顾名思义具有三个电极。二极管是由一个PN结组成的,而三极管是由两个PN结组成,共用的电极被称为基极(用字母B表示B取自英文Basic,基本(的)、基础(的),另外两个电极则称为集电极(用字母C表示C取自英文Collect,收集)和发射极(用字母E表示 E取自英文Emission,发射)。三极管最基本的作用是放大作用,它可以把微弱的电信号变为较强的信号,这种放大作用依然遵循能量守恒原则,它是将电源的能量转为信号的能量。三极管最为重要参数就是(电流放大系数)。如果在三极管的基极上加个微弱的电流,那么集电极上就可以得到一个集电极电流,它的电流是注入电流倍。集电极电流是随着基极电流的变化而变化的,并且基极电流变化很小时就可以引起集电极电流发生很大的变化,这就是三极管的电流放大作用。三极管是一种控制元件,主要用来控制电流的大小,以共发射极接法为例(信号从基极输入,从集电极输出,发射极要接地),如果基极电压UB发生微小的变化,基极电流IB也会随之发生小的变化,由于基极电流IB的控制,集电极电流IC将发生很大变化。如果基极电流IB越来越大,则集电极电流IC也越来越大,反之,如果基极电流IB越来越小,则集电极电流IC就越来越小,即集电极电流随基极电流的变化而变化。值得注意的是集电极电流的变化要比基极电流的变化远远大得多,三极管因此具有的放大作用。集电极电流IC 和基极电流IB两者的变化量之比就是三极管的放大倍数(=IC/IB, 表示变化量。),放大倍数一般介于几十到几百之间。三极管在放大信号时,首先要进入导通状态,即要先建立合适的静态工作点,也叫 建立偏置 ,否则会放大失真。蜂鸣器是一种采用直流电压供电一体化结构的电子讯响器,广泛应用于计算机、电子玩具、复印机、汽车电子设备、打印机、电话机、报警器、定时器等电子产品中用作发声的元器件。蜂鸣器主要分为电磁式蜂鸣器和压电式蜂鸣器两种类型。(1)电磁式蜂鸣器电磁式蜂鸣器由磁铁、电磁线圈、振动膜片、振荡器、外壳等部分组装而成。在接通电源时,振荡器所产生信号的电流将通过电磁线圈,从而使电磁线圈产生一个磁场。振动膜片在电磁线圈和磁铁的共同作用下,会发生周期性地振动,从而发声。(2)压电式蜂鸣器压电式蜂鸣器主要由压电蜂鸣片、阻抗匹配器及共鸣箱、多谐振荡器、外壳等部分组装而成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器是由集成电路或晶体管组成。当蜂鸣器接通电源后(1.515V直流工作电压),多谐振荡器就会起振,然后输出介于1.5kHZ和2.5kHZ之间的音频信号,同时阻抗匹配器将会推动压电蜂鸣片发出声音。压电蜂鸣片一般是由铌镁酸铅或者锆钛酸铅压电陶瓷材料制作而成。需要在陶瓷片两面均镀上银电极,然后经过极化和老化处理,再和不锈钢片或者黄铜片粘在一起。3 系统程序设计3.1 程序流程图开始系统初始化外部中断入口计数单元加1判断是否到100计数单元清0报警单元发出3S的报警提示退出YN图3.1 程序流程图3.2 程序设计根据程序流程图,编写以下程序15,以达到该系统的要求,具体程序如下:#include#include#define uchar unsigned char #define uint unsigned int#define ulong unsigned long/*24CXX掉电忘记*sbit SDA = P16; /位定义sbit SCL = P15; /位定义#define OP_READ 0xa1 / 器件地址以及读取操作#define OP_WRITE 0xa0 / 器件地址以及写入操作void start();/开始位void stop();/停止位uchar shin();/从AT24C02移入数据到MCUbit shout(uchar write_data);/从MCU移出数据到AT24C02void write_byte( uchar addr, uchar write_data); /在指定地址addr处写入数据write_datavoid fill_byte(uchar fill_size,uchar fill_data);/填充数据fill_data到EEPROM内fill_size字节void delayms(uchar ms); / 延时子程序uchar read_current(); / 在当前地址读取uchar read_random(uchar random_addr);/ 在指定地址读取void readdata();uchar count=0;/计数变量uchar time=0; /报警延时变量uchar code Tab=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;sbit W1=P20; /数码管位驱动sbit W2=P21; /数码管位驱动sbit bell=P22; /蜂鸣器sbit LED=P23; /指示灯sbit IN=P35; /*sbit clear=P10; /清除void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=120;y0;y-);/*键盘程序*/void key_scan(void) /数据手动清除if(clear=0) delay(20); if(clear=0) while(clear=0); count=0;write_byte(0x20, count); /*显示子程序*void display() P0=Tabcount/10%10; W1=0;delay(1);W1=1; P0=Tabcount%10; W2=0;delay(1);W2=1; /*void main() uint i; readdata();delay(50); TMOD=0x50;TH1=0xFF; / 计数TL1=0xFF;ET1=1;TR1=1;EA=1; while(1) for(i=0;i0) time-; else LED=1; bell=1; /*计数中断函数*/void t0() interrupt 3 / TMOD=0x50; TH1=0xFF; / 计数 TL1=0xFF; display();display();display();display();display();display();display();display(); display();display();display();display();display();display();display();display(); count+; if(count=100) count=0; time=6;LED=0;bell=0; write_byte(0x20, count); ET1=1;TR1=1;/*读取上一次断电前数据*void readdata() count=read_random(0x20);/读取断电前计数值void start()/开始位SDA = 1;SCL = 1;_nop_();_nop_();SDA = 0;_nop_();_nop_();_nop_();_nop_();SCL = 0;void stop()/ 停止位SDA = 0;_nop_();_nop_();SCL = 1;_nop_();_nop_();_nop_();_nop_();SDA = 1;uchar shin()/ 从AT24C02移入数据到MCUuchar i,read_data;for(i = 0; i 8; i+)SCL = 1;read_data = 1;read_data |= (uchar)SDA;SCL = 0;return(read_data);bit shout(uchar write_data)/ 从MCU移出数据到AT24C02uchar i;bit ack_bit;for(i = 0; i 8; i+) / 循环移入8个位SDA = (bit)(write_data & 0x80);_nop_();SCL = 1;_nop_();_nop_();SCL = 0;write_data = 1;SDA = 1; / 读取应答_nop_();_nop_();SCL = 1;_nop_();_nop_();_nop_();_nop_();ack_bit = SDA;SCL = 0;return ack_bit; / 返回AT24C02应答位void write_byte(uchar addr, uchar write_data)/ 在指定地址addr处写入数据write_datastart();shout(OP_WRITE);shout(addr);shout(write_data);stop();delay(10); / 写入周期void fill_byte(uchar fill_size,uchar fill_data)/ 填充数据fill_data到EEPROM内fill_size字节uchar i;for(i = 0; i fill_size; i+)write_byte(i, fill_data);uchar read_current()/ 在当前地址读取uchar read_data;start();shout(OP_READ);read_data = shin();stop();return read_data;uchar read_random(uchar random_addr)/ 在指定地址读取start();shout(

温馨提示

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

最新文档

评论

0/150

提交评论