为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

LED电子生日蜡烛实验报告

2017-09-07 19页 doc 177KB 208阅读

用户头像

is_106782

暂无简介

举报
LED电子生日蜡烛实验报告综合实验报告 课题名称,LED电子生日蜡烛 学院,机械与汽车工程 姓名,王少君 班级,测控091 1 引言 21世纪是一个变幻莫测的世纪,是一个催人奋进的时代.科学技术的飞速发展,知识更新日新月异.希望,困惑,机遇,挑战,随时随地都有可能出现在每一个社会成员的生活之中.抓住机遇,寻求发展,迎接挑战,适应变化的制胜法宝就是学习一门科学技术。随着IT信息时代的到来,也带动了电子产业高速的发展。 目前,电子信息技术已成为我国国民经济不可或缺的支柱产业的一部分,电子信息在社会的应用和普及率已被国际社会作为衡量一个国家智能化...
LED电子生日蜡烛实验报告
综合实验 课题名称,LED电子生日蜡烛 学院,机械与汽车工程 姓名,王少君 班级,测控091 1 引言 21世纪是一个变幻莫测的世纪,是一个催人奋进的时代.科学技术的飞速发展,知识更新日新月异.希望,困惑,机遇,挑战,随时随地都有可能出现在每一个社会成员的生活之中.抓住机遇,寻求发展,迎接挑战,适应变化的制胜法宝就是学习一门科学技术。随着IT信息时代的到来,也带动了电子产业高速的发展。 目前,电子信息技术已成为我国国民经济不可或缺的支柱产业的一部分,电子信息在社会的应用和普及率已被国际社会作为衡量一个国家智能化,数字化,网络化的重要标志。 2 目录 一、要求..................................................................4 二、元件清单..................................................................4 三、硬件设计 ................................................................4 3.1、AT89C51简介........................................................4 3.2、发光二极管.............................................................7 3.3、覆铜板.....................................................................9 3.4、 温度传感器ds18b20..............................................9 四(电路设计..................................................................9 4.1、时钟电路.................................................................10 4.2、复位电路.................................................................10 4.3、整体电路和PCB电路板.......................................11 五、程序清单..................................................................13 六、小结.........................................................................18 七、参考文献.................................................................19 3 一、设计要求 这个电路产生了一套基于LED的电子生日蜡烛。这种蜡烛与吹灭蜡制蜡烛一样具有相同的乐趣,并且它是可重复利用的,可改进的以及环保的。该电路采用一个热传感器使温度高于周围的温度。当你对传感器吹气时,其电阻发生了改变。电路探测到这种改变后会关闭八个LED。当你停止吹气时,除了一个外所有的LED都会亮起。你每吹过一次传感器就会进行一个这样的循环,直到八次后所有的LED关闭。 二、元件清单 电阻:0.5K*8,10K*1,1K*1 电容:22pF*2,20uF*1 晶振:12MHZ*1 单片机:STC89C52RC*1 发光二极管:红色*8 温度传感器:ds18b20*1 复位开关:1*1 三、硬件设计 3.1、AT89C51简介 AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的。外形及引脚排列如图所示 4 主要特性: ?与MCS-51 兼容 ?4K字节可编程FLASH存储器 ?寿命:1000写/擦循环 ?数据保留时间:10年 ?全静态工作:0Hz-24MHz ?三级程序存储器锁定 ?128×8位内部RAM ?32可编程I/O线 ?两个16位定时器/计数器 ?5个中断源 ?可编程串行通道 ?低功耗的闲置和掉电模式 ?片内振荡器和时钟电路 特性概述: AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 5 管脚: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 6 机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 3.2、发光二级管 发光二极管简称LED,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现,因此而发光。 发光二极管在制作时,使用的材料有所不同,那么就可以发出不同颜色的光。发光二极管的发光颜色有:红色光、黄色光、绿色光、红外光等。 发光二极管的外形有:圆形、长方形、三角形、正方形、组合形、特殊形等。常用的发光二极管应用电路有四种,即直流驱动电路、交流驱动电路、脉冲驱动电路、变色发光驱动电路。 7 使用LED作指示电路时,应该串接限流电阻,该电阻的阻值大小应根据不同的使用电压和LED所需工作电流来选择。发光二极管的压降一般为1.5~2.0 V,其工作电流一般取10~20 mA为宜。发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算:R,(E,UF),IF 特性: 与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低(有的仅一点几伏);工作电流很小(有的仅零点几毫安即可发光);抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。把它的管心做成条状,用7条条状的发光管组成7段式半导体数码管,每个数码管可显示0,9十个数目字。 单向导电性:发光二极管的两根引线中较长的一根为正极,应按电源正极。有的发光二极管的两根引线一样长,但管壳上有一凸起的小舌,靠近小舌的引线是正极。 发光原理:发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。 当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。 8 3.3、覆铜板 覆铜板-----又名基材。将补强材料浸以树脂,一面或两面覆以铜箔,经热压而成的一种板状材料,称为覆铜箔层压板。 它是做PCB的基本材料,常叫基材。 当它用于多层板生产时,也叫芯板(CORE) 3.4、温度传感器DS18B20 DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式, 螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 四、电路设计 要使单片机工作起来,最基本的电路的构成为:单片机|、电源、时钟电路、复位电路。 9 4.1、时钟电路 时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的 33MHz。电路如下: 执行速度。AT89S51单片机时钟频率范围:0 — 时钟电路 4.2、复位电路 复位电路产生复位信号,使单片机从固定的起始状态开始工作,完成单片机的“启机”过程。AT89S51单片机复位信号是高电平有效,通过RST/VPD(9脚)输入。电路如下: 10 复位电路 4.3 整体电路图和PCB电路板 LED电子生日蜡烛的整体电路图如下, 11 PCB电路板如下, 12 五、程序清单 #include #define uchar unsigned char #define uint unsigned int void delay(uchar ); void extinguish(); uchar get_rel_t(); sbit DQ=P3^3; sbit we=P2^7; sbit du=P2^6; //ds18b20与单片机连接口 unsigned char code str[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x39,0x00};//共阴数 码管字码表 //unsigned char code str[]={ 0xc0,0xf9,0xa4,0xb0, // 0x99,0x92,0x82,0xf8,//共阳极数码管编码 // 0x80,0x90,0x88,0x83, // 0xcb,0xa1,0x84,0x8e, // 0xbf,0x7f,0xff}; //数值‘'0,F' '-' '熄灭' //unsigned char code str1[]={ 0x40,0x79,0x24,0x30, //共阳极数码 管编码,带点 // 0x19,0x12,0x02,0x78, // 0x00,0x10,0x08,0x03, // 0x46,0x21,0x06,0x0e}; unsigned char code wei[]={0xf7,0xfb,0xfd,0xfe}; uchar code dat[]={ 0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; uchar data disdata[5]; uchar top_t=25; uchar rel_t; uchar add=0; uchar m=0; uchar s=0; uint tvalue;//温度值 uchar tflag;//温度正负标志 /*************************ds1820程序*************************/ void delay_18B20(unsigned int i)//延时1微秒 us { while(i--); 13 } void ds1820rst()/*ds1820复位*/ { unsigned char x=0; DQ = 1; //DQ复位 delay_18B20(4); //延时 DQ = 0; //DQ拉低 delay_18B20(100); //精确延时大于480us DQ = 1; //拉高 delay_18B20(40); } uchar ds1820rd()/*读数据*/ { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ= 0; //给脉冲信号 dat>>=1; DQ = 1; //给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); } return(dat); } void ds1820wr(uchar wdata)/*写数据*/ { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata>>=1; } } read_temp()/*读取温度值并转换*/ {uchar a,b; 14 ds1820rst(); ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0x44);//*启动温度转换*/ ds1820rst(); ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0xbe);//*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else { tvalue=~tvalue+1; tflag=1; } tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数 return(tvalue); } /*******************************************************************/ void ds1820disp()//温度值显示 { uchar j; uchar flagdat; disdata[3]=tvalue/1000;//百位数 disdata[2]=tvalue%1000/100;//十位数 disdata[1]=tvalue%100/10;//个位数 disdata[0]=tvalue%10;//小数位 if(tflag==0) flagdat=0x20;//正温度不显示符号 else flagdat=0x2d;//负温度显示负号:- if(disdata[3]==0) { disdata[3]=11; //如果百位为0,不显示 if(disdata[2]==0) disdata[2]=11;//如果百位为0,十位为0也不显示 } for(j=0;j<=3;j++) 15 { we=1; P0=wei[j]; we=0; du=1; if(j==1) P0=str[disdata[j]]|0x80; else P0=str[disdata[j]]; du=0; delay(5); } } void delay(uchar z) { uchar x,y; for(x=z;x>0;x--) for(y=123;y>0;y--); } /********************主程序**********************/ void main() { P1=0x00; ds1820rst();//初始化显示 while(1) { read_temp();//读取温度 ds1820disp();//显示 if(get_rel_t()
/
本文档为【LED电子生日蜡烛实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索