1、毕业:基于单片机的led汉字显示屏的设计与实现(可以直接使用,可编辑 优秀版资料,欢迎下载)11. 如果把学生看作实体,某个学生的姓名叫“王刚”,则“王刚”应看成_。12. 在SQL SELECT中用于计算检索的函数有COUNT、_、_、MAX和MIN。do scx2.prgfor i=1 to len(w)else8. 汇总命令TOTAL的功能是分别对关键字相同的记录的数值型字段求和,并将结果存储在一个?中。【答案】LIST连续不分屏显示信息;DISPLAY采用分屏显示信息。4. 利用VFP中的_可以帮助用户高效方便地创建表、表单等文件。*方法3max3=c 全国中职骨干专业教师培训班论文
2、题 目: 基于单片机LED汉字显示屏的设计与实现 系 别: 电子与信息学院 专 业: 电子技术应用班 姓 名: 谢利民 指导老师: 韩克 柳秀山 时 间: 2021 年 9 月基于单片机的LED汉字显示屏的设计与实现全国中职骨干教师培训班电子应用技术班 谢利民摘 要:本文研究了基于AT89C51单片机88 LED汉字滚动显示屏的设计并运用Proteus软件的仿真和实 现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus软件仿真和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机
3、的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。关键词:单片机 LED 点阵 Proteus仿真1 引 言 LED 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。LED 显示屏发展较快,本文讲述了基于AT89C51单片机88 LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。2 硬件电路组成及工作原理本产品采用以AT89C51单片
4、机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路、88 LED点阵5部分组成,电路框图如图1所示。其中,AT89C51是一种带4 kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控
5、制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。时钟电路由AT89C51的18,19脚的时钟端(XTAI 1及XTAL2)以及12 MHz晶振X 、电容C2、C3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R ,R2,电容C ,开关K 组成,分别接至AT89C51的RST复位输人端。LED点阵显示屏采用8x8共64个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。我们把行列总线接在单片机的I/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。我们在实际应用中是将LED点阵的8条列线
6、通过驱动电路接在PO口,8条行线通过限流电阻接在P2口,考虑到PO口必需设置上拉电阻,我们采用1k排电阻作为上拉电阻。汉字扫描显示的基本过程是这样的:通电后由于电阻R ,电容cl的作用,使单片机图1 硬件电路组成框图的RST复位脚电平先高后低,从而达到复位;之后,在C、C3 、X 以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P2和P0接口输出与内部汉字对应的代码电平送至LED点阵的行列线(高电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。再改变取表地址实现汉字的滚动显示。硬件电路组成框图如图1所示,硬件电路如图2所示。图2 硬件电路3
7、汉字的点阵显示原理及字库代码获取方法 我们以UCDOS中文宋体字库为例,每一个字由8行8列的点阵组成显示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在64象素范围内的任何图形。如查用8位的AT89C51单片机控制,如图3所示图3 汉字显示原理为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。首先将8行分成4位的上、下两部分,把发光的象素位编为0不发光的象素位为1的十六进制代码。这样就把要显示的“四川 汶川”字编为如下代码:DB0FFH,80H,0BAH,82H,0BEH,82H,0BAH,80H ;四DB0FF
8、H,0FDH,83H,0FFH,81H,0FFH,00H,0FFH ;川DB 0B6H,0D5H,0DEH,45H,9BH,0C5H,0DEH,0DFH ;汶DB0FFH,0FDH,83H,0FFH,81H,0FFH,00H,0FFH, ;川 由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。对于16X16十六进制数据的汉字代码,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖
9、排数据复制到程序中即可,如图4所示。可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16641 024 Hz,周期小于1 ms即可。行扫描和列扫描方法的扫描频率必须大于168128 Hz,周期小于78 ms即可,但是一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。图4字库提取程序4 在Keil环境中程序设计与调试 软件程序主要由开始、初始化、主程序、字库组成。其中主程序的流程图如图5所示。下面的程序能够用来实现滚动显示“四川 汶川 5.12 ¥” 寓意-5月12日四川汶川大地震后全国人民都捐了很多钱。汉字的显
10、示。程序清单如下:图5 主程序流程图ORG0000HAJMPMAINORG0030HMAIN:MOVDPTR,#TAB ;字码表初址赋值MOVR1,#0FEH ;列控制码 MOVR3,#8 ;列数 MOVR4,#80 ;移动“及 ”“09”11个字符,共88列CM:MOVR5,#12 ;每屏反复显示10次C1: MOVR2,#0 ;取字指针C8: MOV P2,#0FFH ;关显示 MOVA,R2 ; MOVCA,A+DPTR ;取当前列的显示字码的一个字节 MOVP0,A ;送18行控制口 MOVA,R1 MOVP2,A ;送列控制码 ACALLD5MS ;显示5MS RR A ;列控制码左
11、移,显示下一列 MOVR1,A DJNZR3,C8 ;未显示8 列,继续 DJNZR5,C1 ;未显示10次,继续 INCDPL ;一屏反复显示10次完,字码表初值加1 DJNZR4,CM ;88列未移动完,继续 AJMPMAIN ;88列显示完,返回,重新从“ ”开始显示D5MS:MOVR6,#4 MOVR7,#248 DJNZR7,$ DJNZR6,$-4 RETTAB:DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;DB0FFH,80H,0BAH,82H,0BEH,82H,0BAH,80H ;四DB0FFH,0FDH,83H,0FFH,81H,0FF
12、H,00H,0FFH ;川DB 0FFH,0FFH,0FFH,0B6H,0D5H,0DEH,45H,9BHDB0C5H,0DEH,0DFH,0FFH,0FDH,83H,0FFH,81H ;汶DB0FFH,00H,0FFH,0FFH,0FFH,0FFH,8DH,0ADH ;川 DB0ADH,0A1H,0FFH,0E7H,0E7H,0FFH,0FFH,0DDH ;5DB81H,0FDH,0FFH,0FFH,0CDH,0B9H,0B5H,0CDH ;1DB0FFH,0FFH,0ABH,0CBH,0E0H,0CBH,0ABH,0FFH ;2DB0FFH,0ABH,0CBH,0E0H,0CBH,0ABH
13、,0FFH,0FFH ;YDB0ABH,0CBH,0E0H,0CBH,0ABH,0ABH,0CBH,0E0HDB 0CBH,0ABH. END图6 在keil软件中编程和调试在keil软件中完成程序编写、调试和编译之后,生成能让单片机运行的Hex文件,如图6所示。5 基于PROTEUS的电路仿真Proteus 是英国 Labcenter electronics 公司开发的 EDA 工具软件。主要由原理布图的方法绘制电路并进行仿真的 ISIS 和 PCB 自动布线或人工布线电路仿真的 ARES 两个程序组成。Proteus 运行于 Windows 操作系统上, 可以动态实时仿真、分析 ( SPI
14、CE) 各种模拟器件和集成器件。针对微处理器及其外围电路,可以直接在基于原理图的虚拟原型上编程, 并实现软件代码级的调试, 配合其提供的仿真图表或虚拟仪器如示波器、逻辑分析仪等可进行相应的测量与分析。借助Proteus的对CPU和外围电路强大的仿真能力以及丰富的资源库,可以有效地替代硬件仿真器进行先期的软硬件调试,等到仿真结果基本理想时再进行实际的硬件调试,这样的开发过程不仅高效,而且可以尽可能地减少损失,尤其对于解决实验室资源紧张的问题是一个很好的思路。1)、用PROTEUS 绘制原理图运行 Proteus 的 ISIS 程序后, 进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元
15、件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成(如图1所示)。通过元件选择按钮 P (从库中选择元件命令) 命令, 在弹出的 Pick Devices 窗口中选择电路所需的元件, 放置元件并调整其相对位置, 对元件参数设置及元器件间连线, 完成单片机系统的硬件原理图绘制。图7所示是绘制完成的电路图。图7绘制电路图2)、 PROTEUS 对单片机内核的仿真在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files 命令下,加入单片机硬件电路的
16、对应程序(主要采用 Keil 进行程序编译)打开如图8所示的对话框。在 Program File 栏添加编译好的十六进制格式的程序文件8X8.hex,给AT89C51输入晶振频率,此处默认为12MHZ, 单击OK 按钮完成程序添加工作, 下面就可以进行系统仿真了。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机外围电路或没有单片机参与的其它电路的工作情况,也能仿真单片机CPU的工作情况。因此在仿真和程序调试时,是从工程的角度直接看程序运行和电路工作的过程和结果。从某种意义上讲Proteus仿真,基本接近与工程应用。图8 添加程序文件8X8.hex6 LED汉字显示屏实物制作1)
17、元器件选择本设计所需元器件如表1所示。2)制作PCB板首先运用Protel软件绘制电路原理图,设置元件的封装参数,再生成网络表格之后进行自动布局和自动布线最后进行手工调整,绘制出如图9所示的PCB板。最后在PCB雕刻机上雕刻出电路板。图9 PCB板3)电路装配与调试按装配图纸和装配工艺要求将电子元器件装配到PCB板上,这里特别要注意的是单片机要能正常工作,必须把在Keil软件中调试成功并生成的hex文件通过烧录器烧写到单片机芯片中。图10 LED汉字显示屏实物图7 结 语虽然本文设计和制作只使用了一块88 LED点阵,电路简单,但是已经包涵了LED汉字滚动显示屏的电路基本原理、基本程序和Pro
18、teus软件仿真,只要扩展单片机的I/O接口,并增加一些LED点阵和相关芯片,就能设计出更大面积、更多花样的LED显示屏。因此本文对同类设计具有一定的理论和实践参考价值。参考文献 1石小法,谢利民电子技术M北京;高等教育出版社,2005 2万光毅,严毅单片机实验与实践教程(一)M北京:北京航空航天大学出版社,2003 3周润景基于PROTEUS的电路及单片机系统设计与仿真M北京:北京航空航天大学出版社,2007.致 谢 光阴似箭,转眼两个月的培训学习就要结束。两个月来,我得到了许多老师的真诚教诲和学员们的热情帮助。值此离别之际,向曾经给予我帮助的老师、学员和朋友表示最衷心的感谢!首先我要感谢韩
19、克、柳秀山教授,教授渊博的知识、严谨求实的作风、开明谦和的处事、敏锐的洞察力、孜孜不倦的工作精神深深感染了我,教授给了我很多的启迪与关怀,拓展了我的视野,让我在学习上受益匪浅。感谢我们的班主任谢桂圆老师,两个月来她在生活上和学习上给于了我们无私的关怀和热情的帮助。在此真诚地祝愿谢桂圆老师工作顺利!幸福美满!感谢我的学友崔守海、文浩奇、朱明悦、张庆军、刘德雪、刘永军、林妙丽、翁芸等正是有了你们,我的学习生活才不显得孤单,谢谢你们在学习和生活中给予了我热情鼓励和无私帮助。我十分珍惜和你们共同学习的日子,这将成为我人生中难以忘怀的美好时光。特别感谢我的爱人、儿子、父母对我培训学习的坚定支持和极大的帮
20、助,正是她们挚深的亲情成为我不断求学进取的精神动力。感谢教育部举办了本次培训学习班!祝愿广东技术师范学院永葆青春! 谢利民 2008-9-12摘要本设计是基于51系列的单片机进行的实时日历和时钟显示设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。实时日历和时钟显示的设计过程在硬件与软件方面进行同步设计。硬件部分主要由AT89S52单片机,LED显示电路,以及调时按键电路等组成,系统通过LED显示数据,所以具有人性化的操作和直观的显示效果。软件方面主要包括时钟程序、键盘程序,显示程序等。本系统以单片机的汇编语言进行软件
21、设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及日期显示功能。所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。关键词:AT89S52; DS1302; LEDthe led display at89s52 monolithic integrated circuits, and when should the electrical circuits, the system through the led display data so be humanized operate
22、 and intuitive that effect. including the software application programs, the keyboard, the program, etc. This system to monolithic integrated circuits of the assembly language for easily developing software design, and changes, software design to use modular design, the programming logical relations
23、hip with more and more so as to realize the time and date display the functions. all procedures in writing after wave of debugging the software and make no question of the proteus software embedded monolithic integrated circuits. Key Words:AT89S52; DS1302; LED目录1概述12设计方案论证22.1功能要求22.2方案确定2单片机芯片的选择方案
24、和论证2显示模块选择方案和论证3时钟芯片的选择方案和论证3电路设计最终方案确定33主控制器和外围器件43.1AT89S52单片机43.2DS1302时钟芯片4芯片介绍4 的应用83.3数码管LED83.4译码器74HC13893.5锁存器74LS24494硬件设计104.1电路设计框图104.2系统概述104.3电源设计104.4单片机的复位电路114.5单片机系统的晶振电路114.6主电路设计125软件设计135.1主程序设计135.2键盘子程序设计145.3日历时钟子程序设计165.4显示子程序设计186系统调试186.1软件调试186.2硬件调试197结论20致谢22参考文献23附录24
25、附录硬件电路图24附录主程序源代码25附录外文翻译原文39附录外文翻译译文50-1概述在日新月异的21世纪里,家用电子产品得到了迅速发展。许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。用单片机来控制的小型家电产品具有便携实用,操作简单的特点。时钟,自从它发明的那天起,就成为人类的朋友,但
26、随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系
27、统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本文设计的日历和时钟的显示广泛用于小型智能家用电子产品,如电子钟。利用单片机进行控制,实时时钟芯片DS1302进行记时,外加掉电存储电路和显
28、示电路,可实现时间的调整和显示。电子钟既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。因而,此设计具有相当重要的现实意义和实用价值。2设计方案论证2.1功能要求1、能显示年、月、日、时、分、秒、星期2、能对时间进行手动修正3、采用24小时制4、使用LED显示时间参数5、上电后,电子钟显示“2021年 1月 1日” “1时 1分 1秒 星期1”对时,分,秒,日,月,年高位为0时做消隐处理,只显示单个数字以增强其可读性。2.2方案确定方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间
29、,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用AT89S52作为主
30、控制系统.方案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用了LED数码管作为显示。方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种
31、方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA.综上各方案所述,对此次作品的方案选定: 以单片机AT89S52为主控制器,时间数据是通过时钟芯片DS1302来读取,并通过LED数码管显示出来,并用键盘来完成对当前时间的调整。3主控制器和外围器件3.1AT89S52单片机AT89S52是一种低功耗、高性能CMOS 8位微控制器,
32、使用 ATMEL 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。并具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.2DS1302时钟芯片低功耗时钟芯片DS1302可以对
33、年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。采用DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控系统中。在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义
34、的数据,对测控系统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS1302则能很好地解决这个问题。 DS1302的性能特性实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;用于高速数据暂存的318位RAM;最少引脚的串行I/O;2.55.5V 电压工作范围;2.5V时耗电小于300nA;用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)
35、数据传送方式;简单的3线接口;可选的慢速充电(至VCC1)的能力。DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用24h或带AM(上午)/PM(下午)的12h格式。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:VCC1 在单电源与电池供电的系统中提供低电源,并提供低功率的电池备份;VCC2在双电源系统中提供主电源,在这种运
36、用方式中,VCC1 连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302由VCC1或VCC2中较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电。DS1302数据操作原理DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下
37、为8加8,在多字节方式下为8加字节数,最大可达248字节数。图3-1 DS1302管脚图如果在传送过程中置RST为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC =2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的管脚图如图3-1所示,表3-2为各引脚的功能。引脚号引脚名称功能1VCC2主电源2,3X1,X2振荡源,外接32768HZ晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行时钟输入端8VCC1后备电源表3-2 DS1302引脚功能表DS1302的控制字如图3-3所示。
38、控制字节的最高有效位(位7)必须是逻辑1;如果它为逻辑0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1表示存取RAM数据。位51(A4A0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。图3-3 控制字节的含义为了提高对32个地址的寻址能力(地址/命令位15逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址931或RAM寄存器中的地址31不能存储数据。在多字节方式中,读或写从地址0的位0开始。必须按数据
39、传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节。不管是否写了全部31字节,所写的每一字节都将传送至RAM。数据读写程序如图3-4所示。SCLKKRSTI/O571357210246046R/CA2A3A0A1R/WA41DATAI/OBYTEDATAI/OBYTE图3-4数据读写程序DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3-5,其中奇数为读操作,偶数为写操作。寄存器命令码数据范围寄存器中各位的内容名称地址写读76543210秒00H80H81H0059CH秒数据分
40、01H82H83H00590分数据时02H84H85H0112或002312/24010/AP时数据日03H86H87H0128,2930,3100日数据月04H88H89H0112000月数据星期05H9AH8BH010700000星期数据年06H8CH8DH0099年数据多字节读写BEHBFH表3-5 片内时钟数据寄存器 的应用实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32768Hz晶振。要特别说明的是,备用电源BT1可以用电池或超级电容(10万F以上)。虽然DS1302在主电源掉电后耗电很小,但如果要长时间保证时钟正常,最
41、好选用小型充电电池。如果断电时间较短(几小时或几天),可以用漏电较小的普通电解电容代替(100F就可以保证1小时的正常走时)。DS1302在第一次加电后,需进行初始化操作。初始化后就可以按正常方法调整时间。DS1302的时钟电路如图3-6所示。图3-6 DS1302时钟电路3.3数码管LEDLED显示器由若干个发光二极管组成,当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的管导通,就能显示出对应字符。各段LED显示器需要由驱动电路驱动。在七段LED显示器中,通常将各段发光二极管的阴极或阳极连在一起作为公共端。将各段发光二极管连在一起的叫共阳极显示器,用低电平驱动;将阴极连在一起的叫
42、共阴极显示器,用高电平驱动。静态显示就是每一个显示器各笔画段都要独占具有一个锁存功能的输出口线,CPU把要显示的字形代码送到输出口上,就可以使显示器上显示所需的数字或符号,此后,即使CPU不在去访问它,因为各笔画段借口具有锁存功能,显示的内容也不会消失。动态显示是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。静态显示有并行输出和串行输出两种方式。在本系统中数码管使用共阴极接法而且是用动态显示。3.4译码器74HC13874HC138译码器是通过3条线来达到控制8条线的状态,就是通过3条控制线A0、A1、A2不同的高低电平组合来控制Y0Y7的输出状态,其中4和5为使能地端,与8引脚
43、共同接地,当接高电平时Y0到Y7输出高电平。6号脚为使能端,为高电平时有效。74HC138封装如图3-7。当需要级联时只需要改变使能端信号引脚即可,连接方法简单。图3-7 74HC138封装图3.5锁存器74LS24474ls244由2组、每组四路输入、输出构成。每组有一个控制端G,由控制端的高或低电平决定该组数据被接通还是断开。图3-8 74LS244引脚图4硬件设计4.1电路设计框图AT89S52主控制模块DS1302时钟模块LED数码管动态扫描显示模块键盘模块复位电路时钟电路4.2系统概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由15个数码管,74Hs138、74ls