您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 基于单片机设计的过道开关2
CHANGZHOUINSTITUTEOFTECHNOLOGY设计说明书项目名称:数字温度计二级学院:电子信息与电气工程学院专业:电气工程及其自动化班级:10电一学生姓名:钱文杰学号:10020311指导教师:庄志红职称:副教授起止时间:2013年6月17日—2013年6月28日目录第一章设计内容和要求...............................................11.1课程设计的目的...............................................11.2课程设计的指标...............................................11.3系统基本方案.................................................1第二章系统总体结构.................................................2第三章设计硬件.....................................................33.1硬件设计图..................................错误!未定义书签。3.2单片机复位电路工作原理及设计.................错误!未定义书签。3.3单片机晶振电路工作原理及设计.................错误!未定义书签。3.4、按键电路...................................................43.5、LED数码管或LM1602显示屏的设计及应用.......................43.6、DS18B20温度传感器.........................................53.7、AT89C52高性能8位单片机以及引脚说明........................6第四章软件设计.....................................................64.1资源分配及功能定义...........................错误!未定义书签。4.2流程图及程序设计说明.........................................8第五章系统调试....................................................135.1软件调试....................................................13第六章设计小结....................................................14参考文献...........................................错误!未定义书签。5附录1:元器件清单附录2:原理图附录3:程序清单附录4:实物图1基于DS18B20设计的数字温度计第一章设计内容和要求1.1课程设计的目的1培养学生文献检索的能量,如何利用网络检索需要的文献资料。2培养学生综合分析问题,发现问题的能力。3培养学生综合运用知识的能力和工程设计的能力。4培养学生理论联系实际的能力。5提高学生课程设计报告的撰写水平。1.2课程设计的指标本设计以AT89C52单片机为核心,使用DS18B20数字传感器采集环境温度,并通过一个LM1602液晶显示屏显示出来。1.3系统基本方案根据系统要求,本次设计可分为三个模块,分别为以DS18B20为传感器的温度检测模块,以AT89S51的转换模块和以液晶显示的显示模块。具体框图如图:温度采集液晶显示模块信号转换模块2第二章系统总体结构系统以DS18B20为传感器用以将温度模拟量转化为电压数字量以总线穿日单片机,以AT89C52为主芯片,在主芯片对DS18B20传入的温度值进行处理,由单片机程序控制,将处理结果由LM1602液晶显示屏显示出来。具体系统框图如图2-1所示图2-1数字温度计设计总体的原理图单片机AT89C52主控部分LED显示温度值DS18B20采集温度3第三章硬件设计3.1、硬件设计图见附件。3.2、单片机复位电路工作原理及设计。硬件图如下图一原理是通过使复位端经电阻与Vcc电源接通而产生按键复位电平,保证复位信号高电平持续时间大于2个机器周期。3.3、单片机晶振电路工作原理及设计硬件图如下图二4晶振电路是提供系统时钟信号。为了各部分的同步应当引入公用的外部脉冲信号作为振荡脉冲。电容选择在10~30pF之间,因为电容的大小影响振荡器振荡的稳定性和起振的速度。3.4、按键电路将按键的一段与单片机I/O口链接,一段与地链接,当按键按下时可以由单片机内的程序检测到。按键采用普通的按钮按键。图三3.5、LED数码管或LM1602显示屏的设计及应用。1、硬件接线图如下图四2、LM1602L采用标准的16脚接口分布如下LCD1602模块的管脚分布功能管脚号管脚名称状态管脚功能1Vss电源地2Vdd电源正极53V0液晶显示偏压信号4RS输入寄存器选着5RW输入读、写操作6E输入使能信号7DB0三态数据总线0(LSB)8DB1三态数据总线9DB2三态数据总线10DB3三态数据总线11DB4三态数据总线12DB5三态数据总线13DB6三态数据总线14DB7三态数据总线(MSB)15LEDA输入背光+5V16LEDK输入背光地3.6、DS18B20温度传感器1、DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;实际应用中不需要外部任何元器件即可实现测温;可通过数据线供电,电压范围为3.0~5.5V;在DS18B20中的每个器件上都有独一无二的序列号;温度以9或12位数字量读出;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能工作。2、工作原理如下DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温6度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。硬件接线图如下3.7AT89C52高性能8位单片机以及引脚说明7AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性:·兼容MCS51指令系统·8k可反复擦写(1000次)FlashROM·32个双向I/O口·256x8bit内部RAM·3个16位可编程定时/计数器中断·时钟频率0-24MHz·2个串行中断·可编程UART串行通道·2个外部中断源·共6个中断源·2个读写中断口线·3级加密位·低功耗空闲和掉电模式·软件设置睡眠和唤醒功能第四章软件设计4.1资源分配和功能定义温度传感器使用DS18B20,它可直接将被测温度串行数字信号,供单片机处理。通过编程,Dsl8B20可以实现9~12位的温度读数。信息经过单线接口送入DSl8820,或从Dsl8820送出,因此,从单片机到Dsl8820仅需连接一条信号线和地线。另DS18B20可以采用采用电源供电方式,此时DS18B20的第1脚接地,第2脚作为信号线,第3脚接电源;当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉。所以采用一个上拉电阻完成对总线的上拉。4.2流程图及程序设计说明显示数据刷新子程序流程图主要程序#includereg52.h//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#includeintrins.h#ifndef__1602_H__#define__1602_H__bitLCD_Check_Busy(void);voidLCD_Write_Com(unsignedcharcom);voidLCD_Write_Data(unsignedcharData);voidLCD_Clear(void);voidLCD_Write_String(unsignedcharx,unsignedchary,unsignedchar*s);voidLCD_Write_Char(unsignedcharx,unsignedchary,unsignedcharData);voidLCD_Init(void);voidLcd_User_Chr(void);#endif主程序流程图主程序#includereg52.h//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#includestdio.h#include18b20.h#include1602.h#includedelay.hbitReadTempFlag;//定义读时间标志voidInit_Timer0(void);//定时器初始化/*------------------------------------------------串口通讯初始化------------------------------------------------*/voidUART_Init(void){SCON=0x50;//SCON:模式1,8-bitUART,使能接收TMOD|=0x20;//TMOD:timer1,mode2,8-bit重装TH1=0xFD;//TH1:重装值9600波特率晶振11.0592MHzTR1=1;//TR1:timer1打开//EA=1;//打开总中断//ES=1;//打开串口中断TI=1;}/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){inttemp;floattemperature;ch
本文标题:基于单片机设计的过道开关2
链接地址:https://www.777doc.com/doc-2574327 .html