77范文网 - 专业文章范例文档资料分享平台

作息时间控制系统设计

来源:网络收集 时间:2020-05-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

单片机应用:作息时间控制系统设计

五、作息时间控制系统设计

1.功能简介

该时钟控制器有4位LED数码显示器,具有基本时钟(显示当前时间的小时及分钟)功能,通过外扩继电器、光电耦合器或固体继电器还可实现多点、多路电气设备的控制。该控制器可广泛应用于学校、工厂和机关的自动打铃、电视、路灯、室内照明及其他对象控制,也可用于家庭或学生寝室进行时间指示及多点时间提醒。

2.硬件电路

硬件电路如图5-1所示。

abcdefgh8550x44.7Kx4abcdefghabcdefgh510x8abcdefgh74LS1643 Q0A 14 Q1B 25 Q26 Q310 Q4CLK 811 Q512 Q6MR 913 Q7 5V 5VAT89C511 P1.02 P1.13 P1.24 P1.35 P1.46 P1.57 P1.68 P1.7 5VLED1-LED8560x81Kx3 5V 5V10uF8.2KSW1SW2SW312MHz30Px29 RST10 RXD11 TXD12 INT013 INT114 T015 T116 WR17 RD18 XTAL219 XTAL120 Vss Vcc 40P0.0 39P0.1 38P0.2 37P0.3 36P0.4 35P0.5 34P0.6 33P0.7 32EA 31ALE 30PSEN 29P2.7 28P2.6 27P2.5 26P2.4 25P2.3 24P2.2 23P2.1 22P2.0 21 5V10K8550 5V图5-2 作息时间控制系统

电路采用单片机AT89C51,显示器采用四联共阳极LED数码显示器。其中字段由串入、并出的移位寄存器74LSl64控制,74LSl64的串行数据输入端由P1.4控制,移位脉冲由P1.5提供;字位由P1.0~P1.3控制,P1.0~P1.3对应控制L4~L1。SWl~SW3用来进行时间校准及控制时间点的设定。LED1~LED8用来模拟被控对象。另有铃响信号输出(铃响信号驱动蜂鸣器发声)。

3.使用说明 (1)时间校对

在任何时候均可通过按压SW2和SW3按钮进行时间校准。每按动一下SW2,小时

1

单片机应用:作息时间控制系统设计

自动加1;持续按住不放,小时将自动连续加1。当小时指示为24时,再加1将自动回零。每按动一下SW3,分钟自动加1;持续按住SW3按钮不放,分钟将自动连续加1。当分钟指示为59时,再按动SW3,分钟将变为00。

(2)控制时间设定

需要设定控制时间点时,应首先按SWl按钮,然后再按动SW2和SW3,使指示时间与要求时间一致,再按SWl按钮进入“控制码”(控制对象)设置状态,按SW3进行对象切换,最后按SW2保存时间点;也可以按SWl取消本次设定。如此可设定多个控制时间点。在正常状态下按下SWl不放,然后再按SW3按钮可删除所有的控制时间点。

4.参考程序

软件采用MCS-51汇编语言编写,使用T0产生50ms时基信号,通过软计数器产生时、分、秒信号。单片机内部RAM资源分配见表5-1所示。

表5-1 RAM资源分配表 RAM单元 10H 11H 12H 13H 14H 15H 16H

参考程序如下:

;-------------------------------------------------------------------------------------------------------------- ;5_1.asm

;作息时间控制系统

;------------------------------------头文件--------------------------------------------------------------------

SDATA

BIT P1.4

P1 P0

;定义74LSl64串行移位数据端 ;定义74LSl64串行移位时钟端 ;定义字形口 ;控制输出

SCLK BIT P1.5 DIS EQU Control

EQU

资源分配 50ms计数 秒计数 分计数 时计数 显示缓冲区分个位 显示缓冲区分十位 显示缓冲区时个位 RAM单元 17H 18H 19H 1AH 1BH-1FH 20H-6FH 70H-7FH 资源分配 显示缓冲区时十位 定时分单元 定时时单元 控制码单元 备用 时间表格 堆栈区 SWl EQU P3.2 SW2 EQU P3.3 SW3 EQU P3.4 MS EQU 10H Secs EQU 11H Hour

Minute EQU 12H

EQU 13H

T_Minute EQU 18H

;定义50ms计数器 ;定义秒计数器 ;定义分钟计数器 ;定义时计数器 ;定义定时分单元

2

单片机应用:作息时间控制系统设计

T_Hour EQU 19H ;定义定时时单元 Tcontrol

EQU 1AH

;定义控制码单元

;--------------------------------------------------------------------------------------------------------------

ORG 0000H LJMP Main

;--------------------------------------------------------------------------------------------------------------

ORG 000BH LJMP TOINT

;-------------------------------------------------------------------------------------------------------------- Main: MOV

SP,#70H

;将栈区设置在70H~7FH MOV IE,#10000010B ;允许T0中断 MOV TMOD,#01H ;T0定时方式1

MOV MS,#20 ;50ms单元初值,使20X50ms=ls

MOV Secs,#0 MOV Minute,#0 MOV Hour,#12H ;开机显示12:00

MOV T_Minute,#0 MOV T Hom,#6

MOV B,#20H ;--------------------------------------------------------------------------------------------------------------

CLR

P0

CLR F1 MOV R7,#80 MOV TL0,#0B0H ;50ms定时参数

MOV TH0,#3CH SETB TR0 ;启动定时器

LOOP: MOV R1,#Minute

LCALL Split

;调用拆分子程序NOP LCALL DISP

;调用显示子程序NOP LCALL Verify NOP

LCALL Setup MOV A,Secs CJNE A,#5,$+3 ;定时精度控制在5秒以内

JNC LOOP LCALL Compare

SJMP LOOP

;-------------------------------------------------------------------------------------------------------------- T0INT: MOV TL0,#0B0H

3

单片机应用:作息时间控制系统设计

MOV TH0,#3CH PUSH ACC DJNZ MS,T0Exit MOV MS,#20 MOV A,Secs INC A MOV Secs,A CJNE A,#60,$+3 ;60后不能加H,表示该数为十进制数 JC

T0Exit

;若秒小于60,则直接返回 MOV Secs,#0

;若秒大于或等于60,则回零

MOV A,Minute ADD A,#1 DA

A

;对分进行十进制调整,以便送显示器显示 MOV Minute,A CJNE A,#60H,$+3 ;60后一定要加H,表示该数为BCD码 JC

T0Exit

;若分小于60,则直接返回 MOV Minute,#0

;若分大于或等于60,则回零 MOV A,Hour ADD A,#1 MOV Hour,A CJNE A,#24H,$+3 JC

T0Exit

MOV Hour, #0 T0Exit: POP ACC

RETI

;-------------------------------------------------------------------------------------------------------------- Compare:MOV

R0,#20H

;定时数据存储区

NextTime:LCALL DISP

MOV

A,@R0 CJNE A,Hour,CLPl INC

R0

MOV A,@R0

CJNE A,Minute,CLP2 INC R0 MOV A,@R0 CPL A

MOV Control,A INC R0 RET

4

单片机应用:作息时间控制系统设计

;-------------------------------------------------------------------------------------------------------------- CLPl: INC R0 ;指向分 CLP2: INC R0

;指向控制码

MOV A,@R0 JNZ CLP3 RET ;--------------------------------------------------------------------------------------------------------------

CLP3: INC R0

;指向下一个时间的开始

CJNE R0,#6FH,$+3

JC NextTime

RET

;-------------------------------------------------------------------------------------------------------------- Verify: JB SW3,VLP3

;判断是否需要校“分” CLR EA CLR TR0

;校时期间,暂时关闭定时器 VLPl: MOV A,Minute

;SW3闭合时,则对分钟加1

ADD A,#1 DA A MOV Minute,A CJNE A,#60H,VLP2

MOV Minute,#0 VLP2: MOV R6,#40 MOV R1,#Minute

LCALL Split LCALL DISP

DJNZ R6,$-3

JNB SW3,VLPl ;若SW3未释放,则继续对分钟加1 MOV

Secs,#0

;校时期间,将秒清零 SETB EA SETB TR0

;恢复计数

RET ;--------------------------------------------------------------------------------------------------------------

VLP3: JB SW2,VExit

;判断是否需要校“时”

CLR EA

CLR TR0

;校时期间,暂时关闭定时器 VLP4: MOV A,Hour

;SW3闭合时,则对小时加1

ADD

A,#1

DA A MOV Hour,A

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库作息时间控制系统设计在线全文阅读。

作息时间控制系统设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1024814.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: