单片机4.docx
- 文档编号:27627171
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:18
- 大小:160.27KB
单片机4.docx
《单片机4.docx》由会员分享,可在线阅读,更多相关《单片机4.docx(18页珍藏版)》请在冰豆网上搜索。
单片机4
第一章设计背景
目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。
电子智能时代下的产物为人类创造一个更加便捷舒适的生活环境。
本数字温度计设计中,当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。
对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。
设计中,传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。
工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。
第二章设计方案
2.1数字温度计设计方案
方案一:
采用热电阻温度传感器。
热电阻是利用导体的电阻随温度变化的特性制成的测温元件。
现应用较多的有铂、铜、镍等热电阻。
其主要的特点为精度高、测量范围大、便于远距离测量。
铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。
缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。
按IEC标准测温范围-200~650℃,XX电阻比W(100)=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±(0.15℃+0.002|t|),B级为±(0.3℃+0.005|t|)。
铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。
在工业中用于-50~180℃测温。
方案二:
采用DS18B20,全数字温度转换及输出;先进的单总线数据通信;最高12位分辨率,精度可达土0.5摄氏度;12位分辨率时的最大工作周期为750毫秒;可选择寄生工作方式;检测温度范围为55°C—+125°C(–67°F—+257°F)内置EEPROM,限温报警功能;64位光刻ROM综合比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的选择。
2.2系统整体设计方案
本系统主要有:
单片机主控制器电路(包括复位电路和时钟电路)、测温电路、显示电路和电源电路四部分组成。
整体框图如下:
图2.1系统框图
第三章方案实施
3.1硬件电路的设计
3.1.1单片机主控制器电路设计
本系统采用AT89C52单片机作为主控制器,AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
4k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
这部分主要由复位电路和时钟电路组成,具体电路图如下所示:
图3.1单片机控制器电路
3.1.2温度检测电路设计
图3.2DS18B20电路图
DS18B20的主要特征:
全数字温度转换及输出;先进的单总线数据通信;最高12位分辨率,精度可达土0.5摄氏度;12位分辨率时的最大工作周期为750毫秒;可选择寄生工作方式;检测温度范围为55°C—+125°C(–67°F—+257°F)内置EEPROM,限温报警功能;64位光刻ROM,内置产品序列号,方便多机挂接;多样封装形式,适应不同硬件系统。
DS18B20引脚功能如下表所示:
引脚号
名称
功能
1
GND
地
2
DQ
双向数据线
3
VDD
高电平
表3.1DS18B20引脚功能表
DS18B20工作原理及应用:
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
RAM及EEPROM结构图:
图3.3DS18B20RAM及EEPROM结构图
3.1.3显示电路设计
本系统采用串行显示,串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。
由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。
待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。
在移位时钟的作用下,串行口发送给缓冲器的数据一位一位地从P3.0移入74LS164中,通过74LS164实现了数码管移位显示。
电路图如下所示:
图3.4显示电路
3.1.4电源电路设计
电源是由7805构成的稳压电路组成。
电源电路如图3.4所示:
图3.5电源电路
3.1.5系统电路原理总图
将各个模块连接在一起,即可得到系统的硬件原理图,如图3.6所示:
图3.6系统硬件图
3.2系统程序设计
系统程序主要由主程序、温度检测程序、显示程序三部分组成。
3.2.1主程序设计
主程序的主要功能系统初始化、调用显示程序和温度检测程序。
主程序流程
图如图3.7所示:
图3.7主程序流程图图3.8读温度子程序
3.2.2温度检测程序设计
温度检测程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图3.8所示:
3.2.3温度转换子程序设计
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如图3.9所示
图3.9温度转换子程序流程图图3.10数据转换程序
3.2.4数据转换程序设计
数据转换程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如图3.10所示:
3.2.5显示程序设计
显示程序主要是对显示缓冲区中的显示数据进行刷新操作,当最高显示位0时将符号显示位移入下一位。
流程图如图3.113.12所示:
图3.11显示程序一图3.11显示程
第四章结论
本次课程设计我们选择的是基于DS18B20的数字温度计,完成了在数码管上显示要求下的温度。
在整个过程中发挥团队合作精神,分工合作,充分发挥个人的主观能动性,学到了许多知识,完成了对数字温度计的设计,达到了预期的目的。
在电路焊接时虽没有什么大问题,但从中知道了焊接的重要性,电路工程虽小,但不能心急。
对电路的布局要先有一个好的构想,才能使电路板美观。
在程序编写中遇到了许多问题,经过细心思考,最终还是完成了。
通过本次实习,知道了做事不能心急,要一步一步慢慢来,不要想走捷径,要有耐心。
第五章收获与致谢
通过这次的设计使我认识到我对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识。
本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。
在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争。
在这里我首先要感谢学校给我们提供这次实践的机会,让我们有机会把所学的知识运用于实践当中;其次还要感谢我的指导老师*和其他老师给我们的理论指导,使得我们的理论知识有了新的提高;另外还要感谢本组的同学,是他们让我学会了团队协作,为以后踏入社会打下基础。
此外,感谢所有帮助过我的同学,谢谢!
第六章参考文献
[1]张毅刚.单片机原理及应用.北京:
高等教育出版社,2009.2
[2]沈德金,陈粤初.MCS-51系列单片机接口电路与应用程序实例.北京航空航天大学出版社,1990
[3]胡汉才.单片机原理及接口技术.清华大学出版社,1996
[4]李志全等.智能仪表设计原理及应用.国防工业出版社,1998.6
[5]何立民.MCS-51系列单片机应用系统设计.北京航空航天大学出版社,1990.1
[6]李建民.单片机在温度控制系统中的应用.江汉大学学报,1996.6
[7]张毅刚、彭喜元、姜守达、乔立岩.新编MCS-51系列单片机应用设计.哈尔滨工业大学出版社,2003.6
[8]潘其光.常用测温仪表技术问答.国防工业出版社,1989
[9]杨世成.信号放大电路.电子工业出版社,1995
[10]高光天.仪表放大器应用.科学出版社,1995
工业出版社,2005.1
第七章附件
附件A硬件电路原理图
图7.1硬件原理图
附件B程序清单
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharflag,count,flag1,cnt;
uinttemp,i,temp1,temp2,temp3;
floattemp_value;
ucharcodetab[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
sbitDQ=P3^7;
sbitD3=P3^2;
sbitD4=P3^3;
voiddelay(unsignedintz)
{
unsignedintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voiddelay_18B20(unsignedinti)
{
while(i--);
}
voidInit_DS18B20(void)
{
unsignedcharx=0;
DQ=1;
delay_18B20(8);
DQ=0;
delay_18B20(80);
DQ=1;
delay_18B20(14);
x=DQ;
delay_18B20(20);
}
unsignedcharReadOneChar(void)
{
uchari=0;
uchardat=0;
for(i=8;i>0;i--)
{
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0x80;
delay_18B20(4);
}
return(dat);
}
voidWriteOneChar(uchardat)
{
unsignedchari=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay_18B20(5);
DQ=1;
dat>>=1;
}
}
floatReadTemp(void)
{
unsignedchara=0;
unsignedcharb=0;
unsignedchart=0;
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0x44);
delay_18B20(100);
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0xBE);
delay_18B20(100);
a=ReadOneChar();
b=ReadOneChar();
temp_value=b<<8;
temp_value+=a;
temp_value=temp_value*625/10000;
temp_value=temp_value+0.5;
returntemp_value;
}
voidmain()
{
Init_DS18B20();
SBUF=0;
while
(1)
{uintaa,temph,templ;
aa=ReadTemp();
temph=aa/10;
templ=aa%10;
P1=tab[templ];
P2=tab[temph];
D3=1;
D4=0;
SBUF=tab[templ];
delay(100);
while(TI==0);
TI=0;
SBUF=tab[temph];
D3=0;
D4=1;
delay(100);
while(TI==0);
TI=0;
}
}
附件C元器件列表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机