




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计基于单片机的温度检测报警与万年历系统目录摘要 1一、 设计要求与方案论证11设计要求 112系统方案选择和论证 113电路最终方案确定 1二、电子万年历与温度采集报警硬件设计和实现21系统设计 221.1系统设计框图 221.2系统硬件需求介绍 322系统硬件各模块作用 322.1单片机核心控制模块 422.2数字温度传感器模块422.3彩屏显示电路模块 522.4蜂鸣器电路模块 523系统电路图设计623.1系统电路原理框图和原理图7三、软件设计与分析31系统软件流程图831.1DS18B20程序流程图8四、系统测试41测试工具942软件测试943硬件测试10参考文献11附录一:程序清单12附录二:PCB电路图13基于单片机的温度检测报警与万年历系统摘要温度检测报警系统也是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。此系统是基于STC89C52单片机设计的,包含液晶显示模块, DS18B20温度采集模块,键盘扫描模块,报警模块。STC89C52作为控制核心,具有功耗低,功能强等特点,电压可选3到5V电源供电。显示模块采用彩屏动态显示,对于显示数字、字母和汉字最为合适,而且与单片机连线简单,占用IO口相对较少。温度检测报警模块采用数字式温度传感器DS18B20,该芯片具有精度高,测量范围广等优点,易与单片机连接,模块电路组成简单并同时具有温度报警功能。关键词:STC89C52, DS18B20,彩屏显示,采集周围设备温度、温度报警一、设计要求与方案论证11设计要求1.1.1 实时温度检测并显示1.1.2 具有时间调节设置功能,以及时间预设报警、温度报警等功能。1.1.3 可以保存上次设定的报警温度及报警方式。 12系统方案选择和论证STC89C52单片机作为核心控制体,该单片机具有高可靠,超低价,低功耗,无法解密等优点。该单片机属于双列直插式封装的PDI40口管脚。具有4个输入输出端口,分别为PORT0,PROT1,PROT2,PROT3,其中P0口是一组8位漏极开路型双向IO口,校验时,要求接上拉电阻。其他三个内部有30K的电阻,所以不用再外接电阻。此单片机具有6个中断,其中包括三个定时器中断,二个外部中断,一个串口中断,为全双工通信口。内部有静态非易失EEPROM和看门狗。片内含8Kbbytes的可反复檫写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),功能强大,适合许多较为复杂的控制应用场合。相比较其他芯片来说比较适合学生试验所用,故采用此单片机作为核心控制芯片。DS18B20是数字式温度传感器,采用单总线通信协议。DS18B20具有体积小,硬件开销低,抗干扰能力强,精度高附加功能强,封装形式多样等特点。适合各种狭小空间内设备的数字测温和控制。同时单线可挂接多个元件,因为每个元件都有唯一的一个64位光刻ROM编码,家族码为28H,可以多个也可单个操作。电压测量范围是3.0V到5.5V。内部含有EEPROM,其报警上、下限温度值和设定的分辨率倍数在芯片掉电的情况不丢失。并且内部带有AD转换电路,技术较为成熟,所以采用此芯片最为合适。采用彩屏显示各种数字信息较为合适,通过对单片机的编程来控制DS18B20芯片的读写操作来获取相应的信息,通过对定时器T0的编程可以实现时钟的形成,再通过对彩屏的编程控制将获取到的信息通过一系列转换从而全部显示到彩屏上。最后达到有温度采集报警和电子万年历等功能。13最终方案确定核心控制体:STC89C52单片机数字式温度传感器:DS18B20总共设有四个按键,为节约资源考虑,每个按键都有多种功能。每个按键分别标号为A,B,C,D.第一次按下B,C都没有反应,首先按下A键可选择指针位置,B,C键为加减键,D设置报警方式。操作简单,按键灵活。二、温度采集报警与电子万年历硬件设计和实现主控模块对设定的报警温度的储存度储存温度检测模块彩屏显示模块键盘扫描模块报警模块2. 1系统设计框图 图1 系统组成框图21.2系统硬件需求介绍STC89C52单片机一片,DS18B20数字式温度传感器一个,+5V无源蜂鸣器二个,12MHZ晶振一个,多个按键和开关,常用电容电阻,连接线,三极管,二极管若干,滑动变阻器一个。22系统硬件各模块作用22.1单片机核心控制模块核心控制器件选用STC89C52单片机。STC89C52单片机为40管脚双列直插芯片,它是一种高性能,低功耗的8位CMOS微处理器芯片,市场应用最多。而且价格便宜,控制方便,便于应用有4个I/O口分别为P1,P2,P3,P4。其中每一个管脚都能做独立的输入输出管脚,它的第9脚位复位管脚,接上电容和上拉电阻再带个开关构成复位电路。18,19管脚接外部晶振和两个微调电容构成外部晶振电路。单片机,复位电路,晶振,5V电源构成单片机最小系统。其中与AT89S52单片机管脚容。图1 单片机最小电路图2为单片机最小电路,其中晶振频率可以根据自己需要进行选择,范围在0-24MHZ,常用12MHZ。复位电路得电容一般用10UF,但并不唯一,只要RC所得时间大于两个机器周期即可。还有其P0内部无上拉电阻,所以在执行输出功能时,外部必须接上拉电阻(一般10K即可)。P0口有的作用,接上液晶的DB0-DB7(数据总线)控制着向液晶发送8位并行数据。P27接上DS18B20的单数据线,发送并接受数据,地址的操作。P30到P33作为独立按键口。P17口控制蜂鸣器的报警,当温度、到达限定值时会发出高低电平脉冲,以至发出报警声音。22.2数字温度传感器模块(1) 用Pt100外围电路接法麻烦,需要A/D转换,不好调试,计算量大,编程麻烦。(2)数字温度传感器选用DS18B20,采用单总线通信协议,接法简单,精度高,容易编程。故选用DS18B20DS18B20主要特性有:1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。5、温范围55125,在-10+85时精度为0.5。6、可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。8、测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS1820的操作指令分为ROM操作命令和存储器操作命令:(1)、ROM操作命令及其含义Skip ROM指令代码(CCh):此命令执行后的存储器操作将针对在线的所有DS1820。Alarm Search指令代码(ECh):当温度值高于TH或低于TL中的数值时,此命令可以读出报警的DS1820。(2)、存储器操作指令代码及其含义Read Scratchpad指令代码(BEh):读取温度寄存器的温度值。Copy Scratchpad指令代码(48h):将温度寄存器的数值拷贝到EERAM中,保证温度值不丢失。Convert T指令代码(44h):启动在线DS1280做温度A/D转换。Recall E2指令代码(B8h):将EERAM中的数值拷贝到温度寄存器中。温度测量步骤如下:(1).Read ROM(33h),每次对DS1820进行操作之前都要对它进行初始化,主要目的在于确定传感器已经连接到单总线上。(2).Search ROM(F0h),这条指令使处理器用排除的方法去辨别总线上的DS1820。(3).Match ROM(55h),只有准确的符合64位ROM序列的DS1820才能响应其后的指令,当然,单点测温时可以使用SkipROM(CCh)指令来跳过这一步。(4).Convert T(44h),发完指令后应查询总线上的电平,当电平位高时温度转换完成。(5).Read Scratchpad(BEh),将读指令发出后,就可从总线上读得表示温度的2字节二进制数由于采用单总线数据传输方式,DS18B20的数据I/O均由同一条线完成,因此,对读写的操作时序要求严格。为了保证DS18B20的严格I/O时序。需要做较精确的延时。它的各种时序如下图所示:DS18B20初始化时序 图2 DS18B20温度传感器 DS18B20采用+5V电源供电 图3 彩屏液晶部分电路连接图22.3蜂鸣器电路模块图4 温度报警蜂鸣器用CS9013三极管驱动,蜂鸣器用5V的无源蜂鸣器,同时在三极管基极串接个限流电阻,数据端口接P17(由单片机的P17直接输出驱动)。23系统电路图设计23.1系统原理框图和原理图STC89C52单片机温度传感器进行温度采集,经过A/D转换(DS18B20内部完成此操作),送入单片机存储,通过定时器0进行定时读取。通过定时器编出来的时间信息显示到彩屏上,通过按键可对时间和闹钟进行调节,蜂宁器报警,在温度达到相应设定的温度值,触发蜂宁器发出响声,进行报警。可以设定报警方式(上限报警还是下限报警)键盘扫描,按键进行时间调节,报警方式设定图8 系统原理框图下面是系统硬件电路连线图(原理图)图4 总原理图 三、软件测试与分析 3. 1.1 主程序流程图 开始初始化彩屏,DS18B20,定时器以及内部EEPROM从DS18B20采集数据处理数据并显示当前温度是否符合报警条是否蜂鸣器报警否有键按下?是D键按下A键按下A键按一下:报警温度调整A键按两下:分调整A键按三下:小时调整A键按两下:分调整在调整模式下,B键是加,C键是减是否处于调整模式是否报警方式设置跳出调整模式 31.2 DS18B20程序流程图初始化DS18B20检测DS18B20序列号(单个挂接不需要)YESNO发送跳过读ROM的操作启动温度转换稍微延时,给硬件一点反应时间YESNO主机发出复位脉冲以检测从机是否有应答主机再次发出复位脉冲以检测从机是否有应答开始发送跳过读ROM的操作读取温度寄存器的值,并经过温度转换,返回温度值。当flag-di,keyxuan标志位允许时将数字温度数据送到彩屏上显示。四、系统测试41测试工具Pcb电路板42软件测试数字式温度传感器功能强大,芯片简化了硬件电路设计的同时也无形加大了软件编写的复杂程度,为方便程序的调试和提高效率,故将软件编写分模块进行,先将实时时钟模块一步步调试,按照时序图将读写函数写好后,会显示秒部分,并准时走,但液晶屏不稳定,有一些乱码和光标乱闪。经检查发现有些发生地址重叠的冲突,写按键部分程序是发现调节好后在最后刷新屏幕时调节好的时间没有读取到,不断调节,不断烧写进学习板,然后看结果,最终发现时没有将调节好的时间读取到寄存器中。加上温度传感器部分后发现在调节时间时出现乱码和不稳定现象,光标乱跳的现象。经过不断检查软件,发现在按键调节时软件读取温度值的标志位是允许的,也就是说它在调节时间时又在动态显示周围环境中的温度值,这样会导致光标不稳定的现象。经过再添加keyxuan标志允许位时,这个问题得到很好的解决。在软件编写的过程中遇到非常多的问题,远远不止这些。43硬件测试首先单片机最小系统的设计几乎都是统一的, DS18B20接线灵活,IO口的设置具有多样性,用杜邦线将彩屏与单片机学习板按照电路原理图连接好,经过不断的软件,硬件的反复修改,最终实现了软件编写的目标功能!附录一:PCB电路图:附录二: 部分程序主程序:void main(void) in=Byte_read(0x2000);delay_05ms(1);T1_init();CS=1;delayms(5);RES=0;delayms(5);RES=1;delayms(5);ILI9325_Initial();ClearScreen(0xf800);while(1)datachange(); /数据处理及及显示函数/buttonscan();select();shanshuo(); DS18B20温度采集程序:/*/* 函数声明 */*/void delay1(uchar MS);unsigned int ReadTemperature(void);void Init_DS18B20(void);unsigned char ReadOneChar(void);void WriteOneChar(unsigned char dat);void delay(unsigned int i);void timechuli();void T1_init() TMOD=0x11;TH0=0xef; TL0=0xf0; IE=0x82; TR0=1;TH1=0x3c;TL1=0xb0;ET1=1;EA=1;TR1=1;count=0;void zhongduan() interrupt 3 TH1=0x3c;TL1=0xb0; count111+;shanjishu+;/shanjishu1();timechuli();/*/* 定时器中断 */*/void tim(void) interrupt 1 using 1/中断,用于数码管扫描和温度检测间隔TH0=0xef;/定时器重装值TL0=0xf0;num+;if (num=50) num=0; flag_get=1;/标志位有效 second+; if(second=60) second=0; minute+; /*/* 延时函数 */*/void delay(unsigned int i)/延时函数 while(i-);/*/* 初始化 */*/void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(10); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(5);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子真空器件在汽车电子中的应用考核试卷
- 拍卖行业公共服务效能提升考核试卷
- 玻璃制品超声波焊接机考核试卷
- 洗衣机械的工业互联网应用考核试卷
- 石膏在印刷工业中的应用考核试卷
- 手持设备按键故障修复考核试卷
- 水产罐头产品创新设计与消费者需求考核试卷
- 《三袋麦子》课件-2
- 动物产科学模拟习题含参考答案
- 数字化转型升级背景下潍坊市制造业高质量发展模式研究
- 2022年河南省商丘市柘城县实验中学中考一模地理试题(原卷版)
- 《篆刻基础》课件
- 大学生心理健康教育(宁波大学)知到智慧树章节答案
- 数据中心通风设备拆除施工方案
- 博物馆布展项目施工组织设计
- 养殖工人合同范本
- 体育中国学习通超星期末考试答案章节答案2024年
- 汽车吊起重吊装方案-(范本)
- 房地产售楼部营销中心开放活动策划方案
- 矩形的判定公开课公开课获奖课件百校联赛一等奖课件
- 医疗机构消防安全突出火灾风险和检查要点
评论
0/150
提交评论