温度传感器并口_第1页
温度传感器并口_第2页
温度传感器并口_第3页
温度传感器并口_第4页
温度传感器并口_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告设计课题: 测 温 器 专业班级: 学生姓名: 指导教师: 测温器一、 课程设计目的1、了解温度传感器18B20的电路原理及其编程方法。2、了解字符型LCD液晶显示器的原理,掌握其编程方法。3、了解混合编程的基本原理和方法。二、 课程设计题目(问题)描述和要求应用温度传感器18B20对温度数据进行采集,然后在并口液晶上显示。三、系统分析与设计根据课程设计题目问题描述和要求,完成: 1、 系统总体设计确定系统功能模块划分及说明 系统功能分为两个模块:(1) 液晶模块,作用是控制显示结果输出。(2) 18B20温度采集模块,作用是用18B20采集数据送P2.7口。2、 系统详细设计在总

2、体设计基础上设计系统总体框架、系统流程图 -18B20流程图 开始 混合编程说明初始化跳过ROM开始转换延时重新初始化跳过ROM读存储器系统总体框架-实验的硬件部分电路图:图1为18B20温度采集部分,其中JP1的3脚为DS18B20的DQ引脚,接在单片机的P1.0上(本实验程序打开的为P2.7,另外1脚和5脚分别接地和电源VCC)。 图1 单片机与外接器件连接图 图2 74HC573与单片机连接图图3 GAL16V8与单片机连接图图4 液晶与单片机的连接电路图     3、 源程序清单 (一) 18B20对温度数据采集程序WDD EQU P2.7 ;用

3、WDD表示P2.7UPPERSEGMENT CODE /程序段/PUBLICGETWD /入口地址/RSEGUPPER /程序段/GETWD: CLR TR0 ;清TR0 LCALL INI ;调用INI置位 MOV A,#0CCH;跳到存储区 LCALL WRITE ;调用WRITE MOV A,#44H;转换温度 LCALL WRITE ;调用WRITE SETB TR0 LCALLDS200MS ;延时 LCALLDS200MS LCALLDS200MS LCALLDS200MS LCALLDS200MS LCALLDS200MS CLR TR0 ;清TR0LCALL INIMOV A,

4、#0CCHLCALL WRITEMOV A,#0BEH;read scratchpadLCALL WRITEREAD: MOV R6,#8 ;读18B20字程序RE1: CLR WDDMOV R4,#4NOPSETB WDDRE2: DJNZ R4,RE2MOV C,WDDRRC A ;读一位数据MOV R5,#30RE3: DJNZ R5,RE3DJNZ R6,RE1 ;循环8次MOV R7,A ;低位温度数据存在R7MOV R6,#8RE10: CLR WDDMOV R4,#4NOPSETB WDDRE20: DJNZ R4,RE20MOV C,WDDRRC A ;读一位数据MOV R5,

5、#30RE30: DJNZ R5,RE30DJNZ R6,RE10 ;循环8次MOVR6,A ; 高位温度数据存在R0SETB TR0RETINI: CLR WDD ;18B20置位子程序MOV R2,#200L1: CLR WDD ;2DJNZ R2,L1 ;2SETB WDDMOV R2,#30;2L4: DJNZ R2,L4 ;2CLR CORL C,WDDJC INIMOV R6,#80L5: ORL C,WDD ;2JC L3 ;2DJNZ R6,L5 ;2,6*80 SJMP INIL3: MOV R2,#240L2: DJNZ R2,L2 ;2*240 RETWRITE: MOV

6、 R3,#8 ;向18B20写数据子程序WR1: SETB WDDMOV R4,#8 ;2RRC A ;1CLR WDD ;2WR2: DJNZ R4,WR2 ;2*8MOV WDD,C ;写一位数据MOV R4,#20WR3: DJNZ R4,WR3DJNZ R3,WR1 ;循环8次SETB WDDRETDS200MS: MOV R6,#03H ;延时子程序D65: MOV R5,#0C8H ;2D256: MOV R4,#0FAH ;2 DJNZ R4,$ ;2*0xfa= DJNZ R5,D256 ;6*0xc8= DJNZ R6,D65 ;10*0x02= RET; END(二)字符型

7、LCD液晶显示程序#include<reg52.h> #include<intrins.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned long#define LCDCOM0 XBYTE0X9000#define LCDCOM1 XBYTE0X9400 #define LCDDATA XBYTE0X9800/#define LCDDATA_READ XBYTE0X9800sbit bflag=ACC7;uint GET

8、WD();void wait(void) doACC=LCDCOM1;while(bflag=1); void init_lcd() wait(); LCDCOM0=0x38; /*置功能;2行,5*7字符 */ wait(); LCDCOM0=0x06; /*置输入模式:地址增量,显示屏不移动*/ wait(); LCDCOM0=0x0c; /*显示开0x0d,显示光标,光标闪烁*/ wait(); LCDCOM0=0x01; /*清显示 */void init_command(uchar command) /*发送新命令,一般用于给出新的显示地址*/wait();LCDCOM0=comma

9、nd; /*首行地址0x800xa7,次行地址0xc00xe7*/void d_char(uchar a) /*显示字符函数*/ wait(); LCDDATA=a; /*输出到数据寄存器*/main() uint wd,wdr,wdx; uchar wd1,wd2,wd3,wdx1,wdx2,wdx3,wdx4;/unsigned char j; unsigned int z;/uint dis3;/unsigned char a,b,c,d; /uint wd; TR1=0; SCON=0X50; PCON=0X00;/01010000,串行口方式1。 TMOD=0X20; TL1=TH1

10、=0XFD;/定时器1波特率9.6KHZ。 TR1=1;while(TI = 1);TI=0; for(;) z=GETWD();SBUF = z>>8;while(TI = 0);TI=0;SBUF = z&0x00ff;while(TI = 0);TI=0; init_lcd(); for(;) wd=GETWD(); wdr=wd>>4; wd1=wdr/100; wd2=(wdr/10)%10; wd3=wdr%10; wd1+=48; wd2+=48; wd3+=48; wdx=(wd&0x0f)*625; wdx1=wdx/1000; wdx

11、2=(wdx/100)%10; wdx3=(wdx/10)%10; wdx4=wdx%10; wdx1+=48; wdx2+=48; wdx3+=48; wdx4+=48; if(wd1=48) if(wd2=48) wd2=0x20; else wd1=0x20; init_command(0x80); d_char(wd1); d_char(wd2); d_char(wd3); d_char(46); d_char(wdx1); d_char(wdx2); d_char(wdx3); d_char(wdx4); 四. 系统调试过程中出现的主要问题系统调试过程中曾出现以下问题:1、程序错误(

12、更改程序)。 2、在液晶显示过程中液晶不亮(电路板有问题,更换电路板)。 3、在程序正确的情况下液晶不能正确显示温度数据(电位器未调)。五. 系统运行报告与结论特点:1、DS1820为一线数据传输,三条腿的单芯片温度测量。2、该系统测量温度比较精确(小数点后保留4位)。问题:18B20采集的数据反馈到液晶显示器上比较慢。改进意见:可以考虑换一些灵敏度高的器件。六. 总结1、设计中遇到的问题及解决过程  在设计中对18B20工作原理不熟悉,通过察看18B20说明文档熟悉了18B20的使用。初步建立了设计系统的思想。2、软硬件连接不熟练,通过学习,能力有所增强。3、设计体会和收获: 通过此次设计,我深刻了解到做设计必需一丝不苟,兢兢业业,

温馨提示

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

评论

0/150

提交评论