当前位置:文档之家› 基于单片机的定时开关控制器

基于单片机的定时开关控制器

RST——复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG——当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN——外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP——当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
单片机主控电路的主要元件是STC89C51RC单片机,其外形如下图(图1-1):
图1-1 STC89C51RC各个引脚
1.2 单片机产品兼容4K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口、三个16位定时器/计数器、八个中断源、全双工UART串行通道低功耗空闲和掉电模式、掉电后中断可唤醒看门狗定时器,双数据指针、掉电标识符。
预留键(P2.5):在本设计中,没有作用。
2.3 显示功能
1.按键指示灯D1:只要有按键按下,该指示灯会点亮。
2.电源开关状态指示灯D3:当电源和负载接通时,该灯点亮。
3.四位数码管(图2-4):前两位显示小时,后两位显示分钟。上电即显示“----”;预约调小时前两位闪烁,预约调分钟后两位闪烁。预约时间内,倒计时显示。
关键词:STC89C51RC;继电器
TimerSwitchControllerBasedOn MCU
Abstract:Based on the experimentalSTC89C51RCas the core, the design has the key function and digital tube display peripheral hardware circuit function, so that the controller can control the output relay set the switch point of the action,then control the opening and closing load power supply, and complete the software program design. Direct start / can realize the power off; can also set the button load power start-up time, maximum reservation for 12 hours.
P1口——带内部上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口——带内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口——带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。在编程/校验时,P3口可接收某些控制信号。
预约键(P2.2):第一次按下该键,可以对电源的接通时间进行“小时”调整;第二次按下该键,可以对电源接通时间进行“分钟”调整。
加“1”键(P2.3):按下该键,调“小时”时间加1,最大可加到11;调“分钟”时间加1,最大可加到59.即最长定时时间为11小时59分钟。
减“1”键(P2.4):按下该键,调“小时”时小时减1,最小值为0;调“分钟”时分钟减1,最小值为0.
基于单片机的定时开关控制器
摘要:本实验基于STC89C51RC为核心,设计具备按键功能和数码管显示功能的外围硬件电路,以便控制器能够在设定的开关时刻控制输出继电器的动作,进而控制负载电源的启闭,并完成软件程序设计。可以实现电源的直接启动/关闭;也可以通过按键设置负载电源的启动时间,最大预约时间为12小时。
时钟电路是产生CPU校准时序,是单片机的控制核心。STC89C51RC的时钟信号可通过内部振荡方式和外部振荡方式两种方式得到。本次设计使用的是片内振荡方式,通过外接12MHz的晶振来实现时钟电路的时序控制。在使用片内振荡器时,XTAL1和XTAL2分别为反向放大器的输入端和输出端。外接晶体以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。当使用外部时钟驱动时,XTAL2引脚应悬空,而由XTAL1引脚上的信号驱动,或者XTAL1引脚应悬空,而由XTAL2引脚上的信号驱动。外部振荡器再通过一个2分频的触发器来形成内部时钟所需要的信号。在电容器C1、C2选择时方面,一般选择其值为5~30pF。本系统中所用的电容值为22pF,具体的电路接法如图2-2所示。
void time0() interrupt 1 //处理调时、显示器闪烁
{
static uchar ledcnt,num; //设置静态变量
TH0=(65536-50000)/256; //定时50ms
TL0=(65536-50000)%256;
if((Onflag && ((hour | min)!=0)) |! Onflag) //指示灯每隔0.5s闪烁
1.3 STC89C51RC单片机管脚说明
VCC——供电电压。
GND——接地。
P0口——8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被
定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
Key Words:STC89C51RC;Relay
目 录
1.1 STC89C51RC单片机介绍
STC89C51RC系列单片机是深圳宏晶科技公司推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机。STC89C51RC系列单片机具有ISP(在系统中可编程)动能和IAP(在应用可编程)功能,无需购买专用编辑器,可以通过串行口直接下载用户程序。
void time1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
calculate(); //计时
}
2.5 继电器
本设计是用单片机控制继电器达到以弱控强的电路,下面再来介绍一下单片机和强电之间的桥梁----电磁继电器。
电磁继电器是有触点电继电器是有触点电继电器的一种。它是利用电磁效应实现电路开、关控制作用的原件,广泛应用在电子设备、仪器仪表及自动化设备中。在各种自动设备中,都要求用一个低电压电路提控制一个高电压的电器电路。这样不仅可以为电子线路和电器电路提供良好的电隔离,还可以保护电子电路和人员安全。
图2-2晶振电路图
2.2按键电路
按键电路如图2-3所示
图2-3按键电路
系统中共有四六个独立按键,分别与P2.0、P2.1、P2.2、P2.3、P2.3、P2.4、P2.5连接。
开始键(P2.0):按下该键,电源和负载接通或当预约调试结束后按下该键, 电源将在设定时间到达后接通。
关闭键(P2.1):按下该键,切断电源。
图2-4 LED数码管
2.4中断系统
中断系统的作用主要是对外部或内部的终端请求进行管理与处理。STC89S51RC共有5个中断源,其中有2个外部中断源和3个内部中断源。中断函数如下
//--------------外部中断0中断函数---------------------------------
void int0()interrupt 0 using 0
{
uchar keynum;
display(); //动态显示程序作为去抖动
if(INT0==0) //判断是否有按键按下
{
keynum=GetKeyNum(); //有效键,获取键值
while(INT0==0); //等待按键释放
Keyprocess(keynum); //按键处理
}
}
//-----------------定时器0中断子函数----------------------------
图2-5继电器开关电路
2.6 电路设计
根据设计要求,选用STC89C51RC作为电路控制核心,电路中包含了时钟电路、复位电路作为单片机的最小系统。晶体振荡器频率为12MHz,这样单片机的机器周期恰好为1μs。P0.0--P0.7作为四位七段数码管的段码输出端,P1.0--P1.3作为四位数码管(共阴极)的位码输出端。P2.0--P2.5作为键盘信号的输入端。P3.6作为控制信号的输出端控制继电器吸合与释放。
相关主题