万年历课程设计带电路图 3文档格式.docx

上传人:b****4 文档编号:7191159 上传时间:2023-05-08 格式:DOCX 页数:33 大小:404.85KB
下载 相关 举报
万年历课程设计带电路图 3文档格式.docx_第1页
第1页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第2页
第2页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第3页
第3页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第4页
第4页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第5页
第5页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第6页
第6页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第7页
第7页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第8页
第8页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第9页
第9页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第10页
第10页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第11页
第11页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第12页
第12页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第13页
第13页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第14页
第14页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第15页
第15页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第16页
第16页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第17页
第17页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第18页
第18页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第19页
第19页 / 共33页
万年历课程设计带电路图 3文档格式.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

万年历课程设计带电路图 3文档格式.docx

《万年历课程设计带电路图 3文档格式.docx》由会员分享,可在线阅读,更多相关《万年历课程设计带电路图 3文档格式.docx(33页珍藏版)》请在冰点文库上搜索。

万年历课程设计带电路图 3文档格式.docx

随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。

单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化等专业技术人员必须掌握的技术。

而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目,因为它的有很好的开放性和可发挥性。

LED数字显示的日历时钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。

数字显示的日历时钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管式显示的日历时钟逐渐受到人们的欢迎。

2设计方案

本设计选用的是单片机(8051)来实现电子万年历的功能。

共具备两个功能:

(1)显示年月日及分秒信息

(2)具有可调整日期和时间功能。

系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用AT89C51单片机为控制中心,显示模块采用普通的共阴极LED数码管,键输入采用中断实现功能调整,计时使用AT89C51单片机自带的定时器功能,实现对时间、日期的操作,通过按键盘开关实现对时间、日期的调整。

3总体设计及核心部件简介

3.1总体设计

单片机电子万年历的制作有多种方法,可供选择的器件和运用的技术也有很多种。

所以,系统的总体设计方案应在满足系统功能的前提下,充分考虑系统使用的环境,所选的结构要简单使用、易于实现,器件的选用着眼于合适的参数、稳定的性能、较低的功耗以及低廉的成本。

本设计基于AT89C51单片机设计的电子万年历,以AT89c51单片机为核心,配备数码管显示模块、按键等功能模块。

采用BCD-7段译码器和时钟芯片来实现的。

万年历采用24小时制方式显示时间,在数码管上显示年、月、日、小时、分钟、秒等功能。

设计主要包括硬件设计和软件编程两个方面。

硬件电路设计主要包括中央处理单元电路、时钟电路、执行电路等几部分。

软件用汇编语言来实现,主要包括主程序、键盘扫描子程序、时间设置子程序等软件模块。

3.2核心部件简介

3.2.1微处理器

1.电源

(1)VCC-芯片电源,接+5V;

(2)VSS-接地端;

2.时钟:

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

3.控制线:

控制线共有4根,

(1)ALE/PROG:

地址锁存允许/片内EPROM编程脉冲

[1]ALE功能:

用来锁存P0口送出的低8位地址

[2]PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

(2)PSEN:

外ROM读选通信号。

(3)RST/VPD:

复位/备用电源。

[1]RST(Reset)功能:

复位信号输入端。

[2]VPD功能:

在Vcc掉电情况下,接备用电源。

(4)EA/Vpp:

内外ROM选择/片内EPROM编程电源。

[1]EA功能:

内外ROM选择端。

[2]Vpp功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

4.I/O线80C51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)

图3-1AT89C51管脚

3.2.2时钟芯片DS1302的结构及工作原理

1.DS1302的结构及工作原理

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×

8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

2.引脚功能及结构

图3-2所示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送.RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;

其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向),后面有详细说明。

SCLK始终是输入端。

图3-2DS1302管脚图

3.数据输入输出(I/O)

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

3.2.3输出LCD显示功能简介

液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。

图3-3LCD数码显示屏

3.2.4按键电路

每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。

但是当按键较多时占用单片机的I/O数目较多。

图3-4AT89C51管脚图

3.3总体设计框图

图3-5总体设计框图

3.4硬件设计

3.4.1系统硬件框图

图3-6-1系统硬件框图

图3-6-2设计总电路图

3.5软件设计

3.5.1主程序流程图

N

Y

图3-7

电子万年历的功能是在程序控制下实现的。

该系统的软件设计方法与硬件设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。

这样有利于程序修改和调试,增强了程序的可移植性。

3.5.2从1302读取日期和时间程序

N

图3-8从1302读取程序

3.5.3ProteusISIS简介

Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。

该软件的特点是:

(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;

有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

(3)目前支持的单片机类型有:

ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

(4)支持大量的存储器和外围芯片。

总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真ARM、51、AVR、PIC。

Proteus启动画面:

图3-9Proteus启动画面

4仿真与调试

通过在KEIL下对源程序的编译,改正了其中的很多错误,运行之后生成HEX文件。

然后按原理图选择正确合理的电气元件,画出正确而且美观的电路图,加载源程序运行,顺利实现了电子万年历年月日时分秒的输出。

下图为电子万年历的显示效果:

按下调时键后(第一个键)表示小时的数字开始闪动:

按下调日期键后(第三个键)年代键开始闪动:

5设计体会与总结

作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。

在已度过的大学时间里,我们大多数接触的是专业课。

我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?

如何把我们所学的专业基础课理论知识运用到实践中去呢?

我想做类似的课程设计就为我们提供了良好的实践平台。

这次单片机课程设计我们历时几个星期,在我们班里算是倒数几组完成的吧,但经过这几个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到的不仅是那些知识,更多的是团队和合作。

现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!

单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。

在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。

为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

我们是在做单片机课程设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:

汇编语言、模拟和数字电路知识等。

虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

要做好一个课程设计,就必须做到:

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;

要有一个清晰的思路和一个完整的的软件流程图;

在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

另外要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;

在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。

发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。

更重要的是如何把自己平时所学的东西应用到实际中。

虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获应该说是相当大的。

觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。

小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

6参考文献

[1]邸春芳,电脑实时时钟的设计,(西南石油学院电子信息工程学院)

[2]AT89C51,,广州周立功单片机发展有限公司

[3]李全利,单片机原理及接口技术[M],高等教育出版社

[4]王文杰,单片机应用技术[M],冶金工业出版社

[5]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社

[6]单片机实验指导书,天煌教仪

[7]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社

[8]王文杰、许文斌,单片机应用技术,冶金工业出版社

7附录

源程序代码:

SCLKEQUP3.2

IOEQUP3.3

RSTEQUP3.4

TRLEQUP3.5

JIA1EQUP3.6

TSHEQUP3.7

YEARDATA66H

MONTHDATA65H

WEEKDATA64H

DAYDATA63H

HOURDATA62H

MINUTEDATA61H

SECONDDATA60H

DS_ADDRDATA32H

DS_DATADATA31H

ORG0H

AJMPSTART

MAIN2F:

LJMPMAIN2

START:

MOVSP,#70H

LCALLDELAY1

MOVDS_ADDR,#8EH

MOVDS_DATA,#00H

LCALLWRITE

START0:

MOVDS_ADDR,#81H

LCALLREAD

ANLA,#7FH

MOVDS_ADDR,#80H

MOVDS_DATA,A

START1:

MOVDS_ADDR,#0C0H

MOVDS_DATA,#9CH

MOV20H,#0

MOV21H,#0FH

MOV22H,#0

MAIN1:

JBTRL,MAIN2FA

MOV22H,#1

AJMPMAIN2FB

MAIN2FA:

JBTSH,MAIN2F

MOV22H,#2

ORLA,#80H

MAIN4:

LCALLDISP

JNBTSH,MAIN4

LJMPSSS

MAIN2FB:

MOVDS_ADDR,#81H

MAIN4J:

LCALLDISP

JNBTRL,MAIN4J

NNN:

JNBTRL,YYY

MOV20H,#8

JBJIA1,NNN

NNN2:

JNBJIA1,NNN2

MOVR7,YEAR

LCALLJIAY1

MOVYEAR,A

CJNEA,#30H,NNN1

MOVYEAR,#06

NNN1:

MOVDS_ADDR,#8CH

MOVDS_DATA,YEAR

MOVR0,YEAR

LCALLDIVIDE

MOV4AH,R1

MOVA,4AH

SWAPA

MOV4AH,A

MOV4BH,R2

MOVA,4BH

MOV4BH,A

SJMPNNN

YYY:

YYY3:

JNBTRL,DDD

MOV20H,#4

JBJIA1,YYY3

YYY2:

JNBJIA1,YYY2

MOVR7,MONTH

MOVMONTH,A

CJNEA,#13H,YYY1

MOVMONTH,#1

YYY1:

MOVDS_ADDR,#88H

MOVDS_DATA,MONTH

MOVR0,MONTH

MOV48H,R1

MOVA,48H

MOV48H,A

MOV49H,R2

MOVA,49H

MOV49H,A

SJMPYYY3

DDD:

MOV20H,#2H

DDD3:

JNBTRL,NYD

MOV20H,#2

JBJIA1,DDD3

DDD2:

JNBJIA1,DDD2

MOVR7,DAY

MOVDAY,A

CJNEA,#32H,DDD1

MOVDAY,#1

DDD1:

MOVDS_ADDR,#86H

MOVDS_DATA,DAY

LCALLWRITE

MOVR0,DAY

MOV46H,R1

MOVA,46H

MOV46H,A

MOV47H,R2

MOVA,47H

MOV47H,A

SJMPDDD3

NYD:

LJMPMAIN3A

SSS:

JNBTSH,SSS

SSS3:

JNBTSH,FFF

JBJIA1,SSS3

SSS2:

JNBJIA1,SSS2

MOVR7,HOUR

MOVHOUR,A

CJNEA,#24H,SSS1

MOVHOUR,#0

SSS1:

MOVDS_ADDR,#84H

MOVDS_DATA,HOUR

MOVR0,HOUR

MOV44H,R1

MOV45H,R2

SJMPSSS

FFF:

LCALLDISP

FFF3:

JNBTSH,MMM

JBJIA1,FFF3

FFF2:

JNBJIA1,FFF2

MOVR7,MINUTE

MOVMINUTE,A

CJNEA,#60H,FFF1

MOVMINUTE,#0

FFF1:

MOVDS_ADDR,#82H

MOVDS_DATA,MINUTE

MOVR0,MINUTE

MOV42H,R1

MOV43H,R2

SJMPFFF3

MMM:

MMM3:

JNBTSH,MAIN3

JBJIA1,MMM3

MMM2:

JNBJIA1,MMM2

MOVR7,SECOND

MOVSECOND,A

CJNEA,#60H,MMM1

MOVSECOND,#0

MMM1:

ORLSECOND,#80H

MOVDS_DATA,SECOND

ANLSECOND,#7FH

MOVR0,SECOND

MOV40H,R1

MOV41H,R2

SJMPMMM3

MAIN3:

SETBP3.0

SETBP3.1

LJMPMAIN1

MAIN3A:

SETBP3.0

JNBTRL,MAIN3A

MOVDS_ADDR,#80

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2