基于单片机电子时钟方案Word文档格式.docx

上传人:b****3 文档编号:18335505 上传时间:2022-12-15 格式:DOCX 页数:14 大小:46.60KB
下载 相关 举报
基于单片机电子时钟方案Word文档格式.docx_第1页
第1页 / 共14页
基于单片机电子时钟方案Word文档格式.docx_第2页
第2页 / 共14页
基于单片机电子时钟方案Word文档格式.docx_第3页
第3页 / 共14页
基于单片机电子时钟方案Word文档格式.docx_第4页
第4页 / 共14页
基于单片机电子时钟方案Word文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于单片机电子时钟方案Word文档格式.docx

《基于单片机电子时钟方案Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机电子时钟方案Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

基于单片机电子时钟方案Word文档格式.docx

2.1输入部分

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

 

1J

44J

44J-

4J

4i

L..-4I

4LJ

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

P0口。

对于P0

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

'

■■'

'

■LI*'

r

-^—^XTALI

-■■山XTA15

■■■8!

PSE

st

n-57

眄咏紳P3.1/TCBP32/iNTaP3.3/1NTT

P3.<

/TQ

pnnftDOP0.W.D1PD^DZpaiAD3

PD.4^.DiPDSftDS

PD.SftD6PDT^DT

P2IW

P2.1胆P22W1Q

P2.MI3

P2J5^13

P2J6mii

P2.TJW15

2.2输出部分

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

本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在P1口连接

上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入,如下

图:

pecDEFG

匚沪

T~_~

-:

J*-

JCFAL2

PDs^D"

POTOD^P口朋口百戸UHKi-吃fnJunrm

HU1.4.1—

piumi:

P2-2XA-iO

H—IWlIl«

F5ThP2吟仃

hjii^KTi

JZ3'

土.

girl?

.+.«

£

MA^;

.A>

.X.W*:

l*®

^iFWWrtH*H;

呻:

*MTXD

*3jifiTn

■K.MNTII

P^+^HJ

P?

-5fTj

111

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

2.3晶振与复位电路

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

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

VCC5V

RST

CE1

]0iiF

RI

1■憾

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

:

个人资料整理•:

习使用

135--

lee-sai

~L

■-IK

□□

R1

Ftl1

II

Rootsheet1

+J10D.C+15(

R1Q

-•

-:

TE^-

R12

■XTAL1

XTAL2

ISEN

R13-

耳血・«

<

Te(n>

-

PDDADDPD.WD1

FD2HD2

PD3^D3PD.WDi

PD^D6PDWDT

PZ1W

P22ft1DP23SA11

P2.W12

P2SW13P2收刚*P2Jjft15

网MXD

P3/D:

D

piWraPS^nTT

PJ.4/TT1FJ5T1

P3J/RF

PROGRAM-Wrs讪iteW畑网ifbIJiE:

■:

r1<

"

PEXl5-

」Yf曰店L

F<

TE^-片

J<

TEXT>

-L

■■:

fyTE■-巧

r■■■

■.-■

--■

-..

....

*■■a-

*■・■**■

■1-

■ID;

-

R7■1L>

.

FfiariRie…

■1k-■■

LED-RS-=TEO=

z

SOUND-ff-

B.程序设计

B.1程序总体设计

本实验用汇编程序完成

程序总的流程图如下:

B.2程序主要模块

B.2.1延时模块

数码管显示动态扫描时,用到延时程序,这里使用延迟1ms的程序,此程序需反复调,除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延时,只是延时的长短不同罢了,在此不再赘述。

B.2.2中断服务程序

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

TO的定时长度为0.01s,工作于方式1,计数1次,时长1us,故计数器计数10000次,进入中断,计数初值为65536-10000=55536=#0D8F0装满定时器需要0.01s的时间,从而100次中断为一秒,一秒之后,判断是否到60秒,若不到则秒加一,然后返回,若到,则秒赋值为0,分加一,依次类推。

括日期显示的功能也是如此。

另外,由于要实现倒计时功能,因此在中断程序中还要加入减一的寄存器,需要时将其进行显示。

基于以上考虑,以R3为倒计

时中的秒,R4为倒计时的分,当秒加1时R3减一,减到0之后,秒赋值为59,分减一,直到分为0。

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

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

中断服务程序中日历的实现较为复杂,要考虑平年,闰年,特殊的2月,

每月的天数的不尽相同。

具体的逻辑判断方法为:

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

将年份除以100,若能整除,贝U将年份除以400,若还能整除,贝U为闰年,若不能,贝以平年;

若不能被100整除,贝U判断是否能被4整除,若能,则为闰年,若不能则为平年。

只有2月与平、闰年相关,因此在闰

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

其中1、3、5、7、&

10、12月是每月31天,4、6、9、11月为每月30天。

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

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

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

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

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

B.2.3主程序

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

B.2.4显示子程序

8个数码管轮流进行显示,分别显示1ms依赖人的视觉暂留效应,给人以数码管持续高亮的错觉。

日期的显示,秒表的显示,倒计时的显示,调闹铃,调定时的显示,闪烁的显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句ACAL调用;

有点直接嵌套在相应的程序里面,顺序执行,或者用调转语句AJM調用。

D_1MS:

延时程序:

MOVR7,#2D_5:

MOVR2,#250

DJNZR2,$

JZMIAO。

判断分是否到闹铃所定

DJNZR7,D_5

RET

间,若到,则对秒进行判断;

若不

主程序:

MAIN:

JNBP3.0QATETZ。

按下0键,显

示日期并可对日期进行调整

对定时进行判断

JNBP3.1,ZSTZ1。

按下1键,显

AJMPDSPDKQ

示时间,并可调时

MIAO:

JNBP3.2,NLTZZ。

按下2键,进

MOVA,SECOND

行闹铃设置

SUBBA,#0

JNBP3.3QSTZ。

按下3键,进

JZSHENGYIN1。

判断秒是否到闹

行定时设置

JNBP3.4,CESHI。

闹铃测试

JNBP3.6,STOPWATCHTZ按下6

定时间,若到,则时,分,秒都到

键,进入秒表方式

ACALLDISP。

调用时钟显示子程

闹铃

时刻,进入响铃子程序;

若不到则

JNBP0.6,RERING。

判断是否开

启闹铃重响功能

断定时

RE:

JNBP2.7QSPDKQ。

判断是

否开启闹铃功能,没开则去判断定时

RERING:

闹铃重响判断程序

FMQPD:

判断定时值R4,R3是否

JNBF0,RE。

标志位F0为0,不

到零、闹铃时刻是否已到

进行闹铃重响设定

CPLF0

MOV3CH,#1定时判断标志位赋

1,定时判断功能开启

MOVA,HOUR

JNBP0.7,M1。

闹铃重响间隔时间

SUBBA,38H

选取

JZFEN。

判断小时数是否到闹铃

MOVR4,#0。

闹铃重响间隔30秒

MOVR3,#30

定时间,若到

AJMPMAIN

,则对分进行判断;

若不到,

M1:

闹铃重响间隔60秒

则对定时进行判断

MOVR4,#1

MOVR3,#0

FEN:

MOVA,MINUTE

DSPDKQ:

判断是否应该进行定

SUBBA,37H

时判断

MOVA,3CH。

3CH是引入的判断因

当其为0时,不对定时时间是否到0

进行判断

JNZDSPD2。

当3CH不是0时,跳转

到定时判断程序

DSPD2:

MOVA,R4

JZS_PD。

R4所存定时分数为0,则

而判断R3所存定时秒数

S_PD:

MOVA,R3

JNZMAIN。

R4,R3所存参数减为

0,定时长度已到

JNBP0.6,SHENGYIN2。

闹铃重响

功能开启时,跳入响铃程序

AJMPTISHI。

不是闹铃重响定

则定时时间到时,跳入提示程序

CESHI:

ACALLRING

SHENGYIN1。

调用响铃子程序

LCALLRING

SHENGYIN2:

SETBF0。

闹铃重响标志位设定

LCALLRING。

响铃

CLRF0。

标志位复位

NLTZZ:

AJMPNLTZ1。

跳入闹铃调整程序

DSTZ:

AJMPDSTZ1。

跳入定时调整程序

DATETZ:

AJMPDATETZ1跳入日期调整程序

STOPWATCHTZ:

AJMPSTOPWATCHTZ跳入秒表程

显示子程序:

DISP:

时间显示子程序

JNBP3.7,OUT1。

判断节能开关7

转是

否按下,按下则数码管不显示,延长

其/、寿命

MOVDPTR,#LEDTAB

MOVA,SECOND显示当前时间秒

MOVB,#10

DIVAB。

A存十位,B存个位

MOVCA,@A+DPTR

MOVP1,A

CLRSEC_S

ACALLD_1MS。

显示当前时间秒

十位

SETBSEC_S

MOVA,B

CLRSEC_G

个位

SETBSEC_G

MOVA,MINUTE显示当前时间分

DIVAB

CLRMIN_S

ACALLD_1MS

SETBMIN_S

CLRMIN_G

SETBMIN_G

MOVA,HOUR显示当前时间时位

CLRHOU_S

SETBHOU_S

CLRHOU_G

SETBHOU_G

MOVA,WEEK显示当前星期数

CLRY_S

SETBY_S

OUT1:

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

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1