205电子系统实践报告.docx

上传人:b****5 文档编号:8787268 上传时间:2023-05-15 格式:DOCX 页数:12 大小:66.95KB
下载 相关 举报
205电子系统实践报告.docx_第1页
第1页 / 共12页
205电子系统实践报告.docx_第2页
第2页 / 共12页
205电子系统实践报告.docx_第3页
第3页 / 共12页
205电子系统实践报告.docx_第4页
第4页 / 共12页
205电子系统实践报告.docx_第5页
第5页 / 共12页
205电子系统实践报告.docx_第6页
第6页 / 共12页
205电子系统实践报告.docx_第7页
第7页 / 共12页
205电子系统实践报告.docx_第8页
第8页 / 共12页
205电子系统实践报告.docx_第9页
第9页 / 共12页
205电子系统实践报告.docx_第10页
第10页 / 共12页
205电子系统实践报告.docx_第11页
第11页 / 共12页
205电子系统实践报告.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

205电子系统实践报告.docx

《205电子系统实践报告.docx》由会员分享,可在线阅读,更多相关《205电子系统实践报告.docx(12页珍藏版)》请在冰点文库上搜索。

205电子系统实践报告.docx

205电子系统实践报告

XX大学XX学院

电子系统实践报告

 

系别:

专业:

班级:

姓名:

学号:

一、摘要:

本实践教学环节是应用已经学过的单片机知识、智能仪器原理、电子系统设计理论、相关编程技术以及相关仿真软件等知识,设计一个简单的电子应用系统——多路温度传感器。

数字式多路温度采集系统由主控制器、温度采集电路、温度显示电路、报警控制电路及键盘输入控制电路组成。

二、关键词:

单片机、温度传感器、80C51、DS18B20、1602LCD

三、系统总体设计及方案

⑴设计题目、内容、要求

设计题目:

简单的数据采集系统。

设计内容:

设计一个多路温度采集系统,基本要求为至少采集3路温度信号(采用DS18B20温度传感器),采集的数据系统自动存储并显示,采用数1602LCD显示屏显示多路采集的结果。

设计要求:

1.采集的温度数据精确到小数点一位,如:

23.5℃

2.LCD上实时显示多路的采集结果,至少3路;

3.外扩按键,可以设置采集温度的上、下界限,当检测到温度超过此界限时,系统会自动进行声光报警等。

4.设计过程可先通过PROTEUS仿真软件对系统进行软硬件设计及仿真,再进行实物制作。

⑵系统原理及基本框图

系统基本流程图1-1

(AT89C51)

多路温度采集(DS18B20)

温度显示器(LED)

输入控制电路(按键)

报警控制电路(蜂鸣器)

如图1-1所示,采用智能温度传感器(DS18B20)采集环境温度并进行简单的模数转换;单片机(AT89C51)执行程序对温度传感器传输的数据进行进一步的分析处理,转换成环境对应的温度值,通过I/O口输出到数码显示管(LED)显示;由键盘输入控制选择某采集电路检测温度及显示;报警电路对设定的最高最低报警温度进行监控报警。

⑶方案说明

温度采样处理电路由温度传感器、放大电路、A/D转换电路等组成。

采用分块结构的温度采样处理电路,其硬件电路结构复杂,也不便于数据的处理。

采用智能温度传感器采样处理电路,能够方便的进行温度的采集及简单的数据处理。

并且可以达到设计的技术指标要求。

本系统选择智能温度传感器DS18B20作为温度采集电路的核心器件。

由DS18B20及辅助电路构成温度采集电路。

⑷方案论证

1、显示部分

YB1602A是一种字符型液晶模块。

共可以显示2行×16个字符,每个字符是由5×8

点阵组成的字符块集。

字符型液晶显示模块由字符型液晶显示屏(LCD),控制驱动主芯片SPLC780C及其扩展驱动芯片SPLC1OO,配以少量外围阻﹑容元件结构件等装配在PCB板上而成。

YB1602A采用COB工艺制作,结构稳定,使用寿命长。

YB1602A应用于智能仪器仪表﹑通讯﹑办公自动化以及军工领域。

具体引脚接法:

第1脚:

VSS为地电源,第2脚:

VDD接5V正电源,第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度(建议接地,弄不好有的模块会不显示),第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15~16脚:

空脚(有的用来接背光)

2、温度转换部分

温度采样处理电路由温度传感器、放大电路、A/D转换电路等组成。

采用分块结构的温度采样处理电路,其硬件电路结构复杂,也不便于数据的处理。

采用智能温度传感器采样处理电路,能够方便的进行温度的采集及简单的数据处理。

并且可以达到设计的技术指标要求。

本系统选择智能温度传感器DS18B20作为温度采集电路的核心器件。

由DS18B20及辅助电路构成温度采集电路。

3、报警部分

(1)报警控制电路采用压电式蜂鸣器作发声体,用三极管对蜂鸣器发声进行控制。

报警控制电路由单片机AT89C51的P3.5口作输出,通过一个限流电阻与三极管C945的基极相连接。

三极管C945集电极连接电源。

三极管C945射电极接蜂鸣器(BUZZER)的一端。

报警控制信号由单片机AT89C51的P3.5端输出,通过一个限流电阻加到三极管C945的基极。

当P3.5端的输出信号发生变化时,则三极管C945将交替的工作于截止、饱和状态,形成高低电平的波,从而使压电蜂鸣器发出声音。

(2)使用两个发光二极管作为上限和下限的报警。

四、芯片介绍

(1)DS18B20

DS18B20供电方式

外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。

在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证测量精度。

所以本系统采用外部电源供电方式。

在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上可以挂接任意多个DS18B20传感器,组成多点测温系统。

外部电源供电方式如图7所示。

在外部供电方式下,DS18B20的GND引脚必须接地,不能悬空,否则不能转换温度,读取的温度总是85℃。

DS18B20外部电源供电图

(2)80C51

单片机的40个引脚大致可分为4类:

电源、时钟、控制和I/O引脚

    P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写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)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口

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)。

 五、设计总结

通过这次电子系统实践,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

这次实习让我受益匪浅,无论从知识上还是其他的各个方面。

上课的时候的学习从来没有接触过真正的单片机,只是从理论的角度去理解枯燥乏味。

但在实习中模拟使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。

在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会相互讨论或者帮助。

团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。

单片机是很重要的一门课程,尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。

 

附录

主程序:

#include

#include"lcd1602.h"

#include"ds18b20.h"

#include"ds18b20_2.h"

#include"ds18b20_3.h"

#defineucharunsignedchar

#defineuintunsignedint

#defineTIMER0_COUNT0xEE11

sbitSPK=P3^5;

sbitLED1=P3^6;

sbitLED2=P3^7;

sbitup=P2^7;

sbitdown=P2^6;

ucharA7,A8;

bitflag;

uintwendu,w;

uintwendu1;

uintwendu2;

ucharcount,timer0_tick,count=0;

staticvoidtimer0_initialize(void)

{

EA=0;

timer0_tick=0;

TR0=0;

TMOD=0X01;

TL0=(TIMER0_COUNT&0X00FF);

TH0=(TIMER0_COUNT>>8);

PT1=1;

ET0=1;

TR0=1;

EA=1;

}

voiddisplay_temp()

{

ucharA1,A2;

ucharA3,A4;

ucharA5,A6;

tmpchange();

wendu=tmp();

A1=wendu/10;

A2=wendu%10;

gotoxy(1,1);

display_data(A1);

display_string(".");

write_date(int_to_char[A2]);

tmpchange2();

wendu1=tmp2();

A3=wendu1/10;

A4=wendu1%10;

gotoxy(2,1);

display_data(A3);

display_string(".");

write_date(int_to_char[A4]);

tmpchange3();

wendu2=tmp3();

A5=wendu2/10;

A6=wendu2%10;

gotoxy(1,7);

display_data(A5);

display_string(".");

write_date(int_to_char[A6]);

}

voidtimer0(void)interrupt1

{

TR0=0;

TL0=(TIMER0_COUNT&0X00FF);//设置Timer0低八位数值

TH0=(TIMER0_COUNT>>8);//设置Timer0高八位数值

TR0=1;

count++;

if(count==10)display_temp();

}

voidkey()

{

if(up==0)

{

delay(1000);

if(up==0)

{

w++;

A7=w/10;

A8=w%10;

gotoxy(2,12);

display_data(A7);

display_string(".");

write_date(int_to_char[A8]);

}

}

if(down==0)

{

delay(1000);

if(down==0)

{

w--;

A7=w/10;

A8=w%10;

gotoxy(2,12);

display_data(A7);

display_string(".");

write_date(int_to_char[A8]);

}

}

}

voidmain()

{

init_lcd();

w=310;

timer0_initialize();

gotoxy(1,1);

display_string("00.0C");

gotoxy(2,1);

display_string("00.0C");

while

(1)

{

key();

if((wendu>w)||(wendu1>w)||(wendu2>w))

{

SPK=~SPK;

LED1=~LED1;

delay(30);

}

elseif((wendu<260)||(wendu1<260)||(wendu2<260))

{

SPK=~SPK;

delay(20);

LED2=~LED2;

}

}

}

仿真图

参考文献

[1]徐爱钧.《智能化测量控制仪表原理与设计》(第二版)[M].北京:

北京航空航天大学出版社,2004.

[2]吴金戌,沈庆阳,郭庭吉.《8051单片机实践与应用》[M].北京:

清华大学出版社,2002.

[3]张国勋,《缩短ICL7135A/D采样程序时间的一种方法》[J].《电子技术应用》,1993,第一期.

[4]康华光.电子技术基础(模拟部分)[M].北京:

高等教育出版社,1999:

444、446、455.

[5]周航慈.单片机程序设计基础[M].北京:

北京航空航天大学出版社,2003.

[6]胡健.单片机原理及接口技术实践教程[M].北京:

机械工业出版社,2004.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2