基于单片机的数字钟设计与实现毕业论文.doc_第1页
基于单片机的数字钟设计与实现毕业论文.doc_第2页
基于单片机的数字钟设计与实现毕业论文.doc_第3页
基于单片机的数字钟设计与实现毕业论文.doc_第4页
基于单片机的数字钟设计与实现毕业论文.doc_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的数字钟设计与实现毕业论文目 录1 引言12 单片机及辅助工具介绍22.1 单片机基础知识22.2 单片机的历史22.3 单片机的发展过程32.4 单片机的应用32.5 Protel DXP 2004软件介绍42.6 Proteus52.6.1 Proteus简介52.6.2 Proteus的基本操作62.6.3 连线(WIRING UP)72.7 Keil uVision2软件介绍73 元器件说明93.1 单片机芯片AT89S5293.2 LED七段数码管113.3 驱动芯片74HC595133.4 DS1302153.4.1 DS1302简介153.4.2 DS1302的结构及工作原理153.4.3 DS1302实时显示时间的软硬件173.4.4 调试中问题说明173.5 温度传感器18B20183.5.1 温度传感器简介183.5.2 DS18B20的内部结构203.5.3 DS18B20温度传感器的存储器203.5.4 DS1820使用中注意事项214 硬件电路设计234.1 总体电路设计234.2 按键调时接口电路设计234.3 时间读取接口电路设计244.4 显示时间和温度接口电路设计244.5 PROTEL制作主板电路254.5.1 创建项目文件254.5.2 原理图设计254.5.3 放置元件并连接254.5.4 连接线路254.5.5 元件注释264.5.6 报表生成264.5.7 创建PCB文件294.5.8 PCB布局和布线324.5.9 3D效果图335 软件程序设计345.1 软件设计思路345.2 读写时钟芯片1302子程序365.3 读写18B20芯片子程序386 总结41谢辞42参考文献43附录44外文资料57唐 山 学 院 毕 业 设 计1 引言随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。而数字钟正是一种用数字电路技术与单片机技术实现计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟是指以微处理器为核心,充分利用数字技术和软件技术,与各类脉冲信号的传感器配合,记录时间等的智能仪表。数字钟是日常生活、工业生产中常用的一种工具,社会拥有量和需求量都很大。功能上要求能够完成准确走时、调时,性能上要求抗干扰能力强,稳定可靠,同时在价格上具备竞争力。结合以上几点,设计了一款数字钟,达到了可靠和经济的双重要求,同时易于与其它产品结合使用,是非常必要的。本设计主要着眼于数字钟的可靠性与实用性,把工业用单片机技术、与微型机技术应该在数字钟设计中,开辟了单片机技术与现代计时方法相结合的一条新路。该电子钟设计工作原理为:单片机上电后,从芯片DS1302上讲读取时间数据,计时开始。通过按钮进行调时,上电复位进行校正时间。通过芯片18B20来读取温度,通过LED数码管显示其值。日常生活中对单片机数字钟的问题要求越来越高,本设计仅针对简单的数字钟进行研究。能够实现数字钟的正确走时以及温度的显示。2 单片机及辅助工具介绍2.1 单片机基础知识单片微型计算机简称单片微机或单片机,又称微控制器。它是在一块半导体芯片上,集成了CPU、ROM、RAM、I/O接口、定时器/计数器/中断系统等功能部件,构成了一台完整的数字电子计算机。由于集成电路技术的进步,片内甚至还可包含HSO、HIS、A/D转换器、PWM等称为“片内外设”的特殊功能部件。随着单片机功能的增强,由单片机构成的计算机应用系统也日益增强,它一样可以配用打印机、绘图仪、CRT等外围设备,一样可以联网。特别是1987年INTEL公司在MCS-96的基础上继续推出了MCS-196,又陆续出现了许多新趋向,例如:HSO、HIS发展为EPA;数据传送有了PTS;配合大功率晶体管的控制、自动检测、智能仪器仪表、家用电器等领域的突出地位,并使它不断拓宽应用范围,增添了新的活力。2.2 单片机的历史单片机(single chip microcomputer)是指在一块半导体芯片上集成了中央处理器(CPU)、随机存储器(RAM)、程序存储器(ROM或EPROM)、定时/计数器及各种I/O接口电路等,也就是指集成在一块半导体芯片上的计算机。由于单片机体积小、价格低、特别擅长于作为控制器使用,因而又称单片机为微控制器(microcontroller)。单片机的发展历史大致可分为以下几个阶段第一阶段单片机阶段(1976午1978年)。这阶段的任务是探索计算机的单芯片集成。以Intel公司的MCS48为代表,其CPU、存储器、定时器计数器、中断系统、I/O端口、时钟以及指令系统都是按嵌入式系统要求专门设计的。第二阶段单片机的完善阶段(1978年1982年)。计算机的单芯片集成探索取得成功后,随后的任务就是要完善单片机的体系结构。作为这一阶段的典型代表是Inlel公司将MCS48向MCS5l系列的过渡。它在以下几个重要方面奠定了单片机的体系结构(1) 完善的外部总线。有8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。(2) CPU外围功能单元的集中管理模式。(3) 设置面向工控的位地址空间及位操作方式。(4) 指令系统突出控制功能。第三阶段微控制器形成阶段(1983年1990年)。这一阶段单片机的主要技术发展方向是满足测控对象要求的外围电路的增强,如AD转换、DA转换、高速IO口、WDT(程序监视定时器)、DMA(高速数据传输)等,强化了智能控制的特征。第四阶段微控制器全面发展阶段(1990年以后)。即当前的单片机时代,其显著特点是百花齐放、技术创新。单片机正在满足各个方面的需求。从玩具、小家电、工程控制单元到机器人、智能仪表,过程控制,个人信息终端等无所不能。2.3 单片机的发展过程纵观单片机的发展过程,可以预示单片机的发展趋势,大致有(1) 低功耗CMOS化:MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。(2) 微型单片化:现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。(3) 主流与多品种共存:现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。所以C8051为核心的单片机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。2.4 单片机的应用(1) 智能仪器仪表单片机用于各种仪器仪表,一方面提高了仪器仪表的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表产品的升级换代。如各种智能电气测量仪表、智能传感器等。机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型产品如机器人、数控机床、自动包装机、点钞机、医疗设备、打印机、传真机、复印机等。(2) 实时工业控制单片机还可以用于各种物理量的采集与控制。电流、电压、温度、液位、流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电机转速控制、温度控制、自动生产线等。(3) 分布式系统的前端模块在较复杂的工业系统中,经常要采用分布式测控系统完成大量的分布参数的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块,系统具有运行可靠,数据采集方便灵活,成本低廉等一系列优点。(4) 家用电器家用电器是单片机的又一重要应用领域,前景十分广阔。如空调器、电冰箱、洗衣机、电饭煲、高档洗浴设备、高档玩具等。另外在交通领域中,汽车、火车、飞机、航天器等均有单片机的广泛应用。如汽车自动驾驶系统、航天测控系统、黑匣子等。2.5 Protel DXP 2004软件介绍目前,许多软件公司开发了大量的EDA(Electronic Design Automation,电子设计自动化)软件,在众多EDA软件中,Protel当之无愧的排在前列,随着计算机技术的不断进步,为适应时代的发展,Altium公司也推出了Protel DXP 2004是目前最新的版本,成为新一代的EDA前端设计工具。Protel DXP打破了传统的设计工具模式,提供了以项目为中心的设计环境,包括强大的导航功能、源代码控制、对象管理、设计变量和多通道设计等高级设计方法。其特点如下(1) 全新一代的EDA前端设计工具Protel DXP建立在独特的设计浏览器集成平台上。设计浏览器允许Protel DXP系统的各个模块交互工作在一起,就像操作单一的模块工具一样,界面统一。(2) 数模混合电路仿真功能Protel DXP能够在原理图输入阶段进行信号完整性分析,有效避免了设计师在设计初级阶段存在的问题,极大提高了设计师的设计效率,提高了板卡的设计效率。(3) 支持FPGA设计DXP全面支持FPGA(英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在可编程器件的基础上进一步发展的产物的设计),用DXP的原理图编辑器就可以进行FPGA的设计输入,还能实现原理图和VHDL(英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language翻译成中文就是超高速集成电路硬件描述语言,它的应用主要是应用在数字电路的设计中)混合输入,并提供了强大的VHDL仿真和综合功能。(4) PLD设计PLD(Programable Logic Device,可编程逻辑器件,是允许用户编程(配置)实现所需逻辑功能的电路,它与分立元件相比,具有速度快、容量大、功耗小和可靠性高等优点)提供多功能的开发环境。可生成器件编程和测试所需的全部文件,为CPLD设计提供了良好的解决方案。(5) 以“规则驱动”为核心,提供强大的PCB设计工具Protel DXP的PCB(Printed Circuit Board的简写,中文名称为印制电路板,又称印刷电路板、印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的提供者。由于它是采用电子印刷术制作的,故被称为“印刷”电路板)设计系统为用户提供了一个图形化的人机交互设计平台和一系列完备的设计规则以及强大的完全可控的参数化设计手段。(6) 先进的自动布线功能DXP基于拓扑逻辑路径影射技术的自动布线器,完全摆脱了基于网格、基于形状自动布线技术的正交几何约束。(7) 信号完整性前/后端分析Protel包含一组全面的信号完整性设计规则,内容包括网络阻抗、过冲、下冲、延迟时间、信号斜率等。(8) PCB机电一体化设计DXP的View3D可以提供PCB版图设计真实的、尺寸精确的三维视图;可以和机械CAD双向接口,并可以用Web浏览器直接形象地表示出器件和PCB整板结构,使机电设计有机地结合为一体,真正实现机电一体化设计。2.6 Proteus2.6.1 Proteus简介Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有近20年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus能够很容易的为用户建立了完备的电子设计开发环境。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。Proteus产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真,从而看到运行后输入端输出的效果。配合系统配置的虚拟仪器、逻辑分析仪等可以测量仿真的波形及记录仿真数据。在不需要硬件设备投入的情况下,Proteus软件可以建立完整的电子学习设计开发环境,缩短研发周期,并且降低开发成本。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。图2-1 Proteus启动时的屏幕2.6.2 Proteus的基本操作绘制原理图要在原理图编辑窗口中的蓝色方框内完成。操作方法和步骤是:如果知道器件的名称或名称中的一部分,可以在左上角的关键字搜索栏Keywords中输入,例如输入AT89C51或89C51,即可在Results栏中筛选出该名称或包含该名称的器件,双击Results栏中的名称“AT89C51”即可将其添加到对象选择器。在对象选择器中就有了AT89C51这个元件后,左击一下这个元件,然后把鼠标指针移到右边的原理图编辑区的适当位置,点击鼠标的左键,就把AT89C51放到了原理图编辑区。编辑对象的操作包括:选中对象,删除对象,拖动对象,旋转对象的方向,复制对象,设置对象的属性。2.6.3 连线(WIRING UP)说明:连接电路不需要选择工具,直接用鼠标左击第一个对象连接点后再左击另一个连接点,则自动连线。在两个对象(器件引脚或导线)连线应该注意的事项(1) 如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。(2) 为了避免导线太长太多影响图纸布线的美观,对于较长的导线,可以分别在需要连接的引脚开始绘制一条短导线,在短导线末端双击鼠标以放置一个节点,然后在导线上放置一个标签(Label),凡是标签相同的点都相当于之间建立了电气连接而不必在图上绘出连线。(3) 在连线过程的任何一个阶段,你都可以按ESC来放弃连线。(4) 连线与2D图形工具中的绘制直线不同,前者具有导线性质,后者不具备导线性质。2.7 Keil uVision2软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。uVision2集成开发环境介绍,工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特性。uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。uVision2强大的集成功能有助于用户按期完工。集成源极浏览器利用符号数据库使用户可以快速浏览源文件,用详细的符号信息来优化用户变数存储器;文件寻找功能:在特定文件中执行全局文件搜索;工具菜单:允许在V2集成开发环境下启动用户功能;可配置SVCS接口:提供对版本控制系统的入口;PCLINT接口:对应用程序代码进行深层语法分析;Infineon的EasyCase接口:集成块集代码产生;Infineon的DAVE功能:协助用户的CPU和外部程序,DAVE工程可被直接输入uVision2。uVision2源代码编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。uVision2中,可以编写或使用类似C的数语言进行调试。可以使用内部函数,如print,memset,rand及其它功能的函数;信号函数,模拟产生CPU的模拟信号和脉冲信号(simulate analog and digital inputs to CPU);用户函数,扩展指令范围,合并重复动作。Keil C51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字at还能把变量放入固定的存储器。存储模式(大,中,小)决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64K ROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。C51允许用户使用C语言编写中断服务程序,快速进出代码和寄存器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。C51提供了灵活高效的指针,通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。3 元器件说明本章主要对在该设计中用到的各元器件进行详细的说明,其中包括它们的引脚说明、接口连线、读写时序、特点及功能等。为后续总体电路设计及各部分接口电路设计作一下铺垫。3.1 单片机芯片AT89S52AT89S52是一种低功耗,高性能的片内含有8KB快闪可编程/擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。芯片上的FPEROM允许在线编程或采用通用的非易失存储编程器对存储器重复编程。AT89S52(以下简称89S52)将具有多种功能的8位CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又便宜的方案,其性能价格比远高于8751。由于片内带EPROM的87C51价格偏高,而片内带FPEROM的89S52价格低且与INTEL80C51兼容,这就显示出了89S51的优越性。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,AT89C2051是它的一种精简版本。AT89S52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(1) 89S52性能及特点与MCS-51微控制器产品系列兼容;片内有8KB可在线重复编程的快闪擦写存储器(Flash Memory);存储器可循环写入/擦除1000次;存储数据保存时间为10年;宽工作电压范围:VCC可为4.0V-5.5V;全静态工作;可从0HZ到33MHZ;程序存储器具有3级加密保护;2568位内部RAM;32条可编程I/O线;三个16位定时器/计数器;中断结构具有8个中断源;可编程全双工串行通道;空闲状态维持低功耗和掉电状态保存存储内容。(2) 片内快闪存储器(Flash Memory)由于EPROM具有在线改写,并且在掉电状态保存存储数据的特点,可为用户的特殊应用提供便利。但是擦除和写入对于要求数据高速吞吐的应用还显得时间过长,这是EPROM芯片的主要缺陷。(3) 89S52硬件结构及引脚除程序存储器由FPEROM取代了87C51的EPROM外,其余部分完全相同。89S52的引脚与89C51的引脚完全兼容。管脚说明如下:VCC:供电电压GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FLASH进行校验时,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口也可作为AT89S52的一些特殊功能口,如下所示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端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的六分之一。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR 8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现;EA/VPP:当EA保持低电平时,则在此期间选用外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当EA端保持高电平时,此间选内部再选外部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;XTAL2:来自反向振荡器的输出。(4) 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有源输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(5) 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2 LED七段数码管7段数码管LED显示器内部由7个条形发光二极管和1个小圆点发光二极管组成根据各管的亮暗组合成字符。常见LED的管脚排列如图(a)所示,其中COM为公共点。根据内部发光二极管的接线形式,可分为共阴极型如图(b),共阳极型如图(c)。LED数码管的a-g、dp8个发光二极管因加正电压而发光,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码。显然共阳极和共阴极的字形码是不同的,按照a-g、dp各段分别接数据线D0-D7其字形码如表1所示,如果要显示小数点,只需在表中将dp位修改为“1”或“0”。LED数码管每段需1020mA的驱动电流,可用TTL或CMOS器件驱动。字形码的控制输出可采用硬件译码方式,如采用BCD7段译码驱动器74LS48、74LS49、CD4511(共阴极)或74LS46、74LS47、CD4513(共阳极),也可用软件查表方式将上述十六进制代码经接口输出。数码管的接口有静态接口和动态接口。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴或共阳分别接地或VCC。采用这种接法,n个数码管需要n个8位的接口,占用接口多。如果P0口和P2口要用作数据线和地址线,仅用单片机内的并行口只能接2个数码管。也可以用串行接口的方法接多个数码管,使之静态显示。动态接口采用和数码管循环显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象。这种显示方式是各个数码管的段选并接在同一个接口上,该接口称为段选口,输出字形码,完成字形选择控制;各个数码管的公共端接在另一接口的不同位,完成数位选择,控制各数码管轮流点亮。本计数器的显示就是采用五个数码管的动态显示。常用7段数码管LED显示器,共阴极和共阳极结构如下图:a bcefd g 10 9 8 7 6 1 2 3 4 5 7 g fa bed cdp+5V/地+5V/地abcde fggdpR*8abcde fggdpR*8+5VLED内部图 共阴极 共阳极图3-1LED显示器字符段码表如下:表1显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC0HB7CH83H106HF9HC39HC6H25BHA4HD5EHA1H34FHB0HE79H86H466H99HF71H8EH56DH92H.80H7EH67DH82HP73H82H707HF8HU3EHC1H87FH80HT31HCEH96FH90HY6EH91HA77H88H灭00HFFH3.3 驱动芯片74HC595(1) 描述74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态,三态。如图3-2所示Q1Q2161521Q0VCCQ3143SERQ4134RCKQ5125SCKQ7Q6111076Q7GND98图3-2 74HC595封装图(2) 特点:8位串行输入 8位串行或并行输出存储状态寄存器,三种状态输出寄存器可以直接清除100MHz的移位频率(3) 输出能力:并行输出,总线驱动;串行输出;标准中等规模集成电路595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。(4) 参考数据:CPD决定动态的能耗PDCPD*VCC*f1+(CL*VCC2*f0)F1输入频率,CL输出电容 f0输出频率(MHz)Vcc=电源电压(5) 引脚说明符号 引脚 描述。Q0Q7 15, 1- 7 并行数据输出。GND 8 地。Q7 9 串行数据输出。MR 10 主复位(低电平)。SHCP 11 移位寄存器时钟输入。STCP 12 存储寄存器时钟输入。OE 13 输出有效(低电平)。DS 14 串行数据输入。VCC 16 电源。(6) 功能表输入 输出 功能SHCP STCP OE MR DS Q7 Qn。 L L NC MR为低电平时仅仅影响移位寄存器。 L L L L 空移位寄存器到输出寄存器。 H L L Z 清空移位寄存器,并行输出为高阻状态。 L H H Q6 NC 逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态 移入,例如,以前的状态6(内部Q6)出现在串行输出位。 L H NC Qn 移位寄存器的内容到达保持寄存器并从并口输出。 L H Q6Qn 移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并出。(7) 74HC595的控制端说明RESET(10脚):低点平时将移位寄存器的数据清零。通常我将它接Vcc;SHIFT CLOCK(11脚):上升沿时数据寄存器的数据移位。QA-QB-QC-.-QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了,我通常都选微秒级)。LATCH CLOCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将LATCH。CLOCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了,我通常都选微秒级),更新显示数据。OUTPUT ENABLE(13脚):高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。(8) 注释H高电平状态L低电平状态上升沿下降沿Z高阻NC无变化无效当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。3.4 DS13023.4.1 DS1302简介DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。3.4.2 DS1302的结构及工作原理DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。(1) 引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。下图为DS1302的引脚功能图VCC1SCLKI/ORSTX2X1VCC212345678GND图3-3 DS1302封装图(2) DS1302的控制字节DS1302 的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。为了实现系统报警计时等功能,此设计采用了DS302实时时钟芯片。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。2.1引脚功能及结构DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。3.4.3 DS1302实时显示时间的软硬件DS1302与CPU的连接 。实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个口线即可。LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有34线串行接口,可与任何单片机、IC接口。功耗低,显示状态时电流为2A(典型值),省电模式时小于1A,工作电压为2.4V3.3V,显示清晰。 3.4.4 调试中问题说明DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 F就可以保证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论