作息时间控制器的设计

合集下载

可编程作息时间控制器设计单片机课程设计

可编程作息时间控制器设计单片机课程设计

单片机系统课程设计成绩评定表设计课题:可编程作息时间控制器设计学院名称:电气工程学院专业班级:学生姓名:学号:指导教师:设计地点:设计时间:单片机系统课程设计课程设计名称:可编程作息时间控制器设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:单片机系统课程设计任务书1、引言 (1)1.1研究背景和用途 (3)1.2设计思想及基本功能 (3)1.3研究内容及采方法 (3)(1)主要研究内容 (3)(2)主要采用方法 (4)2、总体设计方案 (4)2.1 方案选取 (4)2.2系统框图 (4)2.3系统工作原理 (5)3、硬件电路及芯片介绍 (5)3.1 AT89C51单片机 (5)3.2 1602LCD液晶显示器 (8)3.3其他重要元件 (9)(1) 独立式键盘的接口电路: (9)(2)蜂鸣器: (10)3.4硬件电路设计图 (11)4、系统软件设计 (12)4.1主程序软件设计 (12)4.2键盘扫描程序设计 (13)4.3时钟调节程序设计 (14)4.4闹钟时间调节程序设计 (15)4.5闹钟时间判断子程序设计 (16)5、总结 (17)参考文献 (18)附录: (19)1、引言1.1研究背景和用途20世纪末,电子技术得到了飞速的发展。

在其推动下,现代电子产品乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。

时间对于人来说总是那么珍贵,工作的忙碌性和繁杂让人容易忘记当前时间。

然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成更大的麻烦。

对于学校来说作息时间尤为重要。

如今,在电子计算机基础上发展而来的可编程作息时间控制器,它可以利用电子计算机的内部时间,通过程序判断处理,完成对作息时间的精确控制,并且由于是程序控制,所以可通过改变程序而进而灵活改变作息时间,同时可以实时显示时间,并实现打铃功能。

作息时间控制器的设计和制作

作息时间控制器的设计和制作

一、设计要求在单片机的功能下,利用LED数码管,蜂鸣器及轻触开关,设计了一个数字电子时钟。

(一)LED数码管能实时显示当前时、分、秒;(二)LED数码管闪动做秒显示,并且无闪烁,能正确显示程序送显的数据;(三)具有手动校时、校分功能,可以分别对时及分进行单独校时,使其校正到正确时间;(四)具有整点报时的功能。

二、设计方案该电路由键盘扫描模块,89C52主控模块,LED显示模块,发声模块组成。

键盘扫描模块由4个独立式键盘组成,主控模块由89C52单片机、复位及晶振模块组成,LED显示模块由一个4位7段数码管和一个2位7段数码管组成,发声模块由一个蜂鸣片组成。

三、硬件原理分析(一)复位控制模版通过轻触按钮S5使电路起到复位作用,在无按下按键时,电源Vcc对电容C3进行充电,按下按钮时,电容C3被短路,STC89C52芯片的9脚(RST)和电源Vcc直接连通,让RST得到高电平进行复位,使数码管回到初始状态,从而起到复位的功能。

(二)蜂鸣器控制模版通过三极管放大驱动电路,从而可以让蜂鸣器发出声音,假如输出的电平为高时,那么三极管会导通,导通电流使得蜂鸣器发出声音,假如输出电平为低时,那么三极管会截止不工作,没有导通电流,故无声音。

(三)LED电路控制模版LED显示器总共使用了一个8位I/O,LED数码管的位选线是由分别相互对应的P2.0-P2.5所控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。

LED七段显示器分别将七段显示译码器译码的时、分、秒输出状态显示。

校时的电路用来对“时”、“分”、“秒”显示数字进行校对调整的。

LED数码管由两位七段数码管和四位七段数码管构成六位七段数码管。

(四)时钟晶振电路模版时钟晶振电路,晶振频率为11.0592MHz,接入芯片的18脚与19脚上,晶振与芯片间的连线越短越好,避免产生干扰现象。

(五)键盘控制电路模版键盘控制电路,当松开按键S1时,P1.0口通过电阻接电源Vcc,P1.0口为高电平,当按下按键S1时,P1.0口接地,P1.0口为低电平。

可编程作息时间控制器设计

可编程作息时间控制器设计

可编程作息时间控制器设计作息时间控制器是一种用来帮助人们管理健康作息时间的设备。

它可以根据个人的需求和习惯自定义作息时间,并通过可编程功能来控制各种任务和提醒。

作息时间控制器的设计主要分为硬件和软件两个部分。

硬件部分包括显示屏、按钮、电源供应和时钟模块等,用于显示时间和设置参数。

软件部分则负责运行用户设置的程序,实现相应的功能。

首先,用户可以通过硬件部分的按钮界面来设置睡眠时间和起床时间。

可以根据个人需要设置每天起床时间、睡眠时间、午休时间和提醒时间等。

用户还可以设置不同的作息时间表,如工作日和周末的作息时间可以不一样。

其次,作息时间控制器可以通过软件部分的程序来控制各种任务和提醒。

用户可以设置不同的任务,如早晨运动、午休、提醒喝水等,控制器会在设定的时间触发相应的提醒。

此外,控制器还可以通过定时器功能来控制其他设备,如自动开启关闭灯光、咖啡机等。

最后,作息时间控制器还可以提供统计和分析功能来帮助用户更好地管理作息时间。

它可以记录用户的作息时间,并生成相应的报告,帮助用户了解自己的作息情况和睡眠数据,以便做出相应的调整。

总而言之,可编程作息时间控制器是一种方便实用的设备,它能够帮助人们管理健康的作息时间。

通过具备硬件和软件的设计,用户可以自定义作息时间、设置任务和提醒,并通过统计和分析数据来实现更好的作息管理。

作息时间对于个人的健康和生活品质有着重要的影响。

良好的作息时间可以提高工作和学习效率,增加身体健康和免疫力,改善睡眠质量和心理状态。

然而,现代社会的快节奏和各种干扰因素往往使人们难以维持规律的作息时间。

为了帮助人们更好地管理作息时间,可编程作息时间控制器成为了一种理想的解决方案。

硬件部分是可编程作息时间控制器的基础,它主要由显示屏、按钮、电源供应和时钟模块组成。

显示屏用于显示当前时间、设置参数以及展示任务和提醒的信息。

用户可以通过按钮来操作控制器,包括设置作息时间、添加任务和提醒等。

电源供应保证控制器的正常运行,时钟模块则提供精准的时间计量,确保作息时间的准确性和可靠性。

作息时间控制器的设计

作息时间控制器的设计

前言本次毕业设计的课题是《作息时间控制器》控制的设计,用时间来控制自动打铃,开(熄)学生宿舍灯等。

在指导老师的悉心指导及本组成员的共同努力下,完成了0~24小时循环显示的程序、自动打铃程序、开(熄)学生宿舍灯程序的设计,及电路板的制作。

通过本次设计领悟了作为一名技术员所具备分析、解决问题的能力,为今后的工作打下基础。

由于时间仓促、能力有限,程序难免有不足之处,请老师批评指正。

目录一、设计任务1、作息时间控制器控制设计大纲 (4)2、设计步骤 (4)二、设计过程1、时间控制显示程序 (5)1.1秒脉冲显示程序 (5)1.2分钟显示程序 (6)1.3小时显示程序 (7)1.4星期显示程序 (9)1.5自动扫描秒程序 (11)1.6开机显示 (12)2、电铃控制程序 (14)2.1作息时间电铃控制 (16)2.2双休日电铃控制 (17)3、学生宿舍开(熄)灯程序 (18)4、控制器输入输出点分配 (19)5、PCB接线图及元器件 (21)5.1 PCB的外部接线图 (21)5.2 元器件 (22)6、作息时间控制器控制梯形图 (22)7、作息时间控制器使用说明 (23)三、设计总结 (24)概述PLC即可编程控制器(Programmable logic Controller),是指以计算机技术为基础的新型工业控制装置。

PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。

它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。

PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。

20世纪70年代中末期,可编程控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。

更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及极高的性价比奠定了它在现代工业中的地位。

作息时间控制系统设计

作息时间控制系统设计

五、作息时间控制系统设计1.功能简介该时钟控制器有4位LED数码显示器,具有基本时钟(显示当前时间的小时及分钟)功能,通过外扩继电器、光电耦合器或固体继电器还可实现多点、多路电气设备的控制。

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

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

图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。

当小时指示为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.asm;作息时间控制系统;------------------------------------头文件-------------------------------------------------------------------- SDATA BIT P1.4 ;定义74LSl64串行移位数据端SCLK BIT P1.5 ;定义74LSl64串行移位时钟端DIS EQU P1 ;定义字形口Control EQU P0 ;控制输出SWl EQU P3.2SW2 EQU P3.3SW3 EQU P3.4MS EQU 10H ;定义50ms计数器Secs EQU 11H ;定义秒计数器Minute EQU 12H ;定义分钟计数器Hour EQU 13H ;定义时计数器T_Hour EQU 19H ;定义定时时单元Tcontrol EQU 1AH ;定义控制码单元;-------------------------------------------------------------------------------------------------------------- ORG 0000HLJMP Main;-------------------------------------------------------------------------------------------------------------- ORG 000BHLJMP TOINT;-------------------------------------------------------------------------------------------------------------- Main:MOV SP,#70H ;将栈区设置在70H~7FHMOV IE,#10000010B ;允许T0中断MOV TMOD,#01H ;T0定时方式1MOV MS,#20 ;50ms单元初值,使20X50ms=lsMOV Secs,#0MOV Minute,#0MOV Hour,#12H ;开机显示12:00MOV T_Minute,#0MOV T Hom,#6MOV B,#20H;-------------------------------------------------------------------------------------------------------------- CLR P0CLR F1MOV R7,#80MOV TL0,#0B0H ;50ms定时参数MOV TH0,#3CHSETB TR0 ;启动定时器LOOP:MOV R1,#MinuteLCALL Split ;调用拆分子程序NOPLCALL DISP ;调用显示子程序NOPLCALL VerifyNOPLCALL SetupMOV A,SecsCJNE A,#5,$+3 ;定时精度控制在5秒以内JNC LOOPLCALL CompareSJMP LOOP;--------------------------------------------------------------------------------------------------------------MOV TH0,#3CHPUSH ACCDJNZ MS,T0ExitMOV MS,#20MOV A,SecsINC AMOV Secs,ACJNE A,#60,$+3 ;60后不能加H,表示该数为十进制数JC T0Exit ;若秒小于60,则直接返回MOV Secs,#0 ;若秒大于或等于60,则回零MOV A,MinuteADD A,#1DA A ;对分进行十进制调整,以便送显示器显示MOV Minute,ACJNE A,#60H,$+3 ;60后一定要加H,表示该数为BCD码JC T0Exit ;若分小于60,则直接返回MOV Minute,#0 ;若分大于或等于60,则回零MOV A,HourADD A,#1MOV Hour,ACJNE A,#24H,$+3JC T0ExitMOV Hour, #0T0Exit:POP ACCRETI;-------------------------------------------------------------------------------------------------------------- Compare:MOV R0,#20H ;定时数据存储区NextTime:LCALL DISPMOV A,@R0CJNE A,Hour,CLPlINC R0MOV A,@R0CJNE A,Minute,CLP2INC R0MOV A,@R0CPL AMOV Control,AINC R0;-------------------------------------------------------------------------------------------------------------- CLPl:INC R0 ;指向分CLP2:INC R0 ;指向控制码MOV A,@R0JNZ CLP3RET;-------------------------------------------------------------------------------------------------------------- CLP3:INC R0 ;指向下一个时间的开始CJNE R0,#6FH,$+3JC NextTimeRET;-------------------------------------------------------------------------------------------------------------- Verify:JB SW3,VLP3 ;判断是否需要校“分”CLR EACLR TR0 ;校时期间,暂时关闭定时器VLPl:MOV A,Minute ;SW3闭合时,则对分钟加1 ADD A,#1DA AMOV Minute,ACJNE A,#60H,VLP2MOV Minute,#0VLP2:MOV R6,#40MOV R1,#MinuteLCALL SplitLCALL DISPDJNZ R6,$-3JNB SW3,VLPl ;若SW3未释放,则继续对分钟加1MOV Secs,#0 ;校时期间,将秒清零SETB EASETB TR0 ;恢复计数RET;-------------------------------------------------------------------------------------------------------------- VLP3:JB SW2,VExit ;判断是否需要校“时”CLR EACLR TR0 ;校时期间,暂时关闭定时器VLP4:MOV A,Hour ;SW3闭合时,则对小时加1 ADD A,#1DA ACJNE A,#24H,VLP5MOV Hour,#0VLP5:MOV R6,#40MOV R1,#MinuteLCALL SplitLCALL DISPDJNZ R6,$-3JNB SW2,VLP4 ;若SW3未释放,则继续对小时加1MOV Secs,#0 ;校时期间,将秒清零SETB EASETB TR0 ;恢复计数Vexit:RET;-------------------------------------------------------------------------------------------------------------- Setup:JNB SWl,SLP0 ;判断SWl是否闭合RETSLP0:MOV R6,#20 ;延时80ms(用显示程序) MOV 14H,#10HMOV 15H,#0AHMOV 16H,#11HMOV 17H,#0CHLCALL DISPDJNZ R6,$-3JNB SWl,SLP0SIPl:MOV R6,#20 ;延时80ms(用显示程序) MOV 14H,#10HMOV 15H.#0AHMOV 16H,#11HMOV 17H,#0CHLCALL DISPDJNZ R6,$-3JB SW3,SLP2LCALL Clear ;按下SW1+SW3则清除所有数据MOV R6,#50 ;延时200ms(用显示程序)MOV 14H,#10HMOV 15H,#0AHMOV 16H,#11HMOV 17H,#0CHLCALL DISPRET;-------------------------------------------------------------------------------------------------------------- SLP2:JB SW2,SLP1SETB P0SETB F1SLP21:MOV R6,#50 ;延时200ms(用显示程序) MOV 14H,#10HMOV 15H.#0AHMOV 16H,#11HMOV 17H,#0CHLCALL DISPDJNZ R6,$-3JB SW1,SLP21SLP22:MOV R6,#50 ;延时200ms(用显示程序) MOV 14H,#10HMOV 15H,#0AHMOV 16H,#11HMOV 17H,#0CHLCALL DISPDJNZ R6,$-3SLP23:JNB SW1,SLP22 ;等待SW1释放SLP3:MOV R1,#T_MinuteLCALL SplitLCALL DISPJB SW3,SLP6SLP4:MOV A,T_MinuteADD A,#1DA AMOV T_Minute,ACJNE A,#60H,SLP5MOV T_Minute,#0SLP5:MOV R6,#60MOV R1,#T_MinuteLCALL SplitLCALL DISPDJNZ R6,$-3JNB SW3,SLP4SLP6:JB SW2,SLP9DA AMOV T_Hour,ACJNE A,#24H,SLP8MOV T_Hour,#0 SLP8:MOV R6,#60MOV R1,#T_MinuteLCALL SplitLCALL DISPDJNZ R6,$-3JNB SW2,SLP7 SLP9:JB SW1,SLP3 SLP10:MOV R1,#T_MinuteLCALL SplitLCALL DISPJNB SW1,SLP10MOV TControl,#0JB SW3,SLP12 SLP11:MOV A,TControlINC AMOV TControl,A SLP12:MOV A,TControlANL A,#0FHMOV 14H,AMOV A,TControlSWAP AANL A,#0FHMOV 15H,AMOV 16H,#10HMOV 17H,#10HMOV R6,#50HLCALL DISPDJNZ R6,$-3JNB SW3,SLP11JNB SW1,SLP15 SLP13:JB SW2,SLP12LCALL STORESLP14:MOV R6,#50HJNB SW2,SLP14CLR F0CLR F1RETSLP15:MOV R6,#50HLCALL DISPDJNZ R6,$-3JNB SW1,SLP15CLR F0CLR F1RET;-------------------------------------------------------------------------------------------------------------- Clear:MOV R1,#20HCLRP1:CLR AMOV @R1,AINC R1CJNE R1,#70H,CLRP1RET;-------------------------------------------------------------------------------------------------------------- STORE:MOV R1,BCJNE R1,#6A,$+3JC STLP1MOV R1,#20HMOV B,R1STLP1:MOV @R1,T_HourINC R1MOV @R1,T_MinuteINC R1MOV @R1,TControlINC R1MOV B,R1RET;-------------------------------------------------------------------------------------------------------------- Split:MOV R0,#14H ;分个位显示缓冲单元MOV A,@R1ANL A,#0FH ;取分个位MOV @R0,ASWAP AANL A,#0FH ;取分十位MOV @R0,AINC R0 ;指向时个位显示缓冲单元INC R1MOV A,@R1ANL A,#0FH ;取时个位MOV @R0,AINC R0 ;指向时十位显示缓冲单元MOV A,@R1SWAP AANL A,#0FH ;取时十位MOV @R0,ARET;-------------------------------------------------------------------------------------------------------------- DISP:PUSH 00HMOV R0,#14H ;显示缓冲区首地址MOV R2,#11111110B ;对应个位的字位码MOV DPTR,#WordTab ;送字形表首地址JNB P0,DISP0DJNZ R7,DISP1CPL F1MOV R7,#60SJMP DISP1DISP0:CLR F1DISP1:ORL DIS,#00001111B ;关显示器MOV R3,#20DJNZ R3,$ ;延时40usMOV A,@R0 ;取待显示数字MOVC A,@A+DPTR ;查字形WordOut:MOV R3,#8 ;传送字形码到74LS164 NEXTB: RLC A ;取待发送位MOV SDATA,C ;送数据到数据口SETB SCLK ;产生时钟CLR SCLKDJNZ R3,NEXTB ;继续送下一位INC R0单片机应用:作息时间控制系统设计MOV A,R2 ;取字位码ANL DIS,AHIDE:MOV R3,#5 ;延时1msMOV R4,#100DJNZ R4,$DJNZ R3,$-4MOV A,R2 ;修改字位码RL AMOV R2,AJB ACC.4,DISP1DExit:POP 00HRET;--------------------------------------------------------------------------------------------------------------WodTab: DB 0C0H,0F9H,0A4H,0B0H ;“0”,“1”,“2”,“3”DB 99H,92H,82H,0F8H ;“4”,“5”,“6”,“7”DB 80H,90H,88H,83H ;“8”,“9”,“A”,“B”DB 0C6H,0A1H,86H,8EH ;“C”,“D”,“E”,“F”DB 0BFH,0C7H ;“-”,“L”END11。

作息时间控制器设计

作息时间控制器设计

题目7 可编程作息时间控制器设计
1. 设计要求
设计一个以单片机为核心的可编程作息时间控制器:
按照给定的时间模拟控制,实现广播、上下课打铃、灯光控制(屏幕显示),同时具备日期和时钟显示。

2. 实验原理
本题目原理与题目4相同,程序是在题目4的基础上将定时闹钟改造为4路可调闹钟,从而实现打铃等功能。

当四路闹钟中的任一路到时,均会点亮灯、打铃。

如有需求,可对程序进行调整,增加闹钟的路数,及到时后的处理方式。

题目中4个按键的功能分别为:设置限制的时间/时的调整、显示闹钟设置的时间/分的调整、设置闹钟的时间/设置完成、闹钟更换。

3. 电路设计(Proteus仿真通过)
本可编程作息时间控制器程序设计电路原理图,如下页图所示:
4. Proteus仿真
加载目标代码文件打开元器件单片机属性窗口,在“Program File”栏中添加上面编译好的目标代码文件“keil-17.hex”;在“Clock Frequency”栏中输入晶振频率为11.0592MHz。

启动仿真如下页图所示,当四路闹钟中的任一路到时,均会点亮灯、打铃。

毕业设计基于单片机的作息时间控制器

毕业设计基于单片机的作息时间控制器

毕业设计基于单片机的作息时间控制器WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】摘要校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。

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

关键词作息时间控制定时器语音芯片 8031AbstractThe campus the daily timetable control system which is mainly used in the campus, it auto-control some switches which have periods of 24 hours.This control system carries out the switch parameter controls all above by SCM 8031 .It uses the to provide the clock information. It could show the real time with 6 bit digital tube. And it could modify the real time clock with the input keyboard. The system is simple, the running is steady and dependable, the controlled time is exact, and the physical volume of the system is small, all the advantages above can be incarnated in this system.Key words:THE DAILY TIMETABLE CONTROL,TIMER, DELAYED ACTION,8031目录1 引言随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化,智能化发展,作为高新技术之一的单片机以其体积小,功能强,价格低廉,使用灵活等优势,显示出很强的生命力。

可编程作息时间控制器设计方案

可编程作息时间控制器设计方案

可编程作息时间控制器设计方案1、阅读中外文献资料摘要:数字钟是采用数字电路实现对"年、月、日、周、时、分、秒"数字显示的计时装置.由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

可编程作息时间控制器就是其中的一个部分,它能很好的帮助我们完成对操控方面的时序和时间的控制,可见可编程时钟控制器在未来有很大的发展潜力,其研究领域十分宽广,应用领域十分广泛。

2、立题依据及主要研究内容:数字钟能长期、连续、可靠、稳定地工作;同时还具有体积小,功耗低等特点,便于携带,使用方便。

目前应用广泛是可编程作息时间控制器,它不仅具有数字钟的一般优点,还有控制时间精确,且通过改变单片机的程序能够灵活改变冬、夏季作息时间,同时能够实时显示时间. 能够让我们来掌握运筹时间而不是让时间来催促逼迫我们。

可编程作息时间控制器实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,实现代学校必不可少的设备.本次研究的主要内容是可编程作息时间控制器系统,系统包括:单片机、LCD驱动及显示系统、按键输入系统、功率放大系统和电源组成。

利用单片机提供的基信号作为基准计时信号,进行年月日周时分秒计时,根据设定时间完成语音播报,可按照设定的时间进行相应的控制,能够随意设置语音播报时间和内容。

3、设计方案及思路:主要的设计方案为:1.硬件设计由单片机系统、输入键盘、功率放大器、显示系统等部分组成。

系统扩展了四个按键用于报时及设定时间。

利用单片机的DAC为电流型输出,经负载电阻R1、三极管Q1,放大驱动扬声器放音,SPEAKER 可选用4Ω或8Ω扬声器,作为调试和当地语音播报使用,留有音频输出接口经功率放大器驱动音箱。

用一个LED 显示作息时间到等相关信息,根据具体需要可控制电铃、播放提示语音等。

2.软件设计整个程序分为:主程序、键盘扫描程序、校时子程序、语音子程序等几部分。

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

前言本次毕业设计的课题是《作息时间控制器》控制的设计,用时间来控制自动打铃,开(熄)学生宿舍灯等。

在指导老师的悉心指导及本组成员的共同努力下,完成了0~24小时循环显示的程序、自动打铃程序、开(熄)学生宿舍灯程序的设计,及电路板的制作。

通过本次设计领悟了作为一名技术员所具备分析、解决问题的能力,为今后的工作打下基础。

由于时间仓促、能力有限,程序难免有不足之处,请老师批评指正。

目录一、设计任务1、作息时间控制器控制设计大纲 (4)2、设计步骤 (4)二、设计过程1、时间控制显示程序 (5)1.1秒脉冲显示程序 (5)1.2分钟显示程序 (6)1.3小时显示程序 (7)1.4星期显示程序 (9)1.5自动扫描秒程序 (11)1.6开机显示 (12)2、电铃控制程序 (14)2.1作息时间电铃控制 (16)2.2双休日电铃控制 (17)3、学生宿舍开(熄)灯程序 (18)4、控制器输入输出点分配 (19)5、PCB接线图及元器件 (21)5.1 PCB的外部接线图 (21)5.2 元器件 (22)6、作息时间控制器控制梯形图 (22)7、作息时间控制器使用说明 (23)三、设计总结 (24)概述PLC即可编程控制器(Programmable logic Controller),是指以计算机技术为基础的新型工业控制装置。

PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。

它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。

PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。

20世纪70年代中末期,可编程控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。

更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及极高的性价比奠定了它在现代工业中的地位。

20世纪80年代初,可编程控制器在先进工业国家中已获得广泛应用。

这个时期可编程控制器发展的特点是大规模、高速度、高性能、产品系列化。

这个阶段的另一个特点是世界上生产可编程控制器的国家日益增多,产量日益上升,这标志着可编程控制器已步入成熟阶段。

我国可编程控制器的引进、应用、研制、生产是伴随着改革开放开始的。

最初是在引进设备中大量使用了可编程控制器。

接下来在各种企业的生产设备及产品中不断扩大了PLC的应用。

目前,我国自己已可以生产中小型可编程控制器。

可以预期,随着我国现代化进程的深入,PLC在我国将有更广阔的应用天地。

所以PLC才被越来越多的人所熟悉,也被广泛的应用于自动化的生产与生活当中。

而本课题就来源于学校的实际情况,包括上下课打铃程序、双休日控制程序以及控制学生宿舍开(熄)灯等自动化程序的控制,相信PLC将会更加贴近生活,服务大众。

一、设计任务1、作息时间控制设计大纲PLC作息时间控制器采用数码显示,能够准确显示分、时、星期,在一定的时间内能够自动打铃,开(熄)学生宿舍灯。

此外,该PLC作息时间控制器还设置了手动按钮,用于调整分钟、小时和星期。

1.2作息时间控制设计大纲控制要求作息时间控制器的控制要求如下:(1、开机时初始状态显示为00时00分,显示星期为“1”。

按下启动按钮,控制器开始计时工作。

(2、能将时间显示调整到当前的日期及时间。

(3、可按所设置的时间要求打铃。

(4、可根据需要控制其它装置。

(5、作息时间表见图2-22。

(6 、设置相应的手动按钮,使控制器使用更加方便。

(7、为了便于广大师生过好双休日,从星期五下午17:00至星期日下午17:00停止打铃。

2、设计步骤1、先设计时间循环显示的程序,设计完成后在实验室进行试运行。

2、根据要求使程序运行到一定时间的时候开始打铃、控制学生宿舍开(熄)灯等。

3、绘制其外部接线图,后使用protel99绘制其外部接线图。

根据接线图,使用数码管、按钮、开关、万能板、电烙铁等工具来制电路板。

4、结合时间显示程序、打铃控制程序、学生宿舍开(熄)灯程序之后,在制作好的电路板上实验运行。

二、设计过程1、时间控制显示程序时间显示程序分秒脉冲显示、分钟显示、小时显示以及星期显示,当秒脉冲计数60次之后向分钟进位。

当分钟显示数码管显示到59之后又向小时进位,而小时则是用了一个计数器,当计数器计了24次之后向星期进位,同理星期显示也是用了一个计数器,7次之后使程序全部复位。

1.1秒脉冲显示程序秒脉冲程序梯形图如图2-11所示。

当按下SB0时,X0闭合,发出启动信号,使辅助继电器M200线圈得电并自锁。

计时器T0、T1组成1S时钟脉冲程序;Y15为秒闪烁输出;M0、C0组成分进位脉冲。

2-11作息时间PLC控制——秒脉冲发生程序当按下启动按钮X0之后,M200导通并自锁,而接通电源之后M1、M13、M21、M33也随之导通,所以开机接通电源时会立刻显示星期一00时00分,M200的导通后,由T0、T1共同发出一个1S的脉冲,使得Y15每秒亮一下。

而C0也开始计数,60次之后使M0导通。

M0一方面使C0清0,另一方面发出的脉冲信号使SFTL移位。

此时M2导通,使M1断电,分个位由“0”变为“1”。

以此类推。

1.2分显示程序图2-12作息时间PLC控制器——分钟显示程序分显示程序梯形图如图2-12所示。

由辅助继电器M1~M10分别接通分个位显示程序。

当M1闭合时,分个位显示“0”;当M2闭合时,分个位显示“1”;初始状态时,辅助继电器M1和M13闭合,分的个位及十位均显示“0”。

当计数器C0累计满60个脉冲时,计数器C0常开触点闭合,辅助继电器M0线圈得电,其常开触点闭合,产生一个分个位脉冲及一个分个位移位脉冲。

分个位移位脉冲的到来,使得移位指令将M1当前的“1”状态左移一位至M2,辅助继电器M2闭合,分的个位上显示“1”;若再来一个移位脉冲,移位指令将M2当前的状态左移一位至M3,辅助继电器M3闭合,分的个位上显示“2”;以此类推。

当分个位脉冲满10个时,M1的状态已移位至辅助继电器M11中,M11线圈通电,其常开触点闭合,使辅助继电器M2~M10复位,辅助继电器M1又闭合,分个位上又显示为“0 ”,辅助继电器M2~M10复位,为下一次分个位循环显示作好准备。

同时,M11常开触点闭合,使辅助继电器M12产生一个扫描周期的上升沿脉冲。

这个上升沿脉冲使得辅助继电器M13当前的“1”状态移位至M14中,分的十位上显示“1”,以此类推。

当分十位脉冲满6个时,M13的状态已移位至辅助继电器M19中,M19线圈通电,其常开触点闭合,使辅助继电器M13~M18复位,辅助继电器M13闭合,分十位上又显示为“0”。

当需要对分进行手动调整时,只需要按下按钮SB4,此时X3闭合,计数器C10计数。

经过1计数后,其常开触点闭合,使得状态继电器S5得电,其一常开触点闭合,产生一个分个位脉冲,改变分的当前显示,而状态继电器S5的另一常开触点闭合,使计数器C10复位,为下一次计数做好准备。

1.3时显示程序时显示程序梯形图如图2-13所示。

由辅助继电器M21~M30分别接通时个位显示程序。

当M21闭合时,时个位显示“0”;当M22闭合时,时个位显示“1”;当M23闭合时,时个位显示“2”。

以此类推。

由辅助继电器M33~M35分别接通时十位显示程序。

当M33闭合时,时十位显示“0”;当M34闭合时,时十位显示“1”;当M35闭合时,时十位显示“2”。

初始状态时,因辅助继电器M21和M33闭合,故时的个位及十位均显示为“0”。

当分十位脉冲满6个时,M13的状态已移位至辅助继电器M19,M19线圈通电,其常开触点闭合,使辅助继电器M20产生一个扫描周期宽的上升沿脉冲。

这个上升脉冲一方面向计数器C1提供脉冲,另一方面使得辅助继电器M21当前的“1”状态移位至助继电器M22中,时的个位上显示“1”,如此不断循环移位。

当时个位脉冲满10个时,M20的状态已移位至辅助继电器的M31中,M31线圈得电,其常开触点闭合,使辅助继电器M32产生一个扫描周期的上升沿脉冲。

这个上升沿脉冲使得辅助继电器M33当前的“1”状态移位至辅助继电器M34中,时的十位上显示为“1 ”。

图2-13作息时间PLC控制器——小时显示程序当脉冲C1累计满24个脉冲时,计数器C1常开触点闭合,辅助继电器M38线圈得电,其常开触点闭合,使辅助继电器M22~M30及辅助继电器M33~M34复位,辅助继电器M21及M33闭合,时个位和时十位上又显示位“0 ”,如此不断循环移位。

当需要对时状态进行手动调整时,只需要按下按钮SB5,此时X4闭合,计数器C11计数。

经过一次计数后,其常开触点闭合,使得状态继电器S6得电,其一常开触点闭合,产生一个时个位移位脉冲,改变时的当前显示。

而状态继电器S6的另一常开触点闭合,使计数器C11复位,为下一次计数做好准备。

1.4星期显示程序星期显示程序设计梯形图如图2-14所示,由辅助继电器M40~M46分别接通星期显示程序。

当M40闭合时,星期显示“1”;当M41闭合时,星期显示“2”,以此类推。

初始状态时,因辅助继电器M40闭合,星期显示为“1”。

当时移位脉冲满24个时,辅助继电器M38得电,其常开触点闭合,接通计数器C2并开始计数,另一常开触点产生一个星期脉冲及星期移位脉冲。

星期移位脉冲的来到,使移位指令将M40当前的“1”状态右移一位至M41中,辅助继电器M41闭合,星期显示“2”;若再来一个移位脉冲,移位指令M41当前的状态右移一位至M42,辅助继电器M42闭合,星期上显示“3”,如此不断移位。

当星期脉冲满7个时,计数器C2的常开触点闭合,一方面使其复位,另一方面接通辅助继电器M48,辅助继电器M48 的常开触点闭合,同时M40的状态已移位至M47,图2-14作息时间PLC控制器——星期显示程序梯形图M47线圈通电,其常开触点闭合,使辅助继电器M41~M46复位,辅助继电器M40又闭合,星期上又显示为“1 ”。

当需要对星期状态进行手动调整时,只需按下按钮SB6,此时X5闭合,计数器C12经过一次计数后动作,其常开触点闭合,使得状态继电器S7得电,其一常开触点闭合,产生一个星期移位脉冲,改变星期的当前显示。

而状态继电器S7的另一常开触点闭合,使计数器C12复位,为下一次计数作好准备。

1.5自动扫描程序数码管的动态扫描梯形图2-15所示。

初始状态时,辅助继电器M100闭合,特殊辅助继电器M8011每闭合一次,计数器C3就计数一次,其常开触点闭合并接通辅助继电器M110,辅助继电器M110的常开触点又是计数器C3复位。

相关文档
最新文档