学校学生生活时间提示系统Word文件下载.doc

上传人:wj 文档编号:901009 上传时间:2023-04-29 格式:DOC 页数:21 大小:242.65KB
下载 相关 举报
学校学生生活时间提示系统Word文件下载.doc_第1页
第1页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第2页
第2页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第3页
第3页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第4页
第4页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第5页
第5页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第6页
第6页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第7页
第7页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第8页
第8页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第9页
第9页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第10页
第10页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第11页
第11页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第12页
第12页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第13页
第13页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第14页
第14页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第15页
第15页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第16页
第16页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第17页
第17页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第18页
第18页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第19页
第19页 / 共21页
学校学生生活时间提示系统Word文件下载.doc_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学校学生生活时间提示系统Word文件下载.doc

《学校学生生活时间提示系统Word文件下载.doc》由会员分享,可在线阅读,更多相关《学校学生生活时间提示系统Word文件下载.doc(21页珍藏版)》请在冰点文库上搜索。

学校学生生活时间提示系统Word文件下载.doc

(二)、要求:

1.基本要求:

(1)计时和显示功能(24小时制),包括时、分、秒的显示。

(2)通过按键设置当前时间(时、分)。

(3)实现基本学生生活时间提示,规定如下:

06:

00起床:

声音提示5秒、停2秒、再提示5秒。

22:

30熄灯:

2.发挥部分:

(1)增加整点报时功能,整点时声音提示10秒,有控制启动和关闭功能。

(2)增加起床、熄灯时间调整时的声音提示功能。

(3)增设上午4节课的上下课声音提示功能,规定如下:

7:

50上课,8:

35下课;

8:

45上课,9:

30下课;

9:

50上课,10:

10:

45上课,11:

30下课;

每次声音提示5秒。

1.2、方案设计与论证

1.2.1单片机的选择

方案一:

采用STC89C52作为微控制器,单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。

方案二:

ATMEL公司生产的AT89CXX系列单片机,其中有8位的单片机,也有16位的单片机。

STC89C52为8位的单片机,它是一种低损耗、高性能的CMOS微处理器,并且可以在线进行重复编程、快速擦除、快速写入程序,能重复擦除/写入1000次左右,数据保存时间为十年。

综上所述,在本设计中,由于本系统对CPU运算速度要求不高,不需要执行很复杂的运算,加上成本上和队员各自的技术特点考虑,考虑到本人对单片机的运用熟练度和单片机的功能领域,综合起来选STC89C52单片机作为本设计的微控制器较适合本系统的要求。

1.2.2LCD液晶显示模块的方案对比选择

显示的方法有很多种,其中LED数码管是常用的一种显示方法。

在这个设计中,可以用LED数码管来显示相应数字,该设计中,数码管使用数量较多,焊接较麻烦。

另外在PCB布线过程中很困难,给设计带来很不方便的使用。

LCD1602液晶显示器是一块价廉物美的器件,其体积小,控制简单,使用方便。

它能显示2行16列的数字或英文信息,另外连接它的线很少,只要8根数据线和3根控制线,这样给使用带来很大的方便,节约单片机I/O口,价格比数码管便宜。

综上所述,在LCD液晶显示模块上,选择方案二中的LCD1602液晶显示器作为本设计的显示模块,显示时间年、月、日、时、分、秒。

1.2.3时钟电路的选择

方案一:

DS1302是一种高性能、低功耗、带RAM的实时时钟芯片它可以对年、月、日、日、时、分、秒进行计时且具有闰年补偿功能工作电压宽达2.5-5.5V。

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

DS1302内部有一个31×

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

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

方案二:

STC89C52有3个内部定时器中断因此我们可以直接采用单片机内部定时器来实现年月日时分秒的计时的功能

综合考虑以上两种方案由于DS1302的高性能低功耗且内部自带RAM可以对年、月、日、时、分、秒进行计时且具有闰年补偿功能工作电压宽编程简单有后备电源。

所以我们选用DS1302作为时钟芯片。

2、系统硬件设计

2.1、系统框图

P0

P1.0-1.3

STC89C52

RST

P2.0-P2.2/(P2.4-P2.7)

P3.0-3.4

XTAL2

XTAL1

排阻

上电复位

手动按键

闹钟工作指示灯

LCD液晶显示

内部时钟

读写及使能信号/(时钟芯片)

2.2、各模块电路设计

(1)单片机模块:

STC89C52俗称单片机,是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,使用经典的MCS-51内核,但做了很多的改进,是的芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8K字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35Mhz,6T/12T可选。

STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。

时钟可以由内部方式产生或外部方式产生。

(2)电源模块:

由于整个系统采用的电源电压只需+5V的电压,所以采用不可调的3端稳压器件,用常用的7805就可以满足系统电源的要求。

其中1接整流器输出的+电压,2为公共地(也就是负极),3就是我们需要的正5V输出电压。

7805三端集成稳压电源内部由基准电压回路、恒流源、过流保护、过压保护、和短路保护回路等8部分组成,具有低功耗,高效率,纹波系数小,输出电压稳定等优点。

(3)时间显示模块:

液晶显示器是一种功耗极低的被动式显示器件,1602引脚脚介绍:

D0—D7数据传送引脚,VSS为接地线,VDD为电源线,VEE为LCD驱动电压调节,由此可以调节显示亮度。

RS为寄存器选择信号,高电平选择数据寄存器,低电平选择指令寄存器。

RW为读写控制信号,高电平读,低电平写。

EN使能信号,读状态下高电平有效,写状态下下降沿有效。

RS连接P2.0,寄存器选择信号RW连接P2.1,读写控制信号线EN连接P2.2,使能信号线。

(4)键盘控制模块:

五个按键分别是设置、增加、减少、闹钟开关键、确认,通过与程序结合可以实现通行状态的改变,通过手动控制开关实现时间设定及闹钟功能,即当按键按下时有低电平输入端口。

如果想设置时间则先按下设置键,再按加或减最后按下确认键,如此便实现了可以手动设置时间的功能,当按下闹钟开关时可实现闹钟的开关。

(5)蜂鸣器模块:

蜂鸣器驱动电路一般都包含以下几个部分:

一个三极管、一个蜂鸣器、一个电阻。

1.蜂鸣器

发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式等。

2.三极管

三极管Q1起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;

而基极低电平则使三极管关闭,蜂鸣器停止发声。

2.3电路原理图及电路介绍

利用proteus画好相应的硬件电路图,并把程序烧入软件仿真,看是否能显示功能。

见附件完整电路图。

电路主要由单片机STC89C52,LCD1602,7805,时钟芯片DS1302,蜂鸣器等组成一个简易的学校学生生活时间提示系统。

该电路具有计时、显示及定时功能,还可以通过按键手动设置设定闹钟提示时间,音提示5秒、停2秒、再提示5秒。

时间显示LCD602输出端分别和单片机的P0.0-0.7口连接,读写及使能信号分别和单片机的P2.0,P2.1,P2.2口连接。

排阻RESPACK-8接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。

DS1302是DALLAS公司推出的涓流充电时钟芯片。

内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供年、月、日、时、分、秒的信息可自动调整时钟操作。

DS1302_SCLK接P2.5,实时时钟时钟线引脚;

DS1302_IO接P2.6,实时时钟数据线引脚;

DS1302_RST接P2.7,实时时钟复位线引脚,VCC1接备用电源。

蜂鸣器及其驱动电路单片机的和单片机的P2.4口连接,单片机驱动蜂鸣器时,三极管工作在开关状态,就像用单片机控制开关,再由开关去控制蜂鸣器一样,只是将开关换成了三极管。

电路中设有五个开关,分别是确认、设置、加、减、闹钟开关,分别和单片机的P3.2、P3.3、P3.5、P3.6、P3.7端口连接,通过手动控制开关实现时间设定及闹钟功能,P3.2、P3.3分别是单片机外部中断0和外部中断1的端口,设置它低电平有效,即当按键按下时有低电平输入端口。

如果想改变状态则先按下状态键,再按加或减最后按下确认键。

如果想改变时间则先按下时间键然后按加或减最后按确认键。

设定闹钟时间,通过蜂鸣器发出提示音。

3、系统软件设计

3.1、软件总体流程图

开始

Lcd初始化

时间初始化

1302初始化

判断是否有按键按下

Yes

修改

修改时间

修改闹时

修改日期

调用时间修改时间函数

NO

调用时间修改函数

调用日期修改函数

调用功能函数

闹钟,作息提示

整点报时

再按控制键

结束

4、结语

4.1、电路调试及测试结果

利用Proteus绘制出相应硬件电路后进行仿真,出现液晶显示无法正常显示的问题。

经过思考和查阅的资料发现STC89C52的P0在进高电平时没有接上拉电阻导致LCD1602无法正常显示时间。

修改电路后(P0口接上拉电阻)烧入程序后,程序正常运行,LCD1602准确的显示。

用Proteus仿真能够正确的现实时间,但烧入学习板出现乱码现实不能正常工作。

经过反复检查及思考发现仿真软件上的硬件电路与学习板上的硬件电路不一致无法对应起来。

电路焊好后,将程序载入单片机,然后在实验箱上调+9V的电源,由正负极分别引出一根线,正的与7805的输入端相连,负的与电路板引出的地线连接。

经过多次修改程序和调试电路,最终测试结果和预期的一致。

最后根据学习板的硬件电路修改相应程序及仿真软件上的硬件电路,最终现实了功能。

4.2、结论与心得

通过这次电子设计大赛,在设计过程中我们先后利用keil软件进行编程、Proteus进行仿真,最后再利用学习板进行检查看程序是否能显示其功能。

在过程中让我进一步深刻的学习各种软件的利用以及各种软件给我们带来的便利。

特别是proteus在没有实物的情况下进行仿真进行程序的检查看是否能现实功能。

该设计通过单片机STC89C52做CPU进行总的控制,基于时钟芯片DS1302产生时间,利用LCD1602进行液晶显示的一个简易的数字钟。

LCD1602能够对年、月、日、时、分、秒进行计时及显示。

通过设计后能够熟练的掌握时钟芯片DS1302、LCD1620、STC89C52的的各个引脚及功能,并能够掌握和运用这几个芯片。

在设计开始,问题就接踵而至,虽然做过些课程设计,参加过实践,这次电子设计大赛使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

许多电路不管简单还是复杂,第一次搭建,调试,单片机编程序的时候总是让人头疼,但是有过一次经验就好了,以后再碰到类似的电路就熟练得多。

多动手也很重要,不要只对着图纸或者资料看,好多电路都要亲自调试才懂。

正所谓时间出真知,怕麻烦是不可取的,多动手多时间,理论与实践相结合,做得多经验就多了。

5.参考文献

[1]楼然苗、李光飞:

《单片机课程设计指导》,北京航空航天大学出版社

[2]李珍、付植桐:

《单片机原理与应用技术》,清华大学出版社

[3]李广弟等.单片机基础[M].北京航空航天出版社,2001.

[4]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.

[5]陈海宴.51单片机原理及应用[M].北京航空航天大学出版社,2010.

[6]许珉、毛小波:

《单片机原理及应用》,中国电力出版社

附表:

(1)完整电路图:

(2)元器件清单列表:

名称

规格

数量(个)

万用板

9*15cm

1

7805(稳压)

L7805

1

芯片底座

40脚

LCD1602

黄绿屏(5V)

排阻(A09-103)

10K

LED灯

5mm

3

蜂鸣器

1.5V无源

按键

6

DS1302

带电池CR2032

(带晶振32.768MHz)

电池

9V

三极管S8050

NPN

4

STC89C52

(3)源程序清单:

19

#include<

reg52.h>

stdio.h>

intrins.h>

typedefunsignedcharBYTE;

typedefbitBOOL;

unsignedcharri_con=0,hour_con=1;

// ri_con闹钟开关开启1关闭0

unsignedcharyear=13,month=6,day=15,hour=12,minute=30,second=30;

unsignedcharri_hour=10,ri_minute=0,ri_second=0,state=0;

//闹钟时间现在状态

unsignedchardate[]="

date13-06-15"

;

unsignedchartime[]="

time12:

30:

30"

/********************使用引脚定义**************************/

sbitbeep=P1^0;

//蜂鸣器引脚

sbitwork_led=P1^1;

//工作指示灯

sbitring_led=P1^2;

//闹钟开关指示灯

sbithour_led=P1^3;

//整点报时开关指示灯

sbitbutton_CON=P3^0;

sbitbutton_ADD=P3^1;

sbitbutton_DEC=P3^2;

sbitbutton_COLCK=P3^3;

sbitok=P3^4;

sbitSCLK=P2^6;

//位定义1302芯片的接口,时钟输出端口定义在P2.6引脚

sbitDATA=P2^7;

//位定义1302芯片的接口,数据输出端定义在P2.7引脚

sbitRST=P2^5;

//位定义1302芯片的接口,复位端口定义在P2.5引脚

/****************************lcd引脚定义************************/

sbitLCD_RS=P2^0;

sbitLCD_RW=P2^1;

sbitLCD_EP=P2^2;

voiddelay(intms)

{//延时子程序

inti;

while(ms--)

{

for(i=0;

i<

250;

i++)

{

_nop_();

}

}

/***************LCD************************/

/*****************测试LCD忙碌状态************************/

BOOLlcd_bz()

{

BOOLresult;

LCD_RS=0;

LCD_RW=1;

LCD_EP=1;

_nop_();

result=(BOOL)(P0&

0x80);

LCD_EP=0;

returnresult;

/*********************写入指令数据到LCD*********************************/

voidlcd_wcmd(BYTEcmd)

while(lcd_bz());

LCD_RW=0;

P0=cmd;

/********************设定显示位置*******************************/

voidlcd_pos(BYTEpos)

lcd_wcmd(pos|0x80);

/***********************写入字符显示数据到LCD********************************/

voidlcd_wdat(BYTEdat)

LCD_RS=1;

P0=dat;

/*************************LCD初始化设定**********************************/

voidlcd_init()

{

lcd_wcmd(0x38);

//16*2显示,5*7点阵,8位数据

delay

(1);

lcd_wcmd(0x0c);

//显示开,关光标

lcd_wcmd(0x06);

//移动光标

lcd_wcmd(0x01);

//清除LCD的显示内容

/*******************显示函数************************/

voidstr_display(BYTEmeg[],BYTEpostion,BYTEdel){

BYTEi=0;

lcd_pos(postion);

while(meg[i]!

='

\0'

{

lcd_wdat(meg[i]);

i++;

if(del!

=0)delay(del);

}

/*****************lcd初始化结束**************************/

/*******************DS1302*****************************/

/**********************************延时若干数据*********************************/

voiddelaynus(unsignedcharn)

unsignedchari;

for(i=0;

i<

n;

i++);

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

当前位置:首页 > 人文社科 > 法律资料

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

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