基于单片机的校园作息时间控制系统毕业设计论文.docx

上传人:b****1 文档编号:2617648 上传时间:2023-05-04 格式:DOCX 页数:30 大小:500.23KB
下载 相关 举报
基于单片机的校园作息时间控制系统毕业设计论文.docx_第1页
第1页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第2页
第2页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第3页
第3页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第4页
第4页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第5页
第5页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第6页
第6页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第7页
第7页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第8页
第8页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第9页
第9页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第10页
第10页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第11页
第11页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第12页
第12页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第13页
第13页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第14页
第14页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第15页
第15页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第16页
第16页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第17页
第17页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第18页
第18页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第19页
第19页 / 共30页
基于单片机的校园作息时间控制系统毕业设计论文.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的校园作息时间控制系统毕业设计论文.docx

《基于单片机的校园作息时间控制系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的校园作息时间控制系统毕业设计论文.docx(30页珍藏版)》请在冰点文库上搜索。

基于单片机的校园作息时间控制系统毕业设计论文.docx

基于单片机的校园作息时间控制系统毕业设计论文

基于单片机的校园作息时间控制系统

【摘要】:

校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。

如上下课打铃、教学楼照明的定时开与关、学生宿舍灯及校园路灯的定时开关、水泵的定时启动以及自来水供水时间控制等等。

该控制系统是采用AT89S52单片机来实现对上述开关量的控制,利用DS12887时钟芯片来提供时钟信息,设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。

【Abstract】:

Thecampusthedailytimetablecontrolsystemwhichismainlyusedinthecampus,itauto-controlsomeswitcheswhichhaveperiodsof24hours.Suchasthebellsringingwhenclassesbeginorfinish,thetimeswitchesoflampsinteachingbuildingsandstudentdormitories,thetimestart-upofwaterpump,andthetapwatersupplycontrolsystem,etc.

ThiscontrolsystemcarriesouttheswitchparametercontrolsallabovebySCMAT89S52.ItusestheclockchipcalledDS12887toprovidetheclockinformation.Itcouldshowtherealtimewith6bitdigitaltube.Anditcouldmodifytherealtimeclockwiththeinputkeyboard.Thesystemissimple,therunningissteadyanddependable,thecontrolledtimeisexact,andthephysicalvolumeofthesystemissmall,alltheadvantagesabovecanbeincarnatedinthissystem.

【关键词】:

作息时间控制AT89S52DS12887

【KEYWORD】:

THEDAILYTIMETABLECONTROL,AT89S52,DS12887

 

引言

该时钟控制系统有6位数码显示器,具有实时显示时钟(显示当前时间的小时、分钟及秒)功能,通过外扩锁存器还可以实现多点、多电器设备的控制。

该控制系统可广泛用于学校、工厂和机关的自动打铃、电视、室内照明及其他对象控制,也可用于家庭或学生寝室进行时间指示及多点时间提醒。

该校园作息时间控制系统实现了对上下课打铃、教学楼照明、学生宿舍灯、校园路灯四个开关量的精确控制。

月时间累计误差≤1分钟。

系统设有的键盘电路,方便定期进行时间校准。

1、整体设计

根据设计要求画出系统框图,如图1所示,原理见附录1。

该控制系统是由微处理器、时钟控制芯片、蜂鸣器、数码显示部分以及键盘输入部分所组成。

该控制系统设有六位数码管、可以实时显示时间、系统还设有输入键盘,用以修改实时时钟。

系统还采用AT89S52作为处理器,用DS12887实时时钟芯片作时钟计时单元,它不仅可以计时,同时内部还有114个非易失RAM单元,可以保证时钟及内部RAM内的数据不受停电的影响,保护数据不丢失。

显示电路采用了CD4511芯片来完成驱动和译码的功能,另外该芯片具有的数据锁存功能克服了采用软件扫描显示电路所固有的闪烁的问题。

输出驱动电路部分,采用了CD4042反相锁存器来驱动二极管、蜂鸣器工作。

图1系统框图

根据实际情况对上下课打铃、教室照明、学生宿舍灯及校园路灯四个开关量在一天内的控制时间列表如下:

表1作息时间控制表

时间

事件

动作

6:

30

学生宿舍送电

D2亮

7:

15

早读上课铃响

教室灯开、宿舍灯关

LS1响,延时15S;

D1亮、D2灭

7:

45

早读下课铃响

LS1响,延时15S

8:

00

第一节上课铃响

LS1响,延时15S

8:

40

第一节下课铃响

LS1响,延时15S

8:

50

第二节上课铃响

LS1响,延时15S

9:

30

第二节下课铃响

LS1响,延时15S

9:

40

第三节上课铃响

LS1响,延时15S

10:

20

第三节下课铃响

LS1响,延时15S

10:

40

第四节上课铃响

LS1响,延时15S

11:

10

第四节下课铃响

教室灯关,宿舍灯开

LS1响,延时15S;

D1灭、D2亮

12:

50

第五节课预备铃响

宿舍灯关、教室灯开

LS1响,延时15S;

D2灭、D1亮

13:

00

第五节课上课铃响

LS1响,延时15S

13:

40

第五节课下课铃响

LS1响,延时15S

13:

50

第六节课上课铃响

LS1响,延时15S

14:

30

第六节课下课铃响

LS1响,延时15S

14:

40

第七节课上课铃响

LS1响,延时15S

15:

20

第七节课下课铃响

LS1响,延时15S

15:

30

第八节课上课铃响

LS1响,延时15S

16:

10

第八节课下课铃响

教室灯关、宿舍灯开

LS1响,延时15S;

D1灭、D2亮

18:

20

晚自习预备铃响;路灯开、

宿舍灯关、教室灯开

LS1响,延时15S;

D1亮、D2灭、D3亮

18:

30

上晚自习铃响

LS1响,延时15S

20:

00

下晚自习铃响、宿舍灯开

LS1响,延时15S;D2亮

21:

00

教室灯关

D1灭

22:

30

学生宿舍灯关、路灯关

D2灭、D3灭

2、硬件设计

按系统框图分三个部分设计如下:

2.1系统部分

单片机采用片内带有4KBE2PROM的AT89C52,这样就不需要再扩展片外程序存储器,可以简化线路;用一片74LS138译码器提供5个外部地址(CS0、CS1、CS2、CS3、CS4),分别对于6个七段码显示器、1个时钟芯片和1个锁存器地址;采用一片时钟芯片DS12887为系统提供准确时间。

该芯片内部自带锂电池,计时精确,不受系统电源影响;AT89S52的T0与T1相连,利用单片机内部的定时/计数器完成15秒打铃控制。

如图2所示。

图2系统部分原理图

2.2键盘接口电路

键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。

本系统中采用 独立式按键结构,如图3所示,各按键相互独立地接通一条输入数据线,当任何一个键按下时,与之相连的输入数据线即被置0,而平时该线置1。

独立式按键电路配置灵活,软件结构简单。

当功能键不很多时,采用该种方式比较合适。

图3键盘接口原理图

2.3显示部分

选用6个七段数码管分别显示时、分、秒,数码管的驱动选用具有译码、锁存、驱动功能的CD4511芯片,显示数据来自DS12887的时单元、分单元、秒单元,经P0口(BCD码)送到CD4511芯片,译码后再送到显示器显示。

如图4所示。

图4显示部分原理图

2.4输出控制部分

输出控制信号由P2口送到锁存器锁存,经74LS04芯片驱动相应的输出部分动作。

例如:

要开路灯执行指令MOVP2,#02H即可,而若执行指令MOVP2,#E0H,则是路灯、学生宿舍灯和教室灯全部打开。

P2口各位所控制的对象见表2,输出部分原理图如图5所示。

表2位控表

P2口的位控制,“0”控制发光二极管或三极管截止、“1”控制发光二极管或三极管导通

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

教室灯

宿舍灯

路灯

电铃

X

片选信号输出端

图5输出部分原理图

3、DS12887的功能及工作原理

DS12887是一个DALLAS公司生产的实时时钟芯片,它把时钟芯片所需的晶振电路和外部锂电池等相关电路都集成与芯片内部,具有低功耗、工作稳定、功能集成度高、计时精确、与各种微处理器接口简便、在没有外接电源情况下可正常工作10年等一系列优点。

它主要由振荡电路、分频电路、周期中断、方波选择电路14字节时钟和控制单元、114字节非易失RAM、十进制、二进制加法器、总线接口电路、电源和写保护单元、内部锂电池等部分组成。

图6DS12887的引线端子排列图

各引线端子功能分配如下:

Ucc、GND——直流电源(+5V)电压,当Ucc低与4.25V时读写禁止,当Ucc低与3V时,电源切换至内部锂电池。

MOT——(模式选择):

MOT接Ucc为MOTROLA方式,MOT接GND为INTEL方式。

SQW——方波输出。

AD0~AD7——双向数据/地址复用线。

AS——(地址选通输入)用于实现信号分离,在AS信号的下降沿把地址锁入DS12887。

DS——数据选通或读输入。

R/W——读写输入。

CS——片选输入。

IRQ——中断申请输入。

RESET——复位输入。

DS12887利用AS(地址选通信号),可以对总线分时复用的微处理器实现简便的接口。

从00H—09H10个单元为时钟、日历及闹钟单元,其内容可由程序写入或读出。

其初始值在芯片初始化时由程序写入,其值可用BIN值(二进制数,编程时写作16进制数)或BCD值,这由寄存器B的DM位(b2)决定。

时钟初始化时,寄存器B的SET位(b7)必须置1,采用每天12H或24h制有寄存器B的24/12位(b1)决定。

在12h制时,时字节的最高位为1表示下午(PM)。

在各单元的内容写完之后,将寄存器B的SET位清0,时钟即开始运行。

这三个闹钟单元有两种

用法。

①根据写入到三个闹钟单元的时分秒值,每天产生闹中断一次;②在各闹钟单元写入“自由”码=0C0~0FFH,即最高两位为“1”时为“自由”状态。

如时钟单元写入0C0~0FFH,则每小时闹一次,在时闹和分闹两单元写入0C0~0FFH,则每分闹一次,在三个闹钟单元均写入0C0~0FFH,则每秒闹一次。

DS12887内部的4个可由程序访问的寄存器。

寄存器A

b7

b6

b5

b4

b3

b2

b1

b0

UIP

DV2

DV1

DV0

RS3

RS2

RS1

RS0

UIP(b7)——时间的更新正在进行位。

UIP=1,表示正在进行。

UIP=0不更新,此时读写时钟日历字节有效。

DV2、DV1、DV0——这三位用于震荡器开关和复位计数器链,当他们为010组合时将打开震荡器并允许RTC保持时间;为11X(X为0或1)组合时将使能震荡器并保持计数器链为复位状态。

在把010写到DV0、DV1、DV2之后500ms将发生新的数据更新。

RS3、RS2、RS1、RS0——速率选择位,用于选择周期中断的速率和SQW输出的方波速率,如RS3~RS0全为0,则禁止分频器输出,如表4所示。

表9DS12887方波输出频率的选择

寄存器A选择位

时基4.194304MHz或1.048576MHz

时基32.768KHz

RS3

RS2

RS1

RS0

周期中断速率

SQW方波输出频率

周期中断速率

SQW方波输出频率

0

0

0

0

0

0

0

1

30.517us

32.768kHz

3.90625ms

256Hz

0

0

1

0

61.035us

16.384kHz

7.8125ms

128Hz

0

0

1

1

122.07us

8.192kHz

122.07us

8.192kHz

0

1

0

0

244.141us

4.096kHz

244.141us

4.096kHz

0

1

0

1

488.281us

2.048kHz

488.281us

2.048kHz

0

1

1

0

976.562us

1.024kHz

976.562us

1.0234kHz

0

1

1

1

1.953125us

512Hz

1.953125us

512Hz

1

0

0

0

3.90625us

256Hz

3.90625us

256Hz

1

0

0

1

7.8125ms

128Hz

7.8125ms

128Hz

1

0

1

0

15.625ms

64Hz

15.625ms

64Hz

1

0

1

1

31.25ms

32Hz

31.25ms

32Hz

1

1

0

0

6.25ms

16Hz

6.25ms

16Hz

1

1

0

1

125ms

8Hz

125ms

8Hz

1

1

1

0

250ms

4Hz

250ms

4Hz

1

1

1

1

500ms

2Hz

500ms

2Hz

寄存器B

b7

b6

b5

b4

b3

b2

b1

b0

SET

PIE

AIE

UIE

SQWE

DM

24/12

DSE

SET——设置位。

时钟不更新,SET=1用于时钟初始化。

SET=0时钟每秒更新一次。

PIE——周期中断允许位,RESET使PIE=0。

AIE——闹钟中断允许位,RESET使AIE=0。

UIE——更新结束中断允许位,RESET使UIE=0。

SQWE——方波输出允许位,RESET使SQWE=0。

DM——数据模式位。

DM=1,时间用BIN值;DM=0,时间用BCD值。

24/12——该位=1时,时间为24h模式。

该位=0时,时间为12h模式。

DSE——夏时制允许位。

DSE=1,自动执行夏时制制作。

寄存器C

b7

b6

b5

b4

b3

b2

b1

b0

IRQF

PF

AF

UF

0

0

0

0

IRQF——中断请求标志。

当下例事件之一或多件同时出现时IRQF=1

1PF=PIF=1。

2AF=AIE=1。

3UF=UIE=1。

4即:

IRQF=PF*PIE+AF*AIE+UF*UIE

当IRQF=1时,IRQ端子变为低电平,发出中断请求。

PF——周期中断标志。

当由RS3~RS0决定的周期中断时间到时,

PF置1。

AF——闹钟中断标志。

当设置的闹钟时间到时,AF置1。

UF——更新结束中断标志。

每个时间更新周期结束时,UF=1。

B3、b2、b1、b0——无用位,读时为0。

寄存器D

b7

b6

b5

b4

b3

b2

b1

b0

VRT

0

0

0

0

0

0

0

4、程序框图

软件设计以时钟显示、键盘扫描、为主程序。

在设计中利用单片机时钟计时集成电路完成计时的任务,并500ms向单片机发一个中断,中断子程序有时钟显示及时间比较,如比较相等,则说明作息时间已到,发出指令控制电铃或照明电路的开、关操作。

4.1程序流程图(见图7)

图7程序流程图

4.2源程序清单

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVSP,#70H

CLRP2.4;电铃控制脚

CLRP2.5;宿舍灯控制脚

CLRP2.6;路灯控制脚

CLRP2.7;教学灯控制脚

CLRP2.3;DS12887选通脚

MOVR0,#0AH;指向寄存器A

MOVA,#2FH;初始化寄存器A,启动DS12887,中断速率500ms

MOVX@R0,A

CLRP2.3;指向寄存器B

MOVR0,#0BH

MOVA,#42H;初始化寄存器B,周期中断允许,选择BCD码,24小时模式

MOVX@R0,A

CLRP2.3

MOVR0,#04H

MOVA,#06H

MOVX@R0,A

CLRP2.3

MOVR0,#02H

MOVA,#29H

MOVX@R0,A

CLRP2.3

MOVR0,#00H

MOVA,#55H

MOVX@R0,A

MODIFY:

LCALLREAD

LCALLDISP

LCALLADJUST

LCALLINT887

SJMPMODIFY

ADJUST:

JBP1.0,AJT1

JNBP1.0,$

LCALLADHOUR

AJT1:

JBP1.1,AJT2

JNBP1.1,$

LCALLDEHOUR

AJT2:

JBP1.2,AJT3

JNBP1.2,$

LCALLADMIN

AJT3:

JBP1.3,AJT4

JNBP1.3,$

LCALLDEMIN

AJT4:

RET

ADHOUR:

MOVA,20H;小时加1子程序

ADDA,#01H

DAA

CJNEA,#24H,INCH2

MOVA,#00H

INCH2:

JCINCH3

INCH3:

MOV20H,A

LCALLWRHOUR

CLRP2.3

MOVR0,#0BH

MOVA,#42H

MOVX@R0,A

RET

DEHOUR:

MOVA,20H;小时减1子程序

CJNEA,#00H,DECH2

MOVA,#23H

SJMPDECH3

DECH2:

ANLA,#0FH

CJNEA,#00H,DECH4

MOVA,20H

SWAPA

ANLA,#0FH

DECA

SWAPA

ORLA,#09H

AJMPDECH3

DECH4:

MOVA,20H

DECA

DECH3:

MOV20H,A

LCALLWRHOUR

CLRP2.3

MOVR0,#0BH

MOVA,#42H

MOVX@R0,A

RET

WRHOUR:

CLRP2.3

MOVR0,#0BH

MOVA,#82H

MOVX@R0,A

CLRP2.3

MOVR0,#04H

MOVA,20H

MOVX@R0,A

RET

ADMIN:

MOVA,21H;分钟加1子程序

ADDA,#01H

DAA

CJNEA,#60H,INCH4

MOVA,#00H

INCH4:

JCINCH5

INCH5:

MOV21H,A

LCALLWRMIN

CLRP2.3

MOVR0,#0BH

MOVA,#42H

MOVX@R0,A

RET

DEMIN:

MOVA,21H;分钟减1子程序

CJNEA,#00H,DECH6

MOVA,#59H

SJMPDECH7

DECH6:

ANLA,#0FH

CJNEA,#00H,DECH8

MOVA,21H

SWAPA

ANLA,#0FH

DECA

SWAPA

ORLA,#09H

AJMPDECH7

DECH8:

MOVA,21H

DECA

DECH7:

MOV21H,A

LCALLWRMIN

CLRP2.3

MOVR0,#0BH

MOVA,#42H

MOVX@R0,A

RET

WRMIN:

CLRP2.3

MOVR0,#0BH

MOVA,#82H

MOVX@R0,A

CLRP2.3

MOVR0,#02H

MOVA,21H

MOVX@R0,A

RET

;从DS12887读取时间,并将时间写入20H到22H

READ:

LCALLJUDGE;判断芯片状态

CLRP2.3;读时信息

MOVR0,#04H

MOVXA,@R0

MOV20H,A

CLRP2.3;读分信息

MOVR0,#02H

MOVXA,@R0

MOV21H,A

CLRP2.3;读秒信息

MOVR0,#00H

MOVXA,@R0

MOV22H,A

RET

;送显示程序

DISP:

MOVR0,#20H;时显示

SETBP2.3

CLRP2.2

CLRP2.1

SETBP2.0

MOVA,@R0

MOVP0,A

INCR0;分显示

SETBP2.3

CLRP2.2

SETBP2.1

CLRP2.0

MOVA,@R0

MOVP0,A

INCR0

SETBP2.3;秒显示

CLRP2.2

SETBP2.1

SETBP2.0

MOVA,@R0

MOVP0,A

RET

;判断芯片状态子程序

JUDGE:

CLRP2.3

MOVR0,#0AH

MOVXA,@R0

JBACC.7,JUDGE;实质是判断寄存器A的最高位UIP

RET

;中断程序开始

INT887:

PUSH00H

PUSH0E0H

;比较作息时间程序

BJCX:

MOVA,22H;将秒信息放入寄存器R2

MOVR1,21H;将分信息放入寄存器R1

MOVR0,20H;将时信息放入寄存器R0

CJNEA,#15H,BJMIAO;判断秒是否为"00",是就关电铃

CLRP2.4

BJMIAO:

CJNEA,#00H,RET_INT;判断秒是否为"00",是就执行小时值比较

;小时比较程序

BJHOUR1:

CJNER0,#06H,BJHOUR2;判断时不为6点,比较下个时值

LJMPBJS1;判断时为6点,去比较分钟

BJHOUR2:

CJNER0,#07H,BJHOUR3;判断时不为7点,比较下个时值

LJMPBJS2;判断时为7点,去比较分钟

BJHOUR3:

CJNER0,#08H,BJHOUR4;判断时不为8点,比较下个时值

LJMPBJS3;判断时为8点,去比较分钟

BJHOUR4:

CJNER4,#09H,BJHOUR

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

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

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

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