基于单片机的继电器控制
基于单片机的继电器控制设计毕业论文

作者签名:日期: 年 月 日
导师签名: 日期: 年 月 日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:引言(或绪论)、正文、结论
1.3单片机的
单片机在一块半导体硅片上集成了计算机的所有基本功能部件,包括中央处理器、存储器、输入输出接口电路、中断系统、定时器计数器和串行通信接口电路等,因此,单片机只需要与适当的软件及适当的外部设备相结合,就可以构成一个完整的计算机应用系统。
单片机诞生于20世纪70年代,作为微型计算机的一个重要分支,应用面很广,发展很快。如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段:
(1)红外解码思路及红外解码原理的分析。
(2)设计相关控制电路、接收电路、以及被控功能电路。
(3)采用C程序语言进行相关程序的模块化编程并调试。
(4)通过电路设计图进行实物焊接并调试,实现红外开关控制功能。
第2章 系统硬件部分设计
2.1 系统硬件设计原理及
在进行系统硬件设计时,首先需要保证的便是整个系统的功能性与稳定性,将各个硬件电路模块进行认真仔细的分析,在通电之前,需要排除断路与短路现象的存在,以保证系统调试安全性,避免上述问题造成的硬件系统损坏等的不良结果,同时还需考虑到成本的客观因素,以使本设计简单易懂而又经济实用。
而从各国将遥控技术在航天、工业等方面得到广泛应用和发展后,遥控装置的中心控制部件已从早期的分立元件、集成电路逐步发展到现在的单片微型计算机,智能化程度大大提高。
单片机控制继电器设计单片机技术课程设计

单片机技术课程设计说明书继电器控制目录一理论部分1-1 课题要求与内容 (1)1-2 系统方案设计说明 (2)1-3 系统硬件设计 (3)1-4 系统软件设计 (4)二实践部分2-1 系统硬件原理及其说明 (5)2-2 系统硬件调试遇到的问题及解决方法 (6)2-3 相关系统软件 (7)2-4 系统软件程序 (8)2-5 系统软件调试遇到的问题及解决方法 (9)三小结 (11)四参考文献 (13)设计题目:继电器控制一理论部分1课题要求与内容设计目的:掌握用继电器的基本方法和编程。
设计要求:利用P1口输出高低电平,控制继电器的开合,以实现对8个外部电路的开关控制,每个通道用一个按键控制,并且要有LED数码管状态显示开关状态,要求有光电隔离。
2 系统方案设计说明三极管看成一个控制开关器件。
通+5v电源后三极管导通,初始状态为继电器是吸合状态。
当单片机接受指令后,相应的三极管基极变化为0V左右,使三极管处于截止状态。
方案一:三极管位于继电器下方,此种的连接方法三极管没有工作在饱和状态,即VCE未达到典型值0.2V,使得继电器线圈两端电压未达到理想值,一般达到4.4V。
改变电阻R可得到测试结果如下:1)R=2K,VCC=5V,此时VCE=0.96V,线圈电压4.04V。
2)R=4K,VCC=5V,此时VCE=1.2V,线圈电压3.8V3)R=6K,VCC=5V,此时VCE=1.6V,线圈电压3.4V。
这几种情况下,三极管工作在放大状态。
而继电器要求三极管工作在饱和区,作为开关来使用。
改变R的值,可得到想要的结果。
采用下图可得到结果如下:(1)R=2K,VCC=5.02V,此时VCE=0.037V,线圈电压4.983V。
(2)R=6K,VCC=5.02V,此时VCE=0.06V,线圈电压4.96V。
可见,R大小对线圈两端电压影响较小,达到继电器要求。
三极管一直工作在饱和区,达到设计要求。
单独测试继电器,VCC缓慢增加时,到3.4V时吸合;VCC下降到1.1V是断开。
单片机继电器的工作原理

单片机继电器的工作原理单片机继电器的工作原理主要是通过单片机控制继电器的开关,从而实现电路的开闭。
下面将从继电器的结构、原理以及单片机控制的角度来详细解释。
一、继电器的结构和原理:继电器是一种电控开关装置,由线圈、铁芯、接点和外壳组成。
其工作原理是通过电流通过线圈产生磁场,使铁芯产生磁化,从而吸引或释放接点,实现电路的开闭。
具体来说,继电器的结构和原理包括以下几个方面:1. 线圈:线圈是继电器的控制部分,通常由绝缘线材制成,可以根据实际需求进行绕制。
当线圈通过电流时,会产生磁场,从而使铁芯受到吸引力。
2. 铁芯:铁芯是继电器的动作部分,通常是由磁导材料制成,铁芯的磁导率比空气高,可以增强磁场的作用。
当线圈通电时,铁芯受到磁场的吸引力,会向线圈移动,从而影响接点的状态。
3. 接点:接点是继电器的主要开闭部分,通过铁芯的移动,可以实现接点的吸合或分离。
接点通常由铜材制成,具有良好的导电性和耐磨性。
接点的状态可以分为常开接点(NO)、常闭接点(NC)和公共接点(COM)。
4. 外壳:外壳是继电器的保护部分,通常由绝缘材料制成,可以防止继电器内部零部件受到损坏。
同时,外壳还具有保护用户安全的功能,防止电流泄露。
在未通电时,继电器的线圈中没有电流通过,对应的线圈产生的磁场也就没有了,铁芯处于非磁化状态,接点处于初始状态,即常闭接点(NC)闭合,常开接点(NO)断开。
当线圈通过电流时,线圈产生磁场,使得铁芯受到吸引力,向线圈方向运动,同时改变接点的状态。
如果是NC接点,则断开;如果是NO接点,则闭合。
继电器的工作就是通过控制线圈的通断来控制接点的状态,从而实现电路的开闭。
二、单片机控制继电器的原理:单片机作为一种集成电路,可以通过外部引脚与继电器进行连接,从而实现对继电器的控制。
单片机控制继电器可以通过以下几个步骤完成:1. 连接线路:首先,需要将单片机的输出引脚与继电器的线圈进行连接。
线圈一端连接到单片机的输出引脚,另一端连接到电源的正极(通常是Vcc)。
单片机控制继电器的电路毕业设计

实验与测试的结果分析和结论
实验目的:验证单片机控制继电器的可行性和稳定性
实验方法:使用单片机控制继电器,观察继电器的工作状态和性能
实验结果:继电器能够按照单片机的指令进行工作,性能稳定
结论:单片机控制继电器的电路设计是可行的,具有较高的稳定性和可靠性。
单片机控制继电器在未来的应用和发展前景
智能家居:实现家庭电器的智能化控制
工业自动化:提高生产效率,降低人工成本
汽车电子:实现汽车电子系统的智能化控制
医疗设备:实现医疗设备的智能化控制,提高医疗水平
航空航天:实现航空航天设备的智能化控制,提高安全性和可靠性
物联网:实现物联网设备的智能化控制,提高数据传输和处理能力
04
单片机控制继电器实验与测试
实验与测试的目的和内容
目的:验证单片机控制继电器的可行性和稳定性
内容:包括硬件连接、软件编程、测试方法、结果分析等
硬件连接:单片机、继电器、电源、开关等
软件编程:编写控制继电器的程序,实现开关控制
测试方法:通过模拟实际应用场景进行测试,如开关控制、故障检测等
结果分析:分析测试结果,评估单片机控制继电器的性能和可靠性
任务3:测试和调试软件,确保其稳定性和可靠性
任务4:编写软件文档,包括需求文档、设计文档、测试文档等
单片机控制继电器软件设计的实现方法
软件调试:使用仿真软件进行软件调试,确保程序能够正确运行
硬件测试:在实际硬件环境中进行测试,确保程序能够正确控制继电器
单片机编程:使用C语言或汇编语言编写程序,实现对继电器的控制
汽车电子:用于控制汽车电子设备,实现智能驾驶
医疗设备:用于控制医疗设备,实现智能化医疗
基于PIC12F675单片机的可编程多功能时间继电器的设计

基于PIC12F675单片机的可编程多功能时间继电器的设计摘要:定时控制是最基本的自动控制方式,由单片机制作的定时控制,具有定时精确,电路简单等诸多优点,能够实现多种定时模式,利用MCU内部的多个TMR模块,可以设计成多个集成的时间继电器,利用MCU内部的多路ADC转换模块通过各自的电位器独立调整延时时间,而且各定时模块可以级联控制,实现电动机控制电路的简化,如果通过IO口连接外部信号,便于实现多种简单的自动控制。
关键词:MCU、定时器、AD转换、级联控制1、引言常用的电子时间继电器普遍使用CD4060振荡计数分频CMOS集成电流构成,一般采用外部RC振荡器,定时精度低、控制功能单一。
由于这种电子时间继电器内部带有小功率稳压电源模块,用引脚较少的单片机取代原数字电路芯片,可以实现多个定时器集成在一起,或者多个定时级联控制。
如果用较少引脚的单片机构成时间继电器,则提高定时精度,而且实现多个时间继电器的集成,通过编程可以实现多个时间继电器的级联控制。
从而可以大大简化控制电路,节省了线材。
2、单片机及选型单片机又称微控器MCU,生产厂家和品牌很多。
众所周知proteus是开发单片机产品最好用的仿真软件,不但能够进行单片机仿真,而且能够进行电路仿真和PCB电路设计,因此选型时首先考虑容易购置且在proteus中有仿真模型的MCU产品。
经典的普林斯顿构架的51单片机,内部资源少,引脚多,不适合单片机产品的开发。
PIC单片机虽然品种繁多,但是一个IDE软件可以通吃,而且在proteus仿真软件有丰富的仿真模型,这样便于电路研发设计。
其中有PIC12F675[1]单片机是PICF12系列单片机中内部资源较为丰富的品种。
其内部有两个可编程定时器模块TMR0和TMR1,还具有4路10位ADC转换模块和比较器模块,比较适合制作时间继电器的控制电路。
选用PIC单片机的另一个好处是有廉价的替代品,台湾的麦肯单片机质优价廉,可以直接取代。
stm32单片机控制继电器代码

stm32单片机控制继电器代码1.引言1.1 概述在本文中, 我们将探讨如何使用STM32单片机来控制继电器。
继电器是一种常见的电子元件,用于控制电路的打开和关闭。
它可以通过小电流控制大电流,并在电路中起到开关的作用。
本文的目的是介绍如何使用STM32单片机来实现对继电器的控制。
我们将通过编写相应的代码,实现STM32单片机与继电器的连接,并控制继电器的开关。
此外,我们还将介绍继电器的原理和应用,并提供一些实际的应用案例和展望。
通过阅读本文,读者将会了解到如何利用STM32单片机来控制继电器,并且可以将所学知识应用于各种实际情境中。
本文将以易于理解和实践的方式呈现相关内容,以帮助读者更好地理解和掌握这一技术。
1.2文章结构1.2 文章结构本文将分为三个主要部分进行讨论。
首先,引言部分将提供关于文章的背景和主要目标的概述。
其次,正文部分将介绍STM32单片机的基本概念和特性,以及继电器的原理和应用。
最后,结论部分将展示如何实现STM32单片机控制继电器的代码,并提供一些应用案例和展望。
在正文部分中,我们将首先详细介绍STM32单片机的基本知识,包括其架构、性能和应用领域。
随后,我们将探讨继电器的原理和工作方式,以及在各种电子系统中的广泛应用。
通过对继电器的深入理解,我们将能够更好地理解STM32单片机控制继电器的代码实现过程,并加深对其应用的认识。
在结论部分,我们将给出一份实现STM32单片机控制继电器的代码示例,以帮助读者更好地理解如何利用STM32单片机实现对继电器的控制。
此外,我们还将提供一些实际应用案例,展示继电器在各种领域中的重要作用,并展望未来其在智能控制系统中的潜在应用。
通过本文的阅读,读者将能够掌握STM32单片机控制继电器的基本技术,并了解其在各种实际场景中的应用前景。
通过以上的分析和讨论,本文将全面介绍STM32单片机控制继电器的相关知识和技术,为读者提供一份系统而全面的指南。
用单片机 控制继电器

用单片机控制继电器用单片机控制继电器2010-05-2516:13首先看看继电器的驱动这是典型的继电器驱动电路图,这样的图在网络上随处可以搜到,并且标准教科书上一般也是这样的电路图为什么要明白这个图的原理?单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动电流在mA级以下.而要把它用于一些大功率场合,比如控制电动机,显然是不行的.所以,就要有一个环节来衔接,这个环节就是所谓的"功率驱动".继电器驱动就是一个典型的、简单的功率驱动环节.在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件;还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接口.这个很重要,因为,一直让我们的电气工程师(我指的是那些没有学习过相应的电子技术的)感到迷惑不解的是:一个小小的芯片,怎么会有如此强大的威力来控制像电动机这样强大的东西?怎么样理解这个电路图?要理解这个电路,其实也比较容易.那么请您按照我的思路来,应该没有问题:首先的,里面的三极管很重要.三极管是电子电路里很重要的一个元件.怎么样理解三极管呢?简单的来说三极管有两个作用一个是放大作用,一个是开关作用.(严格来讲开关作用是放大作用的极限情况,不过没关系,把两者分开,更便于理解它的工作原理).在这里,我们只了解它跟本电路有关的开关作用.首先把三极管想成一个水龙头.上面的Vcc就是水池,继电器是一个水轮机,下面的GND是比水池低的任何一点.刚才说过,三极管就是水龙头,它的把手就是那个带有电阻的引脚.现在,单片机的某一个需要控制这个继电器电路的输出引脚就是一只"手",当单片机的这个引脚输出低电平的时候,就像"手"在打开三极管"水龙头",水就从上往下流,继电器"水轮机"就开始转起来了.反之,如果是输出高电平,"手"就开始关"水龙头",继电器"水轮机"因为没有水流下来,就会停止.这就是三极管的开关作用.简单的理解和记忆就是:三极管是一个开关器件,其实你真的可以将它看成是一个开关,只不过它不是用手来控制,而是用电压(电流)来控制的,因此,三极管有些时候也被称做电子开关(与机械开关相区别).图上还有一个东西,是保护二极管,如果不需要深入理解的话,你大可不必追就为什么有它存在,但是一定得记住,只要是用三极管驱动继电器的场合,一般都有它的存在.需要特别注意的是它的接法:并联在继电器两端阴极一定是接Vcc【电子制作实验室-转】这里我们先要安装好51试验板上的两个轻触按钮开关,我们采用的是独立式按钮开关,也就是说将开关直接连接到电源的地和单片机的对应引脚之间,这里K1接到单片机的P3.6引脚,K2接到P3.7。
单片机控制继电器设计报告

单片机课程设计报告——单片机控制继电器摘要:本实验是基于AT89S51单片机所设计的。
通过单片机的P3.6引脚输出低(高)电平时,三极管T5饱和导通(截止),+5V电源加到继电器线圈两端,继电器吸合(释放),同时状态指示的发光二极管也点亮(熄灭),继电器的常开触点闭合(释放),相当于开关闭合(断开)。
关键词:AT89S51 HK4100F电磁继电器一、目的、用途、功能1.1目的:设计一种投资少,简单易行,仅仅只是在现在的设备的基础之上稍加改造,又能从根本上解决对继电器的控制问题。
1.2用途与功能:现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全。
电子继电器便能完成这一桥梁作用。
二、硬件设计2.1硬件设计思想单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动电流在mA级以下.而要把它用于一些大功率场合,比如控制电动机,显然是不行的.所以,就要有一个环节来衔接,这个环节就是所谓的"功率驱动".继电器驱动就是一个典型的、简单的功率驱动环节.在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件;还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接2.2部分硬件方案论述方案一:8550位于继电器下方,此种的连接方法8550没有工作在饱和状态,即VCE未达到手册所说明的典型值0.2V,使得继电器线圈两端电压未达到理想值,一般达到4.4V。
改变电阻R,测试结果如下:1)R=2K,VCC=5V,此时VCE=0.96V,线圈电压4.04V。
2)R=4K,VCC=5V,此时VCE=1.2V,线圈电压3.8V3)R=6K,VCC=5V,此时VCE=1.6V,线圈电压3.4V。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录0 前言 (1)1 总体方案设计 (1)2 硬件电路设计 (2)2.1单片机系统 (2)2.1.1 晶振时钟电路 (2)2.1.2 复位电路 (3)2.2电流驱动系统 (3)2.3发光二极管演示系统 (5)2.4独立键盘系统 (5)3 软件设计 (6)3.1软件执行过程 (6)3.2子程序模块 (6)4 调试分析 (8)5 结论及进一步设想 (9)参考文献 (9)课设体会 (10)附录1 电路原理图 (11)附录2 程序清单 (12)基于单片机的继电器控制系统设计胡启洋沈阳航空航天大学自动化学院摘要:本文设计了一种基于单片机的继电器控制系统,由单片机、继电器、驱动电路、发光二极管、独立键盘等部分组成,主要使用了单片机开发板上STC公司生产的89C54RD+型号单片机及其最小系统、ULN2003A达林顿管驱动芯片、JQC-3F-05VDC-1ZS 型号继电器、四个发光二极管,运用定时器精准定时对继电器开关进行控制,并在继电器输出端使用发光二极管显示。
在以上基础上,实现了8路继电器的循环控制功能。
关键词:单片机;继电器;驱动电路。
0 前言继电器是当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。
它可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。
继电器具有动作快、工作稳定、使用寿命长、体积小等优点。
广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等。
电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸合的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用下返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。
这样吸合、释放,可以这样来区分:继电器线圈为通电时处于断开状态的静触点,成为“常开触点”;处于接通状态的静触点称为“常闭触点”。
1 总体方案设计针对本课题的设计任务,进行分析得到:本次设计通过单片机I/O口输出高低电平控制继电器的输入端,采用ULN2003A型号的达林顿管驱动芯片加大输入电流,使用内部定时器中断进行精准计时,实现继电器通断时间分别为1秒、2秒的精准控制,并实现通过继电器进行八路发光二级管循环1秒的控制。
该继电器控制系统的设计,在总体上大致可分为以下几个部分组成:1.单片机及其最小系统电路,为了使单片机正常工作,需要加入晶振电路,为了使单片机方便使用,需要加入复位电路。
2.继电器驱动电路部分。
由于单片机输出的电流不足以使电磁继电器的线圈产生足够大的磁力,无法使衔铁与触点簧片吸合,就不能使继电器正常工作。
为了使继电器正常工作,需要加入放大电流的驱动电路。
该设计考虑了两种不同的驱动方案:(1)使用ULN2003A达林顿管驱动芯片进行驱动,此方案简单易用,只需一个芯片便可驱动7路继电器;(2)采用PNP型三极管放大电路,该方案目的明确,易于理解。
3.定时器计时部分。
该设计中采用了定时器1的工作方式1,装入的初值是(65535-50000),在计满50000个数之后,TF1置为1,产生中断,当使用晶振频率为12MHz时,定时器刚好每50ms产生一次中断,这个时间的20倍恰好是1秒中,这样便可实现1秒与2秒的精准控制。
图1 系统原理框图整个电路的工作原理是单片机首先定义定时器1的工作方式为1,使用晶振频率12MHz,装入初值(65535-50000),这样当开启定时器1时每50ms产生一次中断,累计20次便为1秒,1秒累计2次便为2秒,通过设置标志位flag的状态,区别继电器的通2秒与断1秒。
设置P2口为输出口,将P2口连接在ULN2003A的输入端,ULN2003的电源端接+5V电源,地端接地,输出直接接在继电器的一个输入端,继电器的另一个输入端接地。
这样便可通过控制P2口的高低电平,来控制继电器的通断。
2硬件电路设计2.1单片机系统2.1.1晶振时钟电路晶振是单片机正常工作的必要器件,他提供时钟周期,执行程序代码。
它的连接方式是XTAL1和XTAL2端分别接晶振的两端,再接两个小电容后接地,如图1所示。
单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。
单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。
一个机器周期包括12个时钟周期。
为了实现精准定时,本设计中采用的晶振为12MHz,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。
图2 单片机系统电路2.1.2复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
单片机系统的复位方式有:手动按钮复位和上电复位,此设计中采用手动按钮复位,需要人为在复位输入端RST上加入高电平,如图1所示。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
手动按钮复位的电路如所示。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
2.2 电流驱动系统本设计采用了两种不同的驱动方案:(1)方案一是直接采用达林顿管驱动芯片ULN2003A。
共7路输入和7路输出,每一路都相当于一个反相器,当输入为高电平时输出为低电平,相反,当输入为低电平时输出为高电平,每个反相器的内部结构为由两个三极管组合而成的达林顿管放大电路,该电路可以放大电流,提供给继电器足够大的电流以使其正常工作。
除了7个输入和7个输出外,还有两个引脚在使用时分别接地和5V电源即可。
如图4所示当单片机输出高电平1时,经过ULN2003A后变为低电平0这样在继电器的线圈两端就产生了电位差,产生较大电流,从而产生足够的磁场,吸引继电器的衔铁与静触点1吸合,相反,则与静触点2吸合。
图3 ULN2003A芯片内部结构图4 单片机通过ULN2003A驱动继电器(2)方案二是采用PNP型三极管放大电路,如图5所示,线圈两端的电流由三极管来提供,当单片机控制端给三极管的B极送低电平时,三极管导通,继电器线圈有电流通过,继电器吸合;相反,当单片机控制端给三极管的B极送高电平时,三极管截止,继电器线圈无电流通过,继电器断开。
在继电器两端接一个二极管是非常重要的,必须连接,因为,线圈通电正常工作时,二极管对电路不起作用。
当继电器线圈在断电的一瞬间会产生一个很强的反向电动势,在继电器线圈两端反响并联二极管就是用来消耗这个反向电动势的,如果不加这个反向二极管,反向电动势会直接作用在驱动三极管上,很容易将三极管烧坏。
图5 单片机通过PNP型三极管驱动继电器2.3发光二极管演示系统该设计中在继电器的输出端相当于一个单刀双掷开关,如图6所示,将动触点接地,将左静触点的连一个发光二极管后与电源相连。
若动触点与左侧的静触点相连,就会使发光二极管点亮。
在程序一中则以1秒亮与2秒灭交替进行在程序二中8路发光二级管左循环点亮。
图6 发光二极管演示电路2.4 独立键盘系统该设计由两个程序组成,其一是使继电器通电1秒断开2秒循环,在程序开始时使按下独立键盘的第一个按键即可;其二是使八路继电器以一秒的间隔左移循环,在程序开始时按下第二个按键即可。
图7 独立键盘电路3 软件设计根据设计方案,本设计使用了编程软件Keil uVision3,使用C语言进行编程,使用protues 7 professional进行了仿真,并且使用了单片机开发板实现了程序,实现了最终目的。
3.1软件执行过程本课题的软件设计采用了模块化设计的思想。
主程序流程如图8所示,在流程图中,K1、K2分别表示独立键盘的第一、第二个按键,程序开始运行时,先初始化数据,定义定时器的工作方式,装入定时器初值,打开定时器中断允许开关,打开总中断开关。
进入键盘扫描程序,若按下K1键,则进入程序1,开启定时器后进入while(1)的死循环等待定时器中断产生,每50毫秒产生一次中断,20次中断后时间到达1秒,继电器连通1秒后断开,再通过定时器计时2秒后,重新接通,如此往复循环;若按下K2键,则进入程序2,给P2口给0xfe,使得只有P2.0口控制的继电器处于接通状态,开启定时器后进入while(1)的死循环等待定时器中断产生,每隔一秒8个继电器的状态左移一位,如此循环往复。
3.2子程序模块在整个程序中,共包含了主程序、定时器1中断程序、独立键盘扫描程序。
主函数先定义定时器1的工作方式并装入初值,此处选用工作方式1,装入的初值是15536。
这里先解释一下装初值的问题,定时器一旦启动它便在原来的数值上加1计数,若在程序开始时没有设置TH1和TL1,他们的默认值就都是0,时钟频率为12MHz,12个时钟周期为一个机器周期,那么此时机器就是1us,计满TH1和TL1就需要216-1个数,图8 程序流程图再来一个脉冲计数器溢出,随即向CPU申请中断。
因此溢出一次共需要65536us,则我们要定时50ms的话,就需要给TH1和TL1装初值,在这个初值的基础上计50000个数后,定时器溢出,此时就是刚好50ms一次中断,TH1和TL1中要装入的总数为65536-50000=15536,把15536对256求模:15536\256=60装入TH1中,把15536对256求余:15536%256=176装入TL1中。
则当定时器工作在方式1,设机器周期为T,定时器产生一次中断的时间为t,那么需要计数的个数N=t/T,则装入THX和TLX中的数就分别为:THX=(65536-N)/256 (1)TLX=(65536-N)%256 (2) 在打开了中断总开关和定时器1的开关后,累计20次中断就成为1秒,这样就形成了1秒的精准定时。
在独立键盘扫描程序中,使用了2个if语句,分别表示检测K1键和K2键是否按下,通过给定义的pro赋不同的值来控制定时器中断子程序执行的语句,当pro为0时,以flag为标志,区别是接通1秒还是断开2秒,用if语句判断,若flag为0,为接通1秒,若flag为1,为断开2秒;当pro为1时,同样通过if语句实现其功能,先给输出P2赋值0xfe,1秒后按位左移1位,并将移动后的数与0x01作或运算,刚好得到0xfd,以后的每次运算都作这种处理,便可实现循环左移的功能,当循环8次后,经或运算的结果为0xff,并将永久保持下去,故需要重新给P2赋值0xfe,这样才保证了永久的循环。