万年历课程设计报告

课程设计

(基于51单片机的电子万年历)

题目:万年历课程设计

院 (系)成都农业科技职业学院信息技术分院

专 业 应用电子技术

班 级 14电子 2班

学生姓名 黄攀

学 号 [1**********]1

指导老师 陈一虎、雷永辉

日 期 2016年6月

目 录

绪论……………………………………………………………….Ⅰ

1项目概述(项目组成,功能)………………………………..1

1.1硬件部分………………………………………………………2

1.2软件部分………………………………………………………2 2项目原理分析………………………………………………….3

2.1原理框图……………………………………………………...3

2.2原理分析……… …………………………………………….3

2.3系统关键元器件选择..………………………………………4

2.4项目印制板设计过程心得..…………………………………5

3系统的软件设计与实现……………………………………….6

3.1程序流程框图……………………………………….……….6

3.2 子程序的设计……………………………………….……….7

4项目软硬件联调……………………………………….……….10

4.1印制板图…………………………………………….……….10

4.2原理图………………………………………………………..10

4.3 DXP图………………………………………………………..11

4.4系统调试……………………………………………………..11

5总结 ……………………………………… …………………...12 参考文献 ………………………………………………… ………… …...12

信息技术分院课程设计 – 集成电路设计VHDL教程

绪论

电子万年历是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站, 码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的万年历精度高,功能易于扩展。可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等电路。所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用有着非常现实的意义。本设计就是数字时钟简单的扩展应用。

1项目概述

本设计基于AT89s51单片机,结合DS1302时钟芯片设计了一个数字万年历,显示部分用数码管动态显示,初始时间可由按键设置,此外还具有温度显示功能,掉电保护功能。万年历还具有节能模式,具有很强的实用性。

关键词:单片机 万年历

数码管显示 温度

万年历设计项目组成与功能

1.1硬件部分

硬件部分主要由AT89S52单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上使用AT89S52单片机,该单片机适合于许多较为复杂控制应用场合。采用4-16译码器作为选择端,控制共阴数码管动态显示,结合时钟芯片DS1302和温度传感器18B20显示时间和温度。制作前在Proteus软件中嵌入单片机内进行仿真可以更好的进行硬件布局。

1.2软件部分

软件方面主要包括日历程序、时间调整程序,显示程序等。程序采用C语言编写,以便更简单地实现调整时间及阴历显示功能。所有程序编写完成后,在keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。

2项目原理分析

2.1原理框图

2.2原理分析:

以STC15F2K60S2单片机为核心,起着控制作用。系统包括LCD12864液晶显示电路、复位电路、时钟电路、温湿度采集电路、按键调整子函数、按键提示音电路、报警指示灯电路和时钟芯片电路。设计思路分为九个模块:复位电路、晶振电路模块、STC15F2K60S2、LCD12864液晶显示电路、温湿度采集电路、按键调整子函数、按键提示音电路、报警指示灯电路和时钟芯片电路这九个模块。

2.3 系统关键元器件选择

2.3.1单片机芯片:

采用STC15F2K60S2,片内ROM全都采用Flash ROM;能以3V的超低压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为60KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术。 所以选择采用STC15F2K60S2作为主控制系统。

2.3.2 显示模块:

采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。

所以采用了LED数码管作为显示。

2.3.3时钟芯片

采用DS12C887时钟芯片实现时钟,DS12C887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~

5.5V范围内,2.5V时耗电小于300nA。

所以采用DS12C887时钟芯片实现时钟。

2.4项目印制板设计过程心得

在印制板设计中,深刻体会到理论和实践相集合的重要性。虽然之前收集了大量的资料但在实际应用中却有很大差异,出现了许多意想不到的问题。但经过长时间的摸索最终还是设计出达到要求的系统。

3. 系统的软件设计与实现

3.1程序流程框图

图4.1程序流程框图

3.2 子程序的设计 时钟芯片程序

void write_ds(uchar add,uchar date) {

DS_AS=1;

DS_DS=1;

DS_RW=1;

P0=add;

DS_AS=0;

DS_RW=0;

P0=date;

DS_RW=1;

DS_AS=1;

}

uchar read_ds(uchar add) {

uchar ds_date;

DS_AS=1;

DS_DS=1;

DS_RW=1;

P0=add;

DS_AS=0;

DS_DS=0;

P0=0XFF;

ds_date=P0;

DS_DS=1;

DS_AS=1;

return ds_date;

}

void Init12887()

{

write_ds(0X0a,0x2f); write_ds(0x0b,0x06); write_ds(0x0c,0);

}

void ReadTime()

{

uchar temp;

temp=read_ds(CENTURY); Time[0]=temp/10; Time[1]=temp%10;

temp=read_ds(YEARS); Time[2]=temp/10; Time[3]=temp%10;

temp=read_ds(MONTHS); Time[4]=temp/10; Time[5]=temp%10;

temp=read_ds(DAYS);

Time[6]=temp/10;

Time[7]=temp%10;

temp=read_ds(HOURS);

Time[8]=temp/10;

Time[9]=temp%10;

temp=read_ds(MINUTES);

Time[10]=temp/10;

Time[11]=temp%10;

temp=read_ds(SECONDS);

Time[12]=temp/10;

Time[13]=temp%10;

}

12864驱动

#include

//延时

//12MHZ?? ??50??

void delay50us(uint t)

{

uchar j;

for(;t>0;t--)

for(j=19;j>0;j--);

}

/*------------------查忙-----------------------------*/

void chkbusy()

{

rs=0;

rw=1;

e=1;

P0=0xff ;

while((P0&0x80)==0x80);

e=0;

}

/*------------------写指令-----------------------------*/

void writecom(uchar com)

chkbusy();

rw=0;

rs=0;

delay50us(1);

P0=com;

e=1;

delay50us(10);

e=0;

delay50us(10);

}

/*------------------写数据-----------------------------*/

void writedat(uchar dat)

{

chkbusy();

rw=0;

rs=1;

delay50us(1);

P0=dat;

e=1;

delay50us(10);

e=0;

delay50us(10);

}

4项目软硬件联调

4.1印制板图

4.2电路原理图

4.3 DXP图

4.4系统调试

打开Proteus 软件,按照方案所选的电路元件来设计整体电路,线把个芯片按一定的位置放好,然后对相应的对象进行连接,连接时需仔细,以免调试时发生错误。做好之后把编程所生成的。HEX文件加载到STC15F2K60S2中,运行仿真软件,查看运行效果。如果运行出

错那么就根据他相应的提示来修改错误,直到仿真成功为止

5 总结

经过这段时间的万年历的设计,让我受益菲浅。取之长、补之短,在今后的学习和工作中有所受用。

通过本次课程设计,我更加扎实的掌握了有关集成电路设计应用方面的知识,虽然在设计中遇到了许多棘手的问题,但经过认真的思考,仔细的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。鉴于此,我会更加努力的学习以充实自己。

本次课程设计不仅培养了我科学严谨的学习态度与独立思考、勤于动手的能力,而且还培养了我们的团队协作精神。使我认识到团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。相信这次课程设计过后,我的理论水平和实践动手能力都会有一个质的飞跃,也为今后的实践与理论课程的学习打下了坚实的基础。

当然设计能够做到这样的完美,也离不开大家的悉心指导、点化和无私的帮助。在此表示深深地感谢,也由衷的祝愿你们身体健康,工作顺利,心想事成,万事如意。

参考文献

[1]李群芳,张士军,黄建.单片微型计算机与接口技术. 北京:电子工业出版社,2008

[2]李群芳.单片机原理接口与应用.北京:清华大学出版社,2005

[3]张迎新.单片微型计算机原理、应用及接口技术.北京:国防工业出版社,1999

[4]高峰.单片微机应用系统设计及使用技术.北京:机械工业出版社,2007 [5]彭伟.单片机c语音程序设计实例基于protues仿真.北京:电子工业出版社,2007

[7]张冬林,李鑫,戴梅.基于DHT11的

课程设计

(基于51单片机的电子万年历)

题目:万年历课程设计

院 (系)成都农业科技职业学院信息技术分院

专 业 应用电子技术

班 级 14电子 2班

学生姓名 黄攀

学 号 [1**********]1

指导老师 陈一虎、雷永辉

日 期 2016年6月

目 录

绪论……………………………………………………………….Ⅰ

1项目概述(项目组成,功能)………………………………..1

1.1硬件部分………………………………………………………2

1.2软件部分………………………………………………………2 2项目原理分析………………………………………………….3

2.1原理框图……………………………………………………...3

2.2原理分析……… …………………………………………….3

2.3系统关键元器件选择..………………………………………4

2.4项目印制板设计过程心得..…………………………………5

3系统的软件设计与实现……………………………………….6

3.1程序流程框图……………………………………….……….6

3.2 子程序的设计……………………………………….……….7

4项目软硬件联调……………………………………….……….10

4.1印制板图…………………………………………….……….10

4.2原理图………………………………………………………..10

4.3 DXP图………………………………………………………..11

4.4系统调试……………………………………………………..11

5总结 ……………………………………… …………………...12 参考文献 ………………………………………………… ………… …...12

信息技术分院课程设计 – 集成电路设计VHDL教程

绪论

电子万年历是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站, 码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的万年历精度高,功能易于扩展。可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等电路。所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用有着非常现实的意义。本设计就是数字时钟简单的扩展应用。

1项目概述

本设计基于AT89s51单片机,结合DS1302时钟芯片设计了一个数字万年历,显示部分用数码管动态显示,初始时间可由按键设置,此外还具有温度显示功能,掉电保护功能。万年历还具有节能模式,具有很强的实用性。

关键词:单片机 万年历

数码管显示 温度

万年历设计项目组成与功能

1.1硬件部分

硬件部分主要由AT89S52单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上使用AT89S52单片机,该单片机适合于许多较为复杂控制应用场合。采用4-16译码器作为选择端,控制共阴数码管动态显示,结合时钟芯片DS1302和温度传感器18B20显示时间和温度。制作前在Proteus软件中嵌入单片机内进行仿真可以更好的进行硬件布局。

1.2软件部分

软件方面主要包括日历程序、时间调整程序,显示程序等。程序采用C语言编写,以便更简单地实现调整时间及阴历显示功能。所有程序编写完成后,在keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。

2项目原理分析

2.1原理框图

2.2原理分析:

以STC15F2K60S2单片机为核心,起着控制作用。系统包括LCD12864液晶显示电路、复位电路、时钟电路、温湿度采集电路、按键调整子函数、按键提示音电路、报警指示灯电路和时钟芯片电路。设计思路分为九个模块:复位电路、晶振电路模块、STC15F2K60S2、LCD12864液晶显示电路、温湿度采集电路、按键调整子函数、按键提示音电路、报警指示灯电路和时钟芯片电路这九个模块。

2.3 系统关键元器件选择

2.3.1单片机芯片:

采用STC15F2K60S2,片内ROM全都采用Flash ROM;能以3V的超低压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为60KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术。 所以选择采用STC15F2K60S2作为主控制系统。

2.3.2 显示模块:

采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。

所以采用了LED数码管作为显示。

2.3.3时钟芯片

采用DS12C887时钟芯片实现时钟,DS12C887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~

5.5V范围内,2.5V时耗电小于300nA。

所以采用DS12C887时钟芯片实现时钟。

2.4项目印制板设计过程心得

在印制板设计中,深刻体会到理论和实践相集合的重要性。虽然之前收集了大量的资料但在实际应用中却有很大差异,出现了许多意想不到的问题。但经过长时间的摸索最终还是设计出达到要求的系统。

3. 系统的软件设计与实现

3.1程序流程框图

图4.1程序流程框图

3.2 子程序的设计 时钟芯片程序

void write_ds(uchar add,uchar date) {

DS_AS=1;

DS_DS=1;

DS_RW=1;

P0=add;

DS_AS=0;

DS_RW=0;

P0=date;

DS_RW=1;

DS_AS=1;

}

uchar read_ds(uchar add) {

uchar ds_date;

DS_AS=1;

DS_DS=1;

DS_RW=1;

P0=add;

DS_AS=0;

DS_DS=0;

P0=0XFF;

ds_date=P0;

DS_DS=1;

DS_AS=1;

return ds_date;

}

void Init12887()

{

write_ds(0X0a,0x2f); write_ds(0x0b,0x06); write_ds(0x0c,0);

}

void ReadTime()

{

uchar temp;

temp=read_ds(CENTURY); Time[0]=temp/10; Time[1]=temp%10;

temp=read_ds(YEARS); Time[2]=temp/10; Time[3]=temp%10;

temp=read_ds(MONTHS); Time[4]=temp/10; Time[5]=temp%10;

temp=read_ds(DAYS);

Time[6]=temp/10;

Time[7]=temp%10;

temp=read_ds(HOURS);

Time[8]=temp/10;

Time[9]=temp%10;

temp=read_ds(MINUTES);

Time[10]=temp/10;

Time[11]=temp%10;

temp=read_ds(SECONDS);

Time[12]=temp/10;

Time[13]=temp%10;

}

12864驱动

#include

//延时

//12MHZ?? ??50??

void delay50us(uint t)

{

uchar j;

for(;t>0;t--)

for(j=19;j>0;j--);

}

/*------------------查忙-----------------------------*/

void chkbusy()

{

rs=0;

rw=1;

e=1;

P0=0xff ;

while((P0&0x80)==0x80);

e=0;

}

/*------------------写指令-----------------------------*/

void writecom(uchar com)

chkbusy();

rw=0;

rs=0;

delay50us(1);

P0=com;

e=1;

delay50us(10);

e=0;

delay50us(10);

}

/*------------------写数据-----------------------------*/

void writedat(uchar dat)

{

chkbusy();

rw=0;

rs=1;

delay50us(1);

P0=dat;

e=1;

delay50us(10);

e=0;

delay50us(10);

}

4项目软硬件联调

4.1印制板图

4.2电路原理图

4.3 DXP图

4.4系统调试

打开Proteus 软件,按照方案所选的电路元件来设计整体电路,线把个芯片按一定的位置放好,然后对相应的对象进行连接,连接时需仔细,以免调试时发生错误。做好之后把编程所生成的。HEX文件加载到STC15F2K60S2中,运行仿真软件,查看运行效果。如果运行出

错那么就根据他相应的提示来修改错误,直到仿真成功为止

5 总结

经过这段时间的万年历的设计,让我受益菲浅。取之长、补之短,在今后的学习和工作中有所受用。

通过本次课程设计,我更加扎实的掌握了有关集成电路设计应用方面的知识,虽然在设计中遇到了许多棘手的问题,但经过认真的思考,仔细的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。鉴于此,我会更加努力的学习以充实自己。

本次课程设计不仅培养了我科学严谨的学习态度与独立思考、勤于动手的能力,而且还培养了我们的团队协作精神。使我认识到团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。相信这次课程设计过后,我的理论水平和实践动手能力都会有一个质的飞跃,也为今后的实践与理论课程的学习打下了坚实的基础。

当然设计能够做到这样的完美,也离不开大家的悉心指导、点化和无私的帮助。在此表示深深地感谢,也由衷的祝愿你们身体健康,工作顺利,心想事成,万事如意。

参考文献

[1]李群芳,张士军,黄建.单片微型计算机与接口技术. 北京:电子工业出版社,2008

[2]李群芳.单片机原理接口与应用.北京:清华大学出版社,2005

[3]张迎新.单片微型计算机原理、应用及接口技术.北京:国防工业出版社,1999

[4]高峰.单片微机应用系统设计及使用技术.北京:机械工业出版社,2007 [5]彭伟.单片机c语音程序设计实例基于protues仿真.北京:电子工业出版社,2007

[7]张冬林,李鑫,戴梅.基于DHT11的


相关内容

  • 万年历模板
  • 邵阳学院课程设计(论文)任务书 年级专业 12 级通信工程 学生姓名 温淼 学 号 设 计 时 间 131300132. 课程编号 131300104c. 131300101 等 设 计 地 点 1241303041 题目名称 C 语言程序设计. 数据 课程名称 结构.面向对象程序 设计等 一.课程 ...

  • java程序设计报告模板
  • 承德石油高等专科学校 Java 课程设计 课程名称 Java 程序设计课程设计 课程编号 01 题目 万年历 学号 2013060401xx 学生姓名 xxx 所在专业 计算机软件技术 所在班级 14xx 指导教师 张清涛 成绩 教师签字 评语: 课程设计时间:2016年6月27日--2016年7月 ...

  • 单片机课程设计任务书biyao
  • 单片机课程设计任务书 一 设计题目和要求 1.数字音乐盒 设计要求: 1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少储存三首乐曲,每首不少于30秒) 2.采用LCD显示信息 3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停 ...

  • 单片机电子万年历课程设计
  • 课程设计报告 课程名称: 设计题目: 院 系: 设计时间: 目录 摘要 一.单片机原理及应用简介.........................................2 二.系统硬件设计.................................................2 ...

  • 工程地质实习报告
  • 1.实习概况: 2009年10月,我们土木工程专业进行了工程地质实习,工程地质实习是整个工程地质学教学中十分重要的实践环节,使学生在课程理论知识学习的基础上,通过对基本地质现象的野外实地考察和现场实践,获得感性知识并巩固和深化课程理论,使理论与实际相结合,为毕业以后的设计、施工中应用有关地质资料打下 ...

  • 创新实践课程设计要求
  • <创新实践>课程设计基本步骤 1. 需求分析 以无歧义的陈述说明程序设计的任务,强调的是程序要做什么.明确规定:输入的形式和输入值的范围:输出的形式:程序所能达到的功能:测试的数据(包括正确的输入和错误的输入及其相应的输出结果). 2. 概要设计 说明程序中用到的所有抽象数据类型的定义, ...

  • 福州大学课程设计格式
  • <PIC 单片机> 课程设计 学生姓名: 邱荣华 学 号: 011100225 专业班级: 电气工程与自动化2011级2班 指导教师: 江和 2014年6月13日 1. 课程设计题目和要求 课程设计的性质和目的 <PIC 单片机课程设计>是电气工程及其自动化专业及相近专业的一 ...

  • 资源勘查工程专业构造地质学课程设计大纲
  • 地质与环境学院 资源勘查工程专业<构造地质学>课程设计教学大纲 实习名称:<构造地质学>课程设计 实习周数: 1周 学分: 1 适用专业:资源勘查工程.地质工程专业 实习地点: 校 内 一.目的任务 <构造地质学>课程设计是<构造地质学>课程重要的教学 ...

  • 电子综合设计总结报告
  • 电子综合设计总结报告 课题:多功能电子数字时钟 成员:岳雪凌.闫蕾芳.周天琪 二零一三年六月二十日 于单片机的万年历设计 摘 要 随着科技的快速发展,时间的流逝,从观太阳.摆钟到现在电子钟,人类不断研究,不断创新纪录.目前,单片机技术的应用产品已经走进了千家万户.电子万年历的出现给人们的生活带来了诸 ...