课程设计ADC0808设计的调温报警器.docx

上传人:b****1 文档编号:23026982 上传时间:2023-04-30 格式:DOCX 页数:16 大小:954.53KB
下载 相关 举报
课程设计ADC0808设计的调温报警器.docx_第1页
第1页 / 共16页
课程设计ADC0808设计的调温报警器.docx_第2页
第2页 / 共16页
课程设计ADC0808设计的调温报警器.docx_第3页
第3页 / 共16页
课程设计ADC0808设计的调温报警器.docx_第4页
第4页 / 共16页
课程设计ADC0808设计的调温报警器.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

课程设计ADC0808设计的调温报警器.docx

《课程设计ADC0808设计的调温报警器.docx》由会员分享,可在线阅读,更多相关《课程设计ADC0808设计的调温报警器.docx(16页珍藏版)》请在冰豆网上搜索。

课程设计ADC0808设计的调温报警器.docx

课程设计ADC0808设计的调温报警器

课程设计-ADC0808设计的调温报警器

课程设计Ⅳ设计报告书

 

用ADC0808设计的调温报警器

姓名:

班级:

学号:

指导老师:

时间:

 

不及待需要检测与控制温度。

温度控制电路杂工农业生产中有着广泛的应用。

采用单片机来对他们进行监控不仅具有监控方便,简单灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。

因而,单片机对温度的监控问题是一个工业生产中经常会遇到的监控问题。

现代社会是信息化社会,随着安全化程度的日益提高,而通过温度报警器及时报警,避免不必要的损失。

2系统设计

2.1设计任务与要求

2.1.1设计任务

(1)设计一款基于AT89C51单片机的温度报警器。

利用可调电阻调节电压作为模拟温度的输入量,当温度低于60℃时,扬声器发出报警和绿光报警,当温度高于160℃时,发出报警和红光报警。

测量的温度范围在0——250℃,并能实时显示当前温度值。

(2)用计算机绘制所有的电路图。

3温度报警器硬件设计

3,1用ADC0808作为温度调节器,当调节温度﹤60℃或﹥160℃时报警灯闪烁,且发出不同频率的声音。

本实训电路原理图如下:

元器件:

7SEG-MPX4-CC-BLUE(7段4位共阴极LED数码管)、ADC0808(8位模/数转换器)、AT89C51(单片机)、CAP(瓷片电容)、CAP-ELEC(电解电容)、CRYSTAL(晶体振荡器)、LED-YELLOW(发光二极管)、POT-HG(高精度电位计)、RES(电阻)、RESPACK-8(带公共端得8路电阻)、SOUNDER(发声器)

编写数码管温度显示子程序:

13H存放温度个位显示码;12H存放温度十位显示码;11H存放温度百位显示码,根据下列流程图写出显示子程序

 

3.2D/A转换模块

D/A转换模块如图5所示,由数模转换器DAC0808和运放TL082构成。

DAC0808芯片是一个8位D/A转换器,有8个数码输入端,1个模拟输出端,能将控制电路输出的8位二进制数字量转换成模拟量的输出。

P2口与DAC0808的输入端相连,通过D/A转换电路将输入的数字量转为模拟量,通过TL082运算放大器输出实际的电电压表读出。

DAC0808引脚图如图6所示。

DAC0808各引脚功能如表1所示。

图6DAC0808引脚图

DAC0808的COMP引脚的作用为通过调节外接电阻,以达到改善放大器的性能和输出电压。

运放输出电压为

(1)

式中,VREF为外接参考电压,D7~DO为8位输入数字量。

当输入数字量在00000000~11111111之间变化时,其对应的输出模拟电压U1在0~-VREF之间,电压分辨率为:

△V=5V/(28-1)=19.6mV。

表1DAC0808的引脚功能

引脚

功能

引脚

功能

D7-D0

8根数据输入线,D7为最高位

COMP

补偿端

IO

电流输出线(由外向内流)

VLC

阈值控制输入端

VREF(+)、VREF(-)

参考电压输入端

IN-

反相输入端

VCC、VSS

电源输入端

IN+

同相输入端

GND

模拟地

Io

输出端

VCC-、VCC+

正负电源供应端

3.3数码管显示模块

数码显示模块电路如图8所示。

显示部分选用的是7seg-mpx2-cc两片7段共阴数码管。

单片机的P00~P07分别接数码管的A~DP口,P20、P21分别接数码管1、2接口,分别控制第一片和第二片的暗亮。

外加上拉电阻加强驱动能力,使数码管更亮。

图8数码管显示电路

3.5硬件元件清单

系统元器件清单见表2。

表2系统元器件清单

器件

数量

器件

数量

ADC0808

1

TL082

1

LED

2

DAC0808

1

7seg-mpx2-cc

1

电容(220n)

1

排阻(4.7k)

1

电容(33p)

2

电阻(5k)

3

数字电压表

1

晶振器

1

电阻(1k)

1

电容(10uF)

1

开关

1

4软件设计与仿真

本系统程序包括主程序、发送数据子程序、接收命令子程序等。

主程序用于系统初始化,子程序调度等。

\。

发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。

发送数据子程序用于将数据发给单片机接口。

接收命令子程序用于接收单片机接口发来的键盘命令。

4.1主程序设计

主程序通过控制程序来判断控制报警子程序和发声子程序。

主程序流程图如图9所示。

图9主程序流程图、

4.2显示子程序流程图

4.3报警子程序流程图:

4.4SOUNDER扬声器发声子程序流程图

4.5源程序

、#include

#include

#defineADC_VREF_TYPE0xe0  //选用2.56V的片内基准电压源,且结果为左对齐

#defineAD_SE_ADC00x00  //ADC0

unsignedcharTable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //数码管字型0~9

unsignedcharData[4]={0,0,0,0};          //存放A/D转换结果

unsignedlonginti,j=2560,k=256;

voidport_init(void)

{

PORTA=0x01;

DDRA=0x00;

PORTB=0xFF;

DDRB=0xFF;

PORTC=0x0F;//m103outputonly

DDRC=0x0F;

PORTD=0x00;

DDRD=0x00;

}

//ADCinitialize

//Conversiontime:

112uS

voidadc_init(void)

{

ADCSR=0x00;//disableadc

ADMUX=0x00;//selectadcinput0

ACSR=0x80;

ADCSR=0x86;

}

//callthisroutinetoinitializeallperipherals

voidinit_devices(void)

{

//stoperrantinterruptsuntilsetup

CLI();//disableallinterrupts

port_init();

adc_init();

MCUCR=0x00;

GICR=0x00;

TIMSK=0x00;//timerinterruptsources

SEI();//re-enableinterrupts

//allperipheralsarenowinitialized

}

voiddelay_(unsignedchara)

{unsignedinti;

for(i=0;i

}

voidDisplay(unsignedcharp[])  //动态显示,

{

unsignedchari;

for(i=0;i<4;i++)

{

PORTD=0x01<

PORTB=Table[p[i]];

delay_(5);

PORTD&=(~0x01<

}

}

unsignedintread_adc(unsignedcharadc_input)  //读取A/D转换结果

{

ADMUX=adc_input|ADC_VREF_TYPE;  

ADCSRA|=0x40;      //启动A/D转换

while((ADCSRA&0x10)==0);  //等待A/D转换完成

ADCSRA|=0x10;

returnADCH;

}

voidProcess(unsignedinti,unsignedchar*p)  //数据处理函数

{

p[0]=i/1000;

i=i%1000;

p[1]=i/100;

i=i%100;

p[2]=i/10;

i=i%10;

p[3]=i;

}

voidmain(void)

{

init_devices();

DDRA=0x00;  //设置A口为不带上拉输入;

PORTA=0x00;

DDRB=0xff;  //设置B口为输出口;

DDRD=0xff;  //设置D口为输出口;

PORTB=0x3f;  //B口初始化输出0;D口初始化输出1;点亮全部数码管;

PORTD=0xff;

ADMUX=ADC_VREF_TYPE;  //选择第一通道ADC0;

ADCSRA=0xA6;  //125k转换速率,自由转换模式;启动A/D转换;

delay_(1000);  //延时待系统稳定;

while

(1)

{

i=read_adc(AD_SE_ADC0);  //获取A/D转换数据

i=(i*j)/k;

Process(i,Data);  //数据处理  

Display(Data);  //显示结果

delay_(5);

}

}

4.6仿真软件简介

Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:

(1)实现了单片机仿真和SPICE电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

(2)支持主流单片机系统的仿真。

目前支持的单片机类型有:

ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。

(3)提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2、MPLAB等软件。

(4)具有强大的原理图绘制功能。

总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件、部分IIC器件等)。

软件编译采用KEILC51软件,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

4.7系统调试

在调试过程中主要是对程序的修改,特别是显示子程序。

开始时,调整输入,看数码显示的数值,改变电阻值即改变温度,看数码显示的数值是否正确。

在看扬声器发声时的温度值是否和实验设定的相符,还要检测发光二极管的发光情况。

结束语

这种温度报警器结构简单。

工作时,温度测量范围为0——250℃。

当温度达到预定值时,立刻发出报警信号,从而防止因温度升高或过低带来的不必要的损失。

通过本次课程设计,又使我学到了许多书本上无法学到的知识,也深刻体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。

在做本次课程设计的过程中,我感触最深的当属查阅了大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的设计资料是十方必要的,同时是必不可少的。

其次,我学会了在网络中查找有关的各硬件的资源,为本次课程设计提供一定的资料。

 

参考文献

[1]王幸之钟爱琴.AT89系列单片机原理与接口技术[M].北京:

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

[2]谭浩强.C程序设计(第二版)[M].北京:

清华大学出版社,1999.

[3]赵亮.单片机C语音编程与实例[M].北京:

人民邮出版社,2004.

[4]房小翠、王金凤.单片机实用系统设计技术[M].北京:

国防工业出版社,1999.

[5]康华光.电子技术基础数字部分(第四版)[M].北京:

高等教育出版社,1998.

[6]张毅刚.单片机原理及应用[M].北京:

高等教育出版社,2003.

[7]李广第,朱月秀,王秀山.单片机基础[M].北京:

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

[8]杨振江.A/D、D/A转换器接口技术与实用电路[M].西安:

西安电子科技大学出版社.

[9]梅笙,李玮.基于AT89C52控制的数控直流电流源的设计[J].电子测试,2007

(2):

19-23.

[10]张鑫.单片机原理及应用[M].电子工业出版社,2005.

[11]MatthewR,RobinT.Microprocessorcontrolledpowersupply[J].ElectronicWorldWirelessWorld,1994,95(1639):

524~527.

[12]KuoBC.Automaticcontrolsystem[M].3thed.NewJersy PrenticeHall,1975.

 

行政班级:

学号:

姓名:

课程论文题目:

用ADC0808设计的调温报警器

设计要求:

设计一款基于AT89C51单片机的温度报警器。

利用可调电阻调节电压作为模拟温度的输入量,当温度低于60℃时,扬声器发出报警和绿光报警,当温度高于160℃时,发出报警和红光报警。

测量的温度范围在0——250℃,并能实时显示当前温度值。

教师评语:

 

教师签字:

年月日

选课班级:

任课教师:

成绩:

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

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1