




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第1章 系统总体方案设计11.1 系统总体设计思路11.2 系统总体设计框图2第2章 系统硬件设计22.1晶振电路22.2 复位电路32.3 LED显示电路32.4 温度采集电路42.5 按键控制电路42.6 存储单元电路52.7 报警电路52.8 其他电路6第3章 软件设计63.1 系统设计程序流程图73.2 按键控制流程图7第4章 系统的安装调试说明84.1 系统编程84.2 系统仿真94.3 系统的调试说明9第5章 总结10参考文献11附录12电气信息学院课程设计评分表23第1章 系统总体方案设计1.1 系统总体设计思路用DS18B20进行温度的采集,然后通过单片机处理,用LED数码显示管显示出来;采用8段共阳极LED数码显示管;利用单片机内部的时钟信号进行计时,并通过LED数码显示管显示时、分、表;设置高温和低温报警,并采用数码LED数码显示管显示高温或低温设定值;利用蜂鸣器进行报警,当温度高于等于某一温度值或低于某一温度时,蜂鸣器则长鸣;并利用24C02芯片对报警温度及时间(分、时)进行保存;由于设计中要显示的东西较多(如:时间、温度、报警温度等),所以需要用按键进行切换显示;同时,要保证时钟、报警温度可调,也需要按键控制,所以本设计中采用4个独立按键来实现上述功能。 STC89C521.2 系统总体设计框图 晶振、复位电路模块LED显示模块时钟模块温度检测模块温度报警模块按键控制模块24C02存储模块图1-1 系统总体设计框图第2章 系统硬件设计2.1晶振电路晶振频率为11.0592MHZ,电容大小为30pf。如下图所:图2-1 晶振电路原理图2.2 复位电路电阻大小为10K,电容大小为22uF。如下图所示:图2-2 复位电路原理图2.3 LED显示电路采用4个8段共阳极LED显示管,用单片机P1口控制其段选,P2口低4位控制其位选。如下图所示:图2-3 LED显示电路原理图2.4 温度采集电路使用DS18B20芯片进行温度采集,接单片机P3.0。如下图所示:图2-4 温度采集电路原理图2.5 按键控制电路4个独立按键接单片机P2口的高4位。如下图所示:图2-5 按键控制电路原理图2.6 存储单元电路采用24C02芯片进行数据的存储。如下图所示:图2-6 24C02存储单元电路原理图2.7 报警电路利用蜂鸣器进行温度报警(仿真图中用的是喇叭)。如下图所示:图2-7 报警电路原理图2.8 其他电路由于需要切换显示功能,而为了更清楚知道当前显示的参数,则设置了与显示参数相对应的发光二极管。如下图:图2-8 发光二极管电路原理图第3章 软件设计硬件平台结构一旦确定,大的功能框架即形成。软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除故障的重要手段。本设计采用C语言编程。3.1 系统设计程序流程图开始初始化读取温度温度低于下限?温度达到上限?上限 Y报警将此时的温度、时间存入24C02 N N按键扫描 低报警温度显示高报警温度显示当前温度显示时钟显示 图3-1 程序设计流程图3.2 按键控制流程图开始 按键扫描 是否有键按下? 去抖动 是否有键按下?S4被按下?aa+。aa初值为1,当aa=5时置aa=1。 aa=1 aa=2 aa=3 aa=4显示低报警温度显示高报警温度显示当前温度显示时、分按下S1则时低报警温度设定值加1;按下S2则低报警温度设定值减1。按下S1则时高报警温度设定值加1;按下S2则高报警温度设定值减1。按下S1则时加1,为24时清0;按下S2则分加1,为59时清0;按下S3则切换到显示秒。 图3-2 按键控制流程图 第4章 系统的安装调试说明4.1 系统编程 启动keilVision3 ,新建一个工程,然后新建一个后缀为“.C”的文件,将C文件添加到源代码组。这样就可以在C文件中进行程序的编写了。编写完程序后,编译并生成HEX文件。4.2 系统仿真 本设计在Proteus 7.8的软件环境下进行仿真,仿真电路原理图如图4-1,。将KEIL软件下编程生成的HEX文件导入到单片机STC89C52中,按下运行按钮即可进行仿真。仿真电路原理图:图4-1 仿真电路原理图 4.3 系统的调试说明 系统刚开始运行时,数码管显示的是时间(时、分),时钟的起始时间为12:00,可通过按键S1和S2对时间进行调整,每按一次S1则时会加1,每按一次S2则分会加1。按键S3可用来对时分和秒进行切换显示。 S4用来对时间、当前温度值、高报警温度、低报警温度进行切换显示。相对应的则会有1个、2个、3个、4个LED二极管亮。这样有利于更清楚的知道显示的是哪个参数。 当数码管显示的是高报警温度或低报警温度时,按键S1、S2可用来对设定的报警温度进行修改。每按一次S1,设定温度值则会加1;每按一次S2,设定温度值则会减1。 当当前的温度值大于等于设定的高报警温度或者低于设定的低报警温度时,系统则会报警(蜂鸣器响)。第5章 总结 单片机的课程设计应该是花时间花的比较多的吧,老师也提前了两周下达了课设任务,又碰上期末考试和其他的课程设计,这几周过得还挺充实的,唯一的遗憾就是没有成功的把24C02应用到这次课设中!通过这次课程设计,我了解到:设计一个系统应该由简到繁,由浅到深,这样一步步的往前走,才可能少出错;此外,C51中时间的调试是重点也是难点,当把系统的功能逐渐增多时,程序的执行能力就会下降,甚至出错,所以设计一个好的系统真不是件容易的事,也算是体验到了设计人员的艰辛吧。这对于自己也是一种成长!另外,这次课设也使我对所学的单片机知识有了进一步的巩固,将理论运用到了实际产品中去,也使我们更容易去接受和领会单片机的精髓。最后,感谢老师这么多天不厌其烦的教诲!也感谢老师给了我们一次自我检查、自我提升的机会。学生受益良多。老师,你们辛苦了!参考文献1、51系列单片机应用与实践教程 周向红 编 北航出版社2、单片机应用系统设计 何立民 编 北航出版社3、单片机原理及应用 王迎旭 主编 机械工业出版社4、51系列单片机设计实例 楼然苗 等编 北航出版社5、51单片机应用系统开发典型实例 戴家 等编 中国电力出版社6、 单片微型计算机原理及接口技术 陈光东 等编 华中科技大学出版社7、单片机实用系统设计技术 房小翠 编 国防工业出版社附录系统程序清单:#include#define uint unsigned int#define uchar unsigned charsbit DQ=P30;sbit bj=P37;sbit s1=P24;sbit s2=P25;sbit s3=P26;sbit s4=P27;int temper;char gbj,gbj1,dbj,dbj1;uchar temp4,temp3,temp2,temp1,aa=1,bb=1,shi,fen,miao,t1;uchar code tab1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff;uchar code tab2=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e;/延时子程序void ys(uint i)while(i-);/DS18B20复位子程序uchar reset()uchar preence;DQ=0;ys(80); /延时480usDQ=1;ys(10);preence=DQ;ys(5);return preence;/DS18B20读一个字节子程序uchar read_byte()uchar i,dat=0;for(i=0;i=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; ys(5);return dat;/DS18B20写一个字节子程序void write_byte(uchar dat)uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; ys(5); DQ = 1; dat=1; ys(5);/读取温度值int read_temp()uchar templ,temph;int temp;reset();write_byte(0xcc); /跳过ROMwrite_byte(0x44); /开始进行温度变换ys(200);reset();write_byte(0xcc);write_byte(0xbe); /读RAMtempl=read_byte();temph=read_byte();temp=templ+temph*256;return temp;/按键功能子程序void anjian()if(s4=0)ys(50);if(s4=0)aa+;if(aa=5)aa=1;while(!s4);ys(50);while(!s4);if(aa=1)P1=0xfe;if(s3=0)ys(50);if(s3=0)bb+;if(bb=3)bb=1;while(!s3);ys(50);while(!s3);if(bb=1)if(s1=0)ys(50);if(s1=0)shi+;if(shi=24)shi=0;while(!s1);ys(50);while(!s1);if(s2=0)ys(50);if(s2=0)fen+;if(fen=60)fen=0;while(!s2);ys(50);while(!s2);if(aa=2)P1=0xfc;if(aa=3)P1=0xf8;if(s1=0)ys(50);if(s1=0)gbj+;while(!s1);ys(50);while(!s1);if(s2=0)ys(50);if(s2=0)gbj-;while(!s2);ys(50);while(!s2);if(aa=4)P1=0xf0;if(s1=0)ys(50);if(s1=0)dbj+;while(!s1);ys(50);while(!s1);if(s2=0)ys(50);if(s2=0)dbj-;while(!s2);ys(50);while(!s2);/温度报警及温度转换子程序void temp2_10()temper=read_temp();if(temper4)=gbj)|(temper4)4)/100;temp3=(temper4)%100/10;temp2=(temper4)%10;temp1=(temper&0x00f)*625/1000;/时钟时、分显示子程序void sjsmxs()P2=0xfe;P0=tab1shi/10;ys(26);P2=0xfd;P0=tab2shi%10;ys(26);P2=0xfb;P0=tab1fen/10;ys(26);P2=0xf7;P0=tab1fen%10;ys(26);/时钟秒显示子程序void msmxs()P2=0xfe;P0=tab117;ys(25);P2=0xfd;P0=tab117;ys(25);P2=0xfb;P0=tab1miao/10;ys(25);P2=0xf7;P0=tab1miao%10;ys(25);/温度显示子程序void wdsmxs()P2=0xfe;P0=tab1temp4;ys(25);P2=0xfd;P0=tab1temp3;ys(25);P2=0xfb;P0=tab2temp2;ys(25);P2=0xf7;P0=tab1temp1;ys(25);/温度过高报警显示子程序void gbjsmxs()if(gbj&0x80)gbj1=gbj;gbj1+=1;P2=0xfe;P0=tab116;ys(25);elsegbj1=gbj;P2=0xfe;P0=tab1gbj/100;ys(25);P2=0xfd;P0=tab1gbj1%100/10;ys(25);P2=0xfb;P0=tab2gbj1%10;ys(25);P2=0xf7;P0=tab10;ys(25);/温度过低报警显示子程序void dbjsmxs()if(dbj&0x80)dbj1=dbj;dbj1+=1;P2=0xfe;P0=tab116;ys(25);elsedbj1=dbj;P2=0xfe;P0=tab1dbj1/100;ys(25);P2=0xfd;P0=tab1dbj1%100/10;ys(25);P2=0xfb;P0=tab2dbj1%10;ys(25);P2=0xf7;P0=tab10;ys(25);/时钟计数子程序void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;t1+;if(t1=20)t1=0;miao+;if(miao=60)miao=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025节能器采购合同书
- 2025解除房屋租赁合同协议书版本
- 2025江苏徐州市泉山国有资产投资经营有限公司部门负责人选聘2人(二)模拟试卷附答案详解(完整版)
- 2025年北京市二手车交易委托代理合同
- 2025年荆门市“招硕引博”考试考前自测高频考点模拟试题有答案详解
- 2025年“才聚齐鲁成就未来”山东泰安市泰山财产保险股份有限公司河南分公司社会招聘4人考前自测高频考点模拟试题及1套完整答案详解
- 2025企业集体合同协议
- 2025年度湖北省纪委监委考试录用公务员专业测试考前自测高频考点模拟试题及一套答案详解
- 经济学考试题库及答案
- 邮政财务考试题库及答案
- 浙能笔试题库
- 2023年航空公司招聘:机场安检员基础知识试题(附答案)
- 道路车辆清障施救服务 投标方案(技术方案)
- 港口机械设备的维护与故障排除考核试卷
- 成人糖尿病食养指南(2023年版)
- 地方病防治技能理论考核试题
- 糖尿病临床病例分析经典案例
- 用绝对值的几何意义来解题市公开课一等奖省赛课微课金奖课件
- 四川省高等教育自学考试自考毕业生登记表001汇编
- 人工智能在个性化健康风险评估中的应用
- DB35T 2054-2022 智慧消防 信息平台通用技术要求
评论
0/150
提交评论