基于单片机控制的电铃控制器Word文档下载推荐.docx

上传人:b****6 文档编号:19561918 上传时间:2023-01-07 格式:DOCX 页数:26 大小:252.45KB
下载 相关 举报
基于单片机控制的电铃控制器Word文档下载推荐.docx_第1页
第1页 / 共26页
基于单片机控制的电铃控制器Word文档下载推荐.docx_第2页
第2页 / 共26页
基于单片机控制的电铃控制器Word文档下载推荐.docx_第3页
第3页 / 共26页
基于单片机控制的电铃控制器Word文档下载推荐.docx_第4页
第4页 / 共26页
基于单片机控制的电铃控制器Word文档下载推荐.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于单片机控制的电铃控制器Word文档下载推荐.docx

《基于单片机控制的电铃控制器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的电铃控制器Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。

基于单片机控制的电铃控制器Word文档下载推荐.docx

本打铃器可用于作息时间控制,方便了广大师生。

2总体设计方案

2.1设计思路

利用单片机及其定时器设计的一个时钟,在每次毫秒加1的计时过程中,都与设定的打铃

时间作比较,如果相等就输出打铃信号,不等则返回。

如此反复运行。

2.2总体设计框图

图1总体设计框图

2.3设计方案

根据设计任务的基本要求,设计了由单片机(AT89S51)作为主控器件,七段数码管作为显

示电路,七个按键组成的按键操作电路,七个发光二极管组成的状态指示电路,以及三极管、蜂鸣器组成的报警提示电路和继电器组成的打铃信号输出电路构成的自动打铃器。

除了以上的硬件电路外,还充分利用软件、硬件相结合,充分发挥单片机设计的优势。

使设计更具特色。

系统可分成三部分,即时钟电路、时间显示电路、控制电路,而时钟电路起控制主导作用。

时钟电路的构成由单片机及其定时器完成,时间显示电路则由单片机串口输出,送到外部集成芯片74LS164,最后由七段数码管显示出来。

控制电路主要控制着复位电路、校时以及设置打铃点等操作,并配以状态指示电路辅助操作。

3设计原理分析

3.1按键功能

初步设计了由六个按键来完成所有的操作,它们的功能分别是:

复位键、设置键、存储键、

加一键、减一键、确认键,具体操作方法由软件设计为菜单式操作,使所有的操作更加的简洁,

方便。

3.2状态指示

状态指示电路由硬件部分(六个发光二极管),结合软件使操作状态一目了然。

第一个发光二极管亮时候,表明当前状态为时间显示;

第二个发光二极管亮时候,表明此状态为时间调整状态;

第三个发光二极管亮时候,表明此状态为时间加一状态;

第四个发光二极管亮时候,表明此状态为时间减一状态;

第五个发光二极管亮时候,表明此状态为定时时间设定存储状态。

3.3打铃控制

比较所存储的打零时间点,至旳铃时间时进行打铃。

3.4电路原理图

图2总体电路图

图2中,S1为确认键,S2为设置键,S3为加一键,S4为减一键,S5为存储键,S7为复位键。

当S2按下时L2亮,S3按下时L3亮,S4按下时L4亮,S5按下时L5亮。

L1为正常运行指示。

S5,L6暂无使用。

蜂鸣器在每个操作时给予报警提示。

继电器电路作为打铃信号输出电路,

对外提供打铃信号。

4程序流程框图

4.1总体程序流程图

根据硬件设计结果,为满足要求,程序应有主程序、按键处理程序、中断服务程序和显示程序等部分构成。

主程序中主要是程序各部分的初始化;

按键处理程序处理五个按键的操作,包括各个按键的响应程序以及按键指示、闪烁指示、报警输出等;

显示程序显示星期、时、分、秒,主要是时钟显示。

图3总体程序流程图

4.2主程序流程图

该部分程序主要是对程序中所用到的数据单元进行初始化,以及定时器的赋初值。

图4主程序流程图

4.3校时程序流程图

该部分的键盘扫描为程序扫描方式,CPU不停的对P1口进行扫描,当任何一个键按下时,

与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。

这种键盘扫描方式的优

点是电路简单:

缺点是当键数较多时,要占用较多的I/O线。

由于按键的机械特性,在闭合及

断开的瞬间均伴随有一连串的抖动,键抖动会引起一次按键被误读多次。

为了确保CPU对键的

一次闭合仅作一次处理,必须去除键抖动。

该程序使用10ms延时程序作为去抖动程序去除键抖动。

校时程序

I设置键

1^1

—>

1星期调整II小时调整I[分钟调整

一1

调用闪烁子程序—[

图5校时程序流程图

4.4时钟打铃程序流程图

时钟打铃程序使用单片机TO、T1两个定时器中断,两个定时器均为方式一,初值为10ms当定时器TO溢出时响应中断,使毫秒单元加1,当毫秒单元满100时分单元加1,依此类推。

当定时器T1溢出时响应中断,依次比较存储的打铃点,条件符合就输出打铃信号。

中断均需保护现场,返回时恢复现场。

H调用显示程序

,恢复现场中断返回II

图6时钟打铃中断程序流程图

5心得与体会

在此次将近三周的单片机实习,在指导老师和同学的帮助下,我确实学到了不少平时在课堂上所学不到的知识。

这样的实习不论是对我们的理论知识还是实践能力都有很大的帮助,经过这些实习可以使我们能更快更准确的掌握专业方面的理论知识。

总之,通过这次实习,我真正学到了很多东西,体会到了理论联系实际的重要性。

充分认识到实践的重要性,只有在实践中才能更好的验证理论知识。

虽然也遇到一些问题,但在老师及同学的帮助下,各种问题迎刃而解。

最后,衷心感谢辅导老师的指导和同学的帮助!

参考文献

[1]周航慈.单片机应用程序设计基础[M].北京:

电子工业出版社,1997年7月

[2]朱承高.电工及电子技术手册[M].北京:

高等教育出版社,1990

[3]阎石.数字电子技术基础(第三版)[M].北京:

高等教育出版社,1989

[4]廖常初.现场总线概述[J].电工技术,1999.6

[5]李朝青.单片机原理及接口技术(第三版)[M].北京;

北京航空航天大学出版社,2005年10月

1程序分为五部分

1.初始化程序,2.键值处理程序,3.中断程序,4.显示程序,5.延时程序

2程序清单

ORG0000HLJMPMAIN

ORG000BH

LJMPTOINT

ORG001BH

LJMPDLBJ

・**********

主程序

**********

ORG30H

;

开T0,T1中断

定时器方式1

初值

MAIN:

MOVIE,#8AH

MOVTMOD,#11H

MOVTH0,#0D8H

MOVTL0,#0F0H

MOVA,#0

MOV59H,A

MOV60H,A

MOV61H,A

MOV62H,A

MOV63H,A

MOV64H,A

MOV65H,A

MOV66H,A;

清零

m_secEQU

20H

毫秒单元

secEQU

21H

秒单元

minEQU

22H

分单元

hourEQU

23H

时单元

weekEQU

24H

星期单元

SETBTR0

SETBTR1

CLRP1.0

CLRA

MOVR0,A

MOVR1,A

MOVR2,A

MOVR3,A

MOVR5,A

MOVR6,A

MOVR7,A

MOVm_sec

#00

毫秒单元清零

MOVsec

秒单元清零

MOVmin

分单元清零

MOVhour

时单元清零

MOVweek

星期单元清零

MOV70H,A

MOV71H,A

MOV72H,A

MOV73H,A

MOV74H,A

LCALLxs

调用显示程序

・************************************************

 

・*****************J

数字钟按键程序*****************

调时钟按键**********

NET1:

JBP0.0,NET2

LCALLYS10MS

CLRp2.2

JNBP0.0,$

SETBp2.2

CLRP1.1

SETBP1.0

开中断

正常运行

SETBP1.1

SETBP1.2

SETBP1.3

CJNE

A

#00,NET3

JBP0.1

NET9;

数字钟调整时间部分切换键

LCALL

YS10Ms

JB

P0.1

NET9

CLR

p2.2

INC

59H

JNB

$

SETB

R7

TR0

TR1

SJMP

NET4

NET4

LCALLYS10ms

#1,NET5

NET3:

NET4:

秒闪烁

SSH

NET5:

NET9

MSH

#2;

分闪烁

NET6

NET6:

HSH

#3;

时闪烁

NET7

NET7:

MOV

WSH

#0

星期闪烁

NET8:

XS

・******************J

调整时间加1键*****************

NET9:

P0.2

NET115;

数字钟调整时间键

YS10ms

NET13

P1.2

#1

NET10

P1.3

YS200ms

sec

秒单元加

1

sec

#60

NET8;

不等60时跳转显示,等

60时将秒单元清零

LJMP

NET115:

NET15

NET10:

#2

NET11

min

分单元加

min

60时将分单元清零

NET11:

#3

NET12

hour

时单元加

hour

#24

不等24时跳转显示,等

24时将时单元清零

NET12:

P0.3,NET19

P2.2

R7,#1

NET16

DEC

sec;

秒单元减

A,sec

A,#0FFH

NET14;

sec,#59

NET14

R7,#2

NET17

min;

分单元减

A,min

min,#59

R7,#3

NET18

hour;

时单元减

NET15:

NET16:

NET17:

调整时间减1键**********************

A,hour

A,#0FFH,NET14;

不等24时跳转显示

hour,#23

NET18:

week;

星期单元减1

A,week

A,#00,NET14;

不等7时跳转显示,等

week,#07

NET19:

DSH

・********************J

定时程序*********************

DSH:

R2,#00

等24时将时单元清零

7时将星期单元清1

JBP0.4,NT11

CLRP2.2

CLRP1.4

JNBP0.4,$

SETBP2.2

INCR2

CJNER2,#01,NTA;

第1个打铃点

MOVR1,#30H

LCALLCUN

NT11:

LJMPNT1

NTA:

CJNER2,#02,NTB;

第2个打铃点

NTB:

CJNER2,#03,NTC;

第3个打铃点

NTC:

CJNER2,#04,NTD;

第4个打铃点

NTD:

CJNER2,#05,NTE;

第5个打铃点

NTE:

CJNER2,#06,NTF;

第6个打铃点

NTF:

CJNER2,#07,NTG;

第7个打铃点

NTG:

CJNER2,#08,NTH

第8个打铃点

NTH:

CJNER2,#09,NTI

第9个打铃点

NTI:

CJNER2,#10,NTJ

第10个打铃点

NTJ:

CJNER2,#11,NTK

第11个打铃点

NTK:

CJNER2,#12,NTL

第12个打铃点

NTL:

CJNER2,#13,NTM

第13个打铃点

NTM:

CJNER2,#14,NTN

第14个打铃点

NTN:

CJNER2,#15,NTO

第15个打铃点

NTO:

CJNER2,#16,NTP

第16个打铃点

NTP:

CJNER2,#17,NTQ

第17个打铃点

NTQ:

CJNER2,#18,NTR

第18个打铃点

NTR:

CJNER2,#19,NTS

第19个打铃点

NTS:

CJNER2,#20,NT1

第20个打铃点

NT1:

LJMPNET1

・****************

打铃点存储子程序

********************

CUN:

MOV@R1,hour

INCR1

MOV@R1,min

・********************

时钟中断程序

*********************

TOINT:

PUSH

PSW

ACC

保护现场

TH0

#0D8H

TL0

#0F0H

重新赋计数初值

m_sec

毫秒单元加1

m_sec

#100

NEXT1

秒单元加1

J

week

week

#08

#01

POP

恢复现场

RETI

中断返回

NEXT1:

打铃中断程序

DLBJ:

PUSHPSW

PUSHACCMOVTH0,#0D8HMOVTL0,#0F0HMOVR0,#30H

FH:

MOVA,@R0

CJNEA,hour,LOP1INCR0MOVA,@R0CJNEA,min,LOP2CLRP2.2CLRP1.4LCALLYS1minSETBP2.2SETBP1.4CLRAMOV7FH,AAJMPLOP2

铃声响

延时1分钟

铃声停

LOP1:

INCR0

LOP2:

CJNER0,#58H,FH

LOP3:

LCALLXS

POPPSW

POPACC

XS:

将秒送A

B

#10

DIV

AB

60H

B

秒的个位

61H

A

秒的十位

将分送A

62H

分的个位

63H

分的十位

hour;

将时送A

64H

时的个位

65H

时的十位

星期的送A

66H

星期的个位

LCP:

R1

#60H

R5

#7

DPTR

#TAB

BK:

@R1

MOVC

@A+DPTR

SBUF

TI

DJNZ

BK

RET

TAB:

DB11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,10H,90H

・*************

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

当前位置:首页 > 幼儿教育

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

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