资源描述
基于51单片机控制灯泡亮度*目录一、51单片机及其特点-1二、基本控制原理-12.1.系统控制基本原理-22.2.按键控制单元-22.3.过零检测组件-22.4.驱动电路单元-3三、总电路原理图-4四、系统软件(控制程序)-5五、元器件参数列表-8基于51单片机控制灯泡亮度一、51单片机及其特点8051单片机最早由Intel公司推出,其后,多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛,有人推测8051可能最终形成事实上的标准MCU芯片。51 系列特点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。51 系列在片内 RAM 区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址 20H2FH,它既可作字节处理,也可作位处理作位处理时,合 128 个位,相应位地址为OOH7FH,使用极为灵活。总体来看51单片机有以下特点:有优异的性能价格比;集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作;控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机;低功耗、低电压,便于生产便携式产品;外部总线增加了I C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构;单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。二、基本控制原理在日常生活中,我们常常需要对灯光的亮度进行调节。本调光控制器通过单片机控制双向可控硅的导通来实现白炽灯(纯阻负载)亮度的调整。双向可控硅的特点是导通后即使触发信号去掉,它仍将保持导通;当负载电流为零(交流电压过零点)时,它会自动关断。所以需要在交流电的每个半波期间都要送出触发信号,触发信号的送出时间就决定了灯泡的亮度。调光的实现方式就是在过零点后一段时间才触发双向可控硅开关导通,这段时间越长,可控硅导通的时间越短,灯的亮度就越低;反之,灯就越亮。控制部分:选择可多次写入的可编程器件ATMEL的AT89C51单片机。驱动部分:要驱动的是交流,可以用继电器或光耦+可控硅来驱动。可控硅在电路中能够实现交流电的无触点控制,以小电流控制大电流,并且不象继电器那样控制时有火花产生,而且动作快、寿命长、可靠性高。所以这里选用的是可控硅控制。负载部分:本电路以单片机控制白炽灯的亮度变化。2.1.系统控制基本原理驱动电路单元CPU80C51按键控制单元负载(白炽灯)过零检测组件控制基本原理图2.2.按键控制单元按键单元采用高电位无效低电位有效地输入方式,使得输入的电流不大,保护单片机芯片安全。按键操作有两种方式:一种是短时间按动按键,只调整一个台阶(亮或暗);另一种是长时间按住按键,根据时间长度连续调整亮暗变化。2.3.过零检测组件由于系统采用的是延时给脉冲的工作方式,必须准确计算延时的时间,延时必须每次在工频信号的过零点开始算起,因此需准确采集工频信号的零点。下图为过零检测的电路图:过零检测原理工频信号经整流、二极管、光耦后会输出一个频率为100Hz的脉冲信号,过零信号波形时序图脉冲对应工频信号的过零点。此脉冲信号作为系统的中断输入(P3.2口),控制延时计算的开始。2.4.驱动电路单元及负载系统采用双向可控晶闸管控制电路通断,给脉冲后管子导通,过零后自动关断。脉冲的给定是在中断延时到后有CPU的P3.0口输出到驱动电路,控制管子导通。负载则为一盏白炽灯(或纯阻性负载)。触发信号电路如下图:主电源导通区间和触发信号时序关系触发信号直接决定晶闸管的导通时间,从而控制主电源输出有效值,间接调控灯泡亮暗。三、总电路原理图同步信号作为系统的中断输入(经全桥整流DB107,光耦隔离P521,从P3.2口输入),控制延时计算的开始;8051执行程序,触发信号由8051的P3.0口提供一个输出控制脉冲,再经光耦MOS3022间接控制电源导通。l主电路原理四、系统软件(控制程序)ORG0000HSJMPMAIN ;主程序入口ORG0003HAJMPOUTPUT ;中断输出子程序入口ORG0050HMAIN:MOVSP,#30HSETBIT0SETBEACLR EX0 ;初始化,设置中断MOVR0,#7FH ;初始亮度为中间值UNHOLD: ORLP2,#01H ;开机键扫描LCALLDELAYKEYMOVC,P2.0 JC UNHOLD ;低电平开机CLRC START: ;开机运行程序ORLP2,#01H ;关机键扫描LCALL DELAYKEYMOVC,P2.0JNC UNHOLD ;低电平关机SETBEX0 ;开中断MOVP1,R0ORLP2,#06H ;档位变化键扫描LCALLDELAYKEYJNB P2.1,UPR0 ;进入降低亮度子程序JNB P2.2,DOWNR0 ;进入增加亮度子程序AJMPSTARTUPR0:MOVA,R0ADDA,#0FHJCUPFULL ;判断极值MOVR0,ALJMPSTARTUPFULL:MOVR0,#0FFHLJMPSTARTDOWNR0:MOVA,R0SUBBA,#0FHJCDOEMPUTY ;判断极值MOVR0,ALJMPSTARTDOEMPUTY:MOVR0,00HLJMPSTARTOUTPUT: ;输出子程序PUSHACCSETBP3.0MOVA,R0LCALLDELAYCLR P3.0 ;低电平触发NOPNOPNOPSETBP3.0POP ACCRETIDELAY: ;延时子程序MOVR1,AD1:MOVR2,#14DJNZR2,$DJNZR1,D1RETDELAYKEY: ;延时消抖子程序RETMOVR1,#20DEL2:MOVR2,#10DEL1:MOVR3,#124NOPDEL0:NOPNOPDJNZR3,DEL0DJNZR2,DEL1DJNZR1,DEL2RETSJMP$END 五、元器件参数列表器件名型号规格数量其他单片机80515V/3mA1AT98C51光电耦合器P52124V/25mA1过零检测、隔离桥堆DB107700V/50A1整流光耦MOC30221.5 V/ 50 mA1驱动控制、隔离可控硅BT136600V/4A1双向导通限流电阻30K/2W2上拉电阻5.1K2限流电阻2701可控硅电阻1K/2W1可控硅电阻180/2W1按钮3
展开阅读全文