77范文网 - 专业文章范例文档资料分享平台

基于单片机的数字温度计设计(3)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

毕业设计论文_基于单片机的数字温度计设计

报警值进行加一或减一;图5.4是第二次按下K1键显示的下限温度报警值,此时按K2或K3键分别对下限温度报警值进行加一或减一。

C1U130pf19XTAL11P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161723456789RP1R110kX1C230pfCRYSTAL18XTAL29RSTR6250RESPACK-8R7250C310uF293031PSENALEEAR8250R9250R2K14.7kR34.7kR44.7kK212345678K3P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52R5图5.3 上限温度报警值设置仿真 C1C1C130pf30pf30pf1919U1U1U119139P0.0/AD0P0.0/AD03938P0.0/AD0P0.1/AD1P0.1/AD13837P0.1/AD1P0.2/AD2P0.2/AD23736P0.2/AD2P0.3/AD3P0.3/AD33635P0.3/AD3P0.4/AD4P0.4/AD43534P0.4/AD4P0.5/AD5P0.5/AD53433P0.5/AD5P0.6/AD6P0.6/AD63332P0.6/AD6P0.7/AD7P0.7/AD732P0.7/AD721P2.0/A8P2.0/A82122P2.0/A8P2.1/A9P2.1/A92223P2.1/A9P2.2/A10P2.2/A102324P2.2/A10P2.3/A11P2.3/A112425P2.3/A11P2.4/A12P2.4/A122526P2.4/A12P2.5/A13P2.5/A132627P2.5/A13P2.6/A14P2.6/A142728P2.7/A15P2.7/A15P2.6/A1428P2.7/A1510P3.0/RXDP3.0/RXD11P3.1/TXDP3.1/TXD10P3.0/RXD12P3.2/INT0P3.2/INT011P3.1/TXD13P3.3/INT1P3.3/INT112P3.2/INT014P3.4/T0P3.4/T013P3.3/INT115P3.5/T1P3.5/T114P3.4/T016P3.6/WRP3.6/WR15P3.5/T117P3.7/RDP3.7/RD16P3.6/WR17P3.7/RD39383736353433322122232425262728101112131415161723456789RP1RP1RP1123456789123456789RESPACK-8RESPACK-8RESPACK-8R1R1R110k10k10kC2C2C230pf30pf30pfX1X1X1CRYSTALCRYSTALCRYSTALXTAL1XTAL1XTAL1181818XTAL2XTAL2XTAL29RSTRSTRST99R6R6R6250250250C3C3C310uF10uF10uF29293030313129PSENPSEN30PSENALEALE31ALEEAEAEA1P1.0/T2P1.0/T22P1.1/T2EXP1.1/T2EXP1.0/T23P1.2P1.2P1.1/T2EX4P1.3P1.3P1.25P1.4P1.4P1.36P1.5P1.5P1.47P1.6P1.6P1.58P1.7P1.7P1.6P1.7AT89C52AT89C52R7R7R7250250250R8R8R8K1K1K1K2K2K2K3K3K3R2R2R3R3R4R4R24.7k4.7kR34.7k4.7kR44.7k4.7k4.7k4.7k4.7k1213243546576878R9R9250250R9250250250250AT89C52图5.4 下限温度报警值设置仿真 U2U21kR5R5R51k5.3 初始置零仿真

毕业设计论文_基于单片机的数字温度计设计

当开始仿真时先使数码管显示为“0”,仿真图如图5.5所示。

1RP123456789 R6250RESPACK-8R7250R8250R9250图5.5 初始置零仿真 6. 结果分析与心得体会

经过系统的整体调试,本设计达到了规定的设计要求:能用数码管直接显示、能自由设定温度上下限报警值和实现报警。本课题所设计的数字温度计包括硬件组成和软件的设计。该系统在硬件设计上主要是通过其核心控制器件AT89C52将采集到的数字温度值经单片机处理得到相应的温度值,送到4位数码管进行显示,以数字形式显示测量的温度。整个系统的软件编程就是通过C语言对AT89C52实现其控制功能。

通过为期一周单片机的课程设计使我对单片机的编程及其仿真又加深了印象。不局限于课本的死知识,增强了动手能力和综合分析能力,更深入了解并掌握了传感器的基本理论知识。 本次设计还存在许多不完善的方面。在整个设计过程中,由于难度的原因,系统实现的功能有限,与市场上同类产品存在相当的差距;在编程方面,虽然采用C语言编程,但是对其的理解不够透彻,还存在很大的提升空间。尽管本次设计还不是很完善,但这为我以后的设计之路积累了宝贵的经验。

7. 参考文献

[1] 余发山,王福忠编著. 单片机原理及应用技术.徐州:中国矿业大学出版社,2008. [2] 胡汉才 编著,单片机原理及其接口技术,北京:清华大学出版社,1996.7 [3] 金发庆.传感器技术与应用.北京:机械工业出版社,2002.34-36

附录 全部程序清单

毕业设计论文_基于单片机的数字温度计设计

#include #include

#include //_nop_();延时函数用 #define dm P0 //段码输出口 #define uchar unsigned char #define uint unsigned int sbit DQ=P1^7; //温度输入口 sbit L1=P2^0; //数码管1 sbit L2=P2^1; //数码管2 sbit L3=P2^2; //数码管3 sbit L4=P2^3; //数码管4 sbit beep=P3^5; //蜂鸣器 sbit set=P1^4; //温度设置切换键 sbit add=P1^5; //温度加 sbit dec=P1^6; //温度减

int temp1=0; //显示当前温度和设置温度的标志位为0 时显示当前温度 uint h; uint temp; uchar r;

uchar high=120,low=20; uchar sign; uchar q=0; uchar tt=0; uchar scale;

uchar code ditab[16]={0x00,0x01,0x01,0x02, //温度小数部分用查表法 0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07, 0x08,0x08,0x09,0x09};

uchar code table_dm[12]={0x3f,0x06,0x5b,0x4f, //小数断码表 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x00,0x40};

uchar table_dm1[]={0xbf,0x86,0xdb,0xcf, //共阴LED 段码表\\不亮\

毕业设计论文_基于单片机的数字温度计设计

0xe6,0xed,0xfd,0x87,

0xff,0xef}; //个位带小数点的断码表 uchar data temp_data[2]={0x00,0x00}; //读出温度暂放

uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4 个数据和一个运算暂用

void delay(uint t) // 延时函数 {

for (;t>0;t--); }

void scan() { int j;

for(j=0;j<4;j++) { switch (j) {

case 0: dm=table_dm[display[0]];L4=0;delay(50);L4=1;//小数 case 1: dm=table_dm1[display[1]];L3=0;delay(50);L3=1;//个位 case 2: dm=table_dm[display[2]];L2=0;delay(50);L2=1;//十位 case 3: dm=table_dm[display[3]];L1=0;delay(50);L1=1;//百位 //else{dm=table_dm[b3];w3=0;delay(50);w3=1;} } } }

ow_reset(void) //DS18B20 复位函数 {

char presence=1; while(presence) {

while(presence)

毕业设计论文_基于单片机的数字温度计设计

{

DQ=1; //从高拉倒低 _nop_(); _nop_(); DQ=0;

delay(50); //50 us DQ=1;

delay(6); //6 us

presence=DQ; //presence=0 复位成功,继续下一步 }

delay(45); //延时45 us presence=~DQ; }

DQ=1; //拉高电平 }

void write_byte(uchar val) //DS18B20 写命令函//向1-WIRE 总线上写1 个字节 { uchar i; for(i=8;i>0;i--) {

DQ=1;_nop_(); _nop_(); //从高拉倒低 DQ=0; _nop_(); _nop_(); _nop_(); _nop_(); //5 us

DQ=val&0x01; //最低位移出 delay(6); //66 us val=val/2; //右移1 位 } DQ=1; delay(1);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机的数字温度计设计(3)在线全文阅读。

基于单片机的数字温度计设计(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/613422.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: