




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HUBEI NORMAL UNIVERSITY单片机课程设计所在院系教育信息与技术学院专业名称电子信息工程班级1005题目基于数字温度传感器的数字温度计指导教师成员完成时间2012.12.27一、设计任务及要求:设计任务:基于数字温度传感器的数字温度计的设计。要 求: 1.利用数字温度传感器DS18B20与单片机结合来测量温度;2.利用数字温度传感器DS18B20测量温度信号,计算后在LCD数码管上显示相应的温度值。其温度测量范围为55125,精确到0.5;3.数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20;4.用蜂鸣器设置警告音。指导教师签名: 2012年12月28日 二、指导教师评语:指导教师签名: 2012 年12月 28日 三、成绩 验收盖章 2012年12月28 日 基于数字温度传感器的数字温度计的设计1.芯片DS18B20的说明美国Dallas 半导体公司的数字化温度传感器DS1820 是世界上第一片支持 一线总线接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20 体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。DS18B20 的主要特性1.1芯片DS18B20的特点(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,同事科传送SRC检验码,菊友极强的抗干扰校正能力。(9)负压特性:电源极性接反时芯片不会因发热而烧毁,但不会正常工作。2. 液晶显示器LM016L的说明接口信号说明:编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/02VDD电源正极10D3Data I/03VL液晶显示偏压信号11D4Data I/04RS数据/命令选择端12D5Data I/05R/W读/写选择端13D6Data I/06E使能信号14D7Data I/07D0Data I/015BLA背光级正极8D1Data I/016BLK背光级负极 下表为控制命令表:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容l 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图一是016L的内部显址。图一液晶显示简介液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。字符的显示用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。 3. 总体电路流程图时钟振荡主控电路LCD显示温度传感器开始DS18B20的初始化跳过读序列号的操作启动温度转换读取温度寄存器跳过读序列号的操作DS18B20的初始化结束4. 总体电路设计LCD与AT89C51的连接,(如图一所示)将LCD的D0D7引脚分别与单片机的P0.1P0.7相连,使LCD能接受来自单片机的信号。电路如图二所示如图可见,电路主要是由AT89C51芯片和LM016L和蜂鸣器构成了主要电路。开关的控制,可调整温度的范围。5.系统程序设计程序清单 :#include #include #include#define uint unsigned int#define unchar unsigned charunchar templ,temph,i,y,z,n;unchar a,b;/LCD的变量unchar sign=0;/标志变量bit k;/判断正负变量sbit dq=P35;sbit rs=P20;/LCD显示的定义取值sbit rw=P21;sbit e=P22;sbit bf=P07;sbit DQ=P25;/键盘定义sbit read=P30;sbit incH=P32;sbit desH=P33;sbit reset=P34;/蜂鸣器sbit BUZZER=P26;float t4,t5,t6,t7,tt;/温度转换的变量uint tp;unchar temperature,Htemp,Ltemp;unchar D1,D2,D3;uint D4,D5,D6,D9,D7,D8;unchar code dis1=0123456789;unchar code dis2=temp:;unchar code dis3=WARN;unchar code dis4=Htemp:;unchar code dis5=working;unchar code dis6=Ltemp:;bit flag_1820_1;bit flag_1820_2;void delay_ms(unsigned char time);void ledshow(void);void keypress(void);void init(void);void gettemp();void init1820(void);void write1820(unchar);unsigned char read1820(void);void delay_us(unchar);void delay3(unchar);/* 延时*/void delay(uint t)uint i;while(t-) for(i=0;i125;i+) /LCD显示函数void delay1(unchar time)unchar n;n=0;while(n0;y-)for(z=x;z0;z-);unchar testBF() bit result;rs=0;rw=1;e=1;_nop_();_nop_();_nop_();_nop_();result=bf;e=0;return result;void writecmd(unchar ZL) while(testBF()=1);rs=0;rw=0;e=0;_nop_();_nop_();P0=ZL;e=1;_nop_();_nop_();_nop_();_nop_();e=0;void pos(unchar pos)writecmd(pos|0x80);void writedate(unchar date)while(testBF()=1);rs=1;rw=0;e=0;_nop_();_nop_();P0=date;e=1;_nop_();_nop_();_nop_();_nop_();e=0;void init()delay3(20);writecmd(0x38);delay3(30);writecmd(0x0d);delay3(30);writecmd(0x06);delay3(30);writecmd(0x01);delay3(30);/键盘程序/主程序void main(void) TMOD=0x01; TH0=50000/256; TL0=50000%256; Htemp=124;Ltemp=-24; P3=0xFF; init();if(sign=0) EA=1;TR0=1;ET0=1; EX0=0; /关闭外部中断0 EX1=0; /关闭外部中断1 while(1) if(read=0) delay3(2000); if(read=0) sign+; if(sign=1) BUZZER=1; /关闭蜂鸣器 EX0=1; /开启外部中断0 EX1=1; /开启外部中断1 init(); pos(0); for(i=0;i6;) writedate(dis4i);i+; D6=Htemp%10; D7=Htemp%100/10; D8=Htemp/100;pos(0x6);writedate(dis1D8);writedate(dis1D7); if(sign=2) BUZZER=1; /关闭蜂鸣器 EX0=1; /开启外部中断0 EX1=1; /开启外部中断1 init(); pos(0); for(i=0;i2) sign=0;/中断程序void int0(void) interrupt 0EX0=0; /关外部中断0if(desH=0&sign=1) Htemp-; if(HtempHtemp) Ltemp=Htemp; /定时器T0服务程序void isr_t0(void) interrupt 1TH0=50000/256;TL0=50000%256;TMOD=0x10;TH1=50000/256;TL1=50000%256;gettemp();delay(50);if (tpHtemp) BUZZER=1; pos(0x04);for(i=0;i7;)writedate(dis5i);i+;pos(0x40);for(i=0;i5;)writedate(dis2i);i+;D1=(unchar)(tp%10);D2=(unchar)(tp%100/10);D3=(unchar)(tp/100);D4=(uint)(tt*10);D5=(uint)(tt*100)%10;if(k=1)pos(0x46); writedate(-); else pos(0x46); writedate();pos(0x47);writedate(dis1D3);writedate(dis1D2);writedate(dis1D1);writedate(.);writedate(dis1D4);writedate(dis1D5);writedate(0xdf);writedate(C); else init(); pos(0x04);for(i=0;i7);if(k=1) /负数就取反加一 templ=templ; templ=templ+1; temph=temph; else templ=templ; temph=temph; n=templ; y=n&0x01;t7=y*0.0625; n=1; y=n&0x01;/小数点最后的数 t4=y* 0.125; n=1; y=n&0x01; t5=y* 0.25; n=1; y=n&0x01; t6=y*0.5;tt=t4+t5+t6+t7; init1820(); tp=temph*256+templ; temperature=tp; tp=tp4; /1820初始化void init1820() DQ = 1; _nop_(); DQ = 0; delay_us(125); /延时510us, delay_us(125); DQ = 1; delay_us(15); while(DQ) _nop_(); delay_us(60); DQ = 1; /*write*void write1820(unchar a) unchar i; for(i=0;i= 1; /*read*unsigned char read1820(void)unsigned char i;unsigned char tmp=0; DQ = 1; _nop_(); for(i=0;i= 1; DQ = 0; _nop_(); DQ = 1; delay_us(2); _nop_(); if(DQ) tmp |= 0x80; delay_us(30); DQ = 1; _nop_(); return tmp; void delay_us(unchar a)while(-a);void delay_ms(unchar a) unchar i,j;for(i=0;ia;i+)for(j=0;j200;j+)_nop_();_nop_(); 6.总结1)在编写程序的过程中,遇到一些C语言的语法问题,需要查找资料或者咨询同学才能完成。2)在连接电路图时会时常将接口的位置混淆,记清每个接口的位置十分重要。3)蜂鸣器偶尔一直响,偶尔一直不响。需用一个三极管解决。参考文献51单片机C语言教程 郭天祥 电子工业出版社袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书:子女监护权与财产分配综合方案
- 离婚协议签订前七大法律问题解析及应对策略
- 复杂离婚财产分割及子女未来生活品质协议
- 交通银行2025昌吉回族自治州秋招面试典型题目及参考答案
- 邮储银行2025秋招半结构化面试题库及参考答案辽宁地区
- 2025年3D打印的个性化服装设计
- 建设银行2025乌兰察布市秋招群面模拟题及高分话术
- 2025行业新兴市场发展报告
- 2025行业技术发展趋势研究
- 农业银行2025漳州市秋招无领导小组面试案例题库
- 1.3 植物与阳光(教学课件)科学青岛版二年级上册(新教材)
- 3.2《参与民主生活 》- 课件 2025-2026学年度道德与法治九年级上册 统编版
- 企业文化建设及推广工具箱
- 福建省三明市2026届高三上学期8月月考语文试卷(含答案)
- 监控安全知识培训课件
- 2025-2026学年人教版(2024)初中生物八年级上册教学计划及进度表
- 缺血性卒中脑保护中国专家共识(2025)解读 3
- 5-1 安全协议概述(1)-安全协议内涵
- 公共供水管网漏损治理建设项目可行性研究报告
- 2025广西公需科目培训考试答案(90分)一区两地一园一通道建设人工智能时代的机遇与挑战
- T-YYTC 008-2024 吉林长白山灵芝孢子粉
评论
0/150
提交评论