为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 05电子信息工程班_杨寅红毕业论文最后修改稿

05电子信息工程班_杨寅红毕业论文最后修改稿

2019-03-12 7页 doc 400KB 12阅读

用户头像 个人认证

会人会语

暂无简介

举报
05电子信息工程班_杨寅红毕业论文最后修改稿毕业设计设计题目“基于单片机的数字时钟”设计学院物理科学与工程技术学院专业电子信息工程年级2005级姓名杨寅红指导教师甘辉职称讲师(2009年6月)宜春学院教务处制目录1.毕业设计任务书2.毕业设计开题报告3.毕业设计答辩资格审查表4.论文原创性申明5.论文版权使用授权书6.毕业设计正文7.外文资料译文8.外文资料原文宜春学院毕业设计任务书题目:“基于单片机的数字时钟”设计学院:物理科学与工程技术学院系电子与信息工程系专业:电子信息工程班级:2005级学号:0534132105姓...
05电子信息工程班_杨寅红毕业论文最后修改稿
毕业设计设计题目“基于单片机的数字时钟”设计学院物理科学与工程技术学院专业电子信息工程年级2005级姓名杨寅红指导教师甘辉职称讲师(2009年6月)宜春学院教务处制目录1.毕业设计任务书2.毕业设计开题3.毕业设计答辩资格审查表4.论文原创性申明5.论文版权使用授权书6.毕业设计正文7.外文资料译文8.外文资料原文宜春学院毕业设计任务书题目:“基于单片机的数字时钟”设计学院:物理科学与工程技术学院系电子与信息工程系专业:电子信息工程班级:2005级学号:0534132105姓名:杨寅红起止日期:2008.11.15-2009.6.5指导教师:甘辉职称:讲师系主任:袁易君审核日期:2008.11.14说明1.毕业论文任务书由指导教师填写,并经教研室审定,下达到学生。2.进度表分前、中、后三期由学生填写,每期填写后交指导教师签署审查意见,并作为毕业论文工作检查的主要依据。3.学生根据指导教师下达的任务书独立完成开题报告,3周内提交给指导教师批阅。4.本任务书在毕业论文完成后,与论文一起交指导教师,作为论文评阅和毕业论文答辩的主要档案资料,是学士学位论文成册的主要内容之一。 一、毕业论文的要求和内容系统由AT89C51、LED数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由SB0、SB1、SB2、SB3、SB4完成。其中SB0为时间校对,定时器调整功能键,按SB0进入调整状态。SB1为功能切换键。第一轮按动SB1依次进入一路、二路、三路定时时间设置提示程序,按SB3进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按SB1键,依次进入时间¡年¡位校对、¡月¡位校对、¡日¡位校对、¡时¡位校对、¡分¡位校对、¡秒¡位校对状态。不管是进入那种状态,按动SB2皆可以使被调整位进行不进位增量加1变化。各预置量设置完成后,系统将所有的设置存入RAM中,按SB1退出调整状态。上电后,系统自动进入计时状态,起始于¡00¡时¡00¡分。SB4为年月日显示转换键,可使原来显示时分秒转换显示年月日。 二、研究、目标单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。在本次设计中采用单片机技术来实现数字钟的功能。方案的设计可以从以下几个方面来确定。微处理器的选择,AT89C51、52是2003年ATMEL推出的新型品种,除了完全兼容8051外,还多了ISP编程和看门狗功能。在本次设计中采用AT89C51单片机;显示电路的设计,随着科技的发展,液晶显示的使用越来越方便,已被普遍的使用。由于液晶显示与驱动都集成在一个芯片上,因此使用起来很方便。在这里采用液晶显示;校时和定时电路的设计;实时控制电路是时钟电路的一个重要组成部分,采用的是一个时钟芯片,单片机从中读取数据送到显示器上显示,从而实现数字钟的功能。 三、阅读书目清单[1]李群芳、肖看,《单片机原理、接口及应用——嵌入式系统技术基础》.清华大学出版社出版,2005.[2]谢自美,《电子线路设计、实验、测试》.武汉:华中理工大学出版社,2000.[3]何书森、何华斌,《实用数字电路原理与设计速成》.福州:福建科学技术出版社,2000.[4]白驹衍,《单片计算机及应用》.北京:电子工业出版社,1999.[5]谢振辉,《改进式MCS-51单片机实验》.北京:科学出版社,2006.[6]李维諟,郭强.液晶显示应用技术.北京:电子工业出版社.2005.[7]陈小忠、黄宁、赵小侠,单片机接口技术实用子程序.北京:人民邮政出版社,2005.[8]李华,MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993.[9]胡学海,单片机原理及应用系统设计[M].北京:北京电子工业出版社,2005.[10]张义和、陈敌北,《例说8051》.北京:人民邮电出版社,2006. 四、毕业论文进度计划 序号 各阶段工作内容 起止日期 备注 1 完成各种资料的收集 2008.11.15—2009.1.4 完成 2 对资料进行整理 2009.1.5--2.6 完成 3 把整理好的资料按要求书写成册完成毕业设计书 2009.2.7—3.25 完成 4 根据设计书进行课题设计 2009.3.26—5.20 完成 5 论文初稿 2009.5.21--5.23 完成 6 修改论文 2009.5.24—6.1 完成 7 初步定稿 2009.6.1—6.5 完成 五、主要参考资料[1]李群芳、肖看,《单片机原理、接口及应用——嵌入式系统技术基础》.清华大学出版社出版,2005.[2]谢振辉,《改进式MCS-51单片机实验》.北京:科学出版社,2006。[3]张义和、陈敌北,《例说8051》.北京:人民邮电出版社,2006。 六、毕业论文进度表(本表由学生填写,每期分别交指导教师签署审查意见) 前期(2008年11月15日至2009年1月4日) 学生主要工作:收集数字时钟的相关资料,通过的方式上网和上图书馆。通过上网查找数字时钟的现状与近期发展状况。图书馆查找设计的相关书籍。工作较努力,遵守纪律,作风严谨务实。同导师交流论文下一阶段工作进程。指导教师审查意见:年月日 中期(1月5日至5月20日) 学生主要工作:整理资料,把整理好的资料按要求书写成册完成毕业设计书。并根据设计书开始设计课题。论文初稿成形。能按时按量优异地完成任务书中规定的任务,能熟练运用所学理论和专业知识,能综合分析问题和解决问题。运用所学知识和技能及获取新知识去发现与解决实际问题;能对课题进行理论分析。指导教师审查意见:年月日 后期(5月21日至6月5日) 学生主要工作:将论文初稿通过指导老师审查。检查是否存在一些问题,并认真解决问题。从而达到路清新;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。最后确定论文。并按照要求打印论文。学生完成终稿,导师完成毕业论文审定和评阅工作。指导教师审查意见:年月日 七、其他(学生提交)1.开题报告1份2.外文资料译文1份(1000字以上,并附资料原文)3.设计1份(理科4000字以上,文科6000字以上)指导教师:教研室负责人:学生开始执行任务书日期:学生姓名:送交毕业设计日期:宜春学院毕业设计开题报告题目:“基于单片机的数字时钟”设计学院:物理科学与工程技术学院系电子与信息工程系专业:电子信息工程班级:05级学号:0534132105姓名:杨寅红指导教师:甘辉填表日期:2008年11月26日1、选题的依据及意义近些年,随着科技的发展和社会的进步,人们对数字时钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字时钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在多功能数字时钟中的应用已是非常普遍的,人们对数字时钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字时钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。2、国内外研究现状及发展趋势(含文献综述)单片机控制的数字时钟是为适应电子产业的飞速发展。数字化时代对人类的发展产生了巨大的变化,我们亲身经历了数字技术的蓬勃发展,目睹了它以惊人的速度,渗透到社会与生活的方方面面。不管是国内还是在国外,数字化的产品都是不会过时的,人们也在不断地更新一个又一个的设计。3、本课题研究内容系统由AT89C51、LED数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由SB0、SB1、SB2、SB3、SB4完成。其中SB0为时间校对,定时器调整功能键,按SB0进入调整状态。SB1为功能切换键。第一轮按动SB1依次进入一路、二路、三路定时时间设置提示程序,按SB3进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按SB1键,依次进入时间¡年¡位校对、¡月¡位校对、¡日¡位校对、¡时¡位校对、¡分¡位校对、¡秒¡位校对状态。不管是进入那种状态,按动SB2皆可以使被调整位进行不进位增量加1变化。各预置量设置完成后,系统将所有的设置存入RAM中,按SB1退出调整状态。上电后,系统自动进入计时状态,起始于¡00¡时¡00¡分。SB4为年月日显示转换键,可使原来显示时分秒转换显示年月日。4、本课题研究方法单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。在本次设计中采用单片机技术来实现数字钟的功能。方案的设计可以从以下几个方面来确定。微处理器的选择,AT89C51、52是2003年ATMEL推出的新型品种,除了完全兼容8051外,还多了ISP编程和看门狗功能。在本次设计中采用AT89C51单片机;显示电路的设计,随着科技的发展,液晶显示的使用越来越方便,已被普遍的使用。由于液晶显示与驱动都集成在一个芯片上,因此使用起来很方便。在这里采用液晶显示;校时和定时电路的设计;实时控制电路是时钟电路的一个重要组成部分,采用的是一个时钟芯片,单片机从中读取数据送到显示器上显示,从而实现数字钟的功能。5、研究目标、主要特色及工作进度研究目的:就是能让数字时钟能够准确无误的显示出各个时间。主要特点:数字时钟的功能强大,界面友好,更好的满足了人们对它的智能化要求,它很接近我们的生活。六、参考文献[1]李群芳、肖看,《单片机原理、接口及应用——嵌入式系统技术基础》清华大学出版社出版,2005.[2]谢自美,《电子线路设计、实验、测试》武汉:华中理工大学出版社,2000.[3]何书森、何华斌,《实用数字电路原理与设计速成》福州:福建科学技术出版社,2000.[4]白驹衍,《单片计算机及应用》北京:电子工业出版社,1999.[5]谢振辉,《改进式MCS-51单片机实验》北京:科学出版社,2006.[6]李维諟,郭强,液晶显示应用技术.北京:电子工业出版社.2005.[7]陈小忠、黄宁、赵小侠,单片机接口技术实用子程序.北京:人民邮政出版社,2005.[8]李华,MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993.[9]胡学海,单片机原理及应用系统设计[M].北京:北京电子工业出版社,2005.[10]张义和、陈敌北,《例说8051》北京:人民邮电出版社,2006.宜春学院2009届毕业设计答辩资格审查表 题目 “基于单片机的数字时钟”设计 学生姓名 杨寅红 专业 电子信息工程 班级 05级 学号 0534132105 检查内容 论文完成情况 完成 开题报告 完成 外文资料翻译 完成 中、英文摘要 完成 软硬件验收 无 论文期间考勤情况 良好 累计旷课时间 无 学生自查说明本人严格按照任务书进度开展论文设计工作及时发现问题并发馈给指导老师,跟老师一起探讨最佳解决方案,不断的改进设计;严格按照任务书的要求,对论文进行排版,确保内容的准确性、格式无误的情况下完成毕业论文设计工作。学生签名:年月日 指导教师意见(说明是否进行答辩及评定成绩)指导教师签名:成绩年月日宜春学院论文原创性申明本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。对本文的研究作出重要贡献的个人和集体,均在文中以明确方式表明。本人完全意识到本申明的法律责任,其后果由本人承担。作者签名:日期:论文版权使用授权书本论文作者完全了解学校有关保留、使用论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权宜春学院可以将本论文的全部或部分内容编入数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文。作者签名:日期:导师签名:日期:毕业设计设计题目“基于单片机的数字时钟”设计学院物理科学与工程技术学院专业电子信息工程年级2005级姓名杨寅红指导教师甘辉职称讲师(2009年6月)宜春学院教务处制“基于单片机的数字时钟”设计宜春学院物理科学与工程技术学院电子信息工程杨寅红指导老师:甘辉摘要:随着人类科技文明的发展,人们对于时钟的要求在不断地提高。时钟已不仅仅被看成一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现代时钟生产研究的主导设计方向。而且多功能数字时钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在多功能数字时钟中的应用已是非常普遍的,人们对数字时钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字时钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。本文正是基于这种设计方向,以单片机为控制核心,设计制作一个符合指标要求的多功能数字时钟。关键词:数字时钟单片机显示器数码管Abstract:Alongwithhumanscienceandtechnologycivilizationdevelopment.Thepeopleareenhancingunceasinglyregardingclock'srequest.Theclockhasbeenregardednotonlyasonekindtouseforthetelltimethetool.Italsoneedsinthepracticalapplicationtobeabletorealizemoreotherfunctions.Highaccuracy,multi-purpose,smallvolume,lowpowerloss,istendencywhichthemodernclockdevelops.Underthistendency,clock'sdigitization,multi-purposealreadybecamethemodernclockproductionresearchtheleadingdesigndirection.Andmulti-purposedigitalclockregardlessofperformanceorstyleinbothaqualitativechange,theelectronicalarmclock,digitalalarmclock,andsoon.Inthesingle-chipmulti-purposedigitalclockapplicationisverycommon,itisthefunctionofthedigitalclockandareveryfamiliarwiththeorder.Butfewknowitsinternalstructureandworkingprinciple.Bythesingle-chipdigitalclockasthecoreofthecontroller,itcanclocksignaltimingfunctionoftimetoachieveitssingle-chipoutputbythetimedata,monitortheuseofthem.Throughthekeyboardcanbecarriedoutfromtimetotime,theschoolfunctions.Outputdevicecandisplay,liquidcrystaldisplaytechnologyanddigitaltubedisplay.Thisarticleispreciselybasedonthiskindofdesigndirection,takethemonolithicintegratedcircuitasthecontrolcore,thedesignmanufacturesonetoconformtothetargetrequestmulti-purposedigitalclock.Keywords:ClockMonolithicintegratedcircuitDisplayDigitalcontrol目录31、前言42、硬件42.1硬件的基本组成42.2硬件的基本组成(见图A)42.3硬件介绍:42.3.1单片机概述42.3.2AT89C51单片机简介82.4数码显示管103、电路原理分析103.1电路图如下:(图A)103.2显示原理103.3键盘及读数原理103.4连击功能的实现114、程序设计思想和相关指令介绍114.1数据与代码转换114.2计时功能的实现与中断服务程序114.3时间控制功能与比较指令125、软件设计125.1KeiluVision2编程软件的介绍125.2PROTEUS7.0仿真软件125.4程序部分(见附录A)125.3程序流程图(见附录B)136附录237、结论248、参考文献259、辞谢1、前言时钟,自从它被发明的那天起,就成为人们生活中必不可少的一种工具,尤其是在现在这个讲究效率的年代,时钟更是在人类生产、生活、学习等多个领域得到广泛的应用。然而随着时间的推移,人们不仅对于时钟精度的要求越来越高,而且对于时钟功能的要求也越来越多,时钟已不仅仅是一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。诸如闹钟功能、日历显示功能、温度测量功能、湿度测量功能、电压测量功能、频率测量功能、过欠压报警功能等。钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。可以说,设计多功能数字时钟的意义已不只在于数字时钟本身,更大的意义在于多功能数字时钟在许多实时控制系统中的应用。在很多实际应用中,只要对数字时钟的程序和硬件电路加以一定的修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。因此,研究数字时钟及扩大其应用,有着非常现实的意义怎样让时钟更好的为我们服务?怎样让时钟更符合实际应用的需求?这就要求人们不断设计出新型时钟,不断设计出适合实际应用的多功能时钟。本毕业设计方案正是根据以上所述并结合日常生活中对时钟功能需求的分析,运用单片机技术,设计出一个适合日常生活需要的多功能数字时钟。2、硬件2.1硬件的基本组成数码管(7SEG)、4511、单片机(AT89C51)、按钮(BUTTON)、电容(CAP)、晶振(CRYSTAL)、二极管(LED)、三极管(NPN)、电阻(RES)。2.2硬件的基本组成(见图A)2.3硬件介绍:2.3.1单片机概述单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源于“SingleChipMicrocomputer”,简称SCM。随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。国际上逐渐采用“MCU”(MicroControllerUnit)来代替,形成了单片机界公认的、最终统一的名词。为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成,故而可继续沿用。2.3.2AT89C51单片机简介AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。主要性能参数:·与MCS-51产品指令系统的全兼容·4k字节可重擦写Flash闪速存储器·1000次可擦写周期·全静态操作:0Hz-24MHz·三级加密程序存储器·128×8字节内部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·可编程串行UART通道·低功耗空闲和掉电模式 AT89C51图2.1单片机AT89C512.3.2.1AT89C51功能特性描述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,窜行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。1)AT89C51引脚功能说明:·Vcc:电源电压·GND:地·P0口:PO口是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。·P1口:P1口是一个内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流(I)。Flash编程和程序校验期间,P1口接收8位地址。·P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输入缓冲极可以驱动(输入或输出电流)4个TTL逻辑门电路。对端口“1”,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或1位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线的内容(也既特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高地址和其他控制信号。·P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如表2.2所示:表2.2AT89C51的P3端口P3口还接收一些用于Flas闪速存储器编程和程序校验的控制信号·RST:复位输出。当震荡器工作时,RST引脚出现两个机器周期以上高电平使机器复位。·ALE/当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ALE仍时钟震荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还要输入编程脉冲()。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令可激活。此外,此引脚会被微弱拉高,单片机执行外部程序时,应该置ALE无效。·:程序存入允许()输出的是外部程序存储器的读选通信号,当AT89C51由外部程序取指令(或数据)时,每个机器周期两次有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的信号不出现。·EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H--FFFFH),EA端必须保持低电平(接地)。要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V的编程电压Vpp。·XTAL1:震荡器反向放大器及内部时钟的输入端。·XAAL2:震荡器反向放大器的输出端。·时钟震荡器:AT89C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图。外接石英晶体(或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。对外接电容C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pF±10pF,而如果使用陶瓷谐振器建议选择40pF±10pF。用户还可以采用外部时钟,采用外部时钟如图所示。在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,XTAL2悬空。图2.3内部震荡电路图2.4外部震荡电路由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的所有外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。·Flash闪速存储器的编程:AT89C51单片机内部有4K字节的FlashPEROM,这个Flash存储存储阵列出厂时已处于擦除状态(既所有存储单元的内容均为FFH),用户随时可对其进行编程。程序接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式,适用与用户在线编程系统。而高电平模式可与通用EPROM编程程序兼容。·编程方法:编程前需设置好地址、数据及控制信号,编程单元的地址就、加在P1口和P2口的P2.0—P2.3(11位地址范围为0000H—0FFFH),数据从P0口输入,引脚P2.6、P2.7和P3.6、P3.7的电平设置见表。PSEN为低电平,RST保持高电平,EA/Vp引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)编程时可采用4—20MHz的时钟震荡器AT89C51的编程方法如下:1.0在地址线上加上要编程单元的地址信号。1.1)在数据线上加上要写入的数据字节。1.2)激活相应的控制信号。1.3)在高电压编程时,将EA/Vpp端加上+1V编程电压。1.4)每对Flash存储阵列写入一个字节,加上一个ALE/PROG编程脉冲。2)AT89C51控制信号RST/VPD(9脚)复位信号时钟电路工作后,在引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后片内存储器的状态如表所示,P1—P3口输出高电平,初始值07H写入堆栈指针SP、清0程序计数器PC和其余特殊功能寄存器,但始终不影响片内RAM状态,只要该引脚保持高电平,89C51将循环复位,RAT/VPD从高电平到低电平单片机将从0号单元开始执行程序,另外该引脚还具有复用功能,只要将VPD接+5V备用电源,一旦Vcc电位突然降低或断电,能保护片内RAM中的信息不丢失,恢复电后能正常工作。AT89C81通常采用上电自动复位和开关手动复位,我们采用的是手动复位开关如图所示:图2.5手动开关手动开关未按下之前,电容正极处于家电状态,当按键按下去后,VCC与GND导通,电容放电,从而实现放电。2.4数码显示管要用单片机构成发射机,就需要一个人机界面。常采用的方式是LED数码管显示测试结果,用一个小键盘执行某些功能,如请零、预置值、改变测量范围等等。LED显示器的工作原理:LED显示是用发光二极管显示字段的显示器件,也可称为数码管,其外形结构如图所示,由图可见它由8个发光二极管构成,通过不同的组合可用来显示0~9、A~F及小数点。LED显示器分为共阴极和共阳极,共阴极是将8个发光二极管阴极连接在一起作为公共端,而共阳极是将8个发光二极管的阳极连接在一起作为公共端。我们这次就是采用的共阳极LED,所以这里要介绍共阳极数码管。如图3.1所示,LED显示器有静态和动态显示两种方式,静态显示是将共阴极联到一起接地,每位的显示段(a-dp)分别与一个8位的锁存器输出相连。由于显示的各位可以相互独立,各位可以互相显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。并且由于各位由一个8位锁存器控制段选线,故在同一时间内每一位显示的字符可以不同,图3.1“8”字型数码管表3.1段码与字型的关系 段码 D7DP D6g D5f D4e D3d D2c D2b D0a 字形 3FH 0 0 1 1 1 1 1 1 0 06H 0 0 0 0 0 0 1 0 1 5BH 0 1 0 1 1 0 1 1 2 4FH 0 1 0 0 1 1 1 1 3 66H 0 1 1 0 0 1 1 0 4 6DH 0 1 1 0 1 1 0 1 5 7DH 0 1 1 1 1 1 0 1 6 07H 0 0 0 0 0 1 1 1 7 7FH 0 1 1 1 1 1 1 1 8 6FH 0 1 1 0 1 1 1 1 9 77H 0 1 1 1 0 1 1 1 a 7CH 0 1 1 1 0 1 1 1 b 39H 0 0 1 1 1 0 0 1 c 5EH 0 1 0 1 1 1 1 0 d 79H 0 1 1 1 1 0 0 1 e 71H 0 1 1 1 0 0 0 0 f这种方式占用锁存器较多。动态显示是将所有位的段选线相应的并联在一起,由一个8位的I/O口控制,形成段选线的多路复用。而各位的阴极分别由相应的I/O口控制,实现各位的分时选通。要LED能够显示相应的字符,就必须采用动态扫描方式,只要每位显示的时间足够短,则可造成多位同时显示的假象,达成显示的目的。在数字电路中常常要把数据或运算结果通过半导体数码管、液晶数码和荧光数码管,用十进制数显示出来。发光二极管的工作电压为1.5-3.0伏,工作电流为己毫安到几十毫安,寿命很长。半导体数码管将十位数分成七个字段,每段为一个发光二极管,其字形结构如图所示,选择不同的字段发光,可显示出不同的字型。例如:当a,b,c,d,e,f,g七个字段同时亮时,显示8,b、c段亮时,显示出1。共阳极:把发光二极管的阳极连在一起构成共阳极。使用时公共端接Vcc,当某阳极为低电平时,该发光二极管就导通发光。输出一个段码就可以控制LED显示器的字型,表3.1给出了段码与字型的关系,假定a、b、c、d、e、f、g、DP分别对应D0、D1、D2、D3、D4、D5、D6、D7。3、电路原理分析3.1电路图如下:(图A)3.2显示原理电路原理图见附图A。由6个共阴极的数码管组成时、分、秒的显示。P0口的8条数据线P0.0至P0.7分别与两个CD4511译码的ABCD口相接,P2口的P2.0至P2.2分别通过电阻R10至R13与T1至VT3的基极相连接。这样通过P0口送出一个存储单元的高位、低位BCD显示代码,通过P2口送出扫描选通代码轮流点亮LED1至LED6,就会将要显示的数据在数码管中显示出来。从P0口输出的代码是BCD码,从P2口输出的就是位选码。这是扫描显示原理。3.3键盘及读数原理键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms.3.4连击功能的实现按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应的功能会反复执行,好象连续执行,在这里我们采用软件延时250ms,当按键没释放则执行下一条对应程序。利用连击功能,能实现快速调时操作。4、程序设计思想和相关指令介绍本系统的主程序主要完成时间显示和定时输出判断功能。而年月日显示和各时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。4.1数据与代码转换由前述可知,从P2口输出位选码,从P0口输出段选码,LED就会显示出数字来。但P0口的输出的数据是要BCD码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储单元的数据直接送到P0口去驱动LED数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD码行转换后,将各个单元数据的段选代码送入P0口,给CD4511译码后去驱动数码管显示。具体转换过程如下:我们先将要显示的数据装入累加器A中,再将A中的数据转换成高低两位的BCD码,再放回A中,然后将A中的值输出。如:有一个单元存储了45这样一位数,则需转换成四位的BCD码:(0100)(0101)然后放入A中。A中BCD码,高位四位代表¡4¡低四位代表¡5¡同时送给两个译码器中,译码后¡45¡字就在两个LED中显示出来。4.2计时功能的实现与中断服务程序时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0打开后,进入计时,满100毫秒后,重装定时。中断一次,满一秒后秒进位,满60秒后即为1分钟,分钟单元进位,60分到了后,时单元进位,24小时满后,天单元进位。这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送LED中显示出来,实现时钟计时功能。累加是用指令INC来实现的。进入中断服务程序以后,执行PUSHPSW和PUSHA将程序状态寄存器PSW的内容和累加器A中的数据保存起来,这便是所谓的¡保护现场¡.以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内RAM中的任一区间设定,而堆栈的数据存取与一般的RAM存取又有区别,对它的操作,要遵循¡后进先出¡的原则。4.3时间控制功能与比较指令系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间置入RAM某一单元,在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条CLR指令,将对应的那路P3置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB对应的P3置低电位,二极管截止,。实现此控制功能用到的比较指令为CJNEA,#direct,rel,其转移条件是累加器A中的值与立即数不等则转移。5、软件设计单片机采用KeiluVision2编程软件编程,画图采用PROTEUS6.9仿真软件。5.1KeiluVision2编程软件的介绍KeiluVision2IDE是Keil公司提供的用语开发MSC-51系列单片机的汇编语言与C语言程序的集成开发环境发,操作界面和其他Windows应用程序一样。uVision2支持所有的KeilC51工具,包括C编译器、宏汇编其、连接定位器、目标代码到HEX的转换器。KeilC51的Windows版的软件,都是要建立一个工程文件,不管是汇编语言的,还是C语言的,只有一个文件,还是有多个文件的程序都要有一个工程文件,没有工程文件,将不能进行编译和仿真。5.2PROTEUS7.0仿真软件Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件。Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“TheRoutetoPCBCAD”。Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。PROSPICE仿真器的一个扩展PROTEUSVSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。·支持许多通用的微控制器,如PIC,AVR,HC11以及8051;·交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘;·强大的调试工具;包括寄存器和存储器,断点和单步模式;·IARC-SPY和KeiluVision2等开发工具的源层调试;应用特殊模型的DLL界面-提供有关元件库的全部文件。5.4程序部分(见附录A)5.3程序流程图(见附录B)6附录附录A:SECEQU32H;秒即时时间\伪指令MINEQU31H;分HOUREQU30H;时DAYEQU35H;日MONEQU34H;月YEAREQU33H;年MIN_1EQU41H;分定时器1路、开存储单元HOUR_1EQU42H;时DAY_1EQU43H;MON_1EQU44H;YEAR_1EQU45H;MIN_11EQU40H;分定时器1路、关存储单元HOUR_11EQU46H;时DAY_11EQU47H;日MON_11EQU48H;月YEAR_11EQU49H;年;***********************ORG0000HljmpMAINORG0003H;中断转换显示年月日、INT0(SB4键)LJMPSHOWORG000BH;计数中断T0、方式1LJMPTIMEORG0013HLJMPCHANGE;调整时间、定时、INT1(SB0键);------主程序ORG0030HMAIN:;--------初始化付值MOVYEAR,#02MOVMON,#05MOVDAY,#01MOVHOUR,#00MOVMIN,#00MOVSEC,#00CLR40H;定时单元1路清零CLR41HCLR42HCLR43HCLR44HCLR45HCLR46HCLR47HCLR48HCLR49H;-------开中断MOVTMOD,#01H;计数、模式1、T0MOVTL0,#0B0H;100SM计数定时MOVTH0,#3CH;clrp3.0MOV20H,#0AH;10次*100SMSETBPT0;T0为最高级SETBTR0;允许计数SETBET0;允许T0中断SETBEX0;允许INT0中断SETBEX1;允许INT1中断SETBEA;开总中断;------显示、定时器启动判断LOOP:MOVR1,#30H;存储单元MOVR4,#01H;位选通MOVR3,#03H;三组显示NEXT:MOVA,@R1;MOVB,#10;将存储单元转换成两高低两组的BCD码DIVABSWAPAORLA,BMOVP0,A;输出MOVP2,R4INCR1;下一单元MOVA,R4;RLA;位移MOVR4,ALCALLDE5SM;延时0.5SMDJNZR3,NEXT;全扫描显示一偏;------判断定时输出(只编写了一路)CJNER7,#88H,LOOP;是8则开,否则、定时已关、转;---------开MOVA,YEARCJNEA,YEAR_1,LOOP_1;年比较,不等转关MOVA,MONCJNEA,MON_1,LOOP_1MOVA,DAYCJNEA,DAY_1,LOOP_1MOVA,HOURCJNEA,HOUR_1,LOOP_1MOVA,MINCJNEA,MIN_1,LOOP_1CPLP3.0;---------关LOOP_1:MOVA,YEARCJNEA,YEAR_11,LOOP;年比较MOVA,MONCJNEA,MON_11,LOOPMOVA,DAYCJNEA,DAY_11,LOOPMOVA,HOURCJNEA,HOUR_11,LOOPMOVA,MINCJNEA,MIN_11,LOOPCPLP3.0LJMPLOOP;-----年月日显示中断子程序SHOW:PUSHPSWpushACCPUSHBPUSH01HPUSH02HPUSH03HPUSH04HMOVR2,#0FFH;中断扫描次数TURN:MOVR1,#33HMOVR4,#01HMOVR3,#03HNEXT_1:MOVA,@R1MOVB,#10DIVABSWAPAORLA,BMOVP0,AMOVP2,R4INCR1RLAMOVR4,ALCALLDE5SMDJNZR3,NEXT_1DJNZR2,TURN;反复显示一定时间后返回POP04HPOP03HPOP02HPOP01HPOPBPOPACCPOPPSWRETI;-----计数中断服务子程序TIME:PUSHPSWPUSHACCPUSHBPUSH06HMOVTH0,#3CH;重装计数MOVTL0,#0BH;DJNZ20H,OUT;转到中断跳出pop程序MOV20H,#0AH;重装:100*10=1000;-----进位程序INCSECMOVR6,SEC;CJNER6,#60,OUT;比较MOVSEC,#00;INCMINMOVR6,MINCJNER6,#60,OUTMOVMIN,#00INCHOURMOVR6,HOURCJNER6,#25,OUTMOVHOUR,#00INCDAYMOVR5,MONCJNER5,#1,MON_22;是否1月、不是转2月MOVR5,DAYCJNER5,#32,OUT;本月是否益出INCMONMOVDAY,#1LJMPOUTOUT:POP06HPOPBPOPACCPOPPSWRETIMON_22:MOVR5,MONCJNER5,#2,MON_33;是否2月、不是转3月MOVA,YEAR;判断是否瑞年MOVB,#4DIVABMOVA,BJNZOUT_1;不是则转(A不为零则转)MOVR5,DAYCJNER5,#30,OUT;如是瑞年、判断是否到29天INCMONMOVDAY,#1LJMPOUTOUT_1:MOVR5,DAYCJNER5,#29,OUT;平年二月判断INCMONMOVDAY,#1LJMPOUTMON_33:MOVR5,MONCJNER5,#3,MON_44MOVR5,DAYCJNER5,#32,OUTINCMONMOVDAY,#1LJMPOUTMON_44:MOVR5,MONCJNER5,#4,MON_55MOVR5,DAYCJNER5,#31,OUTINCMONMOVDAY,#1LJMPOUTMON_55:MOVR5,MONCJNER5,#5,MON_66MOVR5,DAYCJNER5,#32,OUTINCMONMOVDAY,#1LJMPOUTMON_66:MOVR5,MONCJNER5,#6,MON_77MOVR5,DAYCJNER5,#31,OUTINCMONMOVDAY,#1LJMPOUTMON_77:MOVR5,MONCJNER5,#7,MON_88MOVR5,DAYCJNER5,#32,L1INCMONMOVDAY,#1L1:LJMPOUTMON_88:MOVR5,MONCJNER5,#8,MON_99MOVR5,DAYCJNER5,#32,L2INCMONMOVDAY,#1L2:LJMPOUTMON_99:MOVR5,MONCJNER5,#9,MON_00MOVR5,DAYCJNER5,#31,L3INCMONMOVDAY,#1L3:LJMPOUTMON_00:MOVR5,MONCJNER5,#10,MON_AAMOVR5,DAYCJNER5,#32,L4INCMONMOVDAY,#1L4:LJMPOUTMON_AA:MOVR5,MONCJNER5,#11,MON_BBMOVR5,DAYCJNER5,#31,L5INCMONMOVDAY,#1L5:LJMPOUTMON_BB:MOVR5,DAYCJNER5,#32,L6INCYEARMOVMON,#1MOVDAY,#1L6:LJMPOUT;-------按SB2\定时器年单元加1子程序SB3_2:LJMPSHOW_2;二路没编返回SB3_3:LJMPSHOW_3;三路没编返回SB3_1:MOVA,YEAR_1;调时年单元MOVB,#10DIVABSWAPAORLA,BMOVP0,AMOVP2,#01HLCALLREADLCALLDE250SMCJNEA,01H,SB3_1CJNEA,#0FBH,KEY2_7;按SB2转年调整LJMPMON_111;按SB1往下调月单元KEY2_7:CJNEA,#0FDH,SB3_1INCYEAR_1;1路年单元加1MOVR5,YEAR_1CJNER5,#09,SB3_1;益出MOVYEAR_1,#00HAJMPSB3_1;;-------月单元加1子程序MON_111:MOVA,MON_1;调时月单元显示MOVB,#10DIVABSWAPAORLA,BMOVP0,AMOVP2,#02HLCALLREADLCALLDE250SMCJNEA,01H,MON_111CJNEA,#0FBH,KEY2_8;按SB2转月调整LJMPDAY_111KEY2_8:CJNEA,#0FDH,MON_111INCMON_1;1路月单元加1MOVR5,MON_1CJNER5,#13,MON_111;益出MOVMON_1,#01
/
本文档为【05电子信息工程班_杨寅红毕业论文最后修改稿】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索