- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计报告
万年历的设计
姓 名: 施韧
学 号: 0915321028
班 级: 09自动化
指导教师:晏来成
基于51单片机的万年历
摘要:
电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准功能AT89C52单片机,LCD显示电路,以及调时按键电路等组成。在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。显示器使用了1602液晶显示,并且使用蜂鸣器实现了整点报警的功能,温度测试的功能实现使用了DS18B20,并实现了温度过高或过低时的温度报警。
软件方面主要包括日历程序、时间调整程序,显示程序等。程序采用C语言编写。所有程序编写完成后,在KeilC51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真,并最终实现基本要求。
综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
一、设计要求
基本要求:
1,8 个数码管上显示,显示时间的格式为(假如当前时间是19:32:20)“19-32-20”;
2,具有日历功能;
③ 时间可以通过按键调整。
发挥部分:
④ 具有闹钟功能(可以设定多个)。
二:总体设计
电路设计框图
系统硬件概述
本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由单片机定时功能提供;温度的采集由DS18B20构成,它具有独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。测温范围 -55℃~+125℃,固有测温分辨率0.5℃
液晶显示模块的设计
LCD1602有16个引脚,其中VCC、VSS分别为电源正负极;VO为液晶偏压信号输入端,图中W1可调节液晶明亮度; DB0—DB7 8位数据段;BLA、BLK背光源正负极;
RS数据/命令选择端;R/W读写选择端;E使能端
温度采集模块设计
采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P0.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。
PCB图
三电子时钟的软件设计
系统软件按键检测流程图
系统软件定时器程序流程图
子程序的设计
DS18B20温度子程序
void write_temp(uchar add,uchar dat)//向LCD写温度数据,并指定显示位置
{
uchar gw,sw,bw;
if(dat=0dat=128)
{
gw=dat%10;//取得个位数字
sw=dat%100/10;//取得十位数字
bw=dat/100 ;//取得百位数字
}
else
{
dat=256-dat;
gw=dat%10;//取得个位数字
sw=dat%100/10;//取得十位数字
bw=-3; //0x30-3表示为负号
}
write_1602com(er+add);//er是头文件规定的值0x80+0x40
write_1602dat(0x30+bw);//数字+30得到该数字的LCD1602显示码
write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码
write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码
write_1602dat(0xdf);//显示温度的小圆圈符号,0xdf是液晶屏字符库的该符号地址码
write_1602dat(0x43); //显示C符号,0x43是液晶屏字符库里大写C的地址码
}
1602子程序
void write_byte(uchar dat)//写一个字节
{
ACC=dat;
RST=1;
for(a=8;a0;a--)
{
IO=ACC0;
SCLK=0;
SCLK=1;
ACC=ACC1;
}
}
uchar read_byte()//读一个字节
{
RST=1;
for(a=8;a0;a--)
{
ACC7=IO;
SCLK=1;
SCLK=0;
ACC=ACC1;
}
return (ACC);
}
//----------------------------------------
void write_1302(
您可能关注的文档
- (电子称)自动检测系统设计.ppt
- 《公共危机与管理》专业技术人员继续教育考试-参考答案.doc
- 《农村留守儿童逆反心理的原因及对策》课题论证报告.ppt
- 《农村小学生家长教育观念现状及对策》研究报告.ppt
- 《农村小学生心理健康发展》课题研究报告.ppt
- 《证券市场基础知识》综合精选题及答案.doc
- 2ASK数字传输系统_-_课程设计.doc
- 03-2012全国硕士研究生英语真题.doc
- 12年一级建造师《建设工程经济》临考突破.doc
- 30米T梁后张法预应力梁施工方案.doc
- DB3707T 092-2023 秋早熟大白菜生产技术规程 .docx
- DB3710T 181-2022 基层政务服务代办规范 .docx
- DBJT14-072-2010 保温装饰板外墙外保温系统应用技术规程 .docx
- DB42T 2306-2024 建设工程人工材料设备机械数据分类和编码标准.docx
- DB3709T 021-2022 政法机关执法司法责任体系智能服务平台技术规范.docx
- DBJ14-073-2010 岩棉板外墙外保温系统应用技术规程 .docx
- DBJT14-043-2012 CL建筑体系技术规程.docx
- DB5133T 98-2024 白玉黑山羊饲养管理技术规程.docx
- DBJ14-090-2012 城镇道路高模量沥青混合料设计与施工技术规范 .docx
- DB3707T 093-2023 薄皮甜瓜立式栽培技术规程 .docx
文档评论(0)