205电子系统实践报告.docx
《205电子系统实践报告.docx》由会员分享,可在线阅读,更多相关《205电子系统实践报告.docx(12页珍藏版)》请在冰点文库上搜索。
![205电子系统实践报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/15/0b3b6a38-99d9-4414-8491-c93d66365476/0b3b6a38-99d9-4414-8491-c93d663654761.gif)
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.