单片机时钟(共8篇)
单片机时钟 篇1
一、基于单片机的时钟模块主控制系统
AT89C51单片机也是运用CMOS为核心技术制作而成的八位单片机, 以ATMEL公司开发的存储技术为基础, 设计的具有反复擦写功能的FLASH只读存储器以及RAM随机数据存储器。同时兼容MCS-51系统, 是低能耗、低成本、高密度、高稳定性的智能单片机系统。
二、基于单片机的时钟模块芯片
DS12887内部主要由震荡电路、14字节时钟、RMA以及锂电池等多个部分组成。其中MOT是DS12887系统的模式选择, 当MOT引脚连接到VCC或者GND时, 系统会自动选择MOTOROLA时序或是INTEL时序。SQW是DS12887中的方波信号输出程序, SQW会在DS12887系统内部选择相关的抽头进行信号输出, 通过改变寄存器编程实现输出频率的变化。AS是DS12887系统中的地址选通输入, 用于帮助系统实现信号分离功能。CS为DS12887系统中的片选输入功能, CS必须以低电平才能完成对DS12887系统的总线周期的访问。
三、基于单片机的时钟模块接口设计
本次设计的基于单片机A789C51系统的时钟模块是具有24个相关引脚, 同时还带有时间信息液晶显示屏的智能时钟模块, 采用的是RT1602C字符及5V电压型的液晶模块, 通过不同类型的引脚接口, 进行低电平基础上的输入操作同时在高电平基础上进行输出操作。
四、基于单片机的时钟模块闹铃设计
本时钟模块根据单片机AT89C51的电流输出特点, 设计了相应的蜂鸣器闹铃功能, 使用的是三极管对闹铃的蜂鸣器进行驱动。
五、基于单片机的时钟模块主程序
该时钟模块的主程序包括相关系统的初始化, 时钟模块的时间显示功能, 设置闹钟功能, 数据串的获取以及进行时间调节等主要相关程序。
主要程序如下:向DS12887的系统中任意写入相关数据:
从DS12887系统的寄存器读取相关子程序, 返回一无符号字符型数值:
六、基于单片机的时钟模块日历设置程序
对于以DS12887为核心的时钟模块日历的设置程序, 在DS12887系统处于设置状态的基础上, 需要使用人员首先进行初始化操作, 然后将相关的控制命令和实践信息写入A和B控制寄存器, 同时恢复DS12887系统的数据更新状态, 以完成对时间的矫正和读取。
参考文献
[1]陈建平.用AT89C2051实现PS/2矩阵键盘的研究.武汉船舶职业技术学院学报., 2008 (05)
[2]李志明.一种由单片机实现的智能电力开关控制器.山西电力., 2006 (04)
[3]盛蒙蒙, 葛亦斌, 邱烨, 马栋.基于单片机实现多功能数字钟的系统设计.硅谷., 2009 (20)
单片机时钟 篇2
1摘 要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.本文的电子钟系统是以单片机(ATmega16)为核心,时钟芯片、数码管显示驱动芯片等元器件组成。具体介绍应用Proteus的ISIS软件进行单片机系统的电子钟设计与仿真的实现方法。该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。
关键词:单片机; 时钟芯片 ;数码管显示驱动芯片 ;电子钟
2引 言
单片机电子时钟系统可以用多种技术手段实现。本文借助于Proteus仿真系统进行系统虚拟开发成功之后再进行实际操作,可以节约开发时间,降低开发成本,具有很大的灵活性和可扩展性。在国外有包括斯坦福、剑桥等在内的几千家高校将Proteus作为电子工程学位的教学和实验平台;在国内也有众多大学正在体验Proteus的独一无二的功能并申报大学计划。该方法具有普遍意义。通过实际应用发现,采用该方法可以大大简化硬件电路测试和系统调试过程中电路板制作、元器件安装、焊接等过程。很明显,使用该方法可以提高开发效率、降低开发成本、提升开发…
AVR系列的单片机不仅具有良好的集成性能,而且都具备在线编程接口,其中的系列还具备仿真和下载功能;含有片内看门狗电路、片内程序FLASH、同步串行接口SPI;多数AVR单片机还内嵌了A/D转换器、EEPROM、模拟比较器、PWM定时计数器等多种功能;AVR单片机的I/O接口具有很强的驱动能力,灌人电流可直接驱动继电器、LED等元件,从而省去驱动电路,节约系统成本。
3设计思路
利用单片机(ATmega16)制作简易电子时钟,由六个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。6个PNP管分别控制六个数码管的亮灭,此外还可以实现时间调整、等多种实用功能。整个设计分硬件和软件两大部分。硬件部分采用MEGA16单片机作为可编程芯片,字符液晶作为信号显示;软件部分利用C语言作为设计语言,对MEGA16进行编程实现各种功能。
硬件设计电路分解为单片机、晶体振荡器和数码管3个部分,其结构简单,经济实惠。单片机内部晶体振荡器的外接电路。由两个电容和晶体振荡器构成,其电路如图1所示。图中X1和X2分别接MEGA16的两个脉冲控制端,使得MEGA16的内部脉冲电路为电子时钟和整个系统时钟提供脉冲。
图1所示给出了采用单片机外加电源及晶体振荡器构成最小单片机系统。配合单片机开发的设计、调试和下载,最终将时钟信息从端口输出到字符液晶显示。
图26位模式与单片机的端口相连。
4软件设计及调试过程
软件设计包括Proteus的ISIS软件、Code Vision AVR编辑软件和AVRStudio4调试。利用ISP将生成程序timer.cof 下载到目标板。其主要程序如下:
void display(void)// 6 位LED 数码管动态扫描函数
{
PORTC = 0xff;
PORTA = led_7[dis_buff[posit]];
if(point_on &&(posit==2||posit==4))PORTA |= 0x80;
PORTC = position[posit];
if(++posit >=6)posit = 0;
}
// Timer 0 比较匹配中断服务
interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
display();// 调用LED 扫描显示
if(++time_counter>=100)
{
time_counter = 0;
time_1s_ok = 1;
}
}
void time_to_disbuffer(void)// 时钟时间送显示缓冲区函数
{
char i,j=0;
for(i=0;i<=2;i++)
{
dis_buff[j++] = time[i] % 10;
dis_buff[j++] = time[i] / 10;
}
}
// INT0 中断服务程序
interrupt [EXT_INT0] void ext_int0_isr(void)
{
if(++time[2]>=24)time[2] = 0;
}
// INT1 中断服务程序
interrupt [EXT_INT1] void ext_int1_isr(void)
{
if(++time[1]>=60)time[1]=0;
}
void main(void)
{
PORTA=0x00;// 显示控制I/O 端口初始化
DDRA=0xFF;
PORTC=0x3F;
DDRC=0x3F;// T/C0 初始化
PORTA=0xFF;
DDRA=0xFF;
GICR|=0xC0;// 允许INT0、INT1 中断
MCUCR=0x0A;// INT0、INT1 下降沿触发
GIFR=0xC0;// 清除INT0、INT1 中断标志位
TCCR0=0x0B;// 内部时钟,64 分频(4M/64=62.5KHz),CTC 模式
TCNT0=0x00;
OCR0=0x7C;// OCR0 = 0x7C(124),(124+1)/62.5=2ms
TIMSK=0x02;// 允许T/C0 比较匹配中断
time[2] = 14;time[1] = 01;time[0] = 55;// 设时间初值23:58:5
5posit = 0;
time_to_disbuffer();
#asm(“sei”)// 开放全局中断
while(1)
{
if(time_1s_ok)// 1 秒到
{
time_1s_ok = 0;
point_on = ~point_on;
if(++time[0] >= 60)// 以下时间调整
{
time[0] = 0;
if(++time[1] >= 60)
{
time[1] = 0;
if(++time[2] >= 24)time[2] = 0;
}
} time_to_disbuffer();// 新调整好的时间送显示缓冲区
5总结心得
这次设计报告培养了学生综合运用所学知识,发现,提出,分析和解决问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机设计,我仍感慨颇多,的确,从选题到定稿,从理论到仿真,在这些日子里,我学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师那里我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
}结束语
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。尤其是AVR单片机可以用高级语言编程,极容易地实现系统移植,并且加快了软件的开发过程。这次设计通过对它的学习、应用,以Mage16单片机为核心,辅以必要的电路,采用高级C语言编程,设汁了一个简易的电子时钟,由
基于单片机的实时时钟设计 篇3
关键词:单片机,实时时钟,AT24C02
1 本课题研究内容
(1) 使用1602 LCD显示器显示当前时间, 并且按秒实时更新。
(2) 显示格式为:
“年-月-日星期”
“时时:分分:秒秒”
(3) 用3个功能键操作来设置当前时间。功能键S1—S3功能如下:
a.S1——功能选择键
b.S2——数值增大键
c.S3——数值减小键
(4) 程序执行后工作LCD亮, 表示程序开始执行, LCD显示“2014-10-13 MON”“11:50:00”, 然后开始计时, 一秒计数一次。
(5) 利用AT24C02实现断电自动保存显示数据的功能, 当下次上电时会接着上次断电前的时间数据继续运行。
2 系统硬件设计
本电路是以STC89C52单片机为控制核心, 具有在线编程功能, 低功耗, 能在3V超低压工作;本设计直接采用单片机定时计数器提供秒信号, 它可以对年、月、日、星期、时、分、秒进行计时, 工作电压为2.5V~5.5V。显示部分由LCD1602完成, 利用板上的AT24C02实现断电保护显示数据的功能。80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。
2.1 最小系统设计
电源电路我们采用的由7.2V电池供电, 因为单片机工作需要的电压时5V, 所以我们采用LM7805电压转换芯片转化成5V电压, 所以电源电路由LM7805和两个330u F的电容组成, 输出的单片机正常工作的5V电压。
晶振电路是用11.0592MHz的晶振和两个30p F的电容, 单片机运行指令是按照机器周期运行的, 晶振产生振荡周期, 机器周期包括12个振荡周期。复位电路是采用手动复位, 按下复位键后, 程序从开头开始执行。
2.2 按键电路
键盘分为编码键盘和非编码键盘, 编码键盘如计算机键盘, 键盘上闭合键的识别有专用的硬件编码器实现, 并产生键编码号或键值, 而靠软件编程来识别的键盘称为非编码键盘, 在单片机组成的各种系统中, 用得较多的是非编码键盘, 非编码键盘又分为独立键盘和矩阵键盘。本文只是需要3个按键, 一个功能选择键, 一个数值增大键和一个数值减小键, 所以我们选择用独立按键, 分别接在P1.4, P1.3和P1.2口上。开始时我们先将按键的一端接地, 另一端与单片机的I/O口相连, 先给I/O口高电平, 然后让单片机不停地检测该口是否为低电平, 若为低电平, 则为按键被按下, 则执行相应的指令。
2.3 液晶显示电路
本文采用的是1602液晶显示时间, 液晶显示器的主要原理是以电流刺激液晶分子产生点, 线, 面并配合背部灯管构成画面。1602的意思是每行显示16个字符, 一共可以显示两行, 只能显示ASCⅡ码字符, 如数字, 大小写字母和各种符号。液晶体积小, 功耗低, 显示操作简单, 1602液晶的操作方式串并口都可以, 本文采用并行操作方式。液晶数据口通过P0口来控制, 首次使用时, 在液晶上电状态下, 调节至液晶上面一行显示出黑色小格为止。
2.4 蜂鸣器电路
当有按键按下时, 蜂鸣器发出滴声, 蜂鸣器是一种一体化结构的电子讯响器, 采用直流电压供电, 本设计采用无源蜂鸣器, 由于蜂鸣器的工作电流一般比较大, 以致于单片机的I/O口是无法直接驱动的, 所以要利用放大电路来驱动, 一般使用三极管来放大电流。其中, 蜂鸣器接口接在P2.3口, 当按键按下时, 令P2.3=0, 三极管导通, 蜂鸣器发出滴声。
2.5 AT24C02电路
AT24C02是具有ⅡC总线接口的EEPROM, 可解决掉电数据保存问题, 可对所存数据保存100年, 并可多次檫写, 檫写次数可达10万次以上, AT24C02有八个管脚接口, 其中, A0, A1, A2与WP都接地, SDA接单片机P2.0脚, SCL接单片机P2.1脚, SDA与SCL分别与VCC间接一个10K上拉电阻, 这样才能用来确定总线空闲时的电平状态。
3 系统软件设计
程序运行时, 首先初始化液晶和24C02, 然后执行键盘扫描程序, 一直在检测是否有按键按下, 如果有按键按下时, 则进入按键程序。按键分为三个, 一个为功能选择键, 一个为数值增大键, 一个为数值减小键, 功能选择键按下时, 根据按键按下的顺序光标位置从秒开始往前进行, 加减键为控制数值的增加和减少。时钟的最小计时单位是秒, 使用定时器的方式1, 最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样, 计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。
秒计时是采用中断方式进行溢出次数的累积, 计满20次, 即得到秒计时。从秒到分, 从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒, 则“秒”单元中的内容加1;“秒”单元满60, 则“分”单元中的内容加1;“分”单元满60, 则“时”单元中的内容加1;“时”单元满24, 则将时、分、秒的内容全部清零。“星期”单元满7, 则将星期为1。“天”单元满31, 则将天为1, “月”加1。“月”单元满12, 则“月”为1, 将年加1, 若“年”满100, 则清零, 重新计时。利用AT24C02设计实现断电自动保护显示数据的功能, 当下次上电时会接着上次断电前的时间继续运行。
4 结语
通过利用1602, AT24C02实现了一个实时时钟的显示和断电保护, 本文设计的可显示年月日星期, 时分秒, 并且计时是按照定时器, 利用振荡周期计算机器周期时, 精确到了小数点后两位, 所以计时还是比较准确的, 并且可以通过按键随便调节年月日星期和时分秒的显示。
参考文献
[1]李光飞.单片机设计实践指导[M].北京:北京航空航天大学出版社, 2004.
单片机时钟 篇4
实习名称:专业班级:学生姓名:指导老师:实习时间:
实习报告
单片机应用实践
学号:
2015年12月14日至 2016年1月4日
题目名称:基于MSP430G2231实现的简易电子时钟
摘要:单片计算机即单片微型计算机。由 RAM ,ROM,CPU构成,定时,计数和 多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器,通过它的时钟信号 进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。本系统利用单片机实现其具有闹钟、校时、开关数码管显示等功能的数字时钟.是以单片机MSP430G2553为核心元件同时采用四位一体的共阴数码管同时显示“时、分、秒的低功耗简易装置,显示极具人性化。另外具有校时功能,闹钟功能和节电保护功能。利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。
一、引言:
1.电子时钟的简介
1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。
2.电子时钟的基本特点
现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。3.数码管的工作原理
数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为 8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。
二、系统框图
根据设计要求与设计思路,确定该系统的设计方案,上图为该系统设计方案的硬件电路设计框图。硬件电路由8部分组成,即按键输入电路、单片机、时钟电路、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路、4位显示器电路和蜂鸣器电路。
三、硬件部分:
如图所示,在MCU选择上,我选择了20引脚的MSP430G2553,它是16位单片机,它有以下特点:低工作电压:1.8~3.6V、超低功耗:活动模式:280UA(1MHZ,2.2V);待机模式 :0.5UA;掉电模式 :(RAM数据保持)0.1UA。有5种节电模式;从待机到唤醒的响应时间不超过1us;10位A/D转换器;(带有内部参考源、采样保持,最大采样率200Ks/s);16位精简指令结构(RISC),6.25ns指令周期;带有3个捕获/比较器结构的16位定时器;串行通信可软件选择UART/SPI/I2C三种模式;可在线串行编程,不需要外部编程电压;FLASH存储器为16KB,RAM为512B。这些功能足够用来做这款MINI桌面时钟,我采用了真个P1口作为数码管的数据端口,P2.0-P2.3为数码管的选通断,P2.4和P2.5为按键输入端,XIN和XOUT接32.768KHZ的晶振,所以它的引脚全部用上了,这样避免了硬件资源浪费。
显示部分选用了0.28英寸的共阴数带时钟码管,这样可以满足尺寸的要求,正好可以利用数码管上面的秒显显示时钟的活动状态。
在时钟产生电路上面并没有采用DS1302,一是为了减小体积,而是因为采用在MCU外部加32.768KHZ晶振的方式足够满足时钟的需求,因为在MCU内部可以选择系统的主时钟为内部时钟源1MHZ,配置定时器的时钟源为外部晶振32.768KHZ,16位的定时器足够满足定时的精度要求。
按键电路采用的是轻触按键开关,经上拉电阻接MCU,按键的输入信号是低电平,一般按键在按下和松开时会有抖动现象,可以采用两种方式消除按键抖动,一是采用程序延时,一是采用硬件RS触发器,后者增加了成本和体积,前者完全可以满足需求,所以我选择了软件消抖。
四、软件部分:
主函数是必须的,时钟配置函数需要把主时钟配置为DCOCLK 1MHZ,定时器时钟配置为ACLK时钟,使用外部32.768KHZ时钟源。端口初始化函数是将各个端口为输入或者输出,以及赋初值。
定时器配置函数配置定时器工作在连续计数模式,并打开全局中断,每20MS产生一次中断。
在定时器中断函数中,需要注意的是,让秒显每1S闪烁一次的方法是每500ms取反一次,在程序中,用dp取反并配合数码管数位分解和显示函数中的switch语句配合使秒显的闪烁实现。按键检测函数用来检测按键是否被按下,配合其他函数中的程序,赋予按键不同的功能。数位分解和数码管显示函数,是将产生的时间信息和调整的时间信息实时显示到数码管上。
按键控制开关显示是在正常走时状态下检测到按键按下后,对一个全局变量进行取反,在主函数中判断这个变量的值而来控制数码管选通端的开启或关闭。
五、调试结果及总结:
经过反复的多次检查硬件与调试,最终该作品的预期功能基本实现。特此总结:首先,对数码管显示的工作原理还不够熟悉。没有自主检查元器件的习惯,导致共阳数码管买成了共阴数码管,后来又要改原理图和程序代码,很大程度上影响了我的实习进度。那么在今后的作品制作中,对元器件的正确性的排查很有必要。其次,在调试过程中遇到数码管乱显示和不规律走跳的现象时,不会很好地利用手上的工具对作品进行排查,后来通过询问实习老师后才找到原因,这在今后的实习也是非常需要注意的地方。随后,就是按键的失效问题,后来经过严格的排查,发现接地一端不稳定,导致芯片无法识别按键是否被按下,因此按键失效。
通过本次的实习,使我收获良多。不但学习了MSP430G2553这款芯片,还温习了一遍老师以前讲过的数码管知识等。真干出知识,这句话果然没错,接着本次实习学到的知识与经验,希望在下次实习中做的更好,突破自己!附录: 原理图:
PCB图:
实物图:
关键代码:
/**********数码管显示函数***********/ void xianshi(uchar shi,uchar fen){ P1OUT=0x00;P2OUT&=0xF0;//数码管清零 uchar s1=0,s2=0,s3=0,s4=0;//定义局部变量
s1=shi/10;s2=shi%10;s3=fen/10;s4=fen%10;//数位分解 P2OUT&=~BIT0;P2OUT|=BIT1;P2OUT|=BIT2;P2OUT|=BIT3;P1OUT=table[s1];__delay_cycles(1000);P2OUT|=BIT0;P2OUT&=~BIT1;P2OUT|=BIT2;P2OUT|=BIT3;switch(dp)//小数点显示选择 { case 1:P1OUT=(table[s2]&0x7F);break;case 0:P1OUT=table[s2];break;default:break;} __delay_cycles(1000);P2OUT|=BIT0;P2OUT|=BIT1;P2OUT&=~BIT2;P2OUT|=BIT3;P1OUT=table[s3];__delay_cycles(1000);P2OUT|=BIT0;P2OUT|=BIT1;P2OUT|=BIT2;P2OUT&=~BIT3;P1OUT=table[s4];__delay_cycles(1000);} /************P2.5输入判断函数******************/ void IO_INIT(){ if((P2IN&0x20)==0){ __delay_cycles(2);if((P2IN&0x20)==0){ SW++;if(SW==3){SW=0;} } } while((P2IN&0x20)==0);} void IO_INIT2(){ if((P2IN&0x10)==0){ __delay_cycles(2);if((P2IN&0x10)==0){ ac^=1;} } while((P2IN&0x10)==0);} /*********IO口初始化函数********/ void SZ_INIT(){ P1DIR|=0xFF;//配置P1口为输出 P1OUT|=0xff;//P1口赋初值,输出0xFF
P2DIR|=0x0F;//配置P2.0、P2.1、P2.2、P2.3为输出 P2DIR&=0xCF;//配置P2.4、P2.5为输入 } /****************时钟调试函数**********************/ void xuanze(){ switch(SW){ case 0: break;case 1: while(SW==1){ _DINT();if((P2IN&0x10)==0){ __delay_cycles(2);if((P2IN&0x10)==0){ bs++;if(bs==60){ bs=0;} } } while((P2IN&0x10)==0);xianshi(as,bs);IO_INIT();} break;case 2:while(SW==2){ _DINT();if((P2IN&0x10)==0){ __delay_cycles(2);if((P2IN&0x10)==0){ as++;dp=0;if(as==24){ as=0;} } } while((P2IN&0x10)==0);xianshi(as,bs);IO_INIT();} break;default:break;} } /*****************定时器配置函数 ****************/ void dingshiqi(){ TA0CCTL0 = CCIE;//打开中断(Timer0_A3 Capture/Compare Control 0)TA0CCR0 = 10080;//设定计数变量
TA0CTL = TASSEL_2 + MC_3;//定时器选择时钟SMCLK,使用模式二连续计数方式 _EINT();//开总中断 } /***********************主函数*******************/ void main(void){ WDTCTL = WDTPW + WDTHOLD;// 关闭看门狗 SZ_INIT();dingshiqi();IO_INIT();_EINT();//开总中断 while(1){ IO_INIT();IO_INIT2();P2OUT|=0x30;xuanze();if(bs==0){ BEEP=0X7F;} else BEEP=0x7F;if(ac==1){ xianshi(as,bs);_EINT();} else if(ac==0){ P2OUT|=0x0f;} } }
元器件详细清单:
参考文献:
1、张靖武、周灵彬《单片机原理、应用与PROTEUS仿真》。
2、沈建华、杨艳琴《MSP430系列16位超低功耗单片机原理及应用》。
单片机时钟 篇5
1 POV LED旋转时钟原理
旋转时钟, 利用了视觉暂留的原理, 有16只发光二极管排成一列, 以圆圈代表发光二极管, 最内侧的发光二极管为圆心, 它们绕着圆心旋转, 最外侧的发光二极管显示时间刻度。当时针在12点时假设角度为0度, 则每个小时时针之间的角度为360/12=30度, 于是, 当这一列发光二极管每旋转30度, 最外侧的发光二极管就点亮一个瞬间以呈现出时间刻度。如果在0.1秒之内, 这列发光二极管能旋转完一圈, 则人眼就会产生视觉暂留, 而把先后产生的时间刻度连成12个完整的时间刻度, 就能得到完整的钟面。
显示时针、分针的方法与显示刻度的原理相似。实际中, 分针较时针长, 所以分针用7只发光二极管来显示, 时针用5只发光二极管来显示。例如, 要显示3点整, 在时间刻度的显示基础上, 控制在0度上点亮7只发光二极管以显示分针指在12点位置上;然而当发光二极管转过90度时再显示5只以显示时针指在3点位置上, 由于发光二极管在不断的旋转, 在0.1秒内重复点亮12点位置上的7只和3点位置上的5只发光二极管, 直到1分钟以后在6度的位置上点亮7只发光二极管表示3点01分。
2 硬件设计
硬件电路包括:单片机主控电路、无线供电电路、红外对管电路、LED电路。主要模块电路图如图1、图2所示。
3 软件设计
具体程序设计框图如图3所示。
4 结果分析
经过上电测试可以发现无线供电模块供电是否正常, 当IRF540nmos管没有明显发热现象, 开关管达到了正常开关状态, 比前期在实验中的无线供电实验供电效率有大大的提高。LED灯亮度适中, 指针显示效果平稳, 达到了预期设计的要求, 本设计是可行的。
5 结语
本设计采用十六个LED排成一排, 在旋转过程中通过单片机控制LED的点亮时间, 利用人眼的视觉暂留从而达到动态扫描显示的效果。系统工作供电采用互感线圈进行无接触供电, 采用红外对管技术对系统进行实时控制。具有低成本、低功耗、高实用性和新颖时尚等优点, 有一定的实用价值。
摘要:文章介绍了一种新型的POV LED旋转时钟。POV LED旋转时钟最大的亮点体现在POV (persistancd of vision) , 即视觉暂留。本设计采用十六个LED排成一排, 在旋转过程中通过单片机控制LED的点亮时间, 利用人眼的视觉暂留从而达到动态扫描显示的效果。系统工作供电采用互感线圈进行无接触供电, 采用红外对管技术对系统进行实时控制。与普通时钟对比, POV LED旋转时钟有着低成本、低功耗、高实用性和新颖时尚的优点, 具有很高的推广价值和商业前景。
关键词:视觉暂留,单片机,旋转时钟
参考文献
[1]江世明, 许建明, 朱群峰, 申寿云.单片机原理及应用[M].上海:上海交通大学出版社, 2013.
[2]郁有文, 常健, 程继红.传感器原理及工程应用[M].西安:西安电子科技大学出版社, 2008.
单片机时钟 篇6
近年来,随着科学技术的快速发展,人们对电子产品的要求越来越高。电子产品除了要满足人们对其功能上的需求外,还要满足人们对其在设计上有所创新的需求。
单片微型计算机简称单片机,是微型计算机的一个重要分支。它以无与伦比的高性能、低价位,赢得了广大电子开发者的喜爱,如今已被广泛应用于众多领域,具有非常好的市场发展前景。旋转LED时钟是一种利用人眼的视觉惰性,通过单片机控制旋转的LED灯的亮灭和电机的转速,让LED灯高速旋转形成LED屏,使其能显示时钟、文字或图形的充满创意的电子产品。本文研究设计并制作了一个基于单片机的旋转LED时钟。
1系统成像原理
旋转LED时钟通过单片机控制一排24个LED灯的亮灭和电机的转速,让LED灯高速旋转形成LED屏,即实现显示屏的平面显示效果。这里利用了人眼的视觉惰性,而视觉惰性又称视觉暂留效应。
视觉暂留效应是指物体反射的光在人眼视网膜上产生的视觉,在光停止作用后并不是立刻消失,而是会保留一段短暂的时间的现象。视神经对图像的视觉保留大概是0.1~0.4s,这就是视觉暂留效应。因此,假设人眼暂留图像的时间是0.4s,那么只要我们的24个LED旋转一周的时间快过0.4s,LED灯就会将在快速旋转过程中各个位置显示的图像叠加为我们预期的图像效果,使LED灯高速旋转形成LED屏,完成动态图像的显示。
2系统总体方案
本系统设计共有五部分组成:电机控制部分,LED显示屏控制部分,霍尔传感器定位部分,电刷部分和电源部分。
(1)电机控制部分:LED时钟的旋转由一个直流电机带动,采用12V直流电源带动电机转动。
(2)LED显示屏控制部分:在STC89C52单片机的P0、P1口上,接上16个贴片的LED;在P3.0上接上一个三极管8550,驱动8个贴片LED;P3.1驱动一个颜色不同的LED,总共25个。运用STC89C52单片机控制24个LED显示,达到显示指针时钟、数字时钟、图片、汉字等效果。
(3)霍尔传感器定位部分:运用霍尔传感器,使旋转板上的单片机能够准确知道电机是否已经旋转一周。
(4)电刷部分:采用电刷结构给旋转板供电。
(5)电源部分:采用220V转12V电源盒,其中12V电源可以直接给电机供电;12V电源经过7805稳压电路后转变成5V电源,通过电刷结构供给旋转板上LED显示屏的控制部分。
3硬件部分设计
3.1 LED显示屏控制部分
STC89C52系列单片机是宏晶科技因一代增强型含有8k B在线可编程Flash存储器的8051单片机。它具有低功耗、高性能的特点。STC89C52单芯片上拥有8位CPU和在系统可编程Flash。它为众多嵌入式控制应用系统提供的解决方案灵活、高效。
STC89C52功能标准如下:8k Flash,512BR RAM,32位I/O口线,4k B EEPROM,MAX810复位电路,看门狗定时器,3×16位定时器/计数器,一个6向量2级中段结构,全双工串行口。此外,因为STC89C52具有可降至0Hz静态逻辑操作的特点,所以支持2种软件,可选择节电模式。在空闲模式下,CPU停止工作,允许串口、定时器/计数器、RAM、中断继续工作。在掉电保护方式下,振荡器被冻结,RAM内容被保存,单片机停止一切工作,直到下一个中断或硬件复位后继续工作。
本设计中,STC89C52驱动24个LED,其中P0和P1分别驱动8个独立的LED,P30口通过8550驱动8个LED,P31驱动一个独立的LED。以上构成LED显示屏。在STC89C52和光电检测部分的控制下,达到显示指针时钟、数字时钟、图片、汉字等效果。
3.2霍尔传感器定位部分
3144霍尔传感器是一款单极霍尔开关电路。当磁N极靠近它的印章面时,开关输出低电平;当磁N极撤离后;开关输出高电平。如果想要用S极来控制开关,侧感应面就变为印章面的背面。当磁S极靠近它的印章面背面时,开关输出低电平;当磁S极撤离后,开关输出高电平。因此,安装使用时,改变感应面后控制磁极也应要作相应的改变才能感应。
系统采用3144霍尔传感器进行定位,其中一端口与STC89C52的P33口相连接,固定在旋转板子上面。当3144霍尔传感器与磁钢相对时,此电路会产生一个低电平,告知STC89C52电机已经转完一圈,从而控制LED显示。
3.3电刷部分
本设计中,系统控制部分电路布置在高速旋转的电动机上面,无法采用电线进行直接供电。设计采用电刷结构给旋转板上面各元器件供电。通过制作两个环形电刷,固定在电动机的转轴上面,外部电源的正负极分别与它们接触,这样就能实现外部供电,其中用电机轴作为地端。
3.4电源部分
12V电源经过7805电路可以转化为稳定的5V电源。
3.5旋转板结构设计
需要特别说明的是,本产品在制作过程中因为资源限制,采用了根据电路原理图画PCB电路板的方法,因此印制电路板较为困难,次品、废品较多。如果在资源允许的情况下,建议改用洞洞板方式,实行人工布线焊接,以提高成品率。
4软件部分设计
Keil Software公司出品的C语言软件开发系统Keil u Vision2,因为其使用接近于传统C语言的语法,具有兼容性好的特点。此外,Keil u Vision2允许在关键位置及时嵌入汇编语言,从而提高程序设计的工作效率。在本产品的软件部分设计,为更好地达到旋转LED时钟的数字、汉字或字母的显示效果,节约工作量,编程工具选用Keil u Vision2,编程语言选用C语言。
此外,要想在旋转的LED屏上显示图像,就要对图像进行取模。对于数字、符号或图形的取模,可以使用取模软件进行取模。例如,“PCtol CD”软件。它可以将输入的数字、符号或图形转化为二进制码,通过编程软件不断改进程序,即可实现所需图象的显示。
5调试与效果展示
调试的主要目的在于检验旋转LED时钟是否正确显示时间等信息,电路板要处于高速旋转的状态,故只能实际操作,不能仿真。首先要整机装配好,上电后进行软件调试。通过调试,发现硬件需要解决两个问题:一是供电问题,二是平衡问题。
5.1供电问题
单片机、LED等电路必须安装在高速旋转的电路板上,无法采用电线进行供电,导致系统供电变得极为麻烦。目前,针对这一问题有以下三种解决方法。
第一种,制作两个环形电刷,固定在电动机的转轴上面,外部电源的正负极分别与它们接触,实现外部供电。这是比较理想的方案,但是制作十分麻烦。
第二种,在电路板上做一个感应线圈,电机上放一块强磁铁,电机转动时通过电磁感应来获取电能。这种方法争议较大,且线圈部分制作难度较大。
第三种,电池内置法。电池放在电路上,在电动机作用下随着电路板共同转动,解决供电问题。这种方法制作难度低,但需要把电池固定好,解决旋转屏平衡的问题。
本设计中,电源的稳定性比较重要,制作电刷时一定要非常认真。
5.2平衡问题
解决供电问题后,要解决设计的平衡问题。显示时间的时候,电路板是高速旋转的状态,若整体不平衡,会导致震动大,整体走位严重,难以遥控调节时间,带来显示不清晰等问题。利用杠杆原理,观察哪一边较重,在轻的一边的电路板后端加一个电量耗尽的废弃电池或者其他可以调节平衡的小物件,之后用热能胶固定好,从而很好地解决平衡问题。
6结语
通过开发并制作基于单片机的旋转LED时钟,思考尝试将产品的开发与制作过程应用于相关专业课的课程设计中,以期提高学生的动手能力和解决实际工程问题能力,同时激发学生的创新能力和创新意识。
摘要:本文设计制作了基于单片机的旋转LED时钟。通过介绍旋转LED时钟的系统成像原理,阐述系统总体方案,并从电机控制部分、LED显示屏控制部分、霍尔传感器定位部分、电刷部分和电源部分五部分,详细阐述设计与制作流程,成功设计制作了一个基于单片机的旋转LED时钟。
关键词:旋转,LED,单片机,时钟
参考文献
单片机时钟 篇7
关键词:电子时钟,1602LCD,STC89C52单片机
电子技术在20世纪有了突飞猛进的发展, 电子产品融入到社会生活的每个角落, 对社会生产发展和社会信息化进程起到了强大的推动作用。人们生活节奏在慢慢加快, 经常在忙于工作学习的过程中, 忘记了时间。时间的统筹安排对很多事务都有重要作用, 一时的延误可能会对整个过程造成巨大的影响。由于传统的时钟体积巨大, 计时还不够精确, 显示也不够完整等很多缺点不能满足人们的需求, 所以电子时钟的作用将越来越大。电子时钟无论在性能还是功能方面都在不断的变化以适应人们社会生活的改变, 需要设计出一款新型的多功能电子时钟。而单片机的电子时钟设计的电路体系, 不仅可以精准的显示秒、分、时、日、星期、月份与年份, 而且能够设置闹铃以及对时间进行调整。单片机的电子时钟中相关显示器是1602LCD, 而控制器是STC89C52的单片机, 有独立按键来调整时间, 这种设计结构简单, 便于操作, 稳定性能好, 便于携带。
1 系统方案的设计
整个系统主要包含四个模块:响铃的模块、控制的模块、按键的模块与显示的模块, STC89C52的单片机是电子时钟中的一种主芯片, 其是宏晶科技生产的一种新产品, 主要特点是抗干扰比较强、低能耗与高速度;此外, 还包含有Flash的储存器, 并且可以用来编程, 512的字节RAM, 指令代码兼容传统的8501。而整个设计有两部分:软件、硬件, 两者相辅相成完成设计的任务[1]。
2 系统硬件的设计
2.1 按键模块设计
这个系统有S1、S2、S3三个独立按键, 分别连接STC89C52单片机的P2-0、P2-1、P2-2接口。时间调节键为S1, 自增键是S2, 闹钟的设定键为S3。按S1次数代表秒、分、时、日、星期、月份与年份, 然后按S2, 相应数值加1。
2.2 闹钟模块设计
本系统P0-2端口安装了蜂鸣器, 定的时间达到P0-2端口输出低电平, 蜂鸣器发出提醒的声音, 按S2键将闹铃关闭。闹钟的时间设定按S3来完成。
2.3 显示方案的设计
方案1:1602的液晶显示, 这种显示器中有多种比较常用的字符编码, 具有背光调节的功能, 能够显示出2行16列的字符, 第一行为日、星期、月份与年份, 第二行为秒、分、时, 还可以利用程序控制切换时间设定。
方案2:采用LED数码管, 它由七个发光管组成, 8字形构成, 加小数点一共8个。这些段分别用a、b、c、d、e、f、g、d、p来表示, 给特定的段加电压就会发光。此方案操作简单, 易于程序控制, 不足之处在显示方面。
3 设计系统软件
这个系统程序主要使用单片机的C语言来编写, 为拓展系统功能与修改软件, 需要使用模块化的设计方式, 其中包含按键处理的模块、初始化的模块、定时器的模块与LCD的显示模块等[2]。
3.1 设计液晶模块软件
应用1602的液晶来实现液晶显示模块时, 第一行的液晶显示主要是日、星期、月、年;而第二行的显示为秒、分、时, 当按下S3键来切换屏幕时, 第一行的液晶显示中CLOCX提出已经进入了闹钟设置的界面;而第二行的显示为闹钟的秒、分、时。
3.2 按键模块的软件设计
首先, 要对S1按键实施检测, 判断是否能按下, 根据S1调整的时间按一下, 保持时间的停止, 然后再调节秒, 按两下就可调节分, 按三下能调节小时, 按4下能调节日, 按五下可以调价月, 按六下可以调节年份, 按七下能调节星期, 按八下就调节完成, 确保时间可以继续运转。
其次, 仔细检测S2按键的状态, 如S1处在按下的状态, 再按S2数字就会增加。如果按一下S1, 就会增加一秒, 一直增加到59秒会自动清零;如果按两下S2键, 会增加一分, 一直加到59分就会清零;如果按三S1键, 会增加一小时, 一直增加到23小时就会清零;如果按四下S1键, 会增加一日, 一直增加到三十日会自动清零;如果按五下S1键, 会增加一个月份, 一直增加到L2就会自动清零;如果按六下S1键, 会增加一个年份, 一直增加到99就会自动清零。
最后, 认真检测S3按下的状态, 用S3来设置闹钟, 按一下S3, 屏幕就会切换到闹钟显示的界面, 同时设置闹钟的秒数;如果按两下S3, 可将闹钟设置为分;按三下S3, 可以设定闹钟的小时;按四下S3, 就可以完成闹钟设定, 将屏幕切换至时间显示的界面[3]。
4 系统仿真与调试
先要将Proteus的软件打开, 并从元件库中将全部元件找出来, 再绘制原理图, 完成原理图绘制以后, 需要选择Keil中已编译完成的文件, 然后运行。从软件运行中可以发现, 按照课题要求与显示结果来对程序进行修改, 严格检查运行程序状况, 一直到符合相关要求。在调试系统的过程中, 首先要对单片机的最小系统功能进行调试, 再对1602液晶显示进行调试, 同时编译液晶驱动的程序, 获取理想效果。
5 结语
综上所述, 本次设计中主要把STC89C52的单片机作为整个系统控制的中心, 设计多功能电子的时钟, 该电子钟可以精确显示出时间, 同时使用按键可以调节时间, 还可以对闹钟进行设定, 且具备到时提醒的功能。单片机定时器设定的时间误差比较小, 可以清楚地看到时间, 能够有效克服数码管显示较差的问题, 不仅能够节约硬件的资源, 而且可以获取较好的效果。近几年来, 电子钟逐渐应用在办公室、车站与码头等场所, 为人们娱乐、生活与学习带来了很多方便。
参考文献
[1]温泉.基于单片机的多功能时钟报点系统设计[J].科技展望, 2015, 23 (03) :97-99.
[2]张丙星.单片机实现电子时钟计时功能的程序设计[J].装备制造技术, 2014, 14 (05) :277-278.
单片机时钟 篇8
定时开关[1]在人们生活中扮演着重要的角色,给人们的生活带来了很大的方便。早在我国的古代采用滴水方式计时,当水滴到一定量时就引发机关报时。随着电子信息的快速发展,如今的电视机,电风扇等电器产品都附带了定时器,但是电子产品附带的定时器只适用于该用电器,并不能扩展使用到其他用电器上。
本文所介绍的定时开关目的在于控制主电源,从而适用于能瞬间断电的一切电子产品,不仅能在规定的时间准时断开同时能在设定的时间内准时开启,给人们日常生活带来了极大的方便,如能通过应用此定时开关在上班期间定时煮饭,手机充电在适当时间将电源断开。
该定时器具备以下几个特点:采用C语言[2]编写程序,与汇编语[3]言相比便于修改和增减功能;所采用的芯片STC89C52单片机、1602液晶显示器,DS1302时钟芯片功耗低、可靠性高;与机械定时器相比不仅消除了噪声,更加准确,且使用寿命要长;采用Protues仿真,方便直观。
1 系统设计方案
以STC89C52[4]单片机为核心,通过DS1302时钟芯片进行时间控制,使用1×4键盘作为数据输入方式,驱动1602显示器提示程序运行过程和开锁的步骤。系统结构如图1所示。
2 系统设计
2.1 系统硬件组成
使用的元器件有:核心芯片STC89C52、时钟芯DS1302、液晶显示1602、继电器、蜂鸣器、1×4键盘[5]、发光二极管和三极管。
2.2 系统软件设计
本文采用单片机的C语言编写程序对整个系统的硬件进行管控,实现了对DS1302的控制,1602的显示,时间管控。其中时间管控包括:系统时间以及开启与关闭时间的设定,系统时间与开启或关闭时间相同时继电器、蜂鸣器和指示灯工作状态的管控。系统程序流程如图2所示。
2.2.1 DS1302的控制[6]
DS1302的RST,SCLK和I/O分别与单片机的P2.0,P2.1和P2.2相连。单片机与DS1302进行数据交换时,首先要将RST变为高电位,也就是单片机P2.0必须为逻辑1。在RST保持为高电位时,SCLK时钟由低电位变为高电位的上升沿时,数据被写入DS1302中,数据从最低位通过I/O开始写入。在RST保持高电位,SCLK时钟由高电位变为低电位的下降沿时,从DS1302读取数据,数据也是从DS1302的最低位通过I/O读取。
DS1302读取数据子程序
2.2.2 1602的显示[7]
通过单片机指令控制1602光标是否闪烁,是否清除原来数据以及显示的具体位置,并不停地对数据显示进行刷新,从而显示了准确的时间,并为系统提供了智能的人机对话模式。
2.2.3 时间的管控
当系统启动时,STC89C52单片机立即从DS1302时钟芯片获取时间,并通过键盘和1602显示器配合完成对当系统时间、启动时间和关闭时间的设定。当系统时间与启动时间相同,从而控制继电器闭合,直到系统时间与关闭时间相同时断开。
3 系统仿真
本文采用具有强大的EDA仿真功能的Protues[8]软件进行仿真,仿真图如图3所示。
3.1 系统介绍
系统仿真图中的STC89C52为真个系统的控制核心,将其编写的程序以二进制的形式烧入后,它将按照编写的指令运行。通过P2.0,P2.1和P2.2与右上方的DS1302时钟芯片的联系在一起,从而控制DS1302的执行方式。在STC89C52的控制下,1602液晶显示器能显示当前时间,提示用户修改时间;左下方的继电器能在设定的开启时间闭合,在设定的关闭时间断开;中间的蓝色信号灯在继电器闭合是点亮;四个独立键盘在1602液晶显示器配合下完成系统时间、开启时间和关闭时间的设置;右下方整个模块为系统提示模块,当系统时间与设定的开启或者关闭时间相同时,D1将闪烁3次同时蜂鸣器响3声;D2用于模拟用电器,当继电器闭合时,将会被点亮。
3.2 系统时间的设置
当电源开启时,1602将显示系统初始化时间,按下FUC键后,时间停止走动并且显示秒的数字将会闪烁,此时可以通过ADD和SUB键调节。其中每按下一次ADD键数字将加1,每按下SUB键数字将减1。调节完秒后,再次按下FUC键,闪烁的光标将转移到分钟位置,同样通过调节ADD和SUB键盘调节当前的时间。同样的原理调节小时与日期。当调节星期时候,按下ADD和SUB将按照星期的英文缩写变化显示。调节完星期后在此按下FUN键后,闪烁光标将消除,同时时间开始在调节完毕的基础上开始运行。
3.3 开启与关闭时间的设置
在1602显示器正常显示时间的期间,按下CHOOSE键一次,液晶显示器显示当前设置的开启时间,如图4所示。按下FUC键后,光标在秒位闪烁,同样通过ADD和SUB键进行调节。再次按下CHOOSE键后,液晶显示器显示当前关闭时间。同样按下FUC键配合ADD与SUB键调节关闭时间。再次按下CHOOSE键,显示器回到系统时间显示界面。当系统时间与设定的启动时间相同时,继电器闭合,蜂鸣器[9]响3声,D1闪烁3次,信号灯变蓝,同时D2被点亮。直到系统时间与设定的关闭时间相同,蜂鸣器再次响3声,D1闪烁3次,信号灯和D2都熄灭。
4 结语
该智能定时开关系统采用C语言编写,以STC89C52和DS1302为核心,具备时间准确,功耗低,增加功能方便。通过Protues的仿真,直观展示了系统的运行界面,证明了此设计方案的可行性。
参考文献
[1]雷道仲,李书成,罗政球.基于单片机定时开关的设计[J].贵州教育学院学报,2005(4):224-225.
[2]张天凡.完全手册:51单片机C语言开发详解[M].北京:电子工业出版社,2008.
[3]王振宇.基于单片机设计的多功能定时器[J].贵州教育学院学报,2005(4):79-81.
[4]刘焕平,李娟.基于51单片机的智能定时控制系统设计[J].石家庄职业技术学院学报,2010(6):26-28.
[5]张自聪,金永兴.基于AT89S52的奥运倒计时牌的设计[J].中国计量学院学报,2007(4):305-307.
[6]曹晖,彭小军.DS1320的C51编程[J].新余高专学报,2001(2):28-29.
[7]于志赣,刘国平,张旭斌.液显LCD1602模块的应用[J].机电技术,2009(3):21-23.
[8]李娜,刘雅举.Proteus在单片机仿真中的应用[J].现代电子技术,2007,30(4):181-182.