单片机时钟温度实训报告范本(word档)p22

上传人:suns****4568 文档编号:85016465 上传时间:2019-03-06 格式:DOC 页数:22 大小:460.50KB
返回 下载 相关 举报
单片机时钟温度实训报告范本(word档)p22_第1页
第1页 / 共22页
单片机时钟温度实训报告范本(word档)p22_第2页
第2页 / 共22页
单片机时钟温度实训报告范本(word档)p22_第3页
第3页 / 共22页
单片机时钟温度实训报告范本(word档)p22_第4页
第4页 / 共22页
单片机时钟温度实训报告范本(word档)p22_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《单片机时钟温度实训报告范本(word档)p22》由会员分享,可在线阅读,更多相关《单片机时钟温度实训报告范本(word档)p22(22页珍藏版)》请在金锄头文库上搜索。

1、单片机实训报告系 别: 电气信息工程学院 姓 名: 专 业: 电气自动化1133 绪 论计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。 单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,

2、广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。二、实训任务1.在Proteus环境下建立原理图。2.在Keil环境下编写程序实现电子钟和温度显示。3.系统功能要求:(1)使用四位LED数码管显示器实现小时、分钟显示,小时和分钟之间用小数点隔开,秒的显示利用最后一位数字的小数点代表秒。小时调整使用按键K1实现,分钟调整使用按键K2实现。当K3按下时显示DS18B20所测温度。其他附加功能不限。(2)扩展功能:在完成功能(1)的基础上可利用蜂鸣器实现整点报时,超温报警等功能。4.焊接

3、电路板,完成硬件电路的焊接烧写程序,完成系统功能要求。硬件元件清单:显示原理硬件介绍PDIP封装的AT89C52引脚图AT89C52为8 位通用微处理器,采用工业标 准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚

4、)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。1、兼容MCS51指令系统2、8kB可反复擦写(大于1000次)Flash ROM;3、32个双向I/O口;4、256x8bit内

5、部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHz;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;温度显示DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢 封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用

6、方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。1: 技术性能描述、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 、测温范围 55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)0.5。、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。、工作电源: 35V/DC (可以数据线寄生电源) 、在使用中不需要任何外围元件、 测量结果以912位数字量方式串行传送 、不锈钢保护管直径 6 、适用于DN152

7、5, DN40DN250各种介质工业管道和狭小空间设备测温、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选数码管 原理图 实物图数码管是一种半导体发光器件,其基本单元是发光二极管,是单片机系统中最常用的一种显示输出,主要用于单片机控制中的数据输出和状态信息显示。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极CO

8、M接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。仿真图:三、软件设计1.主程序流程图图1 主程序流程图图2. 1s中断服务子程序流程图2.电子时钟:利用定时器T0实现1s定时,T0设置为方式1,时间50ms,利用软件计数20次,实现1s定时。中断服务子程序流程图如图2参考以上流程图编写程序。使用Proteus

9、和Keil仿真。使用定时器中断T0实现。 图3. 显示子程序流程图 图4. 按键扫描子程序流程图3.显示子程序流程图:参考以上流程图3,编写显示时间的子程序或函数。小时和分钟之间利用显示器的小数点隔开,秒的显示用显示器最后一位的小数点来表示,1秒闪一次。使用Proteus和Keil仿真调试。4.按键扫描子程序功能:扫描按键K1、K2和K3,当K1按下时,小时加1,当K2按下时分钟加1,使用K3实现,时间/温度切换显示。按以下流程图4编写程序。4.焊接电路板,完成硬件电路的焊接烧写程序,完成系统功能要求。硬件元件清单:名称引脚数量名称引脚数量瓷片电容22蜂鸣器21电解电容21电阻2254位共阳L

10、ED数码管121温度传感器31按键44AT89C51401晶体振荡器21松香1盒导线1段40针管座2焊锡1段程序:#include#include#define uint unsigned int#define uchar unsigned charsbit k1=P10;sbit k2=P11;sbit k3=P12;sbit beep=P36;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code wei1=0x01,0x02,0x04,0x08,0x10,0x20;uchar shi=0,

11、fen=0,miao=0,count=0;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void buzz()uint i; if(fen=59)&(miao51) beep=beep; for(i=0;i50;i+); void displaytime( ) P2=wei10;P0=tableshi/10;delay(5);P2=wei11;P0=tableshi%10;delay(5);P2=wei12;P0=tablefen/10;delay(5); P2=wei13;P0=tablefen%10;delay(5);

12、P2=wei14;P0=tablemiao/10;delay(5);P2=wei15;P0=tablemiao%10;delay(5); void keyscan()if(k1=0)/调分钟 delay(5); if(k1=0) fen+; while(!k1); if(fen=60)fen=0; if(k2=0) /调小时delay(5); if(k2=0) shi+; while(!k2); if(shi=12) shi=0; void main() TMOD=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-5000)/256; TL1=(65536-5000)%256; EA=1; ET0=1;TR0=1; ET1=1; TR1=1;while(1) keyscan(); void t0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; count+ ;if(count=10) count=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=12) shi=0; fen=0; miao=0; void t1() interrupt 3TH1=(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号