proteus环境下的电子时钟设计.docx

上传人:b****1 文档编号:2990880 上传时间:2023-05-05 格式:DOCX 页数:17 大小:474.42KB
下载 相关 举报
proteus环境下的电子时钟设计.docx_第1页
第1页 / 共17页
proteus环境下的电子时钟设计.docx_第2页
第2页 / 共17页
proteus环境下的电子时钟设计.docx_第3页
第3页 / 共17页
proteus环境下的电子时钟设计.docx_第4页
第4页 / 共17页
proteus环境下的电子时钟设计.docx_第5页
第5页 / 共17页
proteus环境下的电子时钟设计.docx_第6页
第6页 / 共17页
proteus环境下的电子时钟设计.docx_第7页
第7页 / 共17页
proteus环境下的电子时钟设计.docx_第8页
第8页 / 共17页
proteus环境下的电子时钟设计.docx_第9页
第9页 / 共17页
proteus环境下的电子时钟设计.docx_第10页
第10页 / 共17页
proteus环境下的电子时钟设计.docx_第11页
第11页 / 共17页
proteus环境下的电子时钟设计.docx_第12页
第12页 / 共17页
proteus环境下的电子时钟设计.docx_第13页
第13页 / 共17页
proteus环境下的电子时钟设计.docx_第14页
第14页 / 共17页
proteus环境下的电子时钟设计.docx_第15页
第15页 / 共17页
proteus环境下的电子时钟设计.docx_第16页
第16页 / 共17页
proteus环境下的电子时钟设计.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

proteus环境下的电子时钟设计.docx

《proteus环境下的电子时钟设计.docx》由会员分享,可在线阅读,更多相关《proteus环境下的电子时钟设计.docx(17页珍藏版)》请在冰点文库上搜索。

proteus环境下的电子时钟设计.docx

proteus环境下的电子时钟设计

单片机课程设计

说明书

 

设计题目:

proteus环境下的电子时钟设计

系别:

电控系  

专业班级:

  

学生姓名:

  

学号:

 

指导老师:

  

日期:

  

电子时钟课程设计

 

目录

1.设计要求………………………………………………………..3

1.1实验目的........................................3

1.2系统功能……………………………………………………3

1.2.1基本功能………………………………………………3

1.2.2扩展功能………………………………………………3

2.系统设计…………………………………………………………3

2.1实验原理……………………………………………………3

2.2实验分析……………………………………………………4

2.2.1电路的总体设计………………………………………4

2.2.2程序的总体设计………………………………………4

3.单元电路设计……………………………………………………6

3.1输入部分……………………………………………………6

3.2输出部分……………………………………………………7

3.3晶振与复位电路……………………………………………7

4程序设计…………………………………………………………8

4.1延时模块……………………………………………………8

4.2中断服务程序………………………………………………9

4.3主程序………………………………………………………11

5.系统仿真…………………………………………………………14

6.参考文献…………………………………………………………16

1.设计要求

1.1实验目的

1.学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。

2.设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟

1.2系统功能

1.2.1基本功能

1.在4位数码管上显示当前时间。

显示格式“时时分分”

2.由LED闪动做秒显示。

3.利用按键可对时间及闹玲进行设置,并可显示闹玲时间。

当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。

4.实现秒表功能(百分之一秒显示)

1.2.2扩展功能

1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整)

2.音乐闹铃(铃音可选择,闹铃被停止后,闪烁显示当前时刻8秒后,或按键跳入正常时间显示状态)

3.定时功能(设定一段时间长度,定时到后,闪烁提示)

4.倒计时功能(设定一段时间长度,能实现倒计时显示,时间长减到0时,闪烁提示)

5.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调)

 

2.系统设计

2.1实验基本原理

利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。

为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

 

2.2实验设计分析

针对要实现的功能,采用AT89S51单片机进行设计,这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

2.2.1电路的总体设计

此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:

显示电路用8个共阴数码管分别显示,星期(年份),小时、分钟(月份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。

单片机采用AT89S51系列,这种单片机应用简单,适合电子钟设计。

框架如下:

 

2.2.2程序的总体设计

程序设计的整体思路为:

接通电源,数码管显示星期数,时,分,秒。

并且走时显示LED灯每隔1秒改变一次明暗,此为正常工作模式。

以下为在该工作方式下模式选择的按键方式:

 

框图如下:

 

3.单元电路设计

模块电路主要分为:

输入部分、输出部分、复位和晶振电路。

3.1输入部分

输入信号主要是各种模式选择和调整信号,由按键开关提供。

以下为输入部分样例:

在本实验中主要用用P3口输入按键信号,还用到了特殊的P0口。

对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示:

3.2输出部分

本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。

本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入,如下图:

闹铃由P2.6端输出,模块如下:

3.3晶振与复位电路

本实验单片机时钟用内部时钟,模块如下:

复位电路为手动复位构成,模块如下:

各模块拼接组合,电路总体设计图如下:

 

4.程序设计

4.1延时模块

数码管显示动态扫描时,用到延时程序,这里使用延迟1ms的程序,此程序需要反复调用程序如下:

D_1MS:

MOVR7,#2

D_5:

MOVR2,#250

DJNZR2,$

DJNZR7,D_5

RET

除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延时,只是延时的长短不同罢了,在此不再赘述。

4.2中断服务程序

本实验中,计数器T0,T1中断都有运用,其中T0中断为时钟定时所用,T1中断用于音乐播放。

 

NO

 

YES

 

YES

NO

 

计数器T1工作于方式1,当调用响铃程序时,其计数功能开启,为音乐音调不同频率的方波的形成,提供延时。

其中断服务程序就是根据音调改变音乐方波输出口电平的高低,用语句CPL实现。

中断服务程序中日历的实现较为复杂,要考虑平年,闰年,特殊的2月,每月的天数的不尽相同。

具体的逻辑判断方法为:

首先,要考虑年份是不是闰年,闰年的判断方法是:

将年份除以100,若能整除,则将年份除以400,若还能整除,则为闰年,若不能,则为平年;若不能被100整除,则判断是否能被4整除,若能,则为闰年,若不能则为平年。

只有2月与平、闰年相关,因此在闰年和平年的子程序中,要判断是不是2月,若是则在相应的年中进行日期的增加,若不是则转入平时的月份。

其中1、3、5、7、8、10、12月是每月31天,4、6、9、11月为每月30天。

日历进位判断流程图如下:

 

 

本实验用8个数码管,刚好能显示年,月,日,扫描显示与时间的扫描显示类似。

年比较特殊,由两个寄存器存储,个位,十位为0时,表明年数能被100整除,若此时千位,百位

组成两位数能被4整除,则年数被400整除,为闰年。

若十位,个位组成两位数能被4整除,则年数能被4整除,为闰年。

 

4.3主程序

主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序,该段程序如下:

MAIN:

JNBP3.0,DATETZ;按下0键,显示日期并可对日期进行调整

JNBP3.1,ZSTZ1;按下1键,显示时间,并可调时

JNBP3.2,NLTZZ;按下2键,进行闹铃设置

JNBP3.3,DSTZ;按下3键,进行定时设置

JNBP3.4,CESHI;闹铃测试

JNBP3.6,STOPWATCHTZ;按下6键,进入秒表方式

ACALLDISP;调用时钟显示子程序

JNBP0.6,RERING;判断是否开启闹铃重响功能

RE:

JNBP2.7,DSPDKQ;判断是否开启闹铃功能,没开则去判断定时

FMQPD:

;判断定时值R4,R3是否到零、闹铃时刻是否已到

MOVA,HOUR;

SUBBA,38H;

JZFEN;判断小时数是否到闹铃所定时间,若到,则对分进行判断;若不到,则对定时进行判断

AJMPDSPDKQ

FEN:

MOVA,MINUTE;

SUBBA,37H;

JZMIAO;判断分是否到闹铃所定时间,若到,则对秒进行判断;若不到,则对定时进行判断

AJMPDSPDKQ

MIAO:

MOVA,SECOND

SUBBA,#0

JZSHENGYIN1;判断秒是否到闹铃所定时间,若到,则时,分,秒都到达闹铃时刻,进入响铃子程序;若不到则判断定时

AJMPDSPDKQ

RERING:

;闹铃重响判断程序

JNBF0,RE;标志位F0为0,不进行闹铃重响设定

CPLF0

MOV3CH,#1;定时判断标志位赋1,定时判断功能开启

JNBP0.7,M1;闹铃重响间隔时间选取

MOVR4,#0;闹铃重响间隔30秒

MOVR3,#30

AJMPMAIN

M1:

;闹铃重响间隔60秒

MOVR4,#1

MOVR3,#0

AJMPMAIN

DSPDKQ:

;判断是否应该进行定时判断

MOVA,3CH;3CH是引入的判断因子,当其为0时,不对定时时间是否到0进行判断

JNZDSPD2;当3CH不是0时,跳转到定时判断程序

AJMPMAIN

DSPD2:

MOVA,R4;

JZS_PD;R4所存定时分数为0,则转而判断R3所存定时秒数

AJMPMAIN;

S_PD:

MOVA,R3;

JNZMAIN;R4,R3所存参数减为0,定时长度已到

JNBP0.6,SHENGYIN2;闹铃重响功能开启时,跳入响铃程序

AJMPTISHI;不是闹铃重响定时,则定时时间到时,跳入提示程序

AJMPMAIN

CESHI:

ACALLRING

AJMPMAIN

SHENGYIN1:

;调用响铃子程序

LCALLRING

AJMPMAIN

SHENGYIN2:

SETBF0;闹铃重响标志位设定

LCALLRING;响铃

CLRF0;标志位复位

AJMPMAIN

NLTZZ:

AJMPNLTZ1;跳入闹铃调整程序

DSTZ:

AJMPDSTZ1;跳入定时调整程序

DATETZ:

AJMPDATETZ1;跳入日期调整程序

STOPWATCHTZ:

AJMPSTOPWATCHTZ1;跳入秒表程序

 

5.系统仿真

通过硬件仿真平台Proteus,可以将设计效果仿真出来,根据效果,有目的的改变设计,优化程序。

1.普通时间显示模式仿真图,表示:

星期一9点10分38秒

2.日期调节,显示模式仿真图,表示:

2010年7月10日

3.闹铃调节显示仿真图,表示闹铃时刻为8点整

4.定时,倒计时显示仿真图,表示此时定时初值已经减到54秒,及还有54秒定时到。

定时最大值为59分59秒。

5.秒表显示仿真图,表示秒表已经从0记到8.28秒。

秒表可计时到小时,其中小时位数字可到99,即最大计时为100小时

6.参考文献

[1]王港元编《电工电子实践指导》2006年2月江西科学技术出版社

[2]华成英童诗白编《模拟电子技术基础》2006年5月高等教育出版社

[3]王永洪编《线性集成运算放大器及其应用》1989年2月机械工业出版社

[4]张郁弘庄灿涛著《晶体管运算放大器及其应用》1978年9月国防工业出版社

[5]谢嘉奎宣月清冯军编《电子线路(线性部分)》1999年6月高等教育出版社

附件:

A.Proteus电路图

........忽略此处.......

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

当前位置:首页 > 小学教育 > 语文

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

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