基于51单片机的晶闸管调光设计正文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1前言
在日常生活中,我们常常需要对灯光的亮度进行调节。本设计通过单片机控制晶闸管的导通来实现白炽灯(纯阻负载)亮度的调整。晶闸管又叫可控硅(Silicon Controlled Rectifier, SCR)。自从20世纪50年代问世以来已经发展成了一个大的家族,它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管,等等。本设计用到的双向晶闸管是在普通晶闸管的基础上发展而成的,它不仅能代替两只反极性并联的晶闸管,而且仅需一个触发电路,是目前比较理想的交流开关器件。它的特点是导通后即使触发信号去掉,它仍将保持导通;当负载电流为零(交流电压过零点)时,它会自动关断。所以需要在交流电的每个半波期间都要产生触发信号,触发信号产生时间的长短(触发角的大小)就决定了灯泡的亮度。
调光的实现方式就是在交流电源信号过零点后一段时间触发双向可控硅开关的导通,称这段时间为双向可控硅的触发角。触发角越大,可控硅导通的时间越短,灯的亮度就越低;反之,灯就越亮。这就要求确定交流电源同步信号的过零点,并以此为基础,控制触发信号触发角的大小,达到白炽灯亮度调节的目的。
本文是基于51单片机的晶闸管调光设计内容,本系统主要包括五大模块:交流电过零信号采集模块、按键控制模块、最小系统模块、晶闸管触发模块及显示模块。其中,由按键设置需要的导通角,经单片机AT89C52对按键数据进行运算处理,最后发出驱动晶闸管导通的脉冲使晶闸管导通,同时驱动LED显示导通角大小。
2总体方案设计
2.1方案论证
方案一:硬件电路设计由5个部分组成:过零信号采集电路,按键控制电路,AT89C52单片机系统,LED显示电路以及晶闸管电路。硬件电路设计框图如下图2.1所示。
图2.1 基于单片机的灯光调节系统硬件设计框图
方案二:电路基本组成就是滑动变阻器和灯泡串联,通过简单的电阻分压来改变灯泡的电压,从而改变灯泡亮度。电路框图如图2.2所示。
图2.2简单电路的灯光调解器设计框图
2.2方案比较及选择
方案一方案二都各有各的特点。方案一采用的是基于AT89C52单片机的电路设计,电路设计稍微复杂,元器件也较多,程序编写也有一定难度;方案二用到简单的电路知识,元器件非常简单,电路设计非常简单。但是由于电阻也要消耗能量并不能达到节能的目,且方案一能较为精确的对灯光亮度进行控制且能知道具体输出电压有效值,由于使用了单片机,后期还能根据自己意愿添加更多功能。综合以上的分析,选择方案一。
3单元模块设计
3.1 单片机模块
单片机AT89C52的功能介绍:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:兼容MCS51指令系统;8k可反复擦写(>1000次)Flash ROM;2个双向I/O口;256x8bit内部RAM;3个16位可编程定时/计数器中断;时钟频率0-24MHz;2个串行中断;可编程UART串行通道;2个外部中断源;共6个中断源;2个读写中断口线;3级加密位;低功耗空闲和掉电模式;软件设置睡眠和唤醒功能。
AT89C52芯片的引脚图如图3.1所示。
图3.1 AT89C52单片机引脚图
AT8C52各引脚功能:
P0口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。
P2口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地数据存储器时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器时,P2 口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。
P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU 则执行内部程序存储器中的指令。