用ADC0808设计的调温报警器.doc_第1页
用ADC0808设计的调温报警器.doc_第2页
用ADC0808设计的调温报警器.doc_第3页
用ADC0808设计的调温报警器.doc_第4页
用ADC0808设计的调温报警器.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

课程设计设计报告书用ADC0808设计的调温报警器姓名: 班级: 学号: 指导老师: 时间: 目 录内容摘要1关键词11绪论12 系统设计12.1 设计任务与要求13 系统硬件设计53.1原理图63.2 D/A转换模块73.3数码显示模块73.4硬件元件清单94软件设计与仿真104.1主程序设计114.2显示子程序流程图114.3报警子程序流程图134.4 SOUNDER扬声器发声子程序流程图144.5程序清单144.6 程序调试15结束语16参考文献17内容摘要: 本文从硬件和软件两方面介绍了基于AT89C51单片机的温度报警系统的设计思路,对硬件原理图和程序框图作了简介的描述。系统选用ADC0808转换器,仿真时利用可调电阻调节电压进行温度的输入量模拟,当温度低于60时,扬声器发出报警和绿光报警,当温度高于160时发出报警和发出红光报警。测量范围在0250,并能实时显示当前温度值。关键词:AT89C51单片机,DAC0808 稳压电源 发光报警 1绪论 温度是一个十分重要的物理量,对它的测量与控制又十分重要的意义。随着现代化工农业技术的发展及人们对生活环境要求的提高,人们迫不及待需要检测与控制温度。温度控制电路杂工农业生产中有着广泛的应用。采用单片机来对他们进行监控不仅具有监控方便,简单灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因而,单片机对温度的监控问题是一个工业生产中经常会遇到的监控问题。现代社会是信息化社会,随着安全化程度的日益提高,而通过温度报警器及时报警,避免不必要的损失。2 系统设计2.1 设计任务与要求2.1.1 设计任务 (1)设计一款基于AT89C51单片机的温度报警器。利用可调电阻调节电压作为模拟温度的输入量,当温度低于60时,扬声器发出报警和绿光报警,当温度高于160时,发出报警和红光报警。测量的温度范围在0250,并能实时显示当前温度值。(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.2 D/A转换模块 D/A转换模块如图5所示,由数模转换器DAC0808和运放TL082构成。DAC0808芯片是一个8位D/A转换器,有8个数码输入端,1个模拟输出端,能将控制电路输出的8位二进制数字量转换成模拟量的输出。P2口与DAC0808的输入端相连,通过D/A转换电路将输入的数字量转为模拟量,通过TL082运算放大器输出实际的电电压表读出。DAC0808引脚图如图6所示。DAC0808各引脚功能如表1所示。图6 DAC0808引脚图DAC0808的COMP引脚的作用为通过调节外接电阻,以达到改善放大器的性能和输出电压。运放输出电压为 (1)式中,VREF为外接参考电压,D7DO为8位输入数字量。当输入数字量在0000000011111111之间变化时,其对应的输出模拟电压U1在0-VREF之间,电压分辨率为:V=5V/(28-1)=19.6mV。表1 DAC0808的引脚功能引脚功能引脚功能D7-D08根数据输入线,D7为最高位COMP补偿端IO 电流输出线(由外向内流)VLC阈值控制输入端VREF()、 VREF()参考电压输入端IN-反相输入端VCC、VSS电源输入端IN+同相输入端GND模拟地Io输出端VCC-、VCC+正负电源供应端、3.3数码管显示模块数码显示模块电路如图8所示。显示部分选用的是7seg-mpx2-cc两片7段共阴数码管。单片机的P00P07分别接数码管的ADP口,P20、P21分别接数码管1、2接口,分别控制第一片和第二片的暗亮。外加上拉电阻加强驱动能力,使数码管更亮。图8 数码管显示电路3.5硬件元件清单系统元器件清单见表2。表2 系统元器件清单器件数量器件数量ADC08081TL0821LED2DAC080817seg-mpx2-cc1电容(220n)1排阻(4.7k)1电容(33p)2电阻(5k)3数字电压表1晶振器1电阻(1k)1电容(10uF)1开关14软件设计与仿真本系统程序包括主程序、发送数据子程序、接收命令子程序等。主程序用于系统初始化,子程序调度等。发送键码子程序用于将缓冲区键的接通码或断开码发送给单片机接口。发送数据子程序用于将数据发给单片机接口。接收命令子程序用于接收单片机接口发来的键盘命令。4.1主程序设计主程序通过控制程序来判断控制报警子程序和发声子程序。主程序流程图如图9所示。图9 主程序流程图、4.2显示子程序流程图4.3报警子程序流程图:44SOUNDER扬声器发声子程序流程图4.5 源程序、#include #include #define ADC_VREF_TYPE 0xe0 /选用2.56V 的片内基准电压源,且结果为左对齐#define AD_SE_ADC0 0x00 /ADC0unsigned char Table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /数码管字型09unsigned char Data4 = 0,0,0,0; /存放A/D转换结果unsigned long int i,j=2560,k=256;void port_init(void)PORTA = 0x01;DDRA = 0x00;PORTB = 0xFF;DDRB = 0xFF;PORTC = 0x0F; /m103 output onlyDDRC = 0x0F;PORTD = 0x00;DDRD = 0x00;/ADC initialize/ Conversion time: 112uSvoid adc_init(void)ADCSR = 0x00; /disable adcADMUX = 0x00; /select adc input 0ACSR = 0x80;ADCSR = 0x86;/call this routine to initialize all peripheralsvoid init_devices(void)/stop errant interrupts until set upCLI(); /disable all interruptsport_init();adc_init();MCUCR = 0x00;GICR = 0x00;TIMSK = 0x00; /timer interrupt sourcesSEI(); /re-enable interrupts/all peripherals are now initializedvoid delay_(unsigned char a)unsigned int i;for(i=0;ia*7373;i+);void Display(unsigned char p) /动态显示,unsigned char i;for(i=0;i4;i+)PORTD=0x01i;PORTB=Tablepi;delay_(5);PORTD&=(0x01i);unsigned int read_adc(unsigned char adc_input) /读取A/D转换结果ADMUX=adc_input|ADC_VREF_TYPE; ADCSRA|=0x40; /启动A/D转换while (ADCSRA&0x10)=0); /等待A/D转换完成ADCSRA|=0x10;return ADCH;void Process(unsigned int i,unsigned char *p) /数据处理函数p0=i/1000;i=i%1000;p1=i/100;i=i%100;p2=i/10;i=i%10;p3=i;void main(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)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件、部分IIC器件等)。软件编译采用KEIL C51软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.7 系统调试在调试过程中主要是对程序的修改,特别是显示子程序。开始时,调整输入,看数码显示的数值,改变电阻值即改变温度,看数码显示的数值是否正确。在看扬声器发声时的温度值是否和实验设定的相符,还要检测发光二极管的发光情况。结束语这种温度报警器结构简单。工作时,温度测量范围为0250。当温度达到预定值时,立刻发出报警信号,从而防止因温度升高或过低带来的不必要的损失。通过本次课程设计,又使我学到了许多书本上无法学到的知识,也深刻体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在做本次课程设计的过程中,我感触最深的当属查阅了大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十方必要的,同时是必不可少的。其次,我学会了在网络中查找有关的各硬件的资源,为本次课程设计提供一定的资料。参考文献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.11Matthew R, Robin T. Microprocessor controlled power supplyJ. Electronic World Wireless W

温馨提示

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

评论

0/150

提交评论