智能时控开关设计_左敬龙,广东石油化工学院
PLC毕业设计作息时间控制器
![PLC毕业设计作息时间控制器](https://img.taocdn.com/s3/m/20fc876b1a37f111f0855b67.png)
前言本次毕业设计的课题是《作息时间控制器》控制的设计,用时间来控制自动打铃,开(熄)学生宿舍灯等。
目的是为了考查学生对所学知识的综合运用能力,以及对不同程序控制之间的融汇贯通。
在查阅有关的资料及手册的基础上,掌握与设计有关的基础知识,提高自己设计、分析程序的能力。
通过制作电路板,解决实际问题,提高自己的动手能力。
在指导老师的悉心指导及本组成员的共同努力下,完成了0~24小时循环显示的程序、自动打铃程序、开(熄)学生宿舍灯程序的设计,及电路板的制作。
通过本次设计领悟了作为一名技术员所具备分析、解决问题的能力,为今后的工作打下基础。
楼宇智能化工程技术PLC设计组目录一、设计任务1、作息时间控制器控制设计大纲 (4)2、设计步骤 (4)二、设计过程1、时间控制显示程序 (5)秒脉冲显示程序 (5)分钟显示程序 (6)小时显示程序 (7)星期显示程序 (9)自动扫描秒程序 (11)开机显示 (12)2、电铃控制程序 (14)作息时间电铃控制 (16)双休日电铃控制 (17)3、学生宿舍开(熄)灯程序 (18)4、控制器输入输出点分配 (19)5、PCB接线图及元器件 (21)PCB的外部接线图 (21)元器件 (22)6、作息时间控制器控制梯形图 (22)7、作息时间控制器使用说明 (23)三、设计总结 (24)概述PLC即可编程控制器(Programmable logic Controller),是指以计算机技术为基础的新型工业控制装置。
PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。
它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。
PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。
20世纪70年代中末期,可编程控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。
毕业设计(论文)-无线遥控定时开关插座设计
![毕业设计(论文)-无线遥控定时开关插座设计](https://img.taocdn.com/s3/m/f001cbc7dd36a32d727581a1.png)
精选文档无线遥控定时开关插座设计Design of Timing Switch Socket usingWireless Remote Control Technology学 院:信息科学与工程学院专 业 班 级:测控技术与仪器1204班学 号:学 生 姓 名:指 导 教 师:)2016 年 06月毕业设计(论文)指导教师审阅意见题目:无线遥控定时开关插座设计毕业设计(论文)评阅教师审阅意见题目:无线遥控定时开关插座设计毕业设计(论文)成绩评定专业毕业设计(论文)第答辩委员会于年月日审阅了班级同学的毕业设计(论文),听取了该生的报告,并进行了答辩。
毕业设计(论文)题目:毕业设计(论文)答辩委员会意见:经答辩委员会无记名投票表决,通过同学本科毕业设计(论文)答辩。
根据学校相关规定,经答辩委员会认定,该生的毕业设计(论文)成绩为。
专业毕业设计(论文)答辩委员会主任委员(签字)年月日摘要随着家用电器的越来越普及和人们生活节奏的加快,人们对电器的依赖性进一步提高,对电器的定时需求也进一步增大。
定时开关插座可用于电饭煲、饮水机、电视机、电脑、电动车电池的充电、定时开关电热毯等需要定时供电的场合。
定时开关插座的使用能够做到节能、安全、方便等。
本文设计了一种基于STC89C52单片机的定时开关插座设计方案。
设计一款以STC89C52单片机、DS1302、LCD1602液晶显示、38kHz红外遥控发射接收器为主体,可以工作在预设时间段的远程定时开关。
本设计可以利用红外线对开关进行远程控制,总的系统分为红外遥控发射端和接收端,中间涉及到进行红外的编码与解码,矩阵键盘,电源电路,液晶屏显示的设计。
发射端和接收端都是采用STC89C52单片机作为核心芯片。
程序采用C语言编写,具有更好的移植性和可读性,便于修改和增减功能。
该遥控定时开关可以通过红外按键设置一天内5组任意开关定时时间段。
该系统的时间正确可靠,可扩展性强,既能达到远程智能控制的目的,又在很大程度上降低能源的消耗。
智能时控开关设计
![智能时控开关设计](https://img.taocdn.com/s3/m/dc397212ac02de80d4d8d15abe23482fb4da02e7.png)
智能时控开关设计在智能时控开关的设计中,主要需要考虑以下几个方面:1.功能设计:智能时控开关需要具备时间设置、开关控制、延时功能等基本功能。
在时间设置方面,可以通过外部或内部时钟控制时间参数的设定,以满足用户的需求;开关控制功能需要具备远程控制和本地控制两种方式,用户可以通过手机APP或智能终端设备实现远程控制,也可以通过物理按钮进行本地操作;延时功能可以通过设置延时参数实现一定时间后自动开关的功能。
2.硬件设计:智能时控开关的硬件设计主要包括电路板设计、电源设计和外壳设计等方面。
电路板设计需要考虑各个功能模块的布局和连接方式,确保信号传输的准确和稳定;电源设计需要根据系统的功耗和电源供应方式选择适当的电源模块,以满足系统的电源需求;外壳设计需要考虑开关的外观、材质和安装方式等,以满足用户的审美需求和安装要求。
3.软件设计:智能时控开关的软件设计主要包括嵌入式软件和APP开发两个方面。
嵌入式软件主要负责实现时间参数的设置、开关控制和延时功能等,需要考虑程序的稳定性和可靠性;APP开发需要实现远程控制和数据传输等功能,需要考虑用户界面的友好性和响应速度。
4.安全性设计:智能时控开关涉及电器设备的控制,因此在设计过程中需要考虑安全性问题。
首先,需要考虑电路的绝缘和过载保护,以确保用户的安全使用;其次,需要考虑数据传输的安全性,采用加密技术和鉴权机制,防止数据被非法篡改或窃取;最后,需要考虑系统的稳定性和可靠性,进行严格的软件和硬件测试,确保系统的正常运行。
总之,智能时控开关设计需要综合考虑功能设计、硬件设计、软件设计和安全性设计等方面。
通过合理的设计和实施,智能时控开关可以提高能源利用效率,实现自动化管理和便利性,并为用户带来更好的使用体验。
一种新型10kV真空开关智能控制器的设计
![一种新型10kV真空开关智能控制器的设计](https://img.taocdn.com/s3/m/c23f25e4f8c75fbfc77db22b.png)
流有效值 、 电压有效值 、 瞬时功率 、 有功功率和无 功功 率等 , 而且很 方 便 单 片机 用 双 向 串行 接 口控
智能 控 制 器 的 主 要 组 成 部 分 包 括 电压 互 感 制 。 器、 电流互感 器 、 能计 量 模 块 、 片 机 、 S 模 电 单 GM 1 3 单 片机 . 块、 无线 通信模 块 、 键盘 、 电器组 成 , 图如 图 1 继 框 单 片机 采用 S 1 C A 2 2 TC 2 5 3 S 。该 单片机 有超
一
种 新 型 1 k 真 空 开 关 智 能 控 制 器 的设 计 0V
吕 高 , 覃晋 民2康 凯2张丽萍2 , ,
太原 00 1 ;. 3 0 3 2 交城供电支公 司 , 山西 交城 000 ) 3 50
(. 1 太原电力高等专科学校 电力工程系 , 山西 摘
要: 一种新型 l k O V真 空开关智 能控 制器 的设 计方法 , 即利 用无线收发模 块 , 在线查询 线路 运行参
Io与i试 误 差值 0, 以计 算 出该 线路 零序 电 "k 贝 4 可
路 ) :
z = I o — l 0 = l o
收 稿 日期 :0 00 —0 2 1—22 作者简介 : 高(9 5 ) 男, 吕 1 7 一 , 山西大 同人 , 太原 电力高等专科 学校 电力工程 系讲师 。
16 ・ 3
・
无线通信模块使用 n F 4 1 n F 4 1 R 2 0 ,R 20 是单 流值 ) 。不 同 的控 制 器 或 不 同 的线 路 , 零 序 电 该 片射频 收 发 芯 片 , 作 于 2 4 2 5 zIM 频 流测试 误 差 值 是 不 同 的。假 设 第 k条 支 线 的 零 工 . ~ .GH S
广东石油化工学院化工仪表及自动化PPT课件
![广东石油化工学院化工仪表及自动化PPT课件](https://img.taocdn.com/s3/m/a861e9d4b84ae45c3a358c34.png)
当导压管长度超过30m时,导压管应分段倾斜,并在最高点 与最低点装设集气器(或排气阀)和沉淀器(或排污阀)。
广东石油化工学院 化工仪表及自动化
2)安装实例 被测流体为清洁液体时
(a)仪表在管道下方;(b)仪表在管道上方;(c)垂直管道,被测流体为高温液体 广东石油化工学院 化工仪表及自动化
化工仪表及自动化
2014-9
广东石油化工学院 化工仪表及自动化
授课计划
授课班级
授课章节内容摘要
高分子12-1、2、3
周次 日期 星期 节次
1
1/9
一
3、4
1.1化工自动化的主要内容1.2自动控制系统组成及方块图 1.3自动控制系统分类
2
8/9 一 3、4 中秋放假
3 15/9 一 3、4 1.4自动控制系统的过渡过程和品质指标1.5工艺控制流程图
间有一定的函数关系,
因此可通过测量孔板前后 的压差来测量流量
0
广东石油化工学院 化工仪表及自动化
δp t t
2)流量基本方程
根据流体力学中的伯努利方程
FA0 21(P1P2)
MFA0 21P
α:流量系数,与节流装置、 取压方式、阻力件开孔截面积 与管道截面积之比、雷诺数Re 、管道粗糙度等因素有关;
广东石油化工学院 化工仪表及自动化
取压口一般设置在法兰、环室或夹持环上,当测量管道 为水平或倾斜时取压口的安装如图:
当测量管道为垂直时,取压口的位置在取压位置的平面上, 方向可任意选择。
广东石油化工学院 化工仪表及自动化
导压管的材质应按被测介质的性质和参数确定,其内径不 小于6mm,长度最好在16m以内。
智能型时间、照度控制开关系统的设计
![智能型时间、照度控制开关系统的设计](https://img.taocdn.com/s3/m/395d5f988e9951e79a892719.png)
智能型时间、照度控制开关系统的设计摘要随着经济的快速发展,电力电能以短期内无法满足人们的需求,因此节能降耗已成为人们关注讨论和研究的话题。
本文研究的智能开关系统是针对路灯照明的控制方面产生的能源消耗和浪费而设计的智能型时间、照度控制开关控制系统。
本文介绍了此系统的设计与实现,并分析了以时钟芯片DS1302、单片机芯片AT89S52、光敏电阻及ADC0809、数码管、继电器、白炽灯等为主要部件的硬件电路,并以protues模拟仿真软件及keil调试软件作为软件部分。
通过时间控制和环境状况(暗亮程度)控制相配合的方法去控制灯。
实现在一定时间段内和随着光照强度的大小灯表现的状态不同,在傍晚规定时间点继电器吸合灯打开,在早上规定的时间点灯灭,这样以节省电能,光照较强时灯不亮等功能。
实验表明,该系统是一种智能型控制系统,随着社会的发展,智能开关控制系统会得到更广泛的应用。
关键词:智能开关控制,单片机,时钟芯片,光敏电阻,ADC0809,数码管,继电器,白炽灯ABSTRACTWith rapid economic development, human electricity demand growing, the power resource-scarce. Therefore, how energy consumption has become a topic of discussion and research attention.In this paper…….Key words:目录前言................................................................第1章绪论.............................................................. 第2章智能开关控制系统设计的总体方案 ...................................... 第3章智能开关控制系统的硬件设计 ..........................................3.1 单片机控制部分......................................................3.1.1 AT89S52 ......................................................3.1.2 复位电路的设计 ...............................................3.1.3 晶振电路的设计 ...............................................3.2 光照信号采集及A/D转换电路的设计.................3.3 时钟电路的设计......................................................3.4 显示部件的设计......................................................3.5 按键电路的设计 .....................................3.6 继电器、灯光电路.....................................第4章智能开关控制系统的软件设计 ..........................................4.1 Keil软件和Protues软件.............................................4.2智能型时间、照度控制开关系统设计的功能...............................4.3智能开关的流程图...................................第5章智能开关系统的调试..................................................5.1电路调试............................................................5.1.1 硬件调试........................................................5.1.2 软件调试........................................................5.2 调试过程中出现的问题和解决方法...................................... 第6章心得体会............................................................ 致谢....................................................................... 参考文献................................................................... 附录(程序)...............................................................前言第一章绪论随着社会的发展,电力电能成为人们生活中不可缺少的部分。
智能时控开关设计_左敬龙,广东石油化工学院
![智能时控开关设计_左敬龙,广东石油化工学院](https://img.taocdn.com/s3/m/314328da28ea81c758f578d2.png)
单片机综合实验实验报告学院计算机与电子信息学院专业电子信息工程班级电信12-1班姓名李玉金学号 12034490114 实验题目智能时控开关设计系统环境 Proteus 指导教师左敬龙实验时间 2014年10月27日至 2014年10月31日实验报告评分:_______目录1、引言 (3)2、总体设计方案 (4)2.1.1设计思路 (4)2.1.2方案确立 (4)2.1.3 设计方框图 (4)3、设计原理分析 (5)3.1主程序流程图 (5)3.2各部分电路设计 (6)3.2.1单片机最小系统设计 (6)3.2.2时钟电路 (6)3.2.3 复位电路 (7)3.2.4 显示电路 (7)3.2.5调时模块设计 (8)3.2.6整体电路图 (9)3.2.7实物连接图 (10)4、结束语 (10)5、参考文献 (11)6、附录1 (11)题目:智能时控开关设计班级:电信12-1 姓名:李玉全摘要:本系统通过单片机的定时器功能,利用按键及数码管的显示功能,实现了开关的时控功能。
通过按键输入调节时间的数字键,k1,使装置处于运行或设置状态,k2,能够实现时间调节的增加或减少,k3,k4,k5,分别用于调节时间的时,分,秒位,实现24小时的显示和定时功能,最小定时时间为1秒钟,最大定时时间为24小时。
定时时间到时,用发光二极管闪烁及蜂鸣器发声提示。
人工干预后停止闪烁及发声,并用发光管指示开关状态。
关键词:电子线路、单片机、开关定时、数码管、蜂鸣器。
1、引言随着科学技术和社会经济的迅猛发展,人类社会中自动控制,智能控制越来越普及,而单片机正是这种技术普及的基础。
顺着单片机的生产技术和其本身的性能的快速提高,以及单片机的价格便宜等因素,单片机被应用于非常广泛的领域。
本文中的智能时控开关就是应用单片机来实现的。
主要应用到了单片机的定时器模块,输入输出模块按键的输入和显示功能来实现了对外部开关的实时控制。
同时,近年来顺着声控开关的广泛应用,其方便人们的同时,缺点也是逐渐被人们发现。
李浩然-智能控制开关的设计
![李浩然-智能控制开关的设计](https://img.taocdn.com/s3/m/1f58bb661ed9ad51f01df26a.png)
数理与信息工程学院《单片机原理及应用》期末课程设计题目:智能控制开关的设计专业:电子信息工程班级:电信041班姓名:李浩然学号:04610116指导老师:余水宝成绩:15格式规范, 属于自己的东西少( 2007.1 )目录第1节引言......................................................11.1 智能控制开关概述............................................11.2 本设计任务..................................................1第2节智能控制开关硬件设计..................................32.1 系统的硬件构成及功能........................................32.2 AT89C51单片机及其引脚说明...................................32.3 DS12887时钟芯片及引脚说明...................................42.4 键盘控制和实时显示电路......................................52.5密码、时间设置掉电存储电路..................................72.6 电源电路....................................................82.7开关控制电路................................................8 第3节系统软件设计............................................93.1系统主程序设计.............................................9 第4节系统调试与测试结果分析..............................124.1使用的仪器仪表.............................................124.2系统调试...................................................13 结束语...........................................................14 参考文献........................................................15附录.............................................................16智能控制开关的设计数理与信息工程学院电信041 李浩然指导老师:余水宝第1节引言在自动测控系统中,特别是长时间无人值守的测控系统中,经常需要进行长达几小时的定时操作。
(整理)智能时控开关设计
![(整理)智能时控开关设计](https://img.taocdn.com/s3/m/15862e6803d8ce2f0066237c.png)
;系统晶振是11.0592 MHzZ8279 EQU 0FF82H ;8279 状态/命令口地址D8279 EQU 0FF80H ;8279 数据口地址LEDMOD EQU 00H ;左边输入八位字符显示;外部译码键扫描方式,双键互锁LEDFEQ EQU 2FH ;扫描速率LEDCLS EQU 0C1H ;清除显示RAMLEDWR0 EQU 80H ;设定的将要写入的显示RAM地址READKB EQU 40H ;读FIFO RAM 地址0 的命令字ORG 0000HAJMP STARTORG 001BH ;INT T1 入口地址AJMP INT_T1ORG 0040HSTART:MOV SP,#60HLCALL INIT8279 ;初始化8279MOV R3,#0H ;时MOV R2,#0H ;分MOV R7,#0H ;秒MOV R0,#0H ;10毫秒MOV R6,#0FFH ;标志MOV TMOD,#10HMOV TL1,#00H ;10毫秒的时间常数MOV TH1,#0DCHLCALL DIS_mSSETB ET1SETB EA ;允许中断zSETB 4BH ;三个定时端子禁止SETB 4CHSETB 4DHMOV 09H,#23HMOV 0CH,#23HMOV 0FH,#23HMOV R1,#09H ;定时时刻的存储起始地址WAIT:LCALL GETKEY ;读键盘CJNE A,#0FFH,CONT ;判断是否有键输入MOV A,BCJNE A,#3CH,KEY_A ;输入键是'C',转CLEAR_TLCALL CLEAR_TKEY_A: CJNE A,#3AH,KEY_D ;输入键是'A',转START_TLCALL START_TKEY_D: CJNE A,#3DH,KEY_B ;输入键是'D',转STOP_TLCALL STOP_TKEY_B: CJNE A,#3BH,KEY_F ;输入键是'B',转SET_TLCALL SET_TKEY_F: CJNE A,#3FH,KEY_E ;输入键是'F',转SET_FLCALL SET_FKEY_E: CJNE A,#3EH,CONT ;输入键是'E',转MONITORAJMP STOP_LIGHTCONT: CJNE R6,#0FFH,WAIT ;若无秒标志则循环LCALL DISPLAY ;显示时间MOV R6,#0 ;清标志TIMEON: MOV A,R7 ;判断定时1是否来到(秒,分,时)CJNE A,0BH,T2MOV A,R2CJNE A,0AH,T2MOV A,R3CJNE A,09H,T2LCALL TIMEONREPLAY1 ;转定时响应程序1T2: MOV A,R7 ;判断定时2是否来到(秒,分,时)CJNE A,0EH,T3MOV A,R2CJNE A,0DH,T3MOV A,R3CJNE A,0CH,T3LCALL TIMEONREPLAY2 ;转定时响应程序2T3: MOV A,R7 ;判断定时3是否来到(秒,分,时)CJNE A,11H,WAITMOV A,R2CJNE A,10H,WAITMOV A,R3CJNE A,0FH,WAITLCALL TIMEONREPLAY3 ;转定时响应程序3SJMP W AIT ;循环STOP_LIGHT:SETB 4BHSETB 4CHSETB 4DHMOV R1,#09HSJMP W AIT ;停止灯闪烁CLEAR_TIMER: ;定时时间清零子程序MOV 0BH,#0H ;小时清零MOV 0AH,#0H ;分钟清零MOV 09H,#0H ;秒清零MOV R6,#0FFH ;置秒标志LCALL DIS_mS ;显示毫秒RETCLEAR_T: ;时间清零子程序CLR TR1 ;关计数器MOV R3,#0H ;小时清零MOV R2,#0H ;分钟清零MOV R7,#0H ;秒清零MOV R0,#0H ;10毫秒清零MOV R6,#0FFH ;置秒标志LCALL DIS_mS ;显示毫秒RETSTART_T: ;电子钟计时子程序SETB TR1RETSTOP_T: ;电子钟停止计时子程序CLR TR1RETSET_F: CLR TR1 ;设置定时值子程序MOV R4,#7LCALL GETWORD ;读小时数CJNE A,#0FFH,INV ALID_TIEMR ;判断输入合法性MOV A,BADD A,#232JC INV ALID_TIEMR ;判断输入小时值< 24MOV A,BMOV B,#10DIV ABSW AP AADD A,BMOV @R1,A ;保存输入的值INC R1MOV R4,#5LCALL GETWORD ;读分钟数CJNE A,#0FFH,INV ALID_TIEMR ;判断输入合法性MOV A,BADD A,#196JC INV ALID_TIEMR ;判断输入分钟数< 60MOV A,BMOV B,#10DIV ABADD A,BMOV @R1,A ;保存输入的值INC R1MOV R4,#3LCALL GETWORD ;读分钟数CJNE A,#0FFH,INV ALID_TIEMR ;判断输入合法性MOV A,BADD A,#196JC INV ALID_TIEMR ;判断输入分钟值< 60MOV A,BMOV B,#10DIV ABSW AP AADD A,BMOV @R1,A ;保存输入的值INC R1AJMP BACKINV ALID_TIEMR:LCALL CLEAR_TIMER ;定时时间清零BACK: RETTIMEONREPLAY1: ;转定时响应程序1 CLR 4BHRETTIMEONREPLAY2: ;转定时响应程序2 CLR 4CHRETTIMEONREPLAY3: ;转定时响应程序3 CLR 4DHRETSET_T: ;设置初值子程序CLR TR1 ;关计数器MOV R4,#7LCALL GETWORD ;读小时数CJNE A,#0FFH,INV ALID ;判断输入合法性MOV A,BADD A,#232JC INV ALID ;判断输入小时值< 24MOV A,BMOV B,#10DIV ABADD A,BMOV R3,A ;保存输入的值MOV R4,#5LCALL GETWORD ;读分钟数CJNE A,#0FFH,INV ALID ;判断输入合法性MOV A,BADD A,#196JC INV ALID ;判断输入分钟数< 60MOV A,BMOV B,#10DIV ABSW AP AADD A,BMOV R2,A ;保存输入的值MOV R4,#3LCALL GETWORD ;读分钟数CJNE A,#0FFH,INV ALID ;判断输入合法性MOV A,BADD A,#196JC INV ALID ;判断输入分钟值< 60MOV A,BMOV B,#10DIV ABSW AP AADD A,BMOV R7,A ;保存输入的值MOV R4,#1LCALL GETWORD ;读10毫秒数CJNE A,#0FFH,INV ALID ;判断输入合法性MOV A,BMOV B,#10DIV ABSW AP AADD A,BMOV R0,A ;保存输入的值AJMP SET_TOKINV ALID:LCALL CLEAR_T ;时间清零SET_TOK:LCALL DIS_mS ;显示10毫秒LCALL DISPLAY ;显示时间RETGETWORD: ;读数子程序WKEY1: LCALL GETKEY ;读键盘CJNE A,#0FFH,WKEY1 ;无键输入,则再读MOV A,BADD A,#0C6HJC ERROR1 ;判断输入是否大于9MOV A,BSUBB A,#30HJC ERROR1 ;判断输入是否小于0MOV R5,ALCALL DISLED ;显示输入的字符MOV B,#10MUL ABPUSH ACC ;保存输入的值WKEY2: LCALL GETKEY ;读键盘CJNE A,#0FFH,WKEY2 ;无键输入则再读MOV A,BADD A,#0C6H ;判断输入是否大于9JC ERROR2MOV A,BSUBB A,#30H ;判断输入是否小于0JC ERROR2DEC R4MOV R5,ALCALL DISLED ;显示输入的字符MOV B,APOP ACCADD A,BMOV B,A ;把得到的值存在BMOV A,#0FFH ;置合法输入标志AJMP KEYOKERROR2: POP ACCERROR1: MOV A,#0 ;置非法输入标志KEYOK: RETINIT8279: ;8279初始化子程序PUSH DPH ;保存现场PUSH DPLPUSH ACCLCALL DELAY ;延时MOV DPTR ,#Z8279MOV A,#LEDMOD ;置8279工作方式MOVX @DPTR,AMOV A,#LEDFEQ ;置键盘扫描速率MOVX @DPTR,AMOV A,#LEDCLS ;清除LED 显示MOVX @DPTR,APOP ACC ;恢复现场POP DPLPOP DPHRET;读取键盘子程序;输入: 无; 输出: B: 读到的键码A: 按键的标志GETKEY: PUSH DPH ;保存现场PUSH DPLPUSH PSWMOV DPTR,#Z8279MOVX A,@DPTR ;读8279状态ANL A,#07H ;屏蔽D7-D3JNZ GETV AL ;判断是否有键输入MOV A,#0H ;置标志(无键输入)SJMP NKBHITGETV AL: MOV A,#READKB ;读FIFO RAM 命令MOVX @DPTR,AMOV DPTR,#D8279MOVX A,@DPTR ;读键ANL A,#3FH ;屏蔽SHIFT 和CTRL 键MOV DPTR,#KEYCODE ;键码表起始地址MOVC A,@A+DPTR ;查表MOV B,A ;置返回键值MOV A,#0FFH ;置标志(有键输入) NKBHIT: POP PSW ;恢复现场POP DPLPOP DPHRET;显示字符子程序;输入: R4,位置R5,值DISLED: PUSH DPH ;保存现场PUSH DPLPUSH ACCMOV A,#LEDWR0 ;置显示起始地址ADD A,R4 ;加位置偏移量MOV DPTR,#Z8279MOVX @DPTR,A ;设定显示位置MOV DPTR,#LEDSEG ;置显示常数表起始位置MOV A,R5MOVC A,@A+DPTR ;查表MOV DPTR,#D8279MOVX @DPTR,A ;显示数据POP ACC ;恢复现场POP DPLPOP DPHRETDELAY: ;延时子程序PUSH 0 ;保存现场PUSH 1MOV 0,#0HDELAY1: MOV 1,#0HDJNZ 1,$DJNZ 0,DELAY1POP 1 ;恢复现场POP 0RETDIS_mS:MOV A,R0ANL A,#0FHMOV R5,AMOV R4,#0LCALL DISLED ;显示10毫秒低位MOV A,R0SW AP A ;高低半字节交换ANL A,#0FHMOV R5,AMOV R4,#1LCALL DISLED ;显示10毫秒高位RETINT_T1: ;INT_T1中断服务子程序PUSH DPH ;保护现场PUSH DPLPUSH ACCPUSH PSWCLR TR1MOV TL1,#00H ;10毫秒定时常数MOV TH1,#0DCHSETB TR1MOV A,R0ADD A,#1 ;10毫秒数加1DA AMOV R0,ALCALL DIS_mS ;显示10毫秒CJNE R0,#0,EXIT ;判断10毫秒=0MOV R6,#0FFH ;置秒标志CJNE R7,#59H,SECOND ;判断秒=59MOV R7,#99HCJNE R2,#59H,MINUTE ;判断分=59MOV R2,#99HCJNE R3,#23H,HOUR ;判断时=23MOV R3,#99HHOUR:MOV A,R3ADD A,#1 ;时加1DA AMOV R3,AMINUTE:MOV A,R2ADD A,#1 ;分加1DA AMOV R2,ASECOND:MOV A,R7ADD A,#1 ;秒加1DA AMOV R7,AEXIT:POP PSW ;恢复现场POP ACCPOP DPLPOP DPHRETI ;中断返回DISPLAY:MOV A,R3ANL A,#0FHADD A,#10HMOV R5,AMOV R4,#6LCALL DISLED ;显示小时低位MOV A,R3SW AP AANL A,#0FHMOV R5,AMOV R4,#7LCALL DISLED ;显示小时高位MOV A,R2ANL A,#0FHADD A,#10HMOV R5,AMOV R4,#4LCALL DISLED ;显示分钟低位MOV A,R2SW AP AANL A,#0FHMOV R5,AMOV R4,#5LCALL DISLED ;显示分钟高位MOV A,R7ANL A,#0FHADD A,#10HMOV R5,AMOV R4,#2LCALL DISLED ;显示秒低位MOV A,R7SW AP AANL A,#0FHMOV R5,AMOV R4,#3LCALL DISLED ;显示秒高位JNB 4BH,LIGHT1JLIGHT2:JNB 4CH,LIGHT2JLIGHT3:JNB 4DH,LIGHT3BACK1: RETLIGHT1: CPL P1.1AJMP JLIGHT2LIGHT2: CPL P1.2AJMP JLIGHT3LIGHT3: CPL P1.3AJMP BACK1精品文档;LED显示常数表LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,087H ;'0.,1.,2.,3.,4.,5.,6.,7.'DB 0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H ;'8.,9.,A.,B.,C.,D.,E.,F.'DB 6DH,02H,08H,00H,59H,0FH,76H ;'U,-,_, ,I,O,P, ';键盘键码表KEYCODE:DB 30H,31H,32H,33H,34H,35H,36H,37H ;'1,2,Q,W,A,S,+,Z'DB 38H,39H,3AH,3BH,3CH,3DH,3EH,3FH ;'3,4,E,R,D,F,X,C'ENDF精品文档。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机综合实验实验报告学院计算机与电子信息学院专业电子信息工程班级电信12-1班姓名李玉金学号 12034490114 实验题目智能时控开关设计系统环境 Proteus 指导教师左敬龙实验时间 2014年10月27日至 2014年10月31日实验报告评分:_______目录1、引言 (3)2、总体设计方案 (4)2.1.1设计思路 (4)2.1.2方案确立 (4)2.1.3 设计方框图 (4)3、设计原理分析 (5)3.1主程序流程图 (5)3.2各部分电路设计 (6)3.2.1单片机最小系统设计 (6)3.2.2时钟电路 (6)3.2.3 复位电路 (7)3.2.4 显示电路 (7)3.2.5调时模块设计 (8)3.2.6整体电路图 (9)3.2.7实物连接图 (10)4、结束语 (10)5、参考文献 (11)6、附录1 (11)题目:智能时控开关设计班级:电信12-1 姓名:李玉全摘要:本系统通过单片机的定时器功能,利用按键及数码管的显示功能,实现了开关的时控功能。
通过按键输入调节时间的数字键,k1,使装置处于运行或设置状态,k2,能够实现时间调节的增加或减少,k3,k4,k5,分别用于调节时间的时,分,秒位,实现24小时的显示和定时功能,最小定时时间为1秒钟,最大定时时间为24小时。
定时时间到时,用发光二极管闪烁及蜂鸣器发声提示。
人工干预后停止闪烁及发声,并用发光管指示开关状态。
关键词:电子线路、单片机、开关定时、数码管、蜂鸣器。
1、引言随着科学技术和社会经济的迅猛发展,人类社会中自动控制,智能控制越来越普及,而单片机正是这种技术普及的基础。
顺着单片机的生产技术和其本身的性能的快速提高,以及单片机的价格便宜等因素,单片机被应用于非常广泛的领域。
本文中的智能时控开关就是应用单片机来实现的。
主要应用到了单片机的定时器模块,输入输出模块按键的输入和显示功能来实现了对外部开关的实时控制。
同时,近年来顺着声控开关的广泛应用,其方便人们的同时,缺点也是逐渐被人们发现。
例如外部噪音的存在也会使声控开关点亮电灯,那样会使得开关的节能性能不是很好。
所以人们希望通过实时控制开关来控制电灯。
顺着单片机的功能不断完善和其价格的大众化,使得智能时控开关得到广泛的应用。
与此同时,智能时控开关还能运用于其他很多的领域,所以本文所研究的智能失控开关具有重要的意义。
本文所应用的基本程序来之实验室的普中科技实验板的相关质料。
数码管的动态显示功能,在基础程序之上进行改进添加自己的元素实现实验的基本功能。
李玉全 2014年11月16日星期日2、总体设计方案2.1.1设计思路用STC89C51芯片进行控制,使用数码管显示时间和倒计时的时间显示,用按键来调节定时时间的长度等,首先是画出仿真电路图,然后根据自己画出的电路图来进行编写程序,使得电路正常运作,从而实现了定时开关的功能。
2.1.2方案确立方案一:使用STC89C51作为核心芯片来控制整个电路的运作,使用8位数码管来显示小时,分钟,和秒,中间用一条短的横线来隔开时分秒,这样就使得显示更加直观易懂。
使用普通的按键来进行时间的调节,比如定时时间的增加或者减少,开关的停止和开启等功能。
方案二:同样是使用STC89C51作为核心的控制芯片,不同的是,另外加一个DS1302外加时钟的定时功能。
按键用4*4的矩阵键盘来进行时间,功能的调节。
方案一和方案二比较,我选择了方案一,原因是方案一的设计相对比较简单,容易实现,而且如果是做成实物的话,成本大大的减少,操作方便等优势。
客户容易掌握其使用的方法。
因此我选择了方案一。
2.1.3 设计方框图图1、设计方框图3、设计原理分析3.1主程序流程图图2、 主程序流程图Y3.2各部分电路设计3.2.1单片机最小系统设计AT89C51是各单片机中最为典型和最有代表性的一种是一种带4KB闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的单片机,可稳定地工作于5V的电源下。
其集成度高、功能强、能耗低、通用性好、价格便宜。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
其组合而成的配件产品在日常生活的使用过程中非常方便、简单且实用,深受着广大消费者的喜爱。
AT89C51管脚说明如下: P0口:P0口为三态双向口,能带8个TTL电路。
有两种功能:第一功能是一个8位漏极开路型的双向I/O口,这时P0口可看做数据总线;第二功能是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P0口内部无上拉电阻,作为I/O口使用时,必须外接上拉电阻。
P1口:P1口是一个内部带上拉电阻的8位准双向I/O口(使用前有一个准备动作),负载能力为4个TTL电路。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部带上拉电阻的8位准双向I/O口,P2口缓冲器可接收、输出4个TTL门电流。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
3.2.2时钟电路单片机的时钟产生方法有两种: 内部时钟方式和外部时钟方式。
本系统中AT89C51单片机采用内部时钟方式。
最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHz~12MHz之间。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。
AT98C51单片机的时钟电路如图3所示。
单片机的时钟产生方法有两种: 内部时钟方式和外部时钟方式。
本系统中AT89C51单片机采用内部时钟方式。
最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHz~12MHz之间。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。
3.2.3 复位电路复位是单片机的初始化操作。
单片机系统在上电启动运行时,都需要先复位。
其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。
单片机的外部复位电路有上电自动复位和按键手动复位两种。
本系统中AT89C51单片机采用上电加按键手动复位电路,如图3所示。
图3、单片机的复位电路3.2.4 显示电路将单片机P0口的P0.0~P0.6分别接到数码管的ABCDEFG上作为段选端口,然后将单片机的P1口的P1.0~P1.1分别接到数码管的12345678位选端口上。
就可以构成了数码管的显示电路了,如下图4所示。
图4、数码管的显示电路3.2.5调时模块设计当k1接地时,处于设置时间状态。
当k1高电平时,处于工作状态。
Ke2高电平时用于调节时间的增加。
处于低电平时用于调节时间的减少。
K3,k4,k5,分别用于调节时间的时,分,秒位。
如图5所示图5、调时模块设计3.2.6整体电路图图6、整体电路图3.2.7实物连接图图7、实物连接图4、结束语经过将近一周的单片机课程设计,我有了很多的体会和感想。
通过本次对定时开关的设计,我对单片机这门课程有了更进一步的了解。
无论是在其硬件连接方面还是在软件编程方面,都取得了新的收获。
在对单片机编程方面,我们又掌握了一些新的编程思想,使得程序更为简练、易懂,而且更为严谨,程序执行的稳定性得到了提高,以前在学单片机这门课程时只是对其理论知识有了初步的了解。
通过本次实验,我们对它的工作原理彻底理解了,对其启动设置、转换结束判断以及输出控制等都基本掌握。
电路连接方面,我们对其与单片机的连接也有了更为直观的认识,通过实验的摸索以及必要的理论知识,我们准确的实现了它于单片机的互连。
我非常感激同组队员对我的的指导和帮助,没有他们的帮助,我还会做很多的无用功。
尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习。
最后感谢老师对我的精心指导和帮助,感谢同学们对我的帮助。
5、参考文献[1] 郭天祥. 51单片机c语言教程.北京:电子工业出版,2009.12[2] 张齐.单片机应用系统设计技术(第3版).北京:电子工业出版社,2013.7[3] 贾新章.电子线路CAD与优化设计. 北京:电子工业出版社,2014.46、附录1C程序代码:#include<reg51.h>sbit led=P3^6; //定义led状态显示char hour=23,minute=59,second=59;unsigned char i=0;unsigned char TempData[8];sbit KEY1=P2^2; //定义设置按键sbit KEY2=P2^3; //定义加减按键sbit KEY3=P2^4; //定义小时调整按键sbit KEY4=P2^5; //定义分钟调整按键sbit KEY5=P2^6; //定义秒钟调整按键sbit motor=P2^7; //定义开关开启按键sbit beep=P2^0; //定义蜂鸣器输出端口unsigned char code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char code weima[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};void display(unsigned char a,unsigned char b);void delay1(unsigned char num);void KeyScan();void DataDeal();void Tiner0_Init(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void main(){Tiner0_Init();led=0;motor=0;TempData[0]=duanma[second%10];TempData[1]=duanma[second/10];TempData[2]=0x40;TempData[3]=duanma[minute%10];TempData[4]=duanma[minute/10];TempData[5]=0x40;TempData[6]=duanma[hour%10];TempData[7]=duanma[hour/10];display(0,8);while(1){if(KEY1==1){display(0,8); //数码管显示函数if((second==0)&&(minute==0)&&(hour==0)){TempData[0]=duanma[0];TempData[1]=duanma[0];TempData[2]=0x40;TempData[3]=duanma[0];TempData[4]=duanma[0];TempData[5]=0x40;TempData[6]=duanma[0];TempData[7]=duanma[0];motor=1;led=1;while(1){beep=~beep; //蜂鸣器响delay1(10000); //蜂鸣器响的平率}}else{motor=0;}}else{KeyScan();display(0,8);}}}void Tiner0_isr() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;if(KEY1==1){i++;if((second!=0)||(minute!=0)||(hour!=0)){if(i==20){i=0;second--;if(second<0){second=59;minute--;if(minute<0){minute=59;hour--;}}DataDeal();}}}}void DataDeal(){TempData[0]=duanma[second%10];TempData[1]=duanma[second/10];TempData[2]=0x40;TempData[3]=duanma[minute%10];TempData[4]=duanma[minute/10];TempData[5]=0x40;TempData[6]=duanma[hour%10];TempData[7]=duanma[hour/10];}void display(unsigned char a,unsigned char b) {static unsigned char c=0;P0=0;P1=weima[c+a];P0=TempData[c];c++;if(c==b)c=0;}void delay1(unsigned char num) //延时函数{while(num--);}void KeyScan() //按键扫描函数{if(KEY1==0){if((KEY3==0)||(KEY4==0)||(KEY5==0)){delay1(30);if((KEY3==0)||(KEY4==0)||(KEY5==0)){if(KEY2==1){if(KEY3==0){while(!KEY3);if(hour<24){hour++;if(hour==24){hour=0;}}}if(KEY4==0){while(!KEY4);if(minute<60){minute++;if(minute==60){minute=0;}}}if(KEY5==0){while(!KEY5);if(second<60){second++;if(second==60){second=0;}}}}else{if(KEY3==0){while(!KEY3);if(hour>0){hour--;if(hour==0){hour=0;}}}if(KEY4==0){while(!KEY4);if(minute>0){minute--;if(minute==0){minute=0;}}}if(KEY5==0){while(!KEY5);if(second>0){second--;if(second==0){second=0;}}}}DataDeal();}}}}。