欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    毕业设计(论文)-基于AT89S51单片机数字钟的设计.doc

    • 资源ID:3282751       资源大小:374.52KB        全文页数:36页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-基于AT89S51单片机数字钟的设计.doc

    毕 业 设 计(论 文)设计(论文)题目: 定时控制电子钟 系 别: 汽车与电气工程系 1专 业: 计算机控制技术 1班 级: 1姓 名: 1学 号:指导教师: 完成时间:摘要计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师了。单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是集合CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。其特性如下:1.时间精密准确,具有极高的时间精度,一个月的误差不超过1分钟,比旧款普通时钟有极大提高。2.低耗电。3.具有极强的抗干扰能力本文通过对一个基于单片机的能实现8路定时,闹钟等功能的多功能电子时钟的设计学习,详细介绍了单片机应用中的数据转换显示,键盘扫描原理,单片机的定时中断原理。从而达到学习、了解单片机相关指令在各方面的应用。本文介绍了一款基于AT89S51单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。论文重点阐述了数字钟硬件中MCU模块、语音模块、时钟模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计,包括中断模块、闹钟模块、时间调整模块设计,并采用简单流通性强的MOV语言编写实现。本设计实现了时间与闹钟的修改功能和星期的显示功能。并且通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。文章后附有电路原理图、PCB板图和程序清单,以供读者参考。因水平有限,难免有疏落不足之处,敬请老师和同学能给与批评指正。关键词:单片机、显示器、电源目录摘要 - - - - - - - - - - - - - - - - - - - - - - - - - -2关键词- - - - - - - - - - - - - - - - - - - - - - - - - 2第1章:引言- - - - - - - - - - - - - - - - - - - - - - 4第2章:设计目的及主要性能指标2.1:设计目的- - - - - - - - - - - - - - - - -5 2.2:主要性能指标- - - - - - - - - - - - - -5第3章:使用说明- - - - - - - - - - - - - - - - - - - - 6第4章:方案论证 4.1:用JK触发器组成的电子钟- - - - - - - - - - 7 4.2:用单片机组成的电子钟 - - - - - - - - - - 8第5章:基本原理第6章:基本元器件介绍6.1:AT89C51介绍 6.2:LED数码管简介第7章:硬件设计 7.1:8031最小系统 7.2:显示部分 7.3:键盘部分 7.4:电源部分 7.5:精度第8章:软件设计 8.1:程序框图 8.1.1:主程序框图 8.1.2:初始化程序框图 8.1.3 :显示程序框图 8.1.4:按键程序框图 8.1.5:加一子程序框图 8.1.6:定时中断服务子程序框图 8.1.7 :定时比较子程序框图 8.2:ROM分配表 8.3:程序清单第1章:引言定时控制电子钟是用现今较流行的AT89C51单片机设计而成,具有精度高、性能好、稳定性可靠、显示清晰、使用方便等特点。只要四个按键,就能满足你的工作、生活的需要。可广泛应用于工厂、宾馆、商店、社会服务等每个家庭。单片原理及应用是一门技术性、应用性很强的学科,实践教学是它的一个极为重要的环节。不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验教学。如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节的局面。任随书本上把单片机技术介绍得多么重要、多么实用多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会感到对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。通过完成一个涉及MCS51单片机都种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。该电子时钟不但具有定时作用还有温度采集作用。定时部分可以显示时、分、秒,而且用按键还可以实现时间的调整和闹铃的设定。温度采集部分实现环境温度数据的采集。在上一学期进行的EDA课程设计中,同学们完成了单片机数据采集与定时系统的硬件电路设计。本次综合实践是在此基础上,焊接制作电路板,完成该系统的软件设计与调试。待仿真成功后,再将程序烧写入单片机中。通过该课程设计,使我们对MCS-51系列单片机有一个全面的了解,对单片机的开发、应用全过程的都很好的锻炼,巩固了所学的知识第2章:设计目的及主要性能指标2.1、设计目的本次设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS51单片机都种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。2.2主要性能指标1) 显示星期、时、分、秒。精度0.5秒/天。2) 具有8路定时功能,定时时间到,控制继电器动作。3) 定时方式受人工控制,即不需要报时或定时时可操作按键予以消除。4) 电源220V±105) 功耗2.5W第3章:使用说明1.接通电源,按下“RET”键,屏幕显示初始值。2.按动“选位”键,被选中的单元有闪烁现象,这时可以按“修改”键进行调整.连续按“选位”键后,其他单元依次循环闪烁。3.当某一单元出现闪烁后,按动“修改”键,该单位内容加1。4当需要预置定时值时,按一下“定时”键,原“星期”显示为“定时时段号”这时显示的时间已经不是当时的时间,而是定时的时间,为未调整前,所有时段的时间都默认为“0:00”。定时的设置方法与时间的设置方法一样。5.在任何状态下,按动“运行”键,该仪器恢复显示当前的时间。第4章:方案论证根据技术指标的要求,实现电子钟的设计可通过多种方案,如纯模拟电路,中规模数字集成电路,大规模数字集成电路或单片机的集成器件。下面通过分析来决定使用哪种方案。采用JK触发器构成的数字钟JK触发器是以纯模拟电路设计而成,其元器件简单,要想构成数字钟,首先应有一个能自动产生稳定的标准时间脉冲信号的信号源,还需要有一个使高频脉冲信号变成适合于即使的低频脉冲信号的分频器电路,即频率为1HZ的“秒脉冲”信号。经过分频器输出的秒脉冲信号到计数器中进行计数。计数器通过JK触发器来完成及控制修改电路,最后通过驱动显示电路来显示时间。分频器它能将高频脉冲变换为低频脉冲,由触发器以及计数器来完成,由于一个触发器就是一个二分频,N个触发器就是个分频器,如果用计数器作为分频器,就要按进制数进行分频。如M进制计数器就为M分频器下图为石英晶体振荡器的原理图下图为用JK触发器或计数器作为分频器的方框图但用JK触发器来实现电子钟时,虽然所需的元器件简单,但组合连接比较复杂,设计不方便,在作硬件时不好焊接,容易出错,故不推荐使用。还有其他的方法如中规模集成电路和大规模集成电路,它们的成本较高,本着经济、可靠、体积小,功能扩展方便并具有先进性的基本原则,我们应该选用当今最流行的、已经被广泛应用的器件-MS-51 8031或AT89C51单片微型计算机为核心方案的基本设计思想,使得本设计满足基本要求,即技术新,先进性,体积小,精度高,功能扩展方便,成本方案较低。下面是8051单片机的一些特点:MS51系列单片机无论在片内RAM容量,I/O接口的功能,种类和数量上,还是在系统的扩展功能,指令系统CPU的处理方式等方面,和早期产品相比都大大的得到提高,尤其是对于实时编程控制有突出的优点,它是控制型应用领域中最理想的8位微型计算机,已得到广泛应用。下一章将详细介绍此类单片机的特性。第5章:基本原理定时控制电子钟的设计主要有硬件设计和软件设计两大部分:硬件设计包括了AT89S51的最小系统,电源部分,显示部分,键盘部分,功率放大部分。软件设计其实是在结合硬件的基础上,实现规定的技术指标。是通过内部的定时器来完成时间的计数及显示的。其精度主要取决于单片机本身的晶振频率的精度。定时控制则通过时钟不间断的和设定的时间进行比较,当两者相同时,则控制输出,使得对应的继电器动作。其中最小系统,电源等相关介绍将在第七章做详细介绍。在此不多加重复叙述。第6章:基本元器件介绍6.1:AT89C51介绍微型计算机的基本组成有三部分,即中央处理器CPU (通常包括运算器和控制器)+存储器+输入/输出 (I/O) 接口。若将组成计算机的基本部件集成在一块芯片上,则俗称为单片微机。 80C51内部结构主要包括中央处理器CPU (算术逻辑部件 ALU、控制器等) 、只读存储器 ROM、 随机存取存储器RAM、定时器/计数器、并行 I/O口 P0P3、串行口、中断系统以及定时控制逻辑电路等。1.中央处理器 单片微机中的中央处理器(CPU)是单片微机的核心,主要完成运算和控制功能,又增设了“面向控制”的处理功能,增强了实时性。 2. 程序存储器  根据内部是否带有程序存储器而形成三种型号:内部没有程序存储器的称80C31,内部带ROM的称80C51,内部以EPROM代替ROM的称87C51。目前单片微机的程序存储器有以下几种结构形式: 片内只读存储器片内掩膜ROM的特点是程序必须在制作单片微机时写入。 片内可编程的ROM 。 可直接由用户进行编程 ·紫外线可擦除型ROMEPROM型单片微机 (如87C51)。EPROM需用紫外线擦除,必须脱机固化,不能在线改写。 ·电可擦除型ROMEEPROM,称为Flash单片微机 (如89C51)。EPROM和EEPROM都是可以多次擦除和编程的,或称MTP的ROM。·OTP的 ROM,仅允许用户一次编程。 片外只读存储器 利用单片微机的并行扩展技术可以外扩片外只读存储器。3. 数据存储器(RAM) 在单片微机中,用随机存取存储器(RAM)来存储程序在运行期间的工作变量和数据,所以称为数据存储器。在单片微机中,常把寄存器(如工作寄存器、特殊功能寄存器、堆栈等)在逻辑上划分在片内RAM空间中,所以可将单片微机内部RAM看成是寄存器堆,有利于提高运行速度。当内部RAM容量不够时,还可通过串行总线或并行总线外扩数据存储器。4. 并行I/O口 单片微机往往提供了许多功能强、使用灵活的并行输入/输出引脚,用于检测与控制。有些I/O引脚还具有多种功能,比如可以作为数据总线的数据线、地址总线的地址线、控制总线的控制线等。单片微机I/O引脚的驱动能力也逐渐增大,甚至可以直接驱动外扩的LED显示器。 5. 串行I/O口 目前高档8位单片微机均设置了全双工串行I/O口,用以实现与某些终端设备进行串行通信,或者和一些特殊功能的器件相连的能力,甚至用多个单片微机相连构成多机系统。随着应用的拓宽,有些型号的单片微机内部还包含有二个串行I/O口。  6. 定时器/计数器 在单片微机的实际应用中,往往需要精确的定时,或者需对外部事件进行计数。为了减少软件开销和提高单片微机的实时控制能力,因而均在单片微机内部设置定时器/计数器电路。80C51共有二个16位的定时器/计数器,80C52则有三个16位的定时器/计数器。 7. 中断系统 80C51单片微机的中断功能较强,具有内、外共五个中断源,二个中断优先级。 8定时电路及元件 计算机的整个工作是在时钟信号的驱动下,按照严格的时序有规律地一个节拍一个节拍地执行各种操作。单片微机内部设有定时电路,只需外接振荡元件即可工作。外接振荡元件一般选用晶体振荡器,或用价廉的RC振荡器,也可用外部时钟源,作为振荡元件。近来有的单片微机将振荡元件也集成在芯片内部。按引脚的功能可分为三部分 : 1. 电源和晶振:·Vcc运行和程序校验时接电源正端。 ·Vss接地。 ·XTAL1输入到单片微机内部振荡器的反相放大器。当采用外部振荡器时,对单片微机, 此引脚应接地;对CHMOS单片微机,此引脚作驱动端。·XTAL2反相放大器的输出,输入到内部时钟发生器。当采用外部振荡器时,XTAL2接收振荡器信号。2. I/O: 共4个口,32根I/O线。 · P08位、漏极开路的双向I/O口。当使用片外存储器(ROM及RAM)时,作低八位地址和数据总线分时复用。P0口(作为总线时)能驱动 8个 LSTTL负载。·P18位、准双向I/O 口。在编程/校验期间,用做输入低位字节地址。P1口可以驱动 4个 LSTTL负载。 对于80C52,P1.0T2,是定时器2的计数输入端;P1.1T2EX,是定时器2的外部输入端。读两个特殊引脚的输出锁存器时应由程序置1。·P28位、准双向I/O口。 当使用片外存储器(ROM及RAM)时,输出高8位地址。在编程/校验期间,接收高位字节地址。P2口可以驱动4个LSTTL负载。·P38位、准双向I/O口,具有内部上拉电路。 P3提供各种替代功能。在提供这些功能时,其输出锁存器应由程序置 1。P3口可以输入/输出4个LSTTL负载。· 串行口: P30RXD 串行输入口。 P31TXD 串行输出口。· 中断口: P32 外部中断0输入。 P33 外部中断1输入。 · 定时器计数器: P34定时器/计数器T0 的外部输入。 P35定时器/计数器T1的外部输入。 ·数据存储器选通: P36WR 低电平有效,输出,片外存储器写选通。 P37 RD 低电平有效,输出,片外存储器读选通。3. 控制线:共4根。 ·RST复位输入信号,高电平有效。在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。· EA /Vpp片外程序存储器访问允许信号,低电平有效。EA=1,选择片内程序存储器(80C51为4KB,80C52为8KB) ;EA=0,则程序存储器全部在片外而不管片内是否有程序存储器。使用80C31时,必须接地,使用8751编程时,施加 21V的编程电压。·ALE/PROG地址锁存允许信号,输出。在访问片外存储器或I/O时,用于锁存低八位地址,以实现低八位地址与数据的隔离。由于ALE以 1/6的振荡频率固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。在EPROM编程期间,作输入。输入编程脉冲(PROG)。ALE可以驱动8个LSTTL负载。·PSEN片外程序存储器读选通信号,低电平有效。在从片外程序存储器取指期间,在每个机器周期中,当有效时,程序存储器的内容被送上 P0口(数据总线)。可以驱动 8个LSTTL负载。6.2:LED数码管简介LED数码管(LED Segment Displays)是由多个发光二极管封在在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下页将介绍常用LED数码管内部引脚图片 图1 这是一个7段两位带小数点 10引脚的LED数码管 图2 引脚定义 每一笔划都是对应一个字母表示 DP是小数点LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。 A、静态显示驱动: 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O埠进行驱动,或者使用如BCD码二-十进位解码器解码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O埠多,如驱动5个数码管静态显示则需要5×840根I/O埠来驱动,要知道一个89S51单片机可用的I/O埠才32个呢。故实际应用时必须增加解码驱动器进行驱动,增加了硬体电路的复杂性。 B、动态显示驱动: 数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。 透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。 恒流驱动与非恒流驱动对LED数码管的影响主要有以下几点: 1、显示效果: 由于LED基本上属于电流敏感元件,其正向压降的分散性很大,并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动晶片还要能够自动调节输出电流的大小以实现色差平衡温度补偿。 2、安全性: 即使是短时间的电流超载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止由于电流故障所引起的数码管的大面积损坏。 另外,我们所采用的超大型积体电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极体的损害。超大型积体电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。 为什么数码管亮度不均匀? 有两个大的因素影响到亮度一致性。一是使用原材料晶片的选取,一是使用数码管时采取的控制方式。 1、原材料-LED晶粒的VF和亮度和波长是一个正态分布, 即使筛选过LED晶粒,VF和亮度和波长已在一个很小的范围了,生产出来的产品还是在一个范围内,结果就是亮度不一致。 2、要保证LED数码管亮度一样,在控制方式选取上也有差别 最好的办法是恒流控制,流过每一个发光二极体的电流都是相同的,这样发光二极体看起来亮度就是一样的了。如恒压控制,则导致VF不相同的发光二极体分到的电流不相同,所以亮度也不同。当然这两个条件是相辅相成的。 怎样测量数码管引脚,分共阴和共阳? 找公共共阴和公共共阳,首先,我们找个电源(3到5伏)和不同规格的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数位万用表,红表笔是电源的正极,黑表笔是电源的负极。第七章 硬件设计7.1 8031最小系统单片机的主要功能是负责整个系统的控制,不承担复杂的数据处理任务,因此在设计单片机最小系统时通常选用AT89C5l、AT89C52、AT89S51、AT89S52(S系列芯片支持ISP功能)等型号的8位单片机作为MCU。8031最小系统由8031单片机、锁存器74LS373、EPROM2764组成。8031的片内没有程序存储器,必须外接EPROM电路作为程序存储器,8031的引脚EA必须接地,使CPU总是执行外部EPROM中固化的程序。8031的P0口是一个三态的反向口,它可以分时输出外部存储器的低8位地址A0A7和传送数据信息,当信号ALE上升为高电平后P0口输出低8位地址,P2口输出高8位地址,由ALE的上升沿将P0口输出的低8位地址锁存到外部地址锁存器中,接着P0口由输出方式变为输入方式,而P2口输出的高8位地址信息不变,紧接着程序存储器选通信号PSEN变为低电平有效,由P2口和地址锁存器输出的地址对应单元指令字节传送到P0口上供CPU读取,这样就实现了P0口地址信息与数据信息的分时传送。本次设计使用的是AT89S52单片机,因其内部已设有ROM,故其不需要外界EPROM;另外引脚EA接电源,使CPU执行内部ROM中的程序。下图为单片机最小系统电路图:7.2显示部分电路设计为动态显示方式,MCS-51单片机具有一个全双工的串行接口,适用在各种场合下,数据传输出同步信号,当数据导入时,送入P0口,再通过P2口来控制哪一组亮,数码管采用共阳型,有+5V电源供电。通过三极管来控制对应数码管的导通。下图为显示部分的原理在实际电路中,7个显示器的七段显示字形,通过P0口的数据来决定数码管显示的数字,哪一个数码管导通,是有P2口对应的三极管的导通来控制某个数码管的导通。其数据如下:I1=IF=10MAIF:发光二极管的正向工作电流VF:显示的正向工作电压R1=(Vcc-VF-2Vces)/IFI0为T段电流之和随字形变化而变化,故不是定值。范围是0107IF即01070MA.故I1选一般小功率NPN硅管即可。7.3 键盘部分由于电路可用的键盘不多,I/O口有很大的多余,故键盘电路采用下图形式。这样的设计给软件减轻的负担,用软件扫描P3口,若发现有低电平输入,则说明右键输入,判断数值,转到相应的服务程序。此外还有自动断电复位功能,7.4电源部分8051的工作电压为+5V,±0.5V,工作电流为200MA其他部分工作电流的总电流:500MA 功耗:2.5W下图为典型的电源电路:7.5:精度仪器精度取决于微机本身的精度,以及软件设计的定时精度,而软件的设计定时精度又取决于晶振精度。故要求保证晶振的精度就能保证技术指标提出的要求。每天共24*60*60=86400S每天应许误差±0.0000115us现有8051晶振为6MHZ,6MHZ应许误差为:±0.0000019us误差要求6MHZ±0.000708MHZ.符合要求经过以上的硬件设计,按照原理图最终设计硬件图如下:最终做好硬件电路板,并检测成功。第8章:软件设计8.1:程序框图8.1.1:主程序框图程序清单ORG 0000HLJMP STAORG 000BHLJMP T0STA:MOV SP,#6FH ;设置堆栈 MOV IE,#82H ;应允许T0中断 MOV TMOD,#02H ;定时器方式2 MOV TH0,#06H ;定时时间500us MOV TL0,#06H ;定时时间500us MOV 30H,#14H ;10ms的计时初值 MOV 31H,#32H ;0.5S的计时初值 MOV 32H,#00H ;清秒计数器 MOV 33H,#00H ;清分计数器 MOV 34H,#00H ;清时计数器 MOV 35H,#01H ;置星期初值 MOV 36H,#03H ;置选位计数器为非修改状态 SETB TR0 ;启动定时器MAIN:MOV A,P3 ;取键盘) CJNE A,#0FFH,LOOP1 ;判断是否有键按下,有就跳 SJMP LOOP2 ;无键按下,跳走LOOP1:JB 00H,LOOP3 ;有键按下的标志,调跳走 SETB 00H ;无标志,先置标志 JB P3.1,LOOP4 ;判断是不是选位键 LJMP KEY0 ;是选位键,跳到选位键程序LOOP4:JB P3.3,LOOP2 ;断是不是加1键 LJMP KEY1 ;是加1键,跳到加1子程序LOOP2:CLR 00H ;清有键按下的标志LOOP3:MOV DPTR,#TABLE ;置七段码首址 MOV A,34H ;取时的计数器内容 SWAP A ;交换时的高低位,先显示高位 ANL A,#0FH ;屏蔽高位 MOVC A,A+DPTR ;取七段码 MOV C,01H; MOV ACC.7,C; MOV P0,A ;上面3步为秒节拍处理 MOV A,36H ;把选位计数器内容送A CJNE A,#01H,LOOP12 ;判断是不是选中时单元,未选中就跳 JNB 01H,LOOP12 ;判断有无闪动标志,没有讲究跳 ORL P0,#7FH ;清显示LOOP12:CLR P2.0 ;选通时高位数码管 LCALL DELY ;延时5MS ORL P2,#0FH ;关显示 MOV A,34H ;取时的低位显示 ANL A,#0FH ;屏蔽高位 MOVC A,A+DPTR ;取七段码 MOV C,01H; MOV ACC.7,C; MOV P0,A ;上面3步为秒节拍处理 MOV A,36H ;把选位计数器内容送A CJNE A,#01H,LOOP13;判断是不是选中时单元,未选中就跳 JNB 01H,LOOP13 ;判断有无闪动标志,没有讲究跳 ORL P0,#7FH ;清显示LOOP13:CLR P2.1 ;选通时低位数码管 LCALL DELY ;延时5MS ORL P2,#0FH ;关显示 MOV A,33H ;取分的高位显示 SWAP A ANL A,#0FH ;屏蔽高位 MOVC A,A+DPTR ;取七段码 MOV C,01H; MOV ACC.7,C; MOV P0,A ;上面3步为秒节拍处理 MOV A,36H ;把选位计数器内容送A CJNE A,#00H,LOOP14;判断是不是选中分单元,未选中就跳 JNB 01H,LOOP14 ;判断有无闪动标志,没有讲究跳 ORL P0,#7FH ;清显示LOOP14:CLR P2.2 ;选通分高位数码管 LCALL DELY ;延时5MS ORL P2,#0FH ;关显示 MOV A,33H ;取分的低位显示 ANL A,#0FH ;屏蔽高位 MOVC A,A+DPTR ;取七段码 MOV C,01H; MOV ACC.7,C; MOV P0,A ;上面3步为秒节拍处理 MOV A,36H ;把选位计数器内容送A CJNE A,#00H,LOOP15;判断是不是选中分单元,未选中就跳 JNB 01H,LOOP15 ;判断有无闪动标志,没有讲究跳 ORL P0,#7FH ;清显示LOOP15:CLR P2.3 ;选通分低位数码管 LCALL DELY ;延时5MS ORL P2,#0FH ;关显示 MOV A,32H ;取秒的高位显示 SWAP A ANL A,#0FH ;屏蔽高位 MOVC A,A+DPTR ;取七段码 MOV C,01H; MOV ACC.7,C; MOV P0,A ;上面3步为秒节拍处理 CLR P2.4 ;选通秒高位数码管 LCALL DELY ;延时5MS ORL P2,#0FH ;关显示 MOV A,32H ;取秒的低位显示 ANL A,#0FH ;屏蔽高位 MOVC A,A+DPTR;取七段码 MOV C,01H; MOV ACC.7,C; MOV P0,A ;上面3步为秒节拍处理 CLR P2.5 ;选通秒低位数码管 LCALL DELY ;延时5MS ORL P2,#0FH ;关显示 MOV A,35H ;取星期显示 MOVC A,A+DPTR;取七段码 MOV C,01H; MOV ACC.7,C; MOV P0,A ;上面3步为秒节拍处理 MOV A,36H ;把选位计数器内容送A CJNE A,#02H,LOOP16;判断是不是选中分单元,未选中就跳 JNB 01H,LOOP16 ;判断有无闪动标志,没有讲究跳 ORL P0,#7FH ;清显示LOOP16:CLR P2.6 ;显示星期数码管 LCALL DELY ;延时5MS ORL P2,#0FH ;关显示 LJMP MAINKEY0: INC 36H ;选位计数器加1 MOV A,36; CJNE A,#03H,LOOP6;将选位计数器内容限制在0到3内 MOV 36H,#00H ;如果为3,则清零LOOP6: LJMP LOOP3KEY1: MOV A,36H ;加1子程序开始 ADD A,#33H ;由选位计数器得到被修改被修改的单元地址 MOV A,R0; ADD A,#01H ;被修改的单元对应的计数器内容加1 DA A ;转换成十进制

    注意事项

    本文(毕业设计(论文)-基于AT89S51单片机数字钟的设计.doc)为本站会员(李主任)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开