P87LPC761单片机控制的时间控制器系统

发布者:DazzlingSpirit最新更新时间:2012-06-09 来源: 现代电子技术 关键字:P87LPC761  单片机控制  时间控制器 手机看文章 扫描二维码
随时随地手机看文章

   1.系统简介

  该时间控制器是以P87LPC761单片机为核心,扩展一片74HCl64组成的小系统,控制一路继电器,可以设定一天中的时间,设定继电器的开启时间和关闭时间,一共可以设定6组定时,可以消除不需要的定时,能够紧急启动;所有的设定均通过键盘实现,按键具有连击功能,每个状态都有指示灯。该时间控制器采用外部100kHz晶振,同时采用交流电供电,配以充电电池,在交流电去掉以后,进入休闲模式,时钟继续运行。

  2 硬件电路设计与分析

  系统功能框图如图1所示。本系统设计的难点不在硬而在低频晶振下的软件设计。

                      

    整个硬件电路可分为3部分:电源、键盘显示和CPU部分,分别分析如下。

  2.1 电源部分

  把交流电转换成单片机所需的直流电。这是一个很常见的电源电路。为了确保去掉交流电之后,时钟能继续运行,配以充电电池,在电源部分加上了充电电路。在有交流电的时候,直接利用外部电源,同时给充电电池充电,去掉交流电以后,利用充电电池做电源,进入休闲模式。

  2.2 键盘和显示电路

                        点击在新窗口中浏览产品

    为了节省元件,采用动态扫描的方式来显示时钟,在这部分扩展了一片74HCl64。单片机通过串行口向74HCl64发送数据,在七段数码管上显示,每个数码管公共端都加上了三极管,是作扫描信号的电流放大以驱动各数码管。

  2.3 CPU部分

  CPU部分是时间继电器的核心。这主要由P87LPC761来控制。作为Philips小型封装系列中的一员,P87LPC761是20脚封装的单片机,适合于许多要求高集成度、低成本的场合,可以满足许多方面的性能要求。P87LPC761提供高速和低速的晶振以及RC振荡方式,可编程选择,具有较宽的操作电压范围,可编程I/O口线输出模式选择,可选择施密特触发输入,LED驱动输出,有内部看门狗定时器。P87LPC761采用80C51加速处理器,结构指令执行速度是标隘80C51 MCU的2倍。CPU部分电路原理图如图3所示。

                         点击在新窗口中浏览产品

    3 软件设计
  
  P87LPC761单片机每个机器周期为6个时钟周期,采用100kHz晶振,每个机器周期为60/Is。根据实验,为了保证LED看起来不闪烁,点亮数码管的时间间隔不能大于24ms,一共有4个数码管,则每两个数码管点亮的时间间隔不能大于6ms。程序设计应注意这一点,在每两次中断之间一共有100个机器周期,很有限,据此在编程时应遵循以下原则:

  (1)程序尽量简洁主程序尽量短。

  (2)中断程序尽量短,把尽可能多的时间给其他程序。

  (3)分支程序尽量多尽量短不做无用功。[page]

  鉴于篇幅,这里只介绍程序整体流程图,如图4所示。相关问题处理

                          点击在新窗口中浏览产品

    
    点击在新窗口中浏览产品
    点击在新窗口中浏览产品

    4.1 计时补偿

  定时器。工作在方式1,而方式1的计数受到软件的影响。为了减少计时误差,在给定时器1恢复初值(3CBOH)的时候,要把软件所占用的时间补回来。在中断中重新赋初值采取如下方式:

    点击在新窗口中浏览产品

    通过软件补偿后,在晶振准确的情况下,能够给计时带来误差的就仅仅只有中断的响应时间了。

  4.2 低功耗处理

  低功耗是这个设计所必须处理好的问题。通过交流电检测电路检测交流电的存在与否。在程序中是这样处理的:查询P1.3口的电平,当P1.3口是高电平时,就进入正常状态即显示、键盘、所有中断、串行口都正常工作,一旦P1.3口为低电平,则关掉显示、键盘、串行口以及T1中断,即只开放刷新时钟的TO中断(这是为了保证在休闲模式下,时钟仍能运行,数据不丢失)进人体闲模式。为了降低系统功耗,还需要关闭掉电检测、比较器等,这部分工作在初始化部分完成。

  4.3 状态指示灯

  为了充分利用系统硬件资源.利用七段数码管的小数点来做状态指示灯。因为在时钟显示里面没有小数。我们在程序中是这样控制小数点的,在七段代码表里面把有小数点的代码放在无小数点代码的后面,相同的数字有无小数点的代码位置相距10,在需要小数点的时候,把取代码的指针加上10就可以了。安排了2个指示灯,D10(绿)是开启时间指示灯,D11(黄)是关闭时间指示灯。若绿黄两灯都亮,则表示当前这组定时已经被禁止了。

    

关键字:P87LPC761  单片机控制  时间控制器 引用地址:P87LPC761单片机控制的时间控制器系统

上一篇:基于BP电梯控制系统的液晶显示汉化的开发
下一篇:MSP430程序升级方式探讨

推荐阅读最新更新时间:2024-03-16 13:01

基于AT89S52单片机控制的高精度数控直流电流源
在现代科学研究和工业生产中,精度高、稳定性好的数控直流电流源得到了十分广泛的应用。以往所采用的电流源多数是利用电位器进行调节,输出电流值无法实现精准步进。有些电流源虽能够实现数控但是往往输出的电流值过小,且所设定的输出电流值是否准确不经测试无法确定,不够直观。为此,结合单片机技术及V/I变换电路,利用闭环反馈调整控制原理设计制作了一种新型的基于单片机控制的高精度数控直流电流源。 本系统以AT89S52单片机为控制器,通过人机接口(按键和LCD显示屏)来设置输出电流,设置步进等级1 mA,并可同时显示预设电流值和实际输出电流值。本系统由按键设置输出电流值,经单片机计算后通过D/A转换器(TLV5618)输出模拟信号,再经过V/I
[单片机]
基于AT89S52<font color='red'>单片机控制</font>的高精度数控直流电流源
基于单片机控制的热源自动测试仪
  在药品质量监测过程中,热源反应的测温是一项重要内容。药品检测有其特殊性,对测试系统的精度、稳定性、一致性和线性度等指标有着较高的要求。传统老式仪器大多是各类温度计,测试效率和精度都难如人意。根据现场监测要求,研制了基于单片机控制的热源自动测试仪,实现了在实验室内自动巡回测试30路热源,满足了现场测温准确稳定的高标准要求,成功地完成了药检实验室测试仪器的更新换代。   1 测试仪器系统组成与工作原理   本测试仪器的工作原理图如图1所示,对多点测试的热源数据经多路转换开关,送入仪器放大器实现差值放大后,用V/F转换器将电压信号转换成一定频率的脉冲信号,送入8051单片机的T0口,T0为计数器,T1作为定时器,在定时时间内
[单片机]
基于单片机控制的以太网交换机设计与实现
引 言 随着计算机性能的提高及通信量的聚增,传统局域网已经越来越超出了自身负荷,交换式以太网技术应运而生,大大提高了局域网的性能。网络交换机能显著的增加带宽,可以建立地理位置相对分散的网络。局域网交换机的每个端口可并行、安全、实时传输信息,而且性能稳定、结构灵活、易于安装、便于管理,能很好地满足企业网和电信运营商宽带接入的需求。 1 网络交换机的硬件设计 随着人们对网络应用中的安全性和高带宽的需求,网络交换机的用途越来越广。本交换机采用了AL101芯片的ROX总线,将3个8*换芯片连接起来,组成了1个24端*换机,满足了用户对多交换端口的需求。 1.1 电路性能要求 交换机的高速PCB电路板,在EMC和ESD上都有比较高
[单片机]
基于<font color='red'>单片机控制</font>的以太网交换机设计与实现
DDS技术的数控信号发生器51单片机控制程序
;***************************************************** ; 基于DDS技术的数控信号发生器控制程序 ; ; 正弦波1 Hz -10MHZ ; ; 单片机 STC12C5410AD ; ; AD9850 50MHZ 晶振 ; ;***************************************************** ;****************************************************
[单片机]
基于AT89C51的时间/位移换向控制器设计
引言   在实际生产过程中,常常要用到具有自动换向功能的控制部件,如机械加工中的往返运行(位移),直流电源的正反向输出,电动机的正反转运行等现象,都是当正向(或反向)运行到一定时间或一定位置时,自动换为反向(或正向)运行,周而复始的过程。实现这一过程的自动化,就是设计一套控制电路,再配以位移传感器或时间继电器。目前市场现有的时间继电器虽然可以用多个组合来满足一些使用场合的要求,但仍存在着重复计时误差大,稳定可靠运行性不高,使用不方便灵活等问题。为此,笔者研发了以单片机为核心组成的时间/位移换向控制器SWHX-1,该系统具有成本低等特点,可完全且克服以上不足。 电路组成及工作原理   SWHX-1的内部电路如图1所示。该系统分
[单片机]
msp430f149单片机控制步进电机C语言程序
#include msp430x14x.h typedef unsigned int uint; typedef unsigned char uchar; #define PWM BIT2 void int_clk() { uchar i; BCSCTL1&=~XT2OFF; //打开XT振荡器 BCSCTL2|=SELM1+SELS;//MCLK 8M and SMCLK 1M do { IFG1 &= ~OFIFG; //清除振荡错误标志 for(i = 0; i 100; i++) _NOP();
[单片机]
单片机控制GPS/GSM原理(虚拟串口)
全球定位系统(Global Positioning System,GPS)是美国国防部于1973年提出,历时20年,耗资200多亿美元建立起来的,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。GPS能为用户提供连续实时、高精度的三维位置、三维速度和时间基准,是一种全球性、全天候、连续的卫星无线电导航系统。在目前世界上所有的卫星定位系统中,GPS是技术最成熟,应用最为广泛的。 在远程目标定位中,需要将利用GPS技术获得的远程目标的定位信息发送到监控中心。这可利用无线电台进行发送,但是该方法容易受到干扰而且还受到电台通信距离的限制。随着移动通信的发展和GSM网络的广泛覆盖,GSM短消息业务也得到广泛应用,利
[单片机]
<font color='red'>单片机控制</font>GPS/GSM原理(虚拟串口)
MCS-51单片机控制跑马灯的三种方法
  在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的。在并行端口的编程学习中,“跑马灯”是单片机并行端口输出控制的典型实例。所谓跑马灯,是指将八个发光二极管分别连接到单片机的某一并行端口的八根线上,通过编程控制这八个发光二极管从低到高或从高到低依次点亮。      图1 跑马灯电路图   如图1所示,将8个发光二极管阴极接到MCS一51单片机P1端口的8根端口线上,阳极通过限流电阻接+5V电源。要让发光二极管点亮,则对应的端口线应该为低电平(‘’0’);而要让其熄灭,对应的端I=I线应该为高电平(“1”)。由此,我们假定“跑马灯”由端I=1的低位向高位轮流点亮.可以得到如下状态:   表
[单片机]
MCS-51<font color='red'>单片机控制</font>跑马灯的三种方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved