用贴片LED制作的旋转屏数字钟(有图精华版)

更新时间:2024-03-16 10:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于单片机的贴片LED旋转屏数字钟

设计与制作

摘 要

现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。近年来,随着电子产品的发展,人们对时钟的要求越来越高,而在对要求高之余,又要讲究有创意,新奇,所以在这个基础上设计一款既能满足人们的要求,又要有创意的时钟装置是很有必要的,贴片LED旋转屏数字钟在可以计时的基础上,又能够满足人们对事物要有创意的需求。

本次设计运用LED旋转屏采用一排贴片LED流水灯,令其高速旋转,利用视觉残留效应,形成高分辨率的点阵屏,能显示字符,汉字,甚至图案,而且图案看起来还有悬浮于空中的透明效果,非常炫目。再加上单片机控制,又可成为一款独特的数字钟。人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。其具体应用是电影的拍摄和放映。原因是由视神经的反应速度造成的,其时值是二十四分之一秒。是动画、电影等视觉媒体形成和传播的根据。

关键词:数字钟 LED流水灯 红外接收 单片机

Based on SCM SMD LED rotating screen a digital clock Design and production

Content abstract

Now is a new era of knowledge explosion. New products, new technologies emerge in endlessly, the development of electronic technology is changing. Can it is no exaggeration to say, electronic technology applications are ubiquitous, electronic technology is changing our life, change our world. In recent years, with the development of electronic products, people on the clock and taller to the requirement of high requirements, at the outside, also want to pay attention to creative, novelty, so on this basis design one paragraph can meet the requirement of people, and creative clock device is very be necessary, SMD LED rotating screen a digital clock in May time on the basis of, and can satisfy people for things to creative demand.

This design USES LED by a row rotating screen patch LED lamp, make its water use of visual remain high rotation speed, high resolution, forming the effect of dot matrix display character, screen, can design of Chinese characters, even, and design looks and the suspended in the air transparency, very dazzle eye. Plus single-chip microcomputer control, but also become a unique piece of digital clock. When the human eye, light observed scenery in brain nerve, should be introduced into signals through a short time, light effect ends, the visual image is not immediately disappear, the residue after the visual says \visual this phenomenon is called \temporarily leave\The concrete application is film and screened. Reason is caused by the response speed of the optic nerve, its duration is 24 points of a second. Is animation, movies and other visual media according to the formation and transmission.

Keywords :Digital Clock LED Water Lamp Nfrared Receiving

Power Management MCU

目 录

前 言 ................................................................... 1 1 总体方案设计 ............................................................ 3 1.1系统框图 ............................................................ 3 1.2系统功能介绍 ........................................................ 3 1.3计时控制方案 ........................................................ 4 1.4显示控制方案 ........................................................ 4 1.5遥控控制方案 ........................................................ 4 1.6软件总体设计方案 .................................................... 5 2 硬件设计 ................................................................ 6 2.1 STC89C52RC单片机的介绍 ............................................. 6 2.2 STC89C52RC单片机引脚说明 ........................................... 7 2.3单片机硬件资源分配 .................................................. 8 2.4 STC89C52RC单片机的附属电路 ......................................... 9 2.4.1 振荡电路 .......................................................... 9 2.4.2 复位电路 ......................................................... 10 2.5同步设计 ........................................................... 10 2.6红外遥控设计 ....................................................... 11 2.6.1 红外接收部分 ..................................................... 12 2.6.2 红外发射部分 ..................................................... 13 2.7 蜂鸣器发声电路 ..................................................... 14 2.8 LED流水灯旋转屏的分辨率 ........................................... 14 3 软件设计 ............................................................... 16 3.1 系统主程序设计 ..................................................... 16 3.2 红外遥控程序设计 ................................................... 17 4 系统调试 ............................................................... 20 4.1 硬件调试 ........................................................... 20 4.1.1 供电问题 ......................................................... 20 4.1.2 平衡问题 ......................................................... 20 4.2 在KEIL中的调试 ..................................................... 20 5 结 论 ................................................................. 24 致 谢 ................................................................... 25 参考文献 ................................................................ 26 附录A 硬件电路板 附录B 演示成功图 附录C 硬件原理图 附录D C语言程序

基于单片机的贴片LED旋转屏数字钟设计与制作

前 言

现在计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。在这一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。近年来,随着电子产品的发展,人们对时钟的要求越来越高,而在对要求高之余,又要讲究有创意,新奇,所以在这个基础上设计一款既能满足人们的要求,又要有创意的时钟装置是很有必要的,贴片LED旋转屏数字钟在可以计时的基础上,又能够满足人们对事物要有创意的需求。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。

单片机经过30多年的发展,已经形成一个规格齐全、品种繁多的大家族,用户有非常大的选择余地。下面为读者简单介绍目前市面上常见的主流单片机。

单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下方面。

显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符。 机电控制:用单片机控制机电产品做定时或定向的动作。

检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。 通信:通过RS-232串行通信或者是USB通信,传输数据和信号。 科学计算:用来实现简单的算法。

那么单片机是不是解决上述应用的唯一选择呢?当然不是!目前,在自动控制中,一般有三种选择,分别是嵌入式微机、DSP和单片机。

单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。这是因为这类芯片的生产量很大,技术也很成熟。

其次,单片机的体积也远小于其他两种方案。单片机本身一般用40引脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。

1

广东技术师范学院天河学院毕业设计(论文)

当然,单片机无论在速度还是容量方面都小于其他两种方案,但是在实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能。例如,控制电冰箱的控制器就不需要使用嵌入式系统,用一片52就可以轻松实现。所以应用的关键是看能否够用,是否有很好的性能价格比。52系列的单片机已经面世多年,依然没有被淘汰,还在不断发展中,这就说明是他有广阔的应用前景

本次这个贴片LED旋转屏数字钟是以单片机和LED旋转屏为核心设计,运用STC89C52RC芯片,具有高速、低功耗、超强抗干扰的单片,指令代码完全兼容传统8052单片机,12时钟、机器周期和6时钟、机器周期可以任意选择,HD版本和90C版本内部集成MAX810专用复位电路,功能强大,而LED旋转屏采用一排贴片LED流水灯,令其高速旋转,利用视觉残留效应,形成高分辨率的点阵屏,能显示字符,汉字,甚至图案,而且图案看起来还有悬浮于空中的透明效果,非常炫目。再加上单片机控制,又可成为一款独特的数字钟。人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。其具体应用是电影的拍摄和放映。原因是由视神经的反应速度造成的,其时值是二十四分之一秒。是动画、电影等视觉媒体形成和传播的根据。

2

基于单片机的贴片LED旋转屏数字钟设计与制作

1 总体方案设计

1.1 系统框图

按照设计要求,本贴片LED旋转屏数字钟需要由单片机STC89C52RC、LED流水灯、同步光电门、接收电路、电源等组成。如图1.1所示

LED流水灯 STC89C52RC 红外接收 时间显示(时,分等) 电源 同步光电门 图1.1 系统框图

1.2 系统功能介绍

数字钟由一排LED流水灯通过旋转显示时间,然而显示中文,至少需要一个12X16的点阵,这意味至少需要12个LED。以此类推,点阵的垂直分辨率越高。所需的LED数目就越多,受I/O口等因素的限制,故采用12个LED是最佳选择,这样恰好占用2组I/O口。12个LED通过旋转能形成超过12X100分辨率的点阵,显示ASCII码时用5X8点阵,只使用其中的8个LED,显示汉字用12X16点阵,所有LED全部使用(如图1.2)。

图1.2 LED流水灯

其主要功能有:闹钟功能,可设置在任何时间的闹钟;12只LED通过旋转显示当前时分秒,星期;显示中英文,图案,数字(因垂直分辨率不够多,只可显示普通的小

3

广东技术师范学院天河学院毕业设计(论文)

图标,如:显示开闹钟的符号和静音符号);

1.3 计时控制方案

利用单片机内部的定时器/计数器进行定时,配合软件延时实现到计时。该方案节

省硬件成本,这使我在定时器/计数器的使用、中断及程序设计方面得到锻炼与提高。

1.4 显示控制方案

普通的LED点阵屏,以16X16点阵为例,显示字符时进行快速行扫描或列扫描,利用视觉残留而形成文字,扫描显示的一个特点就是任何时刻只有一列LED发光,从左边起,控制每一列的位选端,依次从首列逐列显示到末列。旋转LED点阵屏充分利用这个特点,只采用一列LED,通过旋转改变LED的位置来模拟点阵的列扫描,而在电路上,LED旋转屏与流水灯十分相似。

LED旋转形成了一个等效点阵,控制方法与点阵十分相似。LED旋转屏主要有2种,一种是平面型,另一种是圆柱型;平面型显示时会使字符变形,且显示的字符不是立体的,不符合设计要求,而圆柱型则没有这些问题,故本次设计是采用圆柱型的LED旋转屏。

1.5 遥控控制方案

LED旋转屏显示时是无法使用按键对单片机进行控制的,需要控制功能时,只能采用遥控,无线遥控效果不错,但红外遥控会简单很多,而且可以采用市场上容易买到的成品遥控器,而省去制作控制器的麻烦,故本次设计采用红外遥控,遥控器为5Y-29遥控器,接收端为一体化红外接收头VS1838b捕捉空间的红外信号,占用单片机的外部中断1进行红外解码。如图1.3所示

图1.3 一体化红外接收头VS1838b

一体化红外接收头VS1838b比其它的红外接收头的整体外形小,所具有的特点有: 1、小型设计; 2、内置专用IC;

3、宽角度及长距离接收; 4、抗干扰能力强;

4

基于单片机的贴片LED旋转屏数字钟设计与制作

5、能抵御环境光线干扰; 6、低电压工作;

1.6 软件总体设计方案

1,要有字符,字串子程序,使LED旋转屏显示年、月、日、星期、时间和闹钟符号。

2,要有定闹子程序,若设置闹钟时,则显示定闹的时间。

3,要有同步光电门子程序,要让旋转屏每一帧显示的内容都在相同的位置,使空间上看到的就是连续稳定的图案。

4,要有红外遥控解码子程序,进行红外解码。

5,要有键值处理子程序,控制时间修改;开启与关闭闹钟;闹钟时间修改;年、月、日、星期修改。

5

广东技术师范学院天河学院毕业设计(论文)

2 硬件设计

2.1 STC89C52RC单片机的介绍

STC89C52RC是新一代超强抗干扰/高速/低功耗的单片机,12时钟/机器周期和6时钟/机器周期可任意选择,带8K bytes闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory)和512bytes的随机存取数据存储器(RAM)的低电压,高性能COMOS8的微处理器,指令代码完全兼容传统8052单片机,并采用ATMEL高密度、非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,STC89C52R单片机可为用户提供许多高性价比的应用场合。

STC89C52RC单片机的主要性能参数有: 1.增强型6时钟/机器周期,12时钟/机器周期 2.工作电压5.5V-3.4V/3.8V-2.0V

3.工作频率范围:0-40MHz,相当于普通8052的0~80MHz.实际工作频率可达48MHz.

4.用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节 5.片上集成1280字节/512字节RAM

6.通用I/O口(32/36个),复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片

8.EEPROM功能 9.看门狗

10.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用 11.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒

12.通用异步串行口(UART),还可用定时器软件实现多个UART 13.工作温度范围:0-75℃/-40-85℃

14.封装: LQFP-44,PDIP-40,PLCC-44,PQFP-44

6

基于单片机的贴片LED旋转屏数字钟设计与制作

2.2 STC89C52RC单片机引脚说明

本设计采用的是PLCC-44封装的STC89C52RC,是一个有44个引脚的芯片,引脚配置如图2.1所示。与PDIP-40相比,PLCC-44封装多了4个NC引脚,4个NC引脚主要作用是增加单片机的抗干扰能力,并且PLCC-44封装与PDIP-40封装相比,芯片的尺寸小了很多,可以缩减整体电路的面积。STC89C52RC芯片的44个引脚的功能为:

图2.1 单片机STC89C52RC(PLCC-44封装)的引脚图

由图1.4所示,STC89C52RC单片机引脚大致可分为4类:电源、时钟、控制和I/O引脚:

1. 电源:

⑴ VCC--芯片电源;

⑵ VSS--接地端;

2. 时钟:XTAL1、XTAL2--晶体振荡电路反相输入端和输出端。 3. 控制线:控制线共有4根:

⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲

1. ALE功能:用来锁存P0口送出的低8位地址

2. PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。 ⑶ RST/VPD:复位/备用电源。

1. RST(Reset)功能:复位信号输入端。

7

广东技术师范学院天河学院毕业设计(论文)

2. VPD功能:在Vcc掉电情况下,接备用电源。 ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

1. EA功能:内外ROM选择端。

2. Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电

源Vpp。

4. I/O线:

STC89C52RC共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

⑴ P0口:

1. 外部扩展存储器时,当数据总线。 2. 外部扩展存储器时,当地址总线。

3. 不扩展时,可做一般的i/o使用,但内部没有上拉电阻,做为输入

输出时应在外部接上上拉电阻。

⑵ P1口只做I/O口使用,其内部有上拉电阻。 ⑶ P2口:

1. 展外部存储器时,当作地址总线使用。 2. 做一般I/O口使用时,其内部有上拉电阻。

⑷ P3口:

1. 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,

由特殊寄存器来设置。

2. 有内部EPROM的单片机芯片,为写入程序需提供专门的编程脉

冲和编程电源,这些信号也是由信号引脚的形式提供的。

2.3 单片机硬件资源分配

LED流水灯旋转屏共由12个贴片LED组成(如图2.2),分别用来显示年、

月、日、小时、分钟、秒、文字和小图标等。

图2.2 LED流水灯

8

基于单片机的贴片LED旋转屏数字钟设计与制作

P0.0~P0.7分别接VD12~VD5 P2.4~P2.7分别接VD4~VD1 P1.4接蜂鸣器,起提示作用

P3.2接同步光电门,用于旋转屏在旋转时每一帧显示的内容都在相同的位置,这是空间上看到的就是连续稳定的图案

P3.3接一体化红外接收头VS1838b,用于控制时间的修改

2.4 STC89C52RC单片机的附属电路

单片机附属电路主要有晶体振荡电路和复位电路。

2.4.1振荡电路

石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。

晶体振荡电路如图2.3所示:

图2.3 晶体振荡电路

此晶振电路所选用的石英晶振频率为22.1184MHz。

时钟周期就是单片机外接晶振的倒数,例如12MHz的晶振,它的时间周期就是(1/12μs),是计算机中最基本的、最小的时间单位。

在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1μs;若采用4MHz的时钟频率,则时钟周期为250μs。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周期频率范围也不一定相同。而我们平时比较常使用到的单片机的时钟是12MHz的晶振就可以了,但是设计中使用到的单片机的时钟是22.1184MHz的晶振,因为在旋

9

广东技术师范学院天河学院毕业设计(论文)

转上实现了字符显示后,又利用单片机内部定时器编写了一个数字钟,这样一来单片机任务有点多,使用22.1184MHz的晶振可以加快单片机的运行速度,显示字符时的抖动现象就会减少,这些都是由于中断函数内部指令稍多,导致延时函数延时不准引起的一种普遍现象。 2.4.2复位电路

单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,所以必须弄清楚STC89C51型单片机复位的条件、复位电路和复位后状态。

单片机复位的条件是:必须使RST/Vpd或RST引脚加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12MHz,每个机器周期为1μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。

单片机常用的复位电路如图2.4所示.

图2.4 复位电路

2.5 同步设计

所谓同步设计,就是要让旋转屏每一帧显示的内容都在相同的位置,这时空间上看到的就是连续稳定的图案。电动机转速一般不会大范围波动,让每一帧的显示起点相同,也就是使每一帧图案处于相同位置,便可实现同步显示。

在电路中放置传感器,当LED旋转到某一个固定位置时传感器出发,从第一列开始把一整屏的信息完整显示出来,此时电动机仍然未转完一圈,程序上等待,直到下一个触发信号出现时再显示第二帧,这样做就保证了每一帧都从相同的起点开始显示,图案自然稳定。只要电动机转速稳定,图案就稳定,并且与电动机的转速无关,转速快字符就变大,转速小字符就缩小,但图案始终保持稳定。

比较流行的做法是采用霍尔传感器,在电路板上放一个霍尔传感器,在电动机的外

10

基于单片机的贴片LED旋转屏数字钟设计与制作

壳放一个小磁铁,当霍尔传感器转到磁铁上方时,便产生了一个触发信号。不过根据设计的具体情况,故没有采取这种方法,而使用了槽型光电开关,把槽型光电门安装在电路板上,在电动机边上合适地放置一个挡光片,当光电门转动到挡光片所在的位置时,便产生了一个触发脉冲,由此也可以做同步检测。结构如图2.5所示:

图2.5 光电门的实物图

槽型光电门其工作原理是通过把光强度的变化转换成电信号的变化来实现控制的。把一个光发射器和一个接收器面对面地装在一个槽的两侧,发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电门便动作。输出一个开关控制信号,切断或接通负载电源,从而完成一次控制动作。但是槽型光电门的检测距离因为受整体结构的限制一般只有几厘米。光电门电路部分如图2.6所示

图2.6 光电门电路

2.6 红外遥控设计

LED旋转屏显示时是采用红外遥控对单片机进行控制的,红外线的特点是不干扰其

11

广东技术师范学院天河学院毕业设计(论文)

他电器设备工作,也不会影响周边环境。电路调试简单,若对发射信号进行编码,可实现多路遥控功能。其电路部分如图2.7所示:

图2.7 红外遥控的接收电路

红外遥控系统分为发射和接收两部分。 2.6.1红外接收部分

红外接收部分采用的是一体化红外接收头VS1838b,因为一体化红外接收头VS1838b是集红外接收、放大、滤波和比较器输出等的模块,性能稳定,可靠,且比其它的一体化红外接收头的整体外形小,符合此次设计需小型化的要求,其外形尺寸及引脚排列, 如图2.8所示:

图2.8 红外接收头VS1838b

具体参数:

光电参数(T=25℃ Vcc=5v f0=38KHZ)

12

基于单片机的贴片LED旋转屏数字钟设计与制作

工作电压 接收距离 载波频率 接收角度 BMP宽度 静态电流 低电平输出 高电平输出 输出脉冲 宽度 符号 Vcc L f0 01/2 FBW Icc VOL VOH TPWL TPWH 测试条件 L5IR=300MA (测试信号) 距离衰减1/2 -3Db andwidth 无信号输入时 Vin=0V Vcc=5V Vcc=5V Vin=500uVp-p Vin=50mVp-p Min 2.7 18 38K 2 ---- 4.5 500 500 Typ 20 +/-45 3.3 0.4 0.2 600 600 Mnx 5.5 单位 V M 5 1.5 0.4 700 700 HZ Deg kHz mA V V us us 在用小功率发射管发射信号情况下,其接收距离可达20m。它能与TTL、COMS 电路兼容。一体化红外接收VS1838b为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 μs,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、+5V电源、解调信号输出端。 2.6.2红外发射部分

图2.9 红外发射电路功能组成

图2.9是目前所有红外遥控器发射电路的功能组成,其中的编码器即调制信号,按遥控器用途的编码方式可以很简单、也可以很复杂。例如用于电视机、VCD、DVD和组合音响的遥控发射的编码器,因其控制功能多达50种以上,此时的编码器均采用专用的红外线编码协议进行严格的编程,然而对控制功能少的红外遥控器,其编码器是简单而灵活。前者编码器是由生产厂家的专业人员按红外遥控协议进行编码,而后者适用于一般电子技术人员和电子爱好者的编码。图2.9中的38kHz振荡器即载波信号比较简单,而这次我们采用的就是这种载波信号的遥控器5Y-29,既简单,又方便,在市场上就可以买到的成品遥控器。编码器的编码信号对38kHz的载波信号进行调制,再经红外遥控

13

广东技术师范学院天河学院毕业设计(论文)

器5Y-29向空间发送信号供遥控接收端一体化接收头VS1838b接收、解调输出、再作处理,达到控制时间修改等的功能。

红外遥控器5Y-29如图2.10所示:

图2.10 红外遥控器5Y-29

2.7 蜂鸣器发声电路

蜂鸣器发声电路的作用是方便设计的调试,将红外线接收器接收到的红外反射信号进行处理后触发蜂鸣器发声电路,使其发出“滴”的提示语,以及闹钟功能的发声提醒。蜂鸣器是一种需要较大驱动电流的器件,单片机的引脚不能提供足够的驱动电流直接驱动蜂鸣器。对于类似蜂鸣器的器件,如图2.11所示,可以通过工作在导通/截止状态的PNP三极管Q1来驱动,使用PNP三极管Q1进行驱动控制,当P1.4引脚输出低电平时,Q1导通,蜂鸣器蜂鸣;当P1.4引脚输出高电平时,Q1截止,蜂鸣器停止蜂鸣。

图2.11 蜂鸣器发声电路

2.8 LED流水灯旋转屏的分辨率

LED流水灯旋转屏的分辨率将决定显示内容的多少,分辨率越高,可显示字符数越

14

基于单片机的贴片LED旋转屏数字钟设计与制作

多,而且字符精细好看。分辨率的大小在很大程度上取决于LED的选择,LED的大小和电性能都会影响分辨率,如果LED选择不当,会使旋转屏的效果大打折扣。如果旋转屏的分辨率为200,即12×200,即1排12个LED的流水灯,随着电动机转动一周,能形成200个闪亮的点,通过旋转,屏上等效有12×200个LED,如同一个12×200的普通点阵屏卷曲成一圈形成的,故选择1排12个LED的流水灯旋转屏就达到设计所要的需求。

1、LED的体积大小对分辨率的影响。制作的旋转屏,LED转一圈所形成的圆半径约4cm,周长约25cm。如果用普通2.5mm的LED,这一圈只能填充100(250/2.5)个LED,也就是说至多填充100个LED,分辨率最高也就是12×100,要提高填充数目,只能采用更小体积的LED。另一方面,LED的体积越小,所形成的发光点也就越小,这样形成的图案的线条就小,更加精细好看。故设计采用的是贴片LED进行制作,较直插LED能够大大增加分辨率。

2、LED的电性能也制约分辨率。按照分辨率为200估计,每个等效LED点的亮度相当于用0.5%(1/200)的占空比电流驱动一颗静止不动的LED所发出的亮度,这会有两个问题:

(1)分辨率太高时,显示屏的亮度下降,这是驱动每个等效LED点的占空比下降引起的必然后果。由于单片机电流驱动能力和LED所能承受的电流限制,一般不超过20mA,0.5%占空比下,LED的平均电流只有0.1mA,肯定会引起亮度下降。

(2)LED余辉的影响。LED电流后,撤掉电流,LED不是马上熄灭,而是经过一段时间慢慢熄灭,这就是LED的余辉现象,驱动电流峰值越大,余辉越严重。受余辉影响,分辨率太高时,LED来不及熄灭,相邻的点无法分辨,就限制了分辨率的无限提高。

以上2个问题直接决定了旋转LED屏的最高分辨率,它们跟旋转半径是没有关系的,就算把装置做得跟电风扇一样大,也无济于事。在难以了解所用LED的余辉时间的前提下,采用贴片LED就能够较好地解决这个问题,故设计采用的是贴片LED,贴片LED体积小,发光点集中,只要微小的电流,就能够让它发光,并引起视觉冲击。再综合LED体积和电性能对分辨率的影响,采用了0805封装的贴片LED并选择红色LED,理由是眼睛对红色敏感,看起来更亮。如图2.7所示,12个0805的红色LED,每个LED串联一个75欧的限流电阻。

15

广东技术师范学院天河学院毕业设计(论文)

3 软件设计

3.1 系统主程序设计

本设计的程序是采用C51进行编写,因为系统的程序比较庞大,故不采用汇编,用C语言比较容易编写和理解。软件编写的基本思想,如程序流程图3.1所示,主程序的功能是完成系统的初始化,LED流水灯旋转屏旋转,在显示时间之前,先监测光电门;若触发脉冲,系统将显示一帧,时间发送显示。一直触发脉冲产生信号,之后红外遥控调节时间,按键响应,完成对时间的修改。

主函数 系统初始化 N 监测光电门? Y 显示一帧 N 遥控有按键? Y 按键响应

图3.1 系统主程序流程图

16

基于单片机的贴片LED旋转屏数字钟设计与制作

3.2 红外遥控程序设计

首先要定义红外遥控器5Y-29按键的键值,定义如下: #define key0 0 #define key1 128 #define key2 64 #define key3 192 #define key4 32 #define key5 160 #define key6 96 #define key7 224 #define key8 16 #define key9 144 #define key_up

200

#define key_down 232 #define key_left 40 #define key_right

8

#define key_meau 24 #define key_mute

104

#define key__ 80 #define key17 208 #define key18 240 #define key_ONOFF 72

#define key20 216 #define key21 248 #define key_sleep 56

#define key23 48 #define key24 120 #define key25 152 #define key26 88

sbit RSD = P3^3; //

一体化红外接收头VS1838b接口17

广东技术师范学院天河学院毕业设计(论文)

sbit Bell = P1^4; // 蜂鸣器接口

//bit READY=0; //红外接收到数据 unsigned char data1 = 0; unsigned char key=0xff;

extern void delay(unsigned int time); extern void delay_T();

当响应外部中断1响应函数,完成对红外遥控的解码,开始拉低9ms,接着是一个4.5ms的高脉冲,通知器件开始传送数据了接着是26位前导脉冲,用于识别该型号的摇控。然后是发送8位数据的原码,接着又发送8位数据的反码.最后是一个长脉冲,和开始位一样,拉低9ms和一个4.5ms脉冲表示结束。每个按键不同这处只在于那8位数据的原码和反码,因些只须要识别8位原码就可以识别按键了。

把红外数据进行转换,如下: uchar redchange(uchar rednum) {

switch(rednum) {

case 0 :return 0; case 128:return 1; case 64 :return 2; case 192:return 3; case 32 :return 4;

case 160 :return 5;

case 96 :return 6; case 224:return 7; case 16 :return 8; case 144:return 9; case 200:return 10;//上 case 232:return 11;//下 case 40 :return 12;//左 case 8 :return 13;//右

18

基于单片机的贴片LED旋转屏数字钟设计与制作

case 24 :return 14;//MENU case 104:return 15;//静音 case 80 :return 16;//-/-- case 208:return 17;//TV/AV case 240:return 18;// BASS case 72 :return 19;// ON/OFF case 216:return 20;// CALL case 248:return 22;// S.SYS case 56:return 23;// SLEEP case 48:return 24;// SCAN case 120:return 25;// PRE case 152:return 26;// HOBBY

case 88:return 27;// 大S键

} }

按下“MEAU”键,系统进入时间修改模式 按下“MUTE”键,系统进入闹钟模式

按下1、2、3??,代表当前正在修改不同的字段 19

广东技术师范学院天河学院毕业设计(论文)

4 系统调试

4.1 硬件调试

检验是否正确显示时间,电路板要处于高速旋转的状态,故只能实际操作,不能仿真,首先要整机装配好,上电后才能够进行软件调试。而硬件需要解决两个比较大的问题,一个是供电问题,另一个是平衡问题。

4.1.1供电问题

单片机、LED等电路必须安装在高速旋转的电动机上面,无法采用电线进行供电,使系统供电变得极为麻烦。

解决方法一:通过制作两个环形电刷、固定在电动机的转轴上面,外部电源的正负极分别与它们接触,这样就能实现外部供电,这是比较理想的方案,不过制作就十分麻烦。

解决方法二:在电路板上面做一个感应线圈,电机上放一块强磁铁,电机转动时电磁感应来获取电能,这种方法争议较大,估计线圈会很夸张。

解决方法三:电池内置法,电池放在电路上面,在电动机作用下随着电路板共同转动,自然就解决供电问题。制作难度低,只要把电池固定好,调节旋转屏平衡就OK了,故设计采用了这种方法。

为了尽量降低电动机的负荷,而且又要保证电流的稳定。经过试验,手机锂电池是最稳定的,并对电动机负荷较小,而镍氢电池,纽扣电池等都会造成电动机负荷过大导致旋转不顺畅和电流的不稳定导致重启,故设计采用的是一块3.7V的手机锂电池。

4.1.2平衡问题

解决了供电问题之后,下来就是要解决设计的平衡问题。显示时间的时候,电路板是高速旋转的状态的,若整体不平衡的话,会导致震动大,整体走位严重,难以遥控调节时间和显示不清晰的问题。利用杠杆原理,看那一边较重,在轻的一边的电路板后端加一个电量耗尽的废弃电池或者其他可以调节平衡的小物件,之后用热能胶固定好,这样就能很好地解决平衡问题。

4.2 在Keil中的调试

解决了整机硬件之后,接下来就是软件调试了,在Keil中下载到实验箱上进行验证,显现出所要求的效果。而在Keil中也要进行一些参数的设置,首先打开Keil仿真软件,首先要新建一个项目,点菜单Project→New Project,在弹出的对话框中选择保存的路

20

基于单片机的贴片LED旋转屏数字钟设计与制作

径并输入项目名称“旋转钟”后保存,然后在弹出新的项目窗口中选择参数,其参数的设置如下,由于我们使用的是Atmel公司的芯片,所以要选Atmel后确定。如图4.1所示:

图4.1 KEIL里面的设备选择界面

在弹出的对话框中选择AT89C51这个芯片,确定。如图4.2所示:

图4.2 CPU选择界面

21

广东技术师范学院天河学院毕业设计(论文)

然后开始设置它的参数值,如图4.3所示:

图4.3 晶振频率的选择界面

在Xtal中输入频率为22.1184MHZ,然后再选Debug这个标签,选中第二个Use复选框后点击Setting在弹出的对话框中选择Baudrate这一项,设置它的参数为38400,后OK。如图4.4所示:

图4.4 串行通讯参数设定界面

把以上的参数设置完成以后把程序添加进来编译,编译通过后接上把编好的程序通过单片机编程器写入单片机里。在STC-ISP烧写程序的界面上,清晰的显示出单片机烧

22

基于单片机的贴片LED旋转屏数字钟设计与制作

录程序的步骤,简单明了,操作比传统的编程器简单,速度快。如图4.5所示:

图4.5 STC-ISP烧写软件界面

23

广东技术师范学院天河学院毕业设计(论文)

结 论

通过这段时间的设计,终于完成了基于单片机的贴片LED旋转屏数字钟的设计,虽然在做的时候遇到一些困难,但经过一翻很大的努力也完全达到设计要求的,从心底里说,还是挺高兴的,毕竟这次设计所要求的东西都做了出来,然而高兴之余不得不深思呀!

在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机的设计重点就在于软件程序的设计,需要有很巧妙的编程方法,在编程时,由于粗心大意马虎,有些语句看似没问题,可就是不出效果,经仔细揣摩修改后,程序才正常运行。学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高。

从这次的毕业设计中,我真正认识到,在以后的学习中,必须要坚持理论联系实际,把我们所学的理论知识用到实际当中,用理论来指导实践,在实践中对理论知识加以理解。还要有独立思考能力和不耻下问的精神,个人能力固然重要,集体的力量更是伟大的。

这次设计的这个基于单片机的贴片LED旋转屏数字钟功能还不是很全,以后我可以考虑改进一下,使它的功能更加完善,强大。

24

基于单片机的贴片LED旋转屏数字钟设计与制作

致 谢

在本次毕业设计中,由于周永海老师的耐心指导,我才顺利完成了。在我每次遇到困难时,周永海老师都能不厌其烦的讲解,指出我的不足。他不仅认真修改我的论文,而且还教我分析问题的方法。他那种对教学工作一丝不苟的精神值得我们学习。虽然此次毕业设计立时短暂,但我所学知识却终身受益。对周老师的感谢我无法用语言来形容。

通过本次毕业设计,使我得到了一次全面解决问题的机会。让我对单片机的基本原理、单片机应用系统开发过程,以及在编程设计思路方法的掌握方面都有所提高。为将来的就业打下了良好的基础。我在周老师的的精心指导和严格要求下,不仅获得了丰富的单片机知识,而且动手能力也有所提高。并对当前电子领域的研究状况和发展方向有了一定的了解,这对我今后进一步学习单片机方面的知识有极大的帮助。这对我以后学习单片机有很大的帮助。在此我忠心的感谢周老师对我的耐心教导,悉心照顾。在以后的学习中,我会以更好的成绩回报老师。

在此,我还要感谢曾经给予我帮助的老师和同学们。由于你们的帮助和大力支持,我才能顺利完成毕业论文。克服一个又一个艰难险阻。直至本文的顺利完成。

最后,感谢努力培养我长大的父母,谢谢你们。

25

广东技术师范学院天河学院毕业设计(论文)

参考文献

[1]郭天祥.《新概念51单片机C语言教程:入门、提高、开发、拓展》[M].北京:电子

工业出版社,2010

[2]蒋力培 《单片机微机系统实用教程》[M]. 北京:机械工业出版社,2009 [3]牛昱光 《单片机原理与接口技术》[M].北京:电子工业出版社,2009

[4] 余孟尝 《清华大学电子学教研组.数字电子技术基础简明教程》[M].北京:高等教

育出版社,2006

[5]陈忠平.《基于Proteus的51系列单片机设计与仿真》[M].北京:电子工业出版

社,2008

[6] 彭荣群《Protel DXP 2004 SP2原理图与PCB设计》[M].北京:电子工业出版社,2007 [7]靳桅. 基于51系列单片机的LED显示屏开发技术[M]. 北京:北京航空航天大学出

版社,2009

[8]《无线电》杂志社编. 无线电合订本[M]. 北京:人民邮电出版社出版,2010

26

基于单片机的贴片LED旋转屏数字钟设计与制作

附录A 硬件电路板

广东技术师范学院天河学院毕业设计(论文)

附录B 演示成功图

基于单片机的贴片LED旋转屏数字钟设计与制作

附录C硬件原理图

广东技术师范学院天河学院毕业设计(论文)

附录D C语言程序

#include

#include\ // 红外遥控解码 #include\ // ASCII码字库 #include\ // 中文字库

#include\ // 代码段全局常量定义 #define uint unsigned int #define uchar unsigned char

sbit SDS = P3^2; // 光电门接口 sbit alarm = P1^4; // 闹钟接口

/************************************************************************* 主函数

**************************************************************************/ void main() {

uchar temp=0x00;

SystemInit(); // 系统初始化 while(1) {

if(SDS) // 检查到经过光电门,开始显示 {

show_word(s); // 显示一帧 }

switch(sysflag&0xf0) {

case 0x00: // 默认界面 {

keyrespon0(); }break;

case 0xa0: // 时间调节模式 {

temp++;

keyrespon1(); switch(sysflag) {

case 0xa0: // 年高位================ {

// 使被修改的字段出现闪烁效果,下同 if(temp==23)s[2]=32; if(temp==46) {

s[2]=numten[year]; temp=0;

基于单片机的贴片LED旋转屏数字钟设计与制作

} }break;

case 0xa1: // 年低位 {

if(temp==23)s[3]=32; if(temp==46) {

s[3]=numone[year]; temp=0; } }break;

case 0xa2: // 月份================== {

if(temp==23) {

s[5]=32; s[6]=32; }

if(temp==46) {

s[5]=numten[month]; s[6]=numone[month]; temp=0; } }break;

case 0xa3: // 日高位================= {

if(temp==23)s[8]=32; if(temp==46) {

s[8]=numten[day]; temp=0; } }break;

case 0xa4: // 日低位 {

if(temp==23)s[9]=32; if(temp==46) {

s[9]=numone[day]; temp=0; } }break;

case 0xa5: // 时高位================

广东技术师范学院天河学院毕业设计(论文)

{

if(temp==23)s[11]=32; if(temp==46) {

s[11]=numten[hour]; temp=0;

} }break;

case 0xa6: // 时低位 {

if(temp==23)s[12]=32; if(temp==46) {

s[12]=numone[hour]; temp=0; } }break;

case 0xa7: // 分高位================ {

if(temp==23)s[14]=32; if(temp==46) {

s[14]=numten[minute]; temp=0; } }break;

case 0xa8: // 分低位 {

if(temp==23)s[15]=32; if(temp==46) {

s[15]=numone[minute]; temp=0;

} }break;

case 0xa9: // 秒高位============== {

if(temp==23)s[17]=32; if(temp==46) {

s[17]=numten[second]; temp=0;

} }break;

基于单片机的贴片LED旋转屏数字钟设计与制作

case 0xaa: // 秒低位 {

if(temp==23)s[18]=32; if(temp==46) {

s[18]=numone[second]; temp=0; } }break;

case 0xab: // 星期 {

if(temp==23) {

s[21]=32; s[22]=32; }

if(temp==46) {

s[21]=GB_12[week].Index[0]; s[22]=GB_12[week].Index[1]; temp=0; } }break; } }break;

case 0xb0: // 闹钟调节模式 {

temp++;

keyrespon1(); switch(sysflag) {

case 0xb0: // 闹钟小时高位 {

if(temp==23)s[27]=32; if(temp==46) {

s[27]=numten[alarmhour]; temp=0; } }break;

case 0xb1: // 闹钟小时低位 {

}

}

广东技术师范学院天河学院毕业设计(论文)

if(temp==23)s[28]=32; if(temp==46) {

s[28]=numone[alarmhour]; temp=0; } }break;

case 0xb2: // 闹钟分钟高位 {

if(temp==23)s[30]=32; if(temp==46) {

s[30]=numten[alarmminute]; temp=0;

} }break;

case 0xb3: // 闹钟分钟低位 {

if(temp==23)s[31]=32; if(temp==46) {

s[31]=numone[alarmminute]; temp=0;

} }break; } }break;

case 0xc0:{}break; default:break; }

本文来源:https://www.bwwdw.com/article/65j8.html

Top