基于单片机的智能台灯设计

摘要

89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh

Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯

片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。

台灯是最普遍的家用照明器,随着节能计划的提出,许多电子产品走上节能

化。台灯传统对于人们伤害很大,市面上所谓的护眼灯,实际上是用高频电子镇流器将原本50赫兹提高到5万赫兹,肉眼分辨不出来频闪。实际上是高频闪的,危害更大。

本文设计了一种基于89C2051的节能台灯,并且作出了零件图和设计图.

关键词:89C51 单片机 台灯 节能

目录................................................................................................ .1

绪论................................................................................................ .2

1、1 设计内容及要求 ..................................................................3

1、2设计构思 ..............................................................................3

1、3系统组成及电路设计: .......................................................4

1、4 总体电路图 .........................................................................5

2、1 89C51单片机.......................................................................6

2、1、1 结构特点 ................................................................6

2、1、3 AT89C51单片机的管脚说明..............................8

2、1 传感器及信号处理电路..................................................... 11

2、1、1 热释电红外传感器的结构组成及工作原理........12

2、1、3 光敏电阻 ............................................................15

2、2 计时提醒电路 ...................................................................17

2、2、1 基本原理 ............................................................18

2、2、4 计时提醒电路的仿真结果....................................20

附录 ............................................................................................21

绪论

随着科学技术的不断发展和进步,生产与自动化的观念逐渐深入人心。生产

与加工过程离不开产品的开发与设计,在生产自动化大幅度提升生产效率的同时,设计自动化也正迎头赶上。

单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是

寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的

霍夫研制成功世界上第一块4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的7位科学家”之一 。

1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的

问世。

Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工

业自动控制设备。当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。

20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了

MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。

第一章 设计思路

1、1 设计内容及要求

一、设计内容

设计一智能台灯控制器,实现照明控制系统的人性化,其功能如下:

1、亮度足够时灯光关闭,在亮度不足时,有人走近自动点亮,并根据周围环境的亮度自动调节灯泡的功率;

2、点亮时开始计时,计时达到一小时时发出灯光闪烁信号,提醒使用者起立活动;

3、具有温度测量及显示功能。

该系统由光感元件、人体感知器、时间计数器以及亮度控制器及单片机等构成。

二、总体要求

1、给出设计原理及整体设计思路,画出整机原理图;

2、给出具体单元设计,画出单元电路,并进行电路设计中相关元件值的计算;

1、2设计构思

台灯已是千家万户的必需生活用品,经常由于忘记关灯而造成巨

大的能源浪费。当夜晚来临时,人们又摸黑去开灯,非常不方便。在

这里设计了以人体红外辐射(波长为10um)传感控制电路。当人体在台灯的范围内且环境光强较弱时,自动感应开灯;用一个时间计数器显示,当人在台灯下工作学习一个小时后,台灯发出警告,让人起身活动。

1、3系统组成及电路设计:

图1 系统机构图

本系统组成如图一所示,主要由三部分组成:

1) 传感器及信号处理电路:检测人体辐射红外信号及光强信号经过

处理后变成可处理的数字信号。

2) 以89C51组成的中央处理单元:处理信号并发出控制命令。

3) 计时提醒电路和灯光控制电路 :给出提醒信号并根据89C51给

出的命令控制灯光。

1、4 总体电路图

整个系统是以80C51控制下工作的。其工作过程为:由热释电

传感器检测一定范围内是否有人在,当没有人时热释电传感器的2端口不会产生信号,信号处理电路和单片机都不工作。当有人靠近时,端口2发出变化缓慢、幅值小(小于1mv)的信号,该信号经过信号处理电路把不规则的波形转化成适合单片机处理的数字信号并通过INT1端口输入到单片,在此过程中同时还要通过光敏电阻进行光照强度检测,当环境光比较强时,光敏电阻阻值比较小,端口P3.3电平较低,省去了80C51处理过程。当环境光比较弱时,光敏电阻阻值变大,端口P3.3电平较高,将此电平送到单片机。单片机接收到开灯信号后,发出控制信息将台灯点亮,同时通过计时提醒电路开始计时,当计时达到整点是通过扬声器发出鸣响,提醒使用者起身活动。电路图如图2所示:

图2 智能台灯电路原理图

第二章 单元电路的设计及仿真

2、1 89C51单片机

89C51单片机是整个系统的控制核心,它接受信号并处理后发出

控制信息。

2、1、1 结构特点

8位CPU;

片内振荡器和时钟电路;

32根I/O线;

外部存贮器寻址范围ROM、RAM64K;

2个16位的定时器/计数器;

5个中断源,两个中断优先级;

全双工串行口;

布尔处理器;

2、1、2 89C51单片机的主要特性

|1).与MCS-51 兼容

2).·4K字节可编程闪烁存储器

3).寿命:1000写/擦循环

4).数据保留时间:10年

5)·全静态工作:0Hz-24MHz

6)·三级程序存储器锁定

7)·128*8位内部RAM

8)·32可编程I/O线

9)·两个16位定时器/计数器

10)·5个中断源

11)·可编程串行通道

12)·低功耗的闲置和掉电模式

13)·片内振荡器和时钟电路

2、1、3 AT89C51单片机的管脚说明

AT89C51单片机的管脚图3所示:

图3 AT89C51管脚图

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的

一些特殊功能口,如下面所示:

管脚 备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

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)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

2、1 传感器及信号处理电路

电路原理图如图4所示:

图4 热释电传感器信号处理电路

本设计采用BISS0001来完成热释电红外传感器输出信号的处

理,由于热释电传感器输出的信号变化缓慢、幅值小,不能直接作为

灯泡的控制信号,因此传感器的输出信号必须经过一个专门的信号处理电路,使得传感器输出信号的不规则波形转变成适合于单片机处理的数字信号。

图4中,热释电传感器的输出信号送入BISS0001的14脚,经内

部第一级运算放大器后,由C3耦合从12脚输入至内部第二级运算放大器放大,再经电压比较器构成的鉴幅器处理后,最后从12脚输出信号(V0)送入单片机进行照明控制。BISS0001的1脚接高电平,使芯片处于可重复触发工作方式,输出V0的延迟时间T1由外部R8和C7的大小调整;触发封锁时间T2由R9和C6的大小调整。

2、1、1 热释电红外传感器的结构组成及工作原理

热释电红外传感器主要是由一种高热电系数的材料,如锆钛酸铅

系陶瓷、钽酸锂、硫酸三甘钛等制成尺寸为2*1mm的探测元件。在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自身温度升高而产生的干扰。由探测元件将探测并接收到的红外辐射转变成微弱的电压信号,经装在探头内的场效应管放大后向外输出。为了提高探测器的探测灵敏度以增大探测距离,一般在探测器的前方装设一个菲涅尔透镜,该透镜用透明塑料制成,将透镜的上、下两部分各分成若干等份,制成一种具有特殊光学系统的透镜,它和放大电路相配合,可将信号放大70分贝以上,这样就可以测出10~20米范围内人的行动。菲涅尔透镜利用透镜的特殊光学原

理,在探测器前方产生一个交替变化的“盲区”和“高灵敏区”,以提高它的探测接收灵敏度。当有人从透镜前走过时,人体发出的红外线就不断地交替从“盲区”进入“高灵敏区”,这样就使接收到的红外信号以忽强忽弱的脉冲形式输入,从而强其能量幅度。人体辐射的红外线中心波长为9~10--um,而探测元件的波长灵敏度在0.2~20--um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7~10--um,正好适合于人体红外辐射(10um左右)的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。

2、1、2 BISS0001芯片

BISS0001是一款具有较高性能的传感信号处理集成电路。它配

以热释电红外传感器和少量外接元器件即可构成被动式热释电红外开关,故能自动快速开启各类白炙灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道等敏感区域,或用于安 全区域的自动灯光、照明和报警系统。BISS001的主要功能如下:

为CMOS数模混合专用集成电路;

具有独立的高输入阻抗运算放大器,可与多种传感器匹配进行信号处理;

带有双向鉴幅器,可有效抑制干扰;

内设延迟时间定时器和封锁时间定时器;

结构新颖,稳定可靠,调解范围宽;

内置参考电压,工作电压范围为2~6V。

管脚功能说明

BISS0001芯片的管脚分布如图5所示。

图5 BISS0001的管脚分布

2、1、3 光敏电阻

简介

光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射

光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光

控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。

工作原理

光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。在黑暗环境里,它的电阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子—空穴对了半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子—空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到波长的光线照射时,电流就会随光强的而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。半导体的导电能力取决于半导体导带内载流子数目的多少。

2、2 计时提醒电路

台灯点亮时开始计时,计时达到一小时时通过蜂鸣器发出鸣响,

提醒使用者起立活动。该模块的硬件部分主要由89C51单片机,LED数码管显示器组成。

单片机的P0端口接有4位共阳极LED数码管显示器。

数码管的8个引脚依照a、b、c、d、e、f、g、dp顺序依次与P0

端口的8个引脚P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7相连,R是限流电阻。

4位LED数码管的共阴极引脚分别与V1~V4三极管的集电极相

连,三极管的基极通过限流电阻分别接在单片机P2端口的P2.0~P2.3引脚上。

4位数码管显示器分别由三极管控制,例如P2.0输出为低电平

时,V4三极管导通,与其相连的共阳极数码管显示器开始工作;P2.0输出为高电平时,V4三极管截止,与其相连的数码管显示器停止工作。电路图如图6所示:

图6计时提醒电路原理图

2、2、1 基本原理

计时利用单片机的定时/计数器产生的中断,设置定时器T0工作在模式0的状态下,设置每隔5ms中断一次,中断20次正好1S。中断服务程序里记载着中断的次数,中断200次为1秒,60秒为分,60分为一小时,24小时为一天。

时钟的显示是使用4位LED数码管,其软件设计原理是:由中

断产生的秒、分、小时数据, 并通过单片机的输出功能输入到数码管显示器,再通过显示器扫描程序,显示出时钟的计时时间。

2、2、2 计时功能的设计

单片机实现计时功能使用了两个子程序:定时器子程序

INIT_TIMER和中断服务子程序TO_INT。 其中,定时器子程序INIT_TIMER的作用是每隔5ms产生一次中断信号;中断服务子程序TO_INT的主要作用是记载中断的次数。

1、 定时器子程序INIT_TIMER

定时器子程序INIT_TIMER的作用是每隔5ms产生一次中断信

号,它是时钟标准时间的来源和保证。定时器T0设置为工作模式0状态,定时器每隔5ms中断一次,在晶振频率为12MHz时,此5ms的初值为。该子程序见附录。

2、中断服务程序TO_INT

中断服务程序TO_INT的作用是重置定时器T0初始值,记录中断次数,并输出秒、分和小时。其中,DEDA存放5ms,SEC存放秒钟变量,MIN存放分钟变量,HOUR存放小时变量。该子程序见附录。

2、2、3 显示部分的设计

显示部分的子程序有:转换时、分子程序CONV和扫描显示子程序DISP。先通过CONV把由中断服务程序中产生的分、小时数据转换成适应LED数码管显示的数据。即进行十进制计时处理,并存入数码管显示内存中(事先设置的存放显示器数据单元)。再经扫描显示子程序DISP,便能在LED数码管上显示出时间。

1、转换时、分子程序CONV

CONV的作用是将中断服务程序中产生的分、小时数据,转换成适应LED数码管显示的数据。通过执行DIV指令进行十进制计时处理,并将处理后的数据分别存入数码管显示内存BUF、BUF+1、BUF+2、BUF+3内。其中BUF、BUF+1存放小时,BUF+2、BUF+3存放分钟,与数码管显示器U1、U2和U3、U4想对应。该子程序见附录。

2、扫描显示子程序DISP

扫描显示子程序DISP的作用是动态显示送入4位LED数码管的时间数据。所谓动态扫描是指一位一位轮流点亮LED数码管,每一位停留4ms左右,利用人的视觉暂留消除闪烁现象。该子程序见附录。

2、2、4 计时提醒电路的仿真结果

2、3 灯光控制电路

单片机对光照检测电路和传感器处理电路输出的信号进行检测,输出控制信号由单片机的P2.4输出。在室内环境光较强或光线弱但室内又无人时,P2.4输出高电平,此时三极管Q1截止,继电器J1不工作,则接在220V上的灯不亮,在室内光照较弱且传感器检测到室内有人时,则P2.4输出低电平,此时三极管Q1导通,继电器J1工作,则220V交流电通过继电器加到灯上,灯泡正常点亮。电路原

理图如图6所示:

图6 灯光控制电路原理图

附录

;--------------------------------------程序初始化-------------------------------------- ;定义存放计时单元地址

BUF EQU 30H ;30H~33H连续四个字节存放显示器数据 HOUR EQU 34H ;存放小时变量 MIN EQU 35H ;存放分钟变量 SEC EQU 36H ;存放秒钟变量 DEDA EQU 37H ;存放5ms计数值

;蜂鸣器和指示灯引脚定义

SPK EQU P3.4 ;蜂鸣器控制信号

WLED EQU P1.0 ;工作指示灯引脚定义

;程序开始执行地址

ORG 0H ;程序由地址0开始执行 JMP MAIN

ORG 0BH ;定时器T0中断地址设置 JMP T0_SRV

;-----------------------------------------主程序----------------------------------------------

MIAN:

ACALL BZ ;蜂鸣器连续两次鸣响一声

ACALL LED_BL ;LED闪动,表示程序开始执行 ACALL INIT ;初始变量化 ACALL INIT_TIMER ;设置定时器 ;加载显示器初始值数据

MOV A, #0C0H MOV PO, A ; 无穷循环

LOOP: ;无穷循环 ACALL CONV

ACALL DISP ;扫描显示

JMP LOOP ;跳转到LOOP出执行

;...............................................实现计时功能的子程序.................................... ;使用定时器T0模式0计时

INIT_TIMER: ;初始化定时器

MOV TMOD, #00000000B ;设置定时器T0工作模式为0 MOV IE, #10000010B ;启用定时器T0中断产生 MOV TL0, #(8192-5000) MOD 32 ;加载初始值 MOV TH0, #(8192-5000)/ 32

SETB TR0 ;启动定时器T0开始计时 RET

;........................................... ;中断服务程序 TO_SRV:

PUSH ACC ;A值压入堆栈 MOV TL0,#(8192-5000)MOD/32 ;重加载初始值 MOV TH0, #(8192-5000)/32

INC DEDA ;加1 ;秒输出

MOV A, DEDA

CJNE A,#200,TT1 ;是否1S到了 MOV DEDA, #0 ; 计时值清0

CPL WLED ; LED灯亮灭变换 INC SEC ;秒计数加1 MOV A,SEC

CJNE A,#60,TT1 ;是否1min到了 ;分输出

INC MIN ;分计数加1 MOV SEC,#0 ;秒计数清0 MOV A, MIN

CJNE A, #60,TT1 ;是否1h到了

; 时输出

INC HOUR ; 小时计数加1 MOV MIN,#0 ; 分计数清0 MOV A, HOUR

CJNE A,#24,TT1 ;是否24h到了 MOV SEC, #0 ;秒钟变量清0 MOV MIN,#0 ; 分钟变量清0 MOV HOUR,#0 ;小时变量清0 TT1:

POP ACC ;将A值由堆栈取出 RETI

;...................................实现显示功能的子程序.....................................................

CONV:

;转换小时数据

MOV A, HOUR MOV B, #10 DIV AB

MOV DPTR,#TABLE ;查表转换 MOVC A, @A+DPTR MOV BUF, A MOV A, B

MOVC A, @A+DPTR MOV BUF+1,A ;转换分钟数据

MOV A, MIN MOV B, #10 DIV AB

MOV DPTR,#TABLE ;查表转换 MOVC A, @A+DPTR MOV BUF+2, A MOV A, B

MOVC A, @A+DPTR MOV BUF+3,A RET

;字型数据编码表 TABLE:

DB 0C0H, 0F9H ,0A4H , 0B0H DB 99H, 92H, 82H, 0F8H DB 80H, 90H, 88H, 83H

DB 0C6H, 0A1H, 86H, 8EH

;----------------------------

;扫描显示 DISP:

MOV R0,#BUF ;指向显示器缓冲区起始地址

MOV R2,#4 ;循环执行4次

MOV ACC, #11110111B 11110111B

S1:

PUSH ACC

MOV A, @R0 MOV P0, A POP ACC

MOV P2,ACC MOV R5,#2 ACALL DELAY ;改变扫描码 EX:XXXX1011

RR A INC R0 加1

DJNZ R2,S1 RET

;计数单元清0 INIT:

MOV DEDA,#0 MOV SEC, #0 MOV MIN, #0 MOV HOUR,#0 RET ;

;蜂鸣器

BZ: MOV R6,#250 B1:ACALL DEX CPL SPK DJNZ R6,B1 MOV R5, #50 ACALL DELAY RET

;------------------------------ ;工作指示灯

;加载扫描信号初值 ;取出显示器数据 ;由P0送出一位显示数据 ;由P2送出扫描输出信号 ;延迟 ;A向右移动一位 ;显示器显示缓冲区地址;判断是否继续执行循环;5ms计数器清0 ;秒表变量清0 ;分钟变量清0 ;小时变量清0 ;蜂鸣器鸣响一声

LED_BL: ;工作指示灯闪烁 MOV R4,#6

LE1:CPL WLED ;位反向 MOV R5,#25

ACALL DELAY ;延迟50ms DJNZ R4,LE1 RET

END

参考文献

[ 1] 求实科技.单片机典型模块设计实例导航[M ].北京:人民邮电出版社, 2007: 7. [2] 张齐.单片机应用系统设计技术- 基于C语言编程[M ].北京:电子工业出版社, 2006: 3. [3] 李光飞.单片机C程序设计实例指导[M ].北京:航空航天大学业出版社, 2005: 9. [4] 楼燃苗,李光飞. 51系列单片机设计实例[M ].北京:航空航天大学业出版社, 2003.

[5] 丁元杰. 单片微机原理及应用[M ]. 北京: 机械工业出版社, 2001: 1. [6] 孙串友, 孙晓斌. 感测技术基础[M ]. 北京: 电子工业出版社, 2001. [7] 赵继文. 传感器与应用电路设计[M ]. 北京: 科学业出版社, 2002. [8] 黄继昌. 电子元器件应用手册[M ]. 北京: 人民邮电出版社, 2004. [9] 何希才. 传感器及其应用电路[M ]. 北京: 电子工业出版社, 2001.

摘要

89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh

Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯

片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。

台灯是最普遍的家用照明器,随着节能计划的提出,许多电子产品走上节能

化。台灯传统对于人们伤害很大,市面上所谓的护眼灯,实际上是用高频电子镇流器将原本50赫兹提高到5万赫兹,肉眼分辨不出来频闪。实际上是高频闪的,危害更大。

本文设计了一种基于89C2051的节能台灯,并且作出了零件图和设计图.

关键词:89C51 单片机 台灯 节能

目录................................................................................................ .1

绪论................................................................................................ .2

1、1 设计内容及要求 ..................................................................3

1、2设计构思 ..............................................................................3

1、3系统组成及电路设计: .......................................................4

1、4 总体电路图 .........................................................................5

2、1 89C51单片机.......................................................................6

2、1、1 结构特点 ................................................................6

2、1、3 AT89C51单片机的管脚说明..............................8

2、1 传感器及信号处理电路..................................................... 11

2、1、1 热释电红外传感器的结构组成及工作原理........12

2、1、3 光敏电阻 ............................................................15

2、2 计时提醒电路 ...................................................................17

2、2、1 基本原理 ............................................................18

2、2、4 计时提醒电路的仿真结果....................................20

附录 ............................................................................................21

绪论

随着科学技术的不断发展和进步,生产与自动化的观念逐渐深入人心。生产

与加工过程离不开产品的开发与设计,在生产自动化大幅度提升生产效率的同时,设计自动化也正迎头赶上。

单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是

寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的

霍夫研制成功世界上第一块4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的7位科学家”之一 。

1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的

问世。

Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工

业自动控制设备。当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。

20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了

MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。

第一章 设计思路

1、1 设计内容及要求

一、设计内容

设计一智能台灯控制器,实现照明控制系统的人性化,其功能如下:

1、亮度足够时灯光关闭,在亮度不足时,有人走近自动点亮,并根据周围环境的亮度自动调节灯泡的功率;

2、点亮时开始计时,计时达到一小时时发出灯光闪烁信号,提醒使用者起立活动;

3、具有温度测量及显示功能。

该系统由光感元件、人体感知器、时间计数器以及亮度控制器及单片机等构成。

二、总体要求

1、给出设计原理及整体设计思路,画出整机原理图;

2、给出具体单元设计,画出单元电路,并进行电路设计中相关元件值的计算;

1、2设计构思

台灯已是千家万户的必需生活用品,经常由于忘记关灯而造成巨

大的能源浪费。当夜晚来临时,人们又摸黑去开灯,非常不方便。在

这里设计了以人体红外辐射(波长为10um)传感控制电路。当人体在台灯的范围内且环境光强较弱时,自动感应开灯;用一个时间计数器显示,当人在台灯下工作学习一个小时后,台灯发出警告,让人起身活动。

1、3系统组成及电路设计:

图1 系统机构图

本系统组成如图一所示,主要由三部分组成:

1) 传感器及信号处理电路:检测人体辐射红外信号及光强信号经过

处理后变成可处理的数字信号。

2) 以89C51组成的中央处理单元:处理信号并发出控制命令。

3) 计时提醒电路和灯光控制电路 :给出提醒信号并根据89C51给

出的命令控制灯光。

1、4 总体电路图

整个系统是以80C51控制下工作的。其工作过程为:由热释电

传感器检测一定范围内是否有人在,当没有人时热释电传感器的2端口不会产生信号,信号处理电路和单片机都不工作。当有人靠近时,端口2发出变化缓慢、幅值小(小于1mv)的信号,该信号经过信号处理电路把不规则的波形转化成适合单片机处理的数字信号并通过INT1端口输入到单片,在此过程中同时还要通过光敏电阻进行光照强度检测,当环境光比较强时,光敏电阻阻值比较小,端口P3.3电平较低,省去了80C51处理过程。当环境光比较弱时,光敏电阻阻值变大,端口P3.3电平较高,将此电平送到单片机。单片机接收到开灯信号后,发出控制信息将台灯点亮,同时通过计时提醒电路开始计时,当计时达到整点是通过扬声器发出鸣响,提醒使用者起身活动。电路图如图2所示:

图2 智能台灯电路原理图

第二章 单元电路的设计及仿真

2、1 89C51单片机

89C51单片机是整个系统的控制核心,它接受信号并处理后发出

控制信息。

2、1、1 结构特点

8位CPU;

片内振荡器和时钟电路;

32根I/O线;

外部存贮器寻址范围ROM、RAM64K;

2个16位的定时器/计数器;

5个中断源,两个中断优先级;

全双工串行口;

布尔处理器;

2、1、2 89C51单片机的主要特性

|1).与MCS-51 兼容

2).·4K字节可编程闪烁存储器

3).寿命:1000写/擦循环

4).数据保留时间:10年

5)·全静态工作:0Hz-24MHz

6)·三级程序存储器锁定

7)·128*8位内部RAM

8)·32可编程I/O线

9)·两个16位定时器/计数器

10)·5个中断源

11)·可编程串行通道

12)·低功耗的闲置和掉电模式

13)·片内振荡器和时钟电路

2、1、3 AT89C51单片机的管脚说明

AT89C51单片机的管脚图3所示:

图3 AT89C51管脚图

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的

一些特殊功能口,如下面所示:

管脚 备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

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)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

2、1 传感器及信号处理电路

电路原理图如图4所示:

图4 热释电传感器信号处理电路

本设计采用BISS0001来完成热释电红外传感器输出信号的处

理,由于热释电传感器输出的信号变化缓慢、幅值小,不能直接作为

灯泡的控制信号,因此传感器的输出信号必须经过一个专门的信号处理电路,使得传感器输出信号的不规则波形转变成适合于单片机处理的数字信号。

图4中,热释电传感器的输出信号送入BISS0001的14脚,经内

部第一级运算放大器后,由C3耦合从12脚输入至内部第二级运算放大器放大,再经电压比较器构成的鉴幅器处理后,最后从12脚输出信号(V0)送入单片机进行照明控制。BISS0001的1脚接高电平,使芯片处于可重复触发工作方式,输出V0的延迟时间T1由外部R8和C7的大小调整;触发封锁时间T2由R9和C6的大小调整。

2、1、1 热释电红外传感器的结构组成及工作原理

热释电红外传感器主要是由一种高热电系数的材料,如锆钛酸铅

系陶瓷、钽酸锂、硫酸三甘钛等制成尺寸为2*1mm的探测元件。在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自身温度升高而产生的干扰。由探测元件将探测并接收到的红外辐射转变成微弱的电压信号,经装在探头内的场效应管放大后向外输出。为了提高探测器的探测灵敏度以增大探测距离,一般在探测器的前方装设一个菲涅尔透镜,该透镜用透明塑料制成,将透镜的上、下两部分各分成若干等份,制成一种具有特殊光学系统的透镜,它和放大电路相配合,可将信号放大70分贝以上,这样就可以测出10~20米范围内人的行动。菲涅尔透镜利用透镜的特殊光学原

理,在探测器前方产生一个交替变化的“盲区”和“高灵敏区”,以提高它的探测接收灵敏度。当有人从透镜前走过时,人体发出的红外线就不断地交替从“盲区”进入“高灵敏区”,这样就使接收到的红外信号以忽强忽弱的脉冲形式输入,从而强其能量幅度。人体辐射的红外线中心波长为9~10--um,而探测元件的波长灵敏度在0.2~20--um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7~10--um,正好适合于人体红外辐射(10um左右)的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。

2、1、2 BISS0001芯片

BISS0001是一款具有较高性能的传感信号处理集成电路。它配

以热释电红外传感器和少量外接元器件即可构成被动式热释电红外开关,故能自动快速开启各类白炙灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道等敏感区域,或用于安 全区域的自动灯光、照明和报警系统。BISS001的主要功能如下:

为CMOS数模混合专用集成电路;

具有独立的高输入阻抗运算放大器,可与多种传感器匹配进行信号处理;

带有双向鉴幅器,可有效抑制干扰;

内设延迟时间定时器和封锁时间定时器;

结构新颖,稳定可靠,调解范围宽;

内置参考电压,工作电压范围为2~6V。

管脚功能说明

BISS0001芯片的管脚分布如图5所示。

图5 BISS0001的管脚分布

2、1、3 光敏电阻

简介

光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射

光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光

控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。

工作原理

光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。在黑暗环境里,它的电阻值很高,当受到光照时,只要光子能量大于半导体材料的禁带宽度,则价带中的电子吸收一个光子的能量后可跃迁到导带,并在价带中产生一个带正电荷的空穴,这种由光照产生的电子—空穴对了半导体材料中载流子的数目,使其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后,由光子激发产生的电子—空穴对将复合,光敏电阻的阻值也就恢复原值。在光敏电阻两端的金属电极加上电压,其中便有电流通过,受到波长的光线照射时,电流就会随光强的而变大,从而实现光电转换。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。半导体的导电能力取决于半导体导带内载流子数目的多少。

2、2 计时提醒电路

台灯点亮时开始计时,计时达到一小时时通过蜂鸣器发出鸣响,

提醒使用者起立活动。该模块的硬件部分主要由89C51单片机,LED数码管显示器组成。

单片机的P0端口接有4位共阳极LED数码管显示器。

数码管的8个引脚依照a、b、c、d、e、f、g、dp顺序依次与P0

端口的8个引脚P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7相连,R是限流电阻。

4位LED数码管的共阴极引脚分别与V1~V4三极管的集电极相

连,三极管的基极通过限流电阻分别接在单片机P2端口的P2.0~P2.3引脚上。

4位数码管显示器分别由三极管控制,例如P2.0输出为低电平

时,V4三极管导通,与其相连的共阳极数码管显示器开始工作;P2.0输出为高电平时,V4三极管截止,与其相连的数码管显示器停止工作。电路图如图6所示:

图6计时提醒电路原理图

2、2、1 基本原理

计时利用单片机的定时/计数器产生的中断,设置定时器T0工作在模式0的状态下,设置每隔5ms中断一次,中断20次正好1S。中断服务程序里记载着中断的次数,中断200次为1秒,60秒为分,60分为一小时,24小时为一天。

时钟的显示是使用4位LED数码管,其软件设计原理是:由中

断产生的秒、分、小时数据, 并通过单片机的输出功能输入到数码管显示器,再通过显示器扫描程序,显示出时钟的计时时间。

2、2、2 计时功能的设计

单片机实现计时功能使用了两个子程序:定时器子程序

INIT_TIMER和中断服务子程序TO_INT。 其中,定时器子程序INIT_TIMER的作用是每隔5ms产生一次中断信号;中断服务子程序TO_INT的主要作用是记载中断的次数。

1、 定时器子程序INIT_TIMER

定时器子程序INIT_TIMER的作用是每隔5ms产生一次中断信

号,它是时钟标准时间的来源和保证。定时器T0设置为工作模式0状态,定时器每隔5ms中断一次,在晶振频率为12MHz时,此5ms的初值为。该子程序见附录。

2、中断服务程序TO_INT

中断服务程序TO_INT的作用是重置定时器T0初始值,记录中断次数,并输出秒、分和小时。其中,DEDA存放5ms,SEC存放秒钟变量,MIN存放分钟变量,HOUR存放小时变量。该子程序见附录。

2、2、3 显示部分的设计

显示部分的子程序有:转换时、分子程序CONV和扫描显示子程序DISP。先通过CONV把由中断服务程序中产生的分、小时数据转换成适应LED数码管显示的数据。即进行十进制计时处理,并存入数码管显示内存中(事先设置的存放显示器数据单元)。再经扫描显示子程序DISP,便能在LED数码管上显示出时间。

1、转换时、分子程序CONV

CONV的作用是将中断服务程序中产生的分、小时数据,转换成适应LED数码管显示的数据。通过执行DIV指令进行十进制计时处理,并将处理后的数据分别存入数码管显示内存BUF、BUF+1、BUF+2、BUF+3内。其中BUF、BUF+1存放小时,BUF+2、BUF+3存放分钟,与数码管显示器U1、U2和U3、U4想对应。该子程序见附录。

2、扫描显示子程序DISP

扫描显示子程序DISP的作用是动态显示送入4位LED数码管的时间数据。所谓动态扫描是指一位一位轮流点亮LED数码管,每一位停留4ms左右,利用人的视觉暂留消除闪烁现象。该子程序见附录。

2、2、4 计时提醒电路的仿真结果

2、3 灯光控制电路

单片机对光照检测电路和传感器处理电路输出的信号进行检测,输出控制信号由单片机的P2.4输出。在室内环境光较强或光线弱但室内又无人时,P2.4输出高电平,此时三极管Q1截止,继电器J1不工作,则接在220V上的灯不亮,在室内光照较弱且传感器检测到室内有人时,则P2.4输出低电平,此时三极管Q1导通,继电器J1工作,则220V交流电通过继电器加到灯上,灯泡正常点亮。电路原

理图如图6所示:

图6 灯光控制电路原理图

附录

;--------------------------------------程序初始化-------------------------------------- ;定义存放计时单元地址

BUF EQU 30H ;30H~33H连续四个字节存放显示器数据 HOUR EQU 34H ;存放小时变量 MIN EQU 35H ;存放分钟变量 SEC EQU 36H ;存放秒钟变量 DEDA EQU 37H ;存放5ms计数值

;蜂鸣器和指示灯引脚定义

SPK EQU P3.4 ;蜂鸣器控制信号

WLED EQU P1.0 ;工作指示灯引脚定义

;程序开始执行地址

ORG 0H ;程序由地址0开始执行 JMP MAIN

ORG 0BH ;定时器T0中断地址设置 JMP T0_SRV

;-----------------------------------------主程序----------------------------------------------

MIAN:

ACALL BZ ;蜂鸣器连续两次鸣响一声

ACALL LED_BL ;LED闪动,表示程序开始执行 ACALL INIT ;初始变量化 ACALL INIT_TIMER ;设置定时器 ;加载显示器初始值数据

MOV A, #0C0H MOV PO, A ; 无穷循环

LOOP: ;无穷循环 ACALL CONV

ACALL DISP ;扫描显示

JMP LOOP ;跳转到LOOP出执行

;...............................................实现计时功能的子程序.................................... ;使用定时器T0模式0计时

INIT_TIMER: ;初始化定时器

MOV TMOD, #00000000B ;设置定时器T0工作模式为0 MOV IE, #10000010B ;启用定时器T0中断产生 MOV TL0, #(8192-5000) MOD 32 ;加载初始值 MOV TH0, #(8192-5000)/ 32

SETB TR0 ;启动定时器T0开始计时 RET

;........................................... ;中断服务程序 TO_SRV:

PUSH ACC ;A值压入堆栈 MOV TL0,#(8192-5000)MOD/32 ;重加载初始值 MOV TH0, #(8192-5000)/32

INC DEDA ;加1 ;秒输出

MOV A, DEDA

CJNE A,#200,TT1 ;是否1S到了 MOV DEDA, #0 ; 计时值清0

CPL WLED ; LED灯亮灭变换 INC SEC ;秒计数加1 MOV A,SEC

CJNE A,#60,TT1 ;是否1min到了 ;分输出

INC MIN ;分计数加1 MOV SEC,#0 ;秒计数清0 MOV A, MIN

CJNE A, #60,TT1 ;是否1h到了

; 时输出

INC HOUR ; 小时计数加1 MOV MIN,#0 ; 分计数清0 MOV A, HOUR

CJNE A,#24,TT1 ;是否24h到了 MOV SEC, #0 ;秒钟变量清0 MOV MIN,#0 ; 分钟变量清0 MOV HOUR,#0 ;小时变量清0 TT1:

POP ACC ;将A值由堆栈取出 RETI

;...................................实现显示功能的子程序.....................................................

CONV:

;转换小时数据

MOV A, HOUR MOV B, #10 DIV AB

MOV DPTR,#TABLE ;查表转换 MOVC A, @A+DPTR MOV BUF, A MOV A, B

MOVC A, @A+DPTR MOV BUF+1,A ;转换分钟数据

MOV A, MIN MOV B, #10 DIV AB

MOV DPTR,#TABLE ;查表转换 MOVC A, @A+DPTR MOV BUF+2, A MOV A, B

MOVC A, @A+DPTR MOV BUF+3,A RET

;字型数据编码表 TABLE:

DB 0C0H, 0F9H ,0A4H , 0B0H DB 99H, 92H, 82H, 0F8H DB 80H, 90H, 88H, 83H

DB 0C6H, 0A1H, 86H, 8EH

;----------------------------

;扫描显示 DISP:

MOV R0,#BUF ;指向显示器缓冲区起始地址

MOV R2,#4 ;循环执行4次

MOV ACC, #11110111B 11110111B

S1:

PUSH ACC

MOV A, @R0 MOV P0, A POP ACC

MOV P2,ACC MOV R5,#2 ACALL DELAY ;改变扫描码 EX:XXXX1011

RR A INC R0 加1

DJNZ R2,S1 RET

;计数单元清0 INIT:

MOV DEDA,#0 MOV SEC, #0 MOV MIN, #0 MOV HOUR,#0 RET ;

;蜂鸣器

BZ: MOV R6,#250 B1:ACALL DEX CPL SPK DJNZ R6,B1 MOV R5, #50 ACALL DELAY RET

;------------------------------ ;工作指示灯

;加载扫描信号初值 ;取出显示器数据 ;由P0送出一位显示数据 ;由P2送出扫描输出信号 ;延迟 ;A向右移动一位 ;显示器显示缓冲区地址;判断是否继续执行循环;5ms计数器清0 ;秒表变量清0 ;分钟变量清0 ;小时变量清0 ;蜂鸣器鸣响一声

LED_BL: ;工作指示灯闪烁 MOV R4,#6

LE1:CPL WLED ;位反向 MOV R5,#25

ACALL DELAY ;延迟50ms DJNZ R4,LE1 RET

END

参考文献

[ 1] 求实科技.单片机典型模块设计实例导航[M ].北京:人民邮电出版社, 2007: 7. [2] 张齐.单片机应用系统设计技术- 基于C语言编程[M ].北京:电子工业出版社, 2006: 3. [3] 李光飞.单片机C程序设计实例指导[M ].北京:航空航天大学业出版社, 2005: 9. [4] 楼燃苗,李光飞. 51系列单片机设计实例[M ].北京:航空航天大学业出版社, 2003.

[5] 丁元杰. 单片微机原理及应用[M ]. 北京: 机械工业出版社, 2001: 1. [6] 孙串友, 孙晓斌. 感测技术基础[M ]. 北京: 电子工业出版社, 2001. [7] 赵继文. 传感器与应用电路设计[M ]. 北京: 科学业出版社, 2002. [8] 黄继昌. 电子元器件应用手册[M ]. 北京: 人民邮电出版社, 2004. [9] 何希才. 传感器及其应用电路[M ]. 北京: 电子工业出版社, 2001.


相关文章

  • 智能节能台灯文献综述
  • 台灯功能 我们要设计的这种智能台灯,它可以在使用者看书写字姿势不正确或者距离台灯太近的时候,灯光慢慢变暗而提醒你纠正,直到你坐姿完全正确为止.从而使你养成良好的坐姿,保护好视力,防止近视眼.如果晚上工作学习太累不小心趴在台灯下睡着了,台灯的 ...查看


  • 基于单片机的智能台灯设计 1
  • 基于单片机的智能台灯设计 The design of Intelligent Table Lamp Based on Microcomputer 制作人员: 2015.5.14 摘要 随着科技的发展,单片机渗透到我们生活的各个领域, 几乎很 ...查看


  • 智能家居控制系统的设计毕业论文
  • 毕业论文(设计) 论文题目: 智能家居控制系统的设计 毕业论文(设计)原创性声明 本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果.据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写 ...查看


  • 电子信息工程毕业设计题目大全
  • 1 压力容器液位测量 2 多功能遥控小车 3基于RS232的仓库多点温度.湿度.气 4压检测系统 5自动控制升降旗系统 6基于RS485的温度报警系统 7基于模糊算法的水温控制系统的设计 8多分机电话交换机 9简易火灾自动报警系统 10基于 ...查看


  • 智能家居中体感技术的应用和前景_杨栋
  • D IGITAL HOME &SMART CITY 数字家庭与智慧城市 [本文献信息]杨栋,张建强,曹鹏,等. 智能家居中体感技术的应用和前景[J].电视技术,2014,38(21). 智能家居中体感技术的应用和前景 杨栋,张建强, ...查看


  • 基于单片机控制的智能小车设计开题报告
  • 广 西 科 技 大 学 普通本科毕业设计(论文)开题报告 课题名称 基于单片机控制的智能小车设计 学 院 电气与信息工程学院 专 业 电子信息科学与技术 年 月 日 一.毕业设计(论文)选题的目的和意义 随着科技的不断发展,智能小车的研究越 ...查看


  • 计算机专业毕业论文题目_大全(1)
  • 目 录 ASP 类计算机专业毕业论文题目.................................................................................................... ...查看


  • 最新电子信息工程毕业论文题目参考
  • 1. 家庭防盗报警系统 2. 单片机实现单步进电机及8位流水灯控制的设计 3. 篮球竞赛计时系统 4. 单片机89C51在直流调速控制系统中的应用 5. 八路数字抢答器 6. 基于51机的直流电机设计 7. 基于51单片机的步进电机控制系统 ...查看


  • 电子信息类毕业设计课题
  • 电子信息类毕业设计课题 [电子通讯] 出租车计价系统 [过程控制] 基于单片机实现单回路智能调节.. [电子通讯] 脉冲数字频率计 [机床仪表] 仪表机床数控系统的设计(论文.. 磁流体发电论文 [电子通讯] 基于VC++6.0的PC 机与 ...查看


热门内容