基于单片机的电子万年历设计_毕业设计

上传人:e****s 文档编号:171510832 上传时间:2022-11-27 格式:DOC 页数:57 大小:654.50KB
收藏 版权申诉 举报 下载
基于单片机的电子万年历设计_毕业设计_第1页
第1页 / 共57页
基于单片机的电子万年历设计_毕业设计_第2页
第2页 / 共57页
基于单片机的电子万年历设计_毕业设计_第3页
第3页 / 共57页
资源描述:

《基于单片机的电子万年历设计_毕业设计》由会员分享,可在线阅读,更多相关《基于单片机的电子万年历设计_毕业设计(57页珍藏版)》请在装配图网上搜索。

1、XX 学院 毕 业 设 计论 文题 目:基于单片机的电子万年历设计 院 系: 电子工程学院 专 业: 电子科学与技术 班 级: 学生姓名: 导师姓名: 职称: 教授 起止时间:2010年03月09日 至 2010年06月20日西 安 邮 电 学 院毕业设计(论文)任务书学生姓名指导教师职称教授院系电子工程学院专业电子科学与技术题目基于单片机的电子万年历设计 任务与要求一、任务:设计基于单片机的电子万年历,到达同时显示年、月、日、时、分、秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的

2、不同状态,实现不同功能。二、要求:1、熟悉单片机,C语言等相关知识。2、学会使用Keil C软件开发环境。3、定时器整体硬件设计,中断系统设计,软件编程,系统调试等。4、能自己独立解决设计中的问题,加强自主学习能力。5、成果形式:软件程序,硬件模块,论文。开始日期年 月 日完成日期年 月 日系主任(签字)年月日西 安 邮 电 学 院毕 业 设 计 (论文) 工 作 计 划 学生姓名_ _ 指导教师 _职称 教授 _院别_电子工程学院 _专业 电子科学与技术_ 题目 基于单片机的电子万年历设计 工作进程起 止 时 间工 作 内 容第一周至第二周 熟悉课题,找导师了解设计的相关事宜,搜集相关资料第

3、三周至第四周 认真的研读相关资料,找出其中对自己有用的局部,加以整理 第五周至第六周 花两周时间学好Keil C 软件的使用,做一些对自己的设计有用的编程 第七周至第八周 编写程序,熟悉8051单片机 第九周至第十周 下载程序,调试结果 第十一周至第十二周 撰写毕业论文,准备辩论。主要参考书目(资料)主要参考书目(资料)1、 单片机原理及应用 2、单片机原理及接口技术3、 单片机编程实例 4、单片机实验教程相关网站:w主要仪器设备及材料1、计算机及配套软件2、单片机3、元件假设干论文(设计)过程中教师的指导安排除每周定时具体指导外,学生有问题也可随时联系指导。对方案的说明如有特殊原因可适当调整

4、,否那么按方案执行。 XX学院毕业设计(论文)开题报告 电子工程 学院 电子科学与技术 专业 级 班课题名称:基于单片机的电子万年历设计学生姓名: 学号: 0 0指导教师: 报告日期: 2021年3月15号 1本课题所涉及的问题及应用现状综述在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的开展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一

5、,没有更大程度上的满足人们的需求。因此在这里,我想能不能把一些辅助功能参加钟表中。在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:世界时、农历显示。人类不断研究,不断创新纪录。开展到现在人们广泛使用的电子万年历。 电子万年历是采用基于单片机以实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的开展和石英晶体振荡器的广泛应用,使得电子钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、

6、定时播送、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表电子化为根底的。因此,研究电子万年历及扩大其应用,有着非常现实的意义。它可以对年、月、日、时、分、秒进行计时,对于电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。 2本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析关键问题:1系统硬件的设计与实现;2系统软件总体的设计和调试,以实现完成年、月、日、时、分、秒的控制与显示;3中断模块的设计;4定时计数模块的设计;解决思路: 该电子万年历使用12MHZ晶振与单片机8051相连接,通

7、过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。可行性分析:由于深入学习过单片机原理及应用、模拟电路、数字电路与逻辑设计、C语言程序设计、电路分析、传感器原理及应用等课程,并应用所学知识做过一些相关的实验工程。而本课题是对所学知识的综合运用,都是比拟成熟的技术,因此实现难度不是很大,方案可行。3完本钱课题的工作方案第一周至第二周 查阅资料了解关于存放器,中断,数码管显示的相关知识。 第三周至第四周

8、 学习各种配套软件的原理和应用,确定需要的型号。 第五周至第六周 设计各个模块的程序,并进行调试。 第七周至第八周 调试各个模块,购置相应的单片机,下载调试程序,性能分析。 第十周至第十一周 调试成功,实现设计的目的,完成设计。 第十二周至第十三周 撰写毕业论文,准备辩论。4指导教师审阅意见指导教师(签字): 年 月 日说明:本报告必须由承当毕业论文(设计)课题任务的学生在毕业论文(设计) 正式开始的第1周周五之前独立撰写完成,并交指导教师审阅。XX学院毕业设计 (论文)成绩评定表学生姓名 性别男学号 专 业班 级 课题名称基于单片机的电子万年历设计课题类型硬件设计难度较难毕业设计论文时间20

9、10年03月09日06月20日指导教师 (职称 教授 )课题任务完成情况论文 (千字); 设计、计算说明书 (千字); 图纸 (张);其它(含附件):指导教师意见分项得分:开题调研论证 分; 课题质量论文内容 分; 创新 分;论文撰写标准 分; 学习态度 分; 外文翻译 分指导教师审阅成绩:指导教师(签字): 年 月 日评阅教师意见分项得分:选题 分; 开题调研论证 分; 课题质量论文内容 分; 创新 分;论文撰写标准 分; 外文翻译 分评阅成绩: 评阅教师(签字): 年 月 日验收小组意见分项得分:准备情况 分; 毕业设计论文质量 分; 操作答复以下问题 分验收成绩:验收教师(组长)(签字)

10、: 年 月 日答辩小组意见分项得分:准备情况 分; 陈述情况 分; 答复以下问题 分; 仪表 分辩论成绩: 辩论小组组长(签字): 年 月 日成绩计算方法(填写本系实用比例)指导教师成绩 20 () 评阅成绩 30 () 验收成绩 30 () 辩论成绩 20 ()学生实得成绩(百分制)指导教师成绩 评阅成绩 验收成绩 辩论成绩 总评 辩论委员会意见毕业论文(设计)总评成绩(等级): 系辩论委员会主任(签字): 系(签章) 年 月 日备注XX学院毕业论文(设计)成绩评定表(续表)目录摘 要3Abstract4引言5第一章 绪论61.1立题背景61.2电子万年历的开展现状及前景61.3本课题需要重

11、点研究的关键问题、解决的思路及实现预期目标的可行性分析6第二章 单片机72.1 单片机简介7单片机原理72.1.2 单片机历史72.1.3 单片机应用领域82.2 定时/计数器8定时/计数器的结构8定时/计数器的工作原理8定时/计数器的控制92控制存放器TCON10定时/计数器的工作方式102.2.5 定时器的初始化过程112.3 中断系统112.3.1 中断概述112.3.2 中断的主要功能及优先级112.3.3 80C51 定时中断11中断响应的过程122.3.5 8051 中 断 源122.4 串行接口122.4.1 串行接口的根本概念122.4.2 80C51串行口的结构13串行口控制

12、存放器SCON132.4.4 80C51串行口的工作方式142.5 矩阵式键盘接口电路142.5.1 矩阵式键盘接口电路的组成152.5.2 矩阵式键盘的按键识别及特点152.5.3 由8052 PI口的上下字节构成44矩阵式键盘接口电路16原理图如以下图(2.7)162.6 LED动态显示电路172.6.1 动态显示的特点172.6.2 LED显示器的接法17第三章Keil C软件使用18第四章 设计流程图214.1总体设计流程图214.2初始化流程图224.3按键消抖流程图234.4时间调整流程图24致谢25参考文献26附录27摘 要单片机应用技术飞速开展,纵观我们现在生活的各个领域,从导

13、弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,本钱低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而到达学习、设计、开发软、硬的能力。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而到达学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89C51、显示电路、按键电路

14、、和复位电路等局部构成,能实现时钟日历显示的功能,能进行年、月、日、时、分、秒的显示。关键词 : 单片机、万年历、C语言AbstractSingle-Chip Microcomputer application technology develop rapidly, looking around us now in all spheres of life, from missiles, navigation equipment, to the various instruments on the aircraft control from a computer network communic

15、ations and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable from the microcontroller. Monolithic single-chip is the set of CPU, RAM, ROM, the timing, number and variety of i

16、nterface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM is the most typical and the most representative one. The graduation design Through the study, and thereby achieve the study, desig

17、n, development hardware and software capabilities. Based on a microcontroller based on the will to achieve calendar of a multi-functional electronic clock design,Thereby achieve studying and understanding the relevant directives MCU in all aspects of the application. By main control AT89C51、keystrok

18、e circuit and restore circuit componented, to achieve clock calendar display function can be carried out, hours seconds of the show and real-time temperature display. Keywords : Monolithic single-chip,lunar calendar demand, perpetual calendars 引言随着微电子技术的高速开展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多

19、优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比拟高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢送。LED数字显示

20、的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。 所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。第一章 绪论1.1立题背景在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的开展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。因此在这里,我想能不能把一些辅助功能参加钟表中。在

21、此设计中所设计的钟表不但具有普通钟表的功能,它还能实现额外的功能:世界时、农历显示。人类不断研究,不断创新纪录。开展到现在人们广泛使用的电子万年历。1.2电子万年历的开展现状及前景电子万年历是采用基于单片机以实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们常生活中不可少的必需品,由于数字集成电路的开展和石英晶体振荡器的广泛应用,使得电子钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时播送、自动起闭路灯、定时开关烘箱、通断动力设备、甚

22、至各种定时电气的自动启用等,但是所有这些,都是以钟表电子化为根底的。因此,研究电子万年历及扩大其应用,有着非常现实的意义。它可以对年、月、日、时、分、秒进行计时,对于电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。综上所述此电子万年历具有读取方便、显示直观、功能多样、电路简洁、本钱低廉等诸多优点,符合电子仪器仪表的开展趋势,具有广阔的市场前景。1.3本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单

23、片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。假设用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比拟复杂,本钱也非常高。假设用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其本钱降低,更适合我们生自主研发。所以在该设计与制作中我选用了单片机8051,它是低功耗、高性能的CMO

24、S型8位单片机。因此,采用单片机8051原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们生来说也更加有用。第二章 单片机2.1 单片机简介单片机原理单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路集成到一块硅片上构成的一个小而完善的计算机系统。 单片机历史1) SCM即单片微型计算机Single Chip Microcomputer阶段,主要

25、是寻求最正确的单片形态嵌入式系统的最正确体系结构。“创新模式获得成功,奠定了SCM与通用计算机完全不同的开展道路。在开创嵌入式系统独立开展道路上,Intel公司功不可没。 2) MCU即微控制器Micro Controller Unit阶段,主要的技术开展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,开展MCU的重任不可防止地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的开展也有其客观因素。在开展MCU方面,最著名的厂家当数Philips公司。 单片机应用领域目前单片机渗透到我们生活

26、的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的平安保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。2.2 定时/计数器定时/计数器的结构 定时/计数器的实质是加1计数器16位,由高8位和低8位两个存放器组成。TMOD是定时/计数器的工作方式存放器,确定工作方式和功能;TCON

27、是控制存放器,控制T0、T1的启动和停止及设置溢出标志。 组成图如以下图(2.1) 图2.1定时/计数器的工作原理加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求定时/计数器中断允许时。如果定时/计数器工作于定时模式,那么表示定时时间已到;如果工作于计数模式,那么表示计数值已满。定时/计数器的控制80C51单片机定时/计数器的工作由两个特殊功能存放器控制。TMOD用于设置其工作方

28、式;TCON用于控制其启动和中断申请。1工作方式存放器TMOD 工作方式存放器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下表(2.2): 表(2.2)GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了或引脚为高电平这一条件。 :定时/计数模式选择位。 0为定时模式; =1为计数模式。M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。设置表如下表 表2

29、控制存放器TCON TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下表(2.3):表(2.3)v TF1TCON.7:T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。v TR1TCON.6:T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。v TF0TCON.

30、5:T0溢出中断请求标志位,其功能与TF1类同。v TR0TCON.4:T0运行控制位,其功能与TR1类同。定时/计数器的工作方式 方式1 方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。原理图如以下图(2.4): 图(2.4)计数个数与计数初值的关系为:定时时间=216-T0初值时钟周期12 定时器的初始化过程(1)根据要求选择方式,确定方式控制字,写入方式控制存放器TMOD。(2)根据要求计算定时/计数器的计数值,再由计数值求得初值,写入初值存放器。(3)根据需要开放定时/计数器中断。(4)设置定时/计数器控制存放器TCON的值,启动定时/计数器开

31、始工作。(5)等待定时/计数时间到,那么执行中断效劳程序;如果查询处理那么编写查询程序,判断溢出标志,溢出标志等于1,那么进行相应处理。2.3 中断系统 中断概述中断是指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。 2.3.2 中断的主要功能及优先级1)实现CPU与外部设备的速度配合2)实现实时控制3)实现故障的及时发现与处理4)实现人机联系中断优先级越高, 那么响应优先权就越高。当CPU正在执行中断效劳程序时, 又有中断优先级更高的中断申请产生, 这时CPU就会暂

32、停当前的中断效劳转而处理高级中断申请, 待高级中断处理程序完毕再返回原中断程序断点处继续执行, 这一过程称为中断嵌套。 2.3.3 80C51 定时中断 定时中断是为满足定时或计数的需要而设置的。当计数器发生计数溢出时,说明设定的定时时间到或计数值满,这时可以向CPU申请中断。由于定时器/计数器在单片机内部,所以定时中断属内部中断。80C51有二个定时中断源,即:(1) TF0(P3.4)T0溢出中断(2) TF1(P3.5)T1溢出中断2.3.4中断响应的过程(1) 在每条指令结束后, 系统都自动检测中断请求信号, 如果有中断请求,且CPU处于开中断状态下, 那么响应中断。 (2) 保护现场

33、, 在保护现场前, 一般要关中断, 以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的存放器推入堆栈。(3) 中断效劳, 即为相应的中断源效劳。 (4) 恢复现场, 用堆栈指令将保护在堆栈中的数据弹出来, 在恢复现场前要关中断, 以防止现场被破坏。在恢复现场后应及时开中断。 (5) 返回, 此时 CPU将推入到堆栈的断点地址弹回到程序计数器, 从而使CPU继续执行刚刚被中断的程序。 2.3.5 8051 中 断 源2.4 串行接口 串行接口的根本概念(1) 同步方式是将一大批数据分成几个数据块, 数据块之间用同步字符予以隔开, 而传输的各位二进制码之间都没有间隔。 其根本特征是发送与接

34、收时钟始终保持严格同步。 (2异步通信是按帧传送数据, 它利用每一帧的起、止信号来建立发送与接收之间的同步,每帧内部各位均采用固定的时间间隔, 但帧与帧之间的时间间隔是随机的。其根本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志, 它是以字符为单位一个个地发送和接收的。2.4.2 80C51串行口的结构示意图如以下图2.5 图2.5有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H ;接收器是双缓冲结构 ;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。串行口控制存放器SCON SCON用于控制和监视串行口的工作状态, 其各位定义如图 5.3 所示。相应的各

35、位功能介绍如下: SM0、SM1: 用于定义串行口的操作模式, 两个选择位对应 4 种模式,见表6.2。其中fOSC是振荡器频率, UART为通用异步接收和发送器的英文缩写。 SM2: 多机通信时的接收允许标志位。 在模式 2 和 3 中, 假设SM2 = 1, 且接收到的第 9 位数据RB8是 0, 那么接收中断标志RI不会被激活。在模式1中, 假设SM2=1 且没有接收到有效的停止位, 那么 RI不会被激活。 在模式 0 中, SM2 必须是 0串行口操作模式选择表 表 80C51串行口的工作方式 方式1 方式1是10位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧

36、数据的格式如下图。其中1位起始位,8位数据位,1位停止位。 原理如以下图2.6。 图2.6用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,那么说明起始位有效,将其移入输入移位存放器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位存放器右边移入,起始位移至输入移位存放器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0或接收到的停止位为1时,将接收到的9位数据的前8位数据装入接收SBUF,第9位停止位进入RB8,并置RI=1,向CPU请求中断。2.5 矩阵式键盘接口电路 矩阵式键盘接口电路的组成 矩阵式键盘接口电

37、路是由行线、列线和按键组成的,按键位于行线和列线的交叉点上。按键的连线引到行线、列线的交叉点出,行线、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V电平上。无按键动作时,行线处于高电平状态;当有按键按下时,行线电平状态将由与其连接的列线电平决定。如果列线电平为低,那么行线电平为低;如果列线电平为高,那么行线电平也为高。这一点是识别矩阵式键盘的按键是否被按下的关键。由于矩阵式键盘中行线、列线为多键公用,各按键均影响该键所在行和列的电平,因此各按键彼此将相互发生影响,所以必须将行线、列线信号配合起来并作适当处理,才能确定闭合键的位置。 矩阵式键盘的按键识别及特点在矩阵式键盘接口电路中,按

38、键识别的方法有两种:一种是扫描法;另一种是线反转法。用扫描法识别按键状态时分两步进行:1) 识别按键有无按下。让所有列线均置为0电平,检查各行线电平有无变化。假设有,那么说明有键按下;假设无,那么说明武键按下。除此之外,实际编程时还要用软件消抖得的方法进行消抖处理。2) 采用扫描法识别具体的按键。逐列置零电平,其余各列置高电平,再检查行线电平的变化。如果行电平由高电平变成低电平,那么可确定此行和此列交叉点处的按键被按下。矩阵式键盘采用线反转法识别键状态方法:1) 将行线编程为输入线,列线编程为输出线,并使输出线的输出全为零电平,那么行线中电平由高到低所在行为按键所在行。2) 同第1)步完全相反

39、,将行线编程为输出线,并使输出线的输出全为零电平,那么行线中电平由高到低所在行为按键所在行。矩阵式键盘特点在矩阵式键盘接口中,对键盘应当做三个层次的工作:1) 第一层:监视键盘的输入。表达在键盘工作方式上就是编程扫描、定时扫描和中断扫描三种工作方式。2) 第二层:确定具体按键。表达在键盘识别方法上就是扫描法和线反转法。3) 第三层:键功能程序执行。同独立式按键的接口一样,一般可用以下方法组成矩阵式键盘接口。1) 直接用8051的I/O口线。2) 用并行接口芯片扩展I/O口线。3) 用三态缓冲锁存器扩展I/O口线。还可用8051的串行端口RXD和TXD线扩展矩阵式键盘的扫描线或用译码器扩展扫描线

40、。2.5.3 由8052 PI口的上下字节构成44矩阵式键盘接口电路原理图如以下图(2.7) 图(2.7)2.6 LED动态显示电路 动态显示的特点动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好似各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 LED显示器的接法接法如以下图2.8 图2.8第三章Ke

41、il C软件使用1) 建立一个新工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项3) 然后选择你要保存的路径,输入工程文件的名字,比方保存到C51目录里,工程文件的名字为C51,然后点击保存. 3) 这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片 机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比拟多 的Atmel 的89C51来说明,如以下图所示,选择89C51之后,右边栏是对这个单片机 的根本的说明,然后点击确定.4)完成上一步骤后,屏幕如以下图所示 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个

42、程序。5) 在以下图中,单击“File菜单,再在下拉菜单中单击“New选项 新建文件后屏幕如以下图所示 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File,在下拉菜单中选中“Save As选项单击,屏幕如以下图所示,在“文件名栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,那么扩展名为(.c);如果用汇编语言编写程序,那么扩展名必须为(.asm)。然后,单击“保存按钮。6) 回到编辑界面后,单击“Target 1”前面的“号,然后在“Source Group 1”上单击右键,弹出如下菜单 然

43、后单击“Add File to Group Source Group 1选中Test.c,然后单击“Add屏幕好以下图所示 注意到“Source Group 1”文件夹中多了一个子项“Text1.c了吗?子项的多少与所增加的源程序的多少相同 7) 现在,请输入C语言源程序在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率8) 在上图中,单击“Project菜单,再在下拉菜单中单击“Built Target选项或者使用快捷键F7,编译成功后,再单击“Project菜单,在下拉

44、菜 单中单击“Start/Stop Debug Session或者使用快捷键Ctrl+F5,屏幕如下所示 9) 调试程序:在上图中,单击“Debug菜单,在下拉菜单中单击“Go选项,或者使用快捷键F5,然后再单击“Debug菜单,在下拉菜单中单击“Stop Running选项或者使用快捷键Esc;再单击“View菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果10单击“Project菜单,再在下拉菜单中单击“,单击“Output中单击“Create HEX File 选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89S51单片

45、机中。第四章 设计流程图4.1总体设计流程图开始系统初始化有无按键按下?选择相应的功能模式调整运行时间进入功能模式运行正常显示YN此万年历具有显示时间和调整时间的功能 ;外设有六个按键,一个为复位开关,一个为分层显示时间,其余按键为调整时间。当时间有误差时,按照说明选择相应位来调整时间。系统初始化时,设置单片机的定时控制存放器,使单片机精确地输出1秒来产生单位时间。时间显示放入中断,时间显示就不受按键产生的延迟的影响,使时间更精确。4.2初始化流程图开始选择方式控制存放器TMOD置定时器的高八位TH0置定时器的低八位TL0启动T0TR0翻开所有中断EA为了产生时间,可以用电脑系统时间来定时,但

46、这样定时不精确,采用单片机内部时间,可以将时间精确至毫秒级,所以本次设计采用11.0592MHZ晶振来定时。 定时器有多种工作方式,我们采用工作方式1。TMOD为工作方式存放器,TH0和TL0为时间初值存放器,通过计算得到十六位的二进制数,置入存放器的高八位TH0和TL0中,从而产生需要的2ms的初值。启动定时器T0,翻开所有中断,使定时器开始工作。4.3按键消抖流程图 开始检查按键有闭合吗?延时消颤再判按键有闭合吗?延时消颤闭合键已释放了吗?返回延时消颤NNNAYYUY本设计采用机械式开关,由于它的弹性作用,一个按键开关在闭合时不会马上稳定地接通,断开时也不会马上断开,因而在闭合和断开时的瞬

47、间都会有一串的抖动。抖动时间的长短一般为510ms,当判断的按键按下后,先执行一段大于10ms的延时程序后再去判断按下的是哪一个,从而消除前沿抖动的影响。对于后沿抖动,只需在接收一个键位后,经过一定时间再去检测有无按键,这样就自然跳过后沿抖动时间而消除后沿抖动了。4.4时间调整流程图 致谢本论文是在导师刘老师的悉心指导下完成的。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了根本的研究方法,还使我明白了许多待人接物与为人处世的道理。本论文从选题到完成,每一步都

48、是在刘老师的指导下完成的,倾注了导师大量的心血。在此,谨向刘老师表示崇高的敬意和衷心的感谢! 本论文的顺利完成,离不开各位老师、同学和朋友的关心和帮助。在此感谢各位实验室老师的指导和帮助;感谢各位室友及同学的帮助;感谢XXX院母校的关心、支持和帮助; 在四年的学习期间,没有你们的帮助和支持是没有方法完成我的学位论文的,愿师生之谊长存,同窗之间的友谊长存。参考文献肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.8 何立民. 单片机高级教程 第1版北京:北京航空航天大学出版社,2001 赵晓安. MCS-51单片机原理及应用. 天津:天津大学出版社,2001.3 李广第 单片机

49、根底 第1版北京:北京航空航天大学出版社,1999 徐惠民、安德宁 单片微型计算机原理接口与应用 第1版 北京邮电大学出版社,1996 何立民从Cygnal 80C51F看8位单片机开展之路 单片机与嵌入式系统应用,2002年,第5期:P58 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001 陈志强 胡辉. 单片机应用系统设计实践指南. 自编教材 肖洪兵. 单片机应用技术. 自编教材附录 /*万年历*/*功能:1:年月日上次的事实、是分秒显示转换*/*: 2:调表闪烁,右移,确定,取消*/*操作:1:正数第4行依次为切换,固定/取消,右移,上翻/*:正数第3行为保存*

50、/#include #define uint unsigned int#define uchar unsigned charsbit wela=P27;/*位锁*/sbit dula=P26;/*段锁*/uchar code NumShow=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/数码管显示数组uchar Runtime=0,temp=0,change=0,spark=0,move=0,add=0,sure=0,clock=0;uchar uYear=8,uMonth=11,uDay=28,uHour=11,uMinute=50,u

51、Second=50;uchar Num1=0,Num2=0,Num3=0,Num4=0,Num5=0,Num6=0;uchar dHour=0,dMinute=0,dSecond=0;void keyscan();/矩阵按键的扫描检测函数void num_sure();/送入数据函数void init();/初始化函数void display(uchar aa,uchar bb,uchar cc,uchar dd,uchar ee,uchar ff);/数码管显示函数void Delay(uint z);/延时函数void showchange();/*主函数*/void main()P0=0

52、;init();while(1) keyscan();/开始矩阵按键检测if(spark=0)/未进入闪烁模式showchange();/此时为正常走时模式,数据按秒变化else /此时为设定移位调表模式if(sure=1)/要求将设定的时间存入表中num_sure();/确定调好的数据保存,送入显示/*数码管显示函数*/void display(uchar aa,uchar bb,uchar cc,uchar dd,uchar ee,uchar ff)static uint SparkTime=0; if(SparkTime=300) SparkTime=0;/闪烁即计时变量switch(+SparkTime%6)/多位数码管静态显示时间case 0:P0=NumShowaa;/显示数字dula=1;dula=0;P0=0Xfe;/显示的数码管wela=1;wela=0;if(move=1)/进入调表移位模式,下面相同if(SparkTime=0&SparkTime=150&SparkTime=0&SparkTime=150&SparkTime=0&SparkTime=150&SparkTime300)P0=NumShowcc;d

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!