作息时间控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训3 作息时间控制系统设计

实训考核时间:6课时

1.系统设计要求

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

2.硬件电路

硬件电路如图所示。

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

图作息时间控制系统

3.设计要求

(l)时间校对

在任何时候均可通过按压SW2和SW3按钮进行时间校准。每按动一下SW2,小时自动加1;持续按住不放,小时将自动连续加1。当小时指示为24时,再加1将自动回零。每按动一下SW3,分钟自动加l:持续按住SW3按钮不放,分钟将自动连续加1。当分钟指示为59时,再按动SW3,分钟将变为00。

(2)控制时间设定

需要设定控制时间点时,应首先按Swl按钮,然后再按动Sw2和SW3,使指示时间与要求时间一致,再按Sw1按钮进入“控制码”(控制对象)设置状态,按Sw3进行对象切换,最后按Sw2保存时间点;也可以按SW1取消本次设定。如此可设定多个控制时间点。

在正常状态按下SW1不放,然后再按Sw3按钮可删除所有的控制时间点。

4.实训考核要求

软件采用MCS-51汇编语言编写,使用T0产生50ms时基信号,通过软计数器产生时、分、秒信号。主程序已给出,请按图连线正确并编写有关的子程序。

5.评分标准:

1)连线不正确、子程序基本思路不清晰<60分

2)连线基本正确、子程序基本思路清晰60-69分

3)连线正确、子程序基本思路清晰完整70-85分

4)连线正确、子程序思路清晰完整86-100分

参考程序如下:

;******************************************************************

;实训7.asm

;作息时间控制系统

;************************头文件************************************

SDA TA BIT P1.4 ;定义74LS164串行移位数据端

SCLK BIT P1.5 ;定义74Is164串行移位时钟端

DIS EQU Pl ;定义字形口

Control EQU P0 ;控制输出

Swl EQU P3.2

Sw2 EQU P3.3

Sw3 EQU P3.4

Ms EQU 10H ;定义50ms计数器

Secs EQU 11H ;定义秒计数器

Minute EQU 12H ;定义分钟计数器

Hour EQU 13H ;定义时计数器

T-Minute EQU 18H ;定义定时分单元

T-Hour EQU 19H ;定义定时时单元

TControl EQU 1AH ;定义控制码单元

;******************************************************************* ORG 0000H

LJMP Main

;******************************************************************* ORG 000BH

LJMP T0INT

;*******************************************************************

Main∶MOV SP,#70H ;将栈区设置在70H~7FH

MOV IE,#10000010B ;允许T0中断

MOV TMOD,#01H ;T0定时方式1

MOV Ms,#20 ;50ms单元初值,使20×50ms=1s

MOV secs,#0

MOV Minute,#0

MOV Hour,#12H ;开机显示12∶00

MOV T-Minute

MOV T-Hour,#6

MOV B,#20H

CLR F0

CLR Fl

MOV R0,,#80

MOV TH0,#0B0H

SETB TR0

LOOP:MOV R1,#Minute

LCALL Split

LCALL DISP

LCALL V erify

NOP

LCALL setup

MOV A,secs

CJNE A,#5,$+3

JNC LOOP

LCALL Compare

SJMP LOOP

;****************中断服务程序***********

;***********************************

Compare:

;***************************************************** CLP1: INC R0 ;指向分

CLP2∶INC R0 ;指向控制码

MOV A,@R0

JNZ CLP3

RET

;***************************************************** CPL3:INC R0 ;指向下一个时间的开始

相关文档
最新文档