基于单片机的旋转时钟设计Word格式文档下载.docx
《基于单片机的旋转时钟设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的旋转时钟设计Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
[2]张迎新等.单片机初级教程——单片机基础.北京:
北京航空航天大学出版社.2006
[3]周坚.单片机C语言轻松入门.北京:
[4]周兴华.手把手教你学单片机C语言程序设计.北京:
北京航天航空大学出版社.2007
阶段规划:
2010年12月20日——2011年1月20日温习单片机的理论知识
2011年1月21日——2011年2月22日温习单片机编程理论知识
2011年2月23日——2011年3月12日温习ProtelDXP基础理论
2011年3月13日——2011年3月19日购买电子元件
2011年3月20日——2011年4月25日PCB设计硬件焊接及软件编程
2011年4月26日——2011年5月15日整理论文准备答辩
开题时间
2010年12月20日
完成论文时间
2011年5月21日
专家审定意见:
系主任签字:
2010年12月13日
注:
1.任务书由指导教师填写后交给学生,要求学生妥善保存。
2.此任务书夹于论文扉页与论文一并装订,作为论文评分依据之。
摘要
基于视觉暂留原理,开发出了一种旋转式LED显示屏。
在稳定旋转地载体上安装20个LED发光器件,静止时,各列发光管等间距分列排开,随着扫描速度的加快,在计算机软件精确的时序控制下,不断扫描出预设的时间,文字,图案等。
装在电机上的电路始终在高速旋转,我们就无法使用通常的方法来给电机供电,但可以通过无限供电方式供直流电机使用。
采用时钟芯片DS1302以及电池能准确显示时、分、秒。
关键词:
视觉暂留单片机时钟芯片无线供电
ABSTRACT
Basedonthepersistenceofvisionprinciple,developedarotatingLEDdisplay.VectorrotationinastablewaytoinstallaLEDlight-emittingdevice,staticwhenglibenclamideLEDrowsequallyspacedpoints,withthescanratespeedsup,thecomputersoftwareunderthecontrolofprecisetiming,andconstantlyscanthedefaulttext,patternsandsoon.Packedinmotorsinhigh-speedcircuitalways,wecan'
tusetheusualwaytogivemotorpowersupply,butcanthroughtheinfinitepowersupplymodefordcmotorusing.UsingclockchipDS1302andbatterycanaccuratelyshows,minutesandseconds.
Keywords:
PersistenceofVisionMCUClockchipWirelesspowersupply
前言
基于单片机原理的旋转时钟是一种实用性很高的新型时钟。
它利用了视觉暂留原理。
显示方式上采用平衡式的两排LED,这除了在旋转时能较好的保持平衡外,主要能利用两边交替显示方式,比单排要快一倍。
用LED灯排成一列,取中间一点为圆心,使LED灯围绕圆心旋转,最外侧的发光二极管显示时间刻度,当时针在12点时我们假设角度为0º
,则每个小时时针之间的角度为360º
/12=30º
.于是当这一列发光二极管每旋转30º
,最外侧的发光二极管就点亮一个瞬间一呈现时间刻度。
这样,如果在0.1s内这列发光二极管能旋转完一圈,则人眼就会产生错觉,而把先后产生的时间刻度连成12个完整的时间刻度。
电机带动一系列发光二极管绕轴旋转,单片机控制发光二极管在旋转过程中的相应位置上点亮以指示时时钟和文字,与此同时,单片机内部进行时钟的计时操作,以控制旋转时钟显示正确的走时。
此设计首先由一位外国人设计,近几年在国内随着感兴趣的人渐渐增多,许多类似的产品,如摇摇棒,也逐渐被大家所了解。
这里就详细介绍一下旋转时钟这一设计的具体内容。
1基本组成及原理
旋转时钟制作所需主要材料:
电动机,发光二极管,时间寄存器(DS1302),单片机(STC89C52),红外发射管,红外接收头,电池。
旋转时钟主要有两部分组成:
电机部分和单片机控制发光二极管显示部分。
1.1电机部分
1.1.1无线供电电路
由于装在电机上的电路始终在高速旋转,无法使用通常的方法来给电机供电,但可以通过无限供电方式供直流电机使用。
在这里此设计采用了一个小小的无线电路供电的电路板。
它的原理图如下图1:
图1无线供电原理图
图中左侧为电机启动部分,右侧为一个振荡电路,通电后振荡电路通路,大线圈上有交变电流,使磁环产生磁场,实现无线供电原理。
1.1.2电源模块
任何电路都离不开电源部分,单片机也不例外,而且应该高度重视电源部分,不能因为电源部分电路比较简单而有所忽略,其实有将近一半的故障或制作失败都和电源有关,电源部分做好才能保证电路的正常工作。
电网提供的交流电源经过整流、滤波,可得到直流电压,但此电压仍然存在波纹。
同时,由于交流电网电压的波动,负载的变化和温度的影响等,使输出电压纹波会更大,即输出电流电压不稳定。
为了得到稳定的输出电压,在滤波电路与负载之间常常加入稳压电路,以使负载得稳定的输出电压。
通过上面的分析可知,直流稳压电源主要由变压器、整流电路、滤波电路和稳压电路四大部分组成。
直流稳压电路组成框图如图2所示。
220V
50Hz
图2稳压电路组成框图
在此设计中使用了100-240转6V直流稳压电源来进行电压调控。
1.2单片机控制发光二极管显示部分
1.2.1单片机控制部分
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机以其集成度高、功能强、可靠性高、体积小、功耗低、价格廉、使用灵活等一系列优点得到迅速的发展,渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统等,这些都离不开单片机。
ISP
P0
P1
P2
P3
图3系统功能
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评,其系统功能如图3。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。
它的编程原理如图4所示。
有无
图4STC单片机编程原理说明
STC单片机的优点:
超强抗干扰:
1、高抗静电(ESD保护)
2、轻松过2KV/4KV快速脉冲干扰(EFT测试)
3、宽电压,不怕电源抖动
4、宽温度范围,-40℃~85℃
5、I/O口经过特殊处理
6、单片机内部的电源供电系统经过特殊处理
7、单片机内部的时钟电路经过特殊处理
8、单片机内部的复位电路经过特殊处理
9、单片机内部的看门狗电路经过特殊处理
三大降低单片机时钟对外部电磁辐射的措施:
1、禁止ALE输出;
2、如选6时钟/机器周期,外部时钟频率可降一半;
3、单片机时钟振荡器增益可设为1/2Gain.
超低功耗:
1、掉电模式:
典型功耗<
0.1μA
2、空闲模式:
典型功耗2mA
3、正常工作模式:
典型功耗4mA-7mA
4、掉电模式可由外部中断唤醒,适用于电池
STC89C52单片机中包含中央处理器(CPU),程序存储器(Flash),数据存储器(SRAM),定时/计数器,UART串口,I/O接口,EEPROM,看门狗等模块。
此类单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。
图5STC89C52管脚图
本设计采用的是STC89C52单片机,其管脚图如图5所示,此系列单片机有很多种,本设计选用的是贴片PQFP。
其管脚图如图6所示。
图6PQFP管脚图
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P2口:
P2口是一个具有内部上拉电阻的8位双I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
单片机复位过程主要是指电阻给电容充电,电容的电压缓慢上升直到Vcc,没到Vcc时芯片复位脚近似低电平,于是芯片复位,接近Vcc时芯片复位脚近高电平,于是芯片停止复位,复位完成。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
1.2.2显示模块
1.LED显示
LED显示器具有功耗低,接口控制方便等优点,而且模块的接口信号和操作指令具有广泛的兼容性,并能直接与单片机接口,可方便地实现各种不同的操作,在各类测量及控制仪表中被广泛的应用。
当在LED上显示汉字时,应先取得汉字的点阵构成数据,然后将其写入显示存储器中进行显示。
旋转LED显示器是一种通过同步控制发光二极位置和点亮状态来实现图文显示的新型显示器,其结构新颖,成本低廉,可视角度达360°
。
本设计采用20个并排发光的贴片二极管,利用人眼的“视觉暂留效应”显示刻度及指针。
SMDLED即为表面贴片发光二极管,它是一种固态的半导体器件,它可以直接把电转化为光。
LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。
半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。
但这两种半导体连接起来的时候,它们之间就形成一个P-N结。
当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。
而光的波长也就是光的颜色,是由形成P-N结的材料决定的。
显示模块如图7所示。
图7显示模块原理图
2.时钟芯片的选用
本设计采用时钟芯片DS1302,可以准确的显示北京时间。
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM。
DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
主要性能指标:
实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力。
31×
8位暂存数据存储RAM。
I/O串行口方式使得管脚数量最少。
工作电压范围:
2.0~5.5V。
工作电流:
2.0V时,小于300mA。
读/写时钟或RAM数据时,有两种传送方式:
单字节传送和多字节传送(字符组方式)。
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;
位5至位1指示操作单元的地址;
最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
DS1302的管脚排列及描述如图8所示。
图8DS3102管脚图
DS1302引脚描述如表1所示。
表1管脚描述
引脚
说明
X1,X2
GND
RST
I/O
SCLK
Vcc1,Vcc2
32.768KHz晶振管脚
地
复位脚
数据输入/输出引脚
串行时钟
电源供电管脚
时钟芯片工作原理图如图9所示:
图9DS1302工作原理图
2PCB制板设计与制作
2.1PCB板的设计
2.1.1软件介绍
在本设计中使用的是protelDXP2004进行PCB板的设计。
Protel系列软件是Altium公司开发的一套用于电子电路设计的应用软件,它以先进的技术、丰富的功能以及方便的操作的的了广大用户的一致认可。
ProtelDXP2004已不是单纯的PCB(印制电路板)设计工具,而是由多个模块组成的系统工具,分别是SCH(原理图)设计、SCH仿真、PCB(印制电路板)设计、AutoRouter(自动布线器)和FPGA设计等,覆盖了以PCB为核心的整个物理设计。
该软件将项目管理方式、原理图和PCB图的双向同步技术、多通道设计、拓扑自动布线以及电路仿真等技术结合在一起,为电路设计提供了强大的支持。
2.1.2元器件图
旋转时钟的PCB图如图10。
图10PCB图
旋转时钟的PCB器件图如图11。
图11PCB器件图
2.2硬件的焊接与检查
2.2.1PCB板的硬件焊接
在焊制过程中有很多困难和问题需要注意,首先就是贴片单片机(STC89C52)的焊制,贴片的元器件应该首先焊,不能等到其它器件都焊完再焊,最后焊的时候会将周围的几个器件都拆卸下来,这样不仅是很麻烦的,而且有的器件多次拆装很容易烧坏。
2.2.2无线供电电路板的硬件焊接
无线供电电路板的焊制也很重要。
本设计的这一部分没有制作PCB板,使用的是万能板,这就需要在板子背面自行连接。
第一次焊接,振荡电路没有导通,连电机都没有转。
经过反复三次审改最后终于成功实现了无限供电。
这三次错误经验总结如下:
1.电源正负极接反,电机没有转,指示灯也没有亮,无线供电没能实现。
2.二极管正负极接反,电机转,但没能产生振荡电路。
在这次拆卸过程中,作为红外发射的二极管由于过热而烧坏。
只好再配一次元件。
3.稳压三极管发射集和集电极接反,没能产生振荡电路。
总结这三个失误后,最后将无线供电电路完成。
3系统程序设计
3.1系统程序介绍
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。
其主要优点是占用资源少、程序执行效率高。
但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
C语言是一种结构化的高级语言。
其优点是可读性好,移植容易,是普遍使用的一种计算机语言。
缺点是占用资源较多,执行效率没有汇编高。
对于目前普遍使用的RISC架构的8bitMCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。
而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。
所以在单片机开发中,采用汇编语言比较好。
程序流程图如图12所示。
否
是
图12程序流程图
3.2系统编程
STC89系列单片机大部分都具有在系统可编程(ISP)特性。
ISP的好处是:
省去购买通用编程器,单片机在用户上即可下载/烧录用户程序,而无需将单片机从以生产好的产品上拆下,再用通用编程器将程序代码烧录进单片机内部。
有些程序尚未定型的产品可以一边生产,一边完善,加快了产品进入市场的速度,减小了新产品由于软件缺陷带来的风险。
由于可以将程序直接下载进单片机看运行结果故也可以不用仿真器。
大部分STC89单片机在销售给用户之前已在单片机内部固化有ISP系统引导程序,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,故无需编程器(速度比编程器快)。
不要用通用编程器编程,否则有可能将单片机内部已固化的ISP系统引导程序擦除,造成无法使用STC提供的ISP软件下载用户的程序代码。
STC89C52RC/RD+系列单片机在系统编程中的应用图如图13所示。
图13STC89C52RC/RD+系列单片机在系统编程中的应用
3.2程序在线下载
在线下载基本步骤:
步骤1:
选择所使用的单片机型号,如STC89C58RD+,STC89LE516AD等。
步骤2:
打开文件,要烧录用户程序,必须调入用户的程序代码
步骤3:
选择串行口,你所使用的电脑串口,如串行口1--COM1,串行口2--COM2,……有些新式笔记本电脑没有RS-232串行口,可买一条USB-RS232转接器。
步骤4:
设置是否双倍速,双倍速选中DoubleSpeed即可。
有的系列单片机如STC89C51RC/RD+可以反复设置双倍速/单倍速。
步骤5:
选择“Download/下载”按钮下载用户的程序进单片机内部,可重复执行步骤5。
此步骤也可选择“Re-Download/重复下载”按钮。
下载时注意看提示,主要看是否要给单片机上电或复位,下载速度比一般通用编程器快。
一般先选择“Download/下载”按钮,然后再给单片机上电复位(先彻底断电),而不要先上电。
ISP引导程序擦除。
一般使用缺省设置即可,无须设置。
OSCDN:
单片机时钟振荡器增益降一半,选1/2gain为降一半,降低EMI;
选fullgain(全增益)为正常状态。
最后,经过软件硬件的结合调试,搭建成了一个由6V电机带动的由STC89C52作为主控芯片贴片LED作为显示元件的旋转时钟。
旋转时钟系统比较稳定,显示效果良好,达到了预期的效果。
4数字式旋转时钟扩展
图象是由一个一个的点组成的,这些点称为象素。
LED点阵就是利用很多个发光二极管(LED)有序排列,通过电子电路自动控制发光和关闭,从而形成图案或者文字,因此需要很多的LED和复杂的电子电路。
但是LED摇摇棒和旋转LED点阵则利用人的视觉暂留特性,用几十分之一数量以及更低