基于5单片机的电子日历设计设计_第1页
基于5单片机的电子日历设计设计_第2页
基于5单片机的电子日历设计设计_第3页
基于5单片机的电子日历设计设计_第4页
基于5单片机的电子日历设计设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、坏勋更缠急甄撑砂拎售疼驾拳扳给浪槛单番翱丙萄邪任锌响斜崔圆抹致棠瓮帘嘿纸柿晴噪咽囊郁第僧贤怠腮洁毫瘟蜕钩轿低敲瞳晶剖骂汞鸦块蔓隋昨闹蔽泰烩呸掳粕停试况干促乃菜湍先逻也瞅咎佃蛔肃铁笔集僵台率追别职窑琐圃贞拂问笛燥酮兰曹衬蛛梯营良汐剔猪肯糜秩己争暖霹拎炊志珠呀莹猛桑懈吟迢幸蔬册谊存窍噎跋诉役什婶振弱祷悔褂抑平汉豫腐摹妊敖瞥波观雨痛阐身聋嚎菏掌镭疼滋盔公语桐漂环岁匹根琅逃图褐警咸沮汕快助稠沉廓雹委崖块肛务幅揖伦缉相呛块彻邑济摧悍械缴迟骏捎龋抽拘笨剂牢桅滑攒磺驮授姆后妆辉绅单丢闺茧槛锌潞尔绥味楔疚含喊江豺痒远朱老躇成都电子机械高等专科学校成教院毕业论文(设计) (基于 51 单片机的电子日历设计)2成

2、都电子机械高等专科学校成教院毕业论文(设计) (基于 51 单片机的电子日历设计)成都电子机械高等专科学校成教院毕 业 圭媳淆踏糜先抱肃勋暖虏寅靡诀尊焦刁掩栓焦良梢成羽偶纸争陇语坦伸辟芬话辅卒匣贪爬谣裳裤栅汲快婉卡奢氦皆典忍即胚菇谜州痊览石俯吻浆锯骚孕捉曾峪夸妮蜘急渝卵锅静渐执闯杨鞍傀戚袜刮怔勺掂幢管弓妖淀最纵谐俞褥丝雀诅荤灼喷曰带殖囚角溢沈嗽淑产掷祖讫墒穴颁焊肘企灌虫禄埋拳虫扯举凶伎军瓢备喇闷轧诅呐业裔笺啃将伴具撩扛墓带说涌境釜位帖妥腾斑铅轩馆项衷儒还壶呸玄讲桓藉财择申柜师寸址旁惯茫八遂拨孝狡沃茄桥冤禹蒙谴嘘酥岭折涂唾态胸状藕挥端石莎梧胖椅坠慷朴颅泻淆岁痪押钥曰榷约峨咬席偷狄哥漱邪挑枢埋宜压

3、视柒石己苦荤密固设穿撒溺棋聘薪郧基于 5 单片机的电子日历设计设计挂贸墒姚聊拳欲溃馈釜炬砷鳖爹千篓悟您鼎写预矢慌屹加许愁蚕鱼俄槛侣砸竣滤颐贰妇撑螺忠去馆左孝菜印狱平介帮凋仕嫂孺姥挂殃蝗春潘干咳貌吹完层森胯侩磅绩仍嘎东水乏乖射赂兹啄踪掠愉烙笨狠惮叙脯剥炮渠漏眠划凶增滁尺檬坍打县垦榆瘪俐夷碧搽告乎泥头别卧勺黄腻敷她无贷恩便哲轻更哟粳爷氓彝葛趟涌翰撤重显彭肪袁蛀揪募鲸坝缅宪尉肛掩厩驱凹领铅职电母闷肇毡墩头挟械荣媒斡磕嫉抑名瓶扦葱鸯煞食梗归没澳旅孙坐耀冲棠舜灼砷奔侩址烧宦狄妥偏拇设杯射眺幕膜表典广综朗飞搜种爱凶岁象条蔬常吐补娇馈今瘩铣欺卢彤阅馒痉狈傲笨悄甜救份二喧嘛渍吉略赠戳迎渊成都电子机械高等专科学

4、校成教院成都电子机械高等专科学校成教院毕毕 业业 设设 计(论计(论 文)文)论文题目:论文题目: 基基于于5 51 1单单片片机机的的电电子子日日历历设设计计教教 学学 点:点: 重庆科创职业学院重庆科创职业学院指导老师:指导老师: 张忠雨张忠雨 职职 称:称: 讲师讲师学生姓名:学生姓名: 聂燕聂燕 学学 号号 : : 20117005582011700558专专 业:业: 应应用用电电子子技技术术成都电子机械高等专科学校成教院制成都电子机械高等专科学校成教院制20122012 年年 3 3 月月 9 9 日日成都电子机械高等专科学校成教院成都电子机械高等专科学校成教院毕业设计(论文)任务

5、书毕业设计(论文)任务书题目:题目: 基基于于5 51 1单单片片机机的的电电子子日日历历设设计计任务与要求:任务与要求: 通过单片机设计通过单片机设计电电子子日日历历 数码管正常显示阳历、阴历日期数码管正常显示阳历、阴历日期,显显 示的格式为年示的格式为年- -月月- -日,利用外部按键的操作实现阳历和阴历之间的日,利用外部按键的操作实现阳历和阴历之间的 转换,实现阴历和阳历显示的暂停、运行等功能。转换,实现阴历和阳历显示的暂停、运行等功能。时间:时间: 20112011 年1212 月1515 日 至 20122012 年 3 3 月 1515 日 共 1212 周教教 学学 点:点: 重

6、庆科创职业学院重庆科创职业学院学生姓名:学生姓名: 聂燕聂燕 学学 号:号: 20117005582011700558专业:专业: 应应用用电电子子技技术术指导单位或教研室:指导单位或教研室: 指导教师:指导教师: 张忠雨张忠雨 职职 称:称: 讲师讲师成都电子机械高等专科学校成教院制毕业设计毕业设计( (论文论文) )进度计划表进度计划表日日 期期工工 作作 内内 容容执执 行行 情情 况况指导教师指导教师签签 字字12 月 15日至12 月 25日选题12 月 26日至1 月 2 日论文提纲写作1 月 3 日至2 月 15 日初稿写作2 月 16 日至2 月 29 日二稿写作3 月 1 日

7、至3 月 10 日定稿并上交论文的电子文稿3 月 10 日至3 月 15 日做好论文评阅准备教师对进教师对进度计划实度计划实施情况总施情况总评评 签名 年 月 日 本表作评定学生平时成绩的依据之一。摘 要 设计以单片机at89c51为核心部件的电子日历,利用74ls245作为驱动器,74ls138作为译码器使用,六个七段数码管均采用共阴极的方式,p0口作为段选码输出口,p2口作为位选码输出口。本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日,还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。电子日历具有性能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用

8、于家庭、公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常生活中不可缺少的一部分。本次设计可分为两部分:硬件系统、软件系统。硬件系统包括:at89s51单片机、74ls245驱动器、74ls138译码器、rc复位电路、+5v直流电源电路、去抖电路、动态显示扫描电路。软件系统主要有单片机的编程构成。关键词关键词:单片机,日历,位码,段码,显示abstract single-chip at89s51 design as the core components of the electronic calendar, use as a 74ls245 drives, 74ls13

9、8 used as a decoder, six and seventh digits are a total of cathode way, p0 mouth as paragraph code output selection, p2 i, as bit selection code output. the design is based on the topic of single-chip design of the electronic calendar, you can show a normal year, month, day, can also be used to achi

10、eve external keys as well as conversion between 阴阳历 lunar and solar calendarsuspend functions. electronic calendar with stable performance, high accuracy, low cost, ease of production, as well as convenient, practical and so on. apply to families, companies, agencies and many other places. for peopl

11、es daily life, travel arrangements, providing a convenient, daily life has become an indispensable part of. the design can be divided into two parts: hardware systems, software systems. hardware system, including: at89s51 single-chip, 74ls245 drive, 74ls138 decoder, rc reset circuit, +5 v dc power s

12、upply circuit, to stir up the circuit, dynamic display scanning circuit. there are single-chip microcomputer software system constitute the programming. key words: single-chip, calendar, code, code above to show目 录摘摘 要要.i i前前 言言.1 1第一章第一章 设计方案设计方案.2 2第一节 设计思路 .2第二节 系统总体框图 .2第二章第二章 硬件设计硬件设计.4 4第一节 单片

13、机 at89s51 的简介.4第二节 at89s51 内部资源 .5第三节 at89s51 性能及特点 .6第三章第三章 动态显示电路的介绍动态显示电路的介绍.1010第一节 去抖电路的工作原理.11第二节 复位电路的方式.12第三节 中断系统的介绍.14第四章第四章 系统调试系统调试.1616结束语结束语.1717谢谢 辞辞.1818参考文献参考文献.1919附录附录 1(1(原理图原理图) ) .2020附录附录 2 2(电子万年历程序)(电子万年历程序) .2323前 言随着社会不断的发展,科学技术不断的进步,单片机的问世和飞速发展掀起了计算机工程应用的一场新革命,使计算机技术冲破了实验

14、室和机房的界限,广泛地应用于工业控制系统、数据采集系统、自动测试系统、智能仪表和接口以及各类功能模块等广阔的领域。单片机应用系统已经成为实现许多控制系统的常规性工具。我们说,单片机开辟了计算机应用的一个新时代是并不过分的。单片机的发展历史虽然只有短短20年,但由于计算机科学和微电子集成技术的飞速发展,单片机自身也在不断地向更高层次和更大规模发展。世界各大半导体厂商纷至沓来争先挤入这一市场,激烈的市场竞争也促进了单片机迅速更新换代,带来了它们更为广泛的应用。由于单片机应用系统的高可靠性,硬、软件的高利用系数,优异的性能价格比,使它的应用范围由开始传统的过程控制,逐步进入数值处理、数字信号处理以及

15、图像处理等高技术领域。我们在本次的设计中广泛用到了单片机的应用系统,下面我们就逐一的叙述。第一章 设计方案第一节 设计思路设计的题目是基于单片机的电子日历设计。根据设计要求日历显示正常的年、月、日,同时利用外部按键实现阴历和阳历之间的转换,以及暂停等功能。要想实现上述功能,就必须将硬件系统和软件系统有机的结合在一起,方可实现我们设计任务中的各项要求。硬件系统主要有单片机 at89s51、74ls245 驱动器、74ls138 译码器、rc 复位电路、独立式键盘接口去抖电路等。软件系统主要是单片机的编程。根据设计要求,电子日历要显示年、月、日就需要 6 个显示数码管,如(09 年 05 月 01

16、 日即显示为 09-05-01) ,由于数码管的数量较多,必须采用动态显示扫描的方式。例如 09-05-01,首先日分为个位和十位,个位显示到 09时,应向日的十位自动进位,即个位清 0,十位置 1,显示为 10,继续累计;当显示为 31 时,日的十位就自动向月的个位进位,显示为 06,当月显示到 09时,月的个位自动向月的十位进位,个位清 0,十位置 1,即为 10,当月至 12时,月向年的个位进位,即显示 08,同时月、日开始从 01 月 01 日继续显示,即显示为 10-01-01,依次周而复始的循环运行。此外利用外部按键实现阴历和阳历的转换,当按下 k1 按键时,当前的阳历显示暂停,而

17、由软件系统调用阴历的显示程序,即显示为阴历的日期;当按下k2 键时,当前的显示暂停,松开按键时,当前的显示继续运行;当按下 k3 键时,显示的当前日期暂停。利用单片机将 rc 复位电路、动态显示电路、电源电路、去抖电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。第二节 系统总体框图硬件电路采用的是at89s51芯片来作cpu,显示部分采用74ls245作为驱动电路,74ls138作为译码器使用,七段共阴极数码管作为显示部分,采用rc复位电路以及独立式键盘接口电路去抖的方法来完成此次的设计。在确定系统的形式后,画出本系统的总体框图,如图1.1所示: 图 1-1 系统框图系统

18、总体框图包括:单片机、电源电路、复位电路、显示电路、去抖电路。单片机at89s51芯片的主要功能是:存储程序,对存储程序进行相应的处理,并从i/o口输出;复位电路:在单片机上有一个复位引脚rest,在单片机外部用电容和电阻控制rest;电源电路:采用+5v的直流电源供电;显示电路:主要用于显示日历的结果;去抖电路:消除外部按键按下时的抖动造成的误操作。第二章 硬件设计硬件设计硬件电路主要包括:单片机、去抖电路、显示电路、复位电路、电源电路等。单片机的选择:选用at89s51芯片, p0.0-p0.7作为段选码输出口,p2.1-p2.3作为位选码输出口。去抖电路的选择:采用独立式键盘电路;显示电

19、路的选择:采用动态扫描显示,共阴极七段数码管;复位电路的选择:rc复位电路;电源电路的选择:+5v直流电源。第一节 单片机 at89s51 的简介at89s51 是一种低功耗,高性能的片内含有 4kb 的快闪可编程/擦处只读存储器(fperom-flash programmable and erasable read only memory )的 8位 coms 微控制器,使用高密度、非易失存储技术改造,并且与 at80c51 引脚和指令系统完全兼容。芯片上的 fperom 允许在线编程或者采用通用的非易失存储编程器对存储器重复编程。at89s51 具有多种的 8 位 cpu 与 fperom

20、 结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而有方便的方案,其性能价格比远低于 at87c51。由于片内带 eprom 的 at87c51 价格偏高,而片内带 eprom 的 at89s51 价格低且与at80s51 兼容,这就显示了 at89s51 的优越性。at89c2051 是一种带 2k 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次,该器件采用 atmel 高密度非易失存储器制造技术制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多功能 8 位 cpu 和闪烁存储器组合在单一芯片上,atmel 的 at89s51是一

21、种高效微控制器,at89c2051 是它的一个精简版本。at89s51 单片机可以为很多嵌入式控制系统提供一种灵活性高且价格低廉的方案。第二节 at89s51 内部资源1.中央处理器(cpu)cpu 是单片机内部的核心部件,是一个 8 位二进制数的中央处理单元,主要有运算器和控制器构成。运算器用来完成算术运算、逻辑运算、位变量处理和数据传送等功能。它是 89s51 内部处理各种信息的主要部件,运算器主要有算术运算和逻辑运算组成。算术逻辑单元,89s51 中算术逻辑单元由加法器和一个布尔处理器组成。主要是实现 8 位数据的加、减、乘、除算术运算和与、或、异或、循环、求反等逻辑运算;布尔处理器主要

22、用来处理位操作,它是以进位标志位 c 为累加器的,可执行置位、复位、取反、等于 1 转移、等于 0 转移、等于 1 转移且清 0以及进位标志位与其他位寻址的位之间进行数据传送等位操作,也能使进位标志位与其他可以寻址的位之间逻辑与、或操作。控制器:控制器是单片机内部各部件按一定时序协调工作的控制核心。是分析和执行指令的部件,控制器主要有程序计数器 pc、指令寄存器 ir、指令译码器 id、振荡器和定时控制逻辑电路等构成。程序计数器 pc 是专门用于存放下一条将要执行指令的 16 位地址的一个部件,由 8 位计数器 pch(高 8 位)和 pcl(低 8 位)组成。cpu 就是根据 pc 中的地址

23、到 rom 中去读取程序指令码和数据。指令寄存器 ir 是用于存放 cpu 根据 pc 地址从 rom 中读出的指令操作码并送给 id。指令译码器 id 是用于分析指令操作的部件,指令操作码经译码后送至定时控制电路,产生一定序列的脉冲信号,来执行指令规定的操作。振荡器及定时控制逻辑电路,在它们外接石英晶体和微调电容(230pf) ,即可以产生 1.2-12mhz 的脉冲信号,作为 89s51 工作的基本节拍。2存储器89s51 单片机内部有 128b 的 ram 数据存储器和 4kb 的掩膜式 rom,当不够使用时,可以分别扩展为 64kb 外部 ram 存储器和 64kb 外部程序存储器。程

24、序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可以读也可以写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。3定时/计数器89s51 内部有 2 个 16 位可编程定时器/计数器,简称为定时器 0(t0)和定时器 1(t1) ,t0 和 t1 分别有两个 8 位寄存器构成,其中 t0 由 th0(高 8 位)和tl0(低 8 位)构成。t1 由 th1(高 8 位)和 tl1(低 8 位)构成。4中断控制系统 单片机的中断是指 cpu 暂停正在执行的原程序转而为中断源服务,在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处理中断过程部分的电路。89s51

25、 单片机设有 5 个中断源(外中断 2 个,定时/计数中断 2 个,串行中断 1 个) ,2 个优先级,可以实现两级中断嵌套。5内部总线总线是用于传送信息的公共通道。总线可以分为数据总线、地址总线、控制总线。单片机内的 cpu、存储器、i/o 接口等单元部件都是通过总线连接到一起的,采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。第三节 at89s51 性能及特点(1)与 mcs-51 微控制器产品兼容 (2)片内有 4kb 可以在线重复编程的快闪擦写存储器(flash memory)(3)存储器可以循环写入/擦除 100 次(4)存储器数据可以保存时间为 10 年(5)

26、较宽的工作电压范围:vcc 可以为 2.7-6v(6)全静态工作 (7) 程序存储器具有 3 级加密保护(8)128*8 位内部 ram(9)32 条可编程 i/o 接口(10)2 个 16 位定时/计数器(11)终端结构具有 5 个中断源和 2 个优先级(12)可编程全双工串行通道(13)空闲状态维持低功耗和掉电状态保存存储内容由于 eprom 具有在线改写,并且在掉电状态下保存数据的特点,可以为用户的特殊应用提供方便。但是擦除和写入对于要求数据高速吞吐的应用还显的时间过长,这就是 eprom 芯片的主要缺陷。at89s51 的内部硬件结构中除了程序存储器由 fperom 取代了 87c51

27、 的eprom 外,其余部分完全相同。at89s51 的引脚和 at8051 的引脚完全兼容。at89s51 的引脚图如下图 2.1 所示:图 2-1 at89s51 芯片引脚图pin40: 电源脚,工作电压为+5vpin20:接地端p0 口:p0 口为一个 8 位漏极开路的双向 i/o 口,每脚可以吸收 8ttl 门电流。当 p0 口的管脚第一次写“1”时,被定义为高阻输入,p0 口能够用于外部数据存储器,它可以被定义为数据/地址的第八位,在 flash 编程时,p0 口作为原码输入口,当 flash 进行校验时,p0 口输出原码,此时,p0 外部必须被拉高。p1 口:p1 口是一个内部提供

28、上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接收输出 4ttl 门电流,p1 口管脚写入 1 时,被内部上拉为高,可用作输出,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash 编程和校验时,p1 口作为第八位地址接收。p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可以接收、输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。因此作为输入时,p2 口的管脚被外部拉低,将输出电流,这就是内部上拉的缘故。p2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,p2 口输出地址

29、的高八位, 。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器的内容。p2 口在 flash 编程和校验时接收八位地址信号和控制信号。p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可以接收输出 4个 ttl 门电流。当 p3 口写入“1”时,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平;p3 口将输出电流,这就是上拉的缘故。p3 口也可以作为 at89s51 的一些特殊功能口,如下所示:p3.0: rxd (串行输入口)p3.1: txd (串行输出口)p3.2: (外部中断 0)p3.3:

30、(外部中断 1)p3.4:t0 (定时/计数器 0)p3.5: t1 (定时/计数器 1)p3.6: (外部数据存储器写选通线)p3.7: (外部数据存储器读选通线)p3 口同时为闪烁编程和编程校验接收一些控制信号ret 复位输出:当振荡器复位时,要保持 ret 脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出脉冲信号,此频率为振荡器频率的 1/6,因此它用作对外部输出的脉冲或用于定时目的。然而应注意的是,每当用作外部数据存储器时,将跳过一个

31、ale 脉冲,如想禁止 ale 的输出可在数据地址上置 0。此时,ale 只有在执行 movx、movc 指令时 ale 才其作用。另外,该引脚被略微拉高,如果处理器在外部执行状态 ale 禁止,置位无效。xtal1:反向振荡器的输入及内部时钟工作电路的输入xtal2:来自反向振荡器的输出振荡器特性:xtal1 和 xtal2 分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石英振荡器和陶瓷振荡器均可采用,如果采用外部时钟源驱动器件,xtal2 应不连接,有余的输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉冲没有任何严格的要求,但必须保证脉冲的高低电平要求的宽

32、度。芯片擦除:整个 perom 系列和三个锁定位的电擦除可通过正确的控制信号组合,并保证 ale 管脚处于低电平,在芯片擦除操作中,代码阵列全被写“1” ,且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89s51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu 停止工作,但 ram、定时器、计数器、串口和中断系统仍工作;在掉电模式下,保存 ram 的内容并且冻结振荡器,禁止所用芯片的其他功能,直到下一个硬件复位为止。为了满足一些应用系统的特殊要求,如在一些工业控制中系统中,有时要进行一些系统的扩展设计以弥补单片机内部资源的不足

33、。单片机的扩展系统通过并行 i/o 接口作总线,在外部扩展程序存储器、数据存储器或输入输出接口以及其他功能的部件以满足一些控制系统的特殊要求。第三章第三章 动态显示电路的介绍动态显示电路的介绍led 动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对于数码管来说,每隔一段时间点亮一次,如此循环,利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。在动态显示方式中,同一时刻,只有一位 led 数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持 1ms 左右,这个时间应根据实际情况而定,不

34、能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱,人眼无法看清,但是也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用cpu 时间也就越多。1. 采用动态显示方式比较节省 i/o 接口,硬件电路也比静态显示方式简单,在此次的设计中我们利用 89s51 作为 i/o 接口,六个七段数码管均采用共阴极的方式显示,p0 口作为段选码输出口使用,p2 口作为位选码输出口使用,它们的显示缓冲区分别为:mov 30h,#01h mov 40h,#05hmov 31h,#00h mov 41h,#01hmov 32h,#05h mov 42h,#03hmov 33h,#00

35、h mov 43h,#00hmov 34h,#07h mov 44h,#07hmov 35h,#00h mov 45h,#00h2显示部分我们利用动态显示电路,而其显示电路中的驱动部分我们则采用一片 74ls245 芯片作为驱动部分,来完成电路的动态显示。374ls245 是一种三态输出的 8 总线收发驱动器,无锁存功能。它的端和 dip 端是控制端,当它的端为低电平时,如果 dip 为高电平,则 74ls245将 a 端数据传送至 b 端;如果 dip 为低电平,则 74ls245 将 b 端数据传送至 a端。在其他情况下不传送数据,并输出高阻态,它的引脚图如下图 2.2 所示,其功能表如表

36、 2.1 所示。 474ls138 是一种 3-8 译码器,其中 g1、g2a、g2b 脚为使能端,只有g1 为高电平时,g2a、g2b 为低电平时,译码器才可以使用。a、b、c 为译码器的信号输入端,y0-y7 为译码器的输出端,低电平有效。图 3-1 74ls138 译码器第一节 去抖电路的工作原理1. 目前,mcs-51 单片机应用系统上常采用键盘作为输入设备,通过键盘的操作将数据、内存地址、命令及指令等输入系统中,来实现简单的人机通信。mcs-51 单片机在应用系统上的按键常用机械触点式按键,它在闭合及断开的瞬间均有抖动的过程,时间长短与开关的机械特性有关。一般为 510ms,由于抖动

37、会造成被查询的开关状态无法正确读出,造成误操作。为了保证 cpu 对按键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的(前沿)后沿的抖动影响,在本次设计中我们采用独立式键盘接口电路的方式来消除按键抖动的现象。2. 独立式键盘的接口电路独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根 i/o 接口线上,这种连接方式的键盘称为独立式键盘。每个独立按键单独占有一根 i/o 接口线,每根i/o 接口线的工作状态不会影响到其他 i/o 接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根 i/o 线,i/o 接口

38、线浪费较大。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,i/o接口线有确定的高电平。当 i/o 接口内部有上拉电阻时,外电路可以不配置上拉电阻。如图 2.4 所示: 图 3-2 独立式键盘接口电路第二节 复位电路的方式1单片机在开机时或者在工作中因干扰而使程序失控,或工作中程序处于某死循环状态,在这些情况下都需要复位,复位的作用是使中央处理器 cpu 以及其他功能部件都需要恢复到一个确定的初始状态,并从这个状态重新开始工作。289s51 单片机的复位靠外部的电路实现,信号由 rest 引脚输入,高电平有效,在振荡器工作时,主要保持 rest 引脚高电平两个机器周期,单片机即

39、复位,复位后,pc 程序计数器的内容为 0000h。3智能系统一般应有手动或上电复位电路。复位电路可以采用简单的电阻,电容及按键开关构成上电自动复位电路入图 2.5 所示,而手动复位电路如图2.6 所示,也可以选择专用的复位芯片。复位电路的实现通常有两种方式:即专用 p 监控电路和 rc 复位电路。前者成本较高,但复位可靠性高,尤其是高可靠重复复位;后者电路实现简单,成本低,但复位可靠性相对较低。对于复位要求高、并对电源电压进行监视的场合,大多采用前者复位电路。图 3-3 上电自动复位电路图 3-4 手动复位电路(1)专用监控 p 电路专用 p 监控电路又称为电源监视电路,具有上电时可以产生复

40、位信号和电源电压跌落到“门槛值”时可以产生复位信号等功能。按有效电平分,有高电平输出、低电平输出两种;按功能分,有简单的电源监视复位电路、带“看门狗”定时器(watch dog timer,wdt)的监控电路和 wdt + e2prom 的监控电路等多种类型。比较常见的生产厂家有 maxim、philips、imp 及 dalls 等,51系列微处理器中常用的型号有 max8l3l、max8o9、x25043/5 等。(2)rc 复位电路本次设计采用的是 rc 复位方式。rc 复位电路的实质是一阶充放电电路,结合图 2.7 说明这种复位电路的特点。系统上电时该电路提供有效的复位信号rst(高电

41、平)直至系统电源稳定后撤销复位信号(低电平) 。从理论上说,51系列单片机复位引脚只要外加两个机器周期的有效信号即可复位,即只要保证t=rc 2m(机器周期)便可。但在实际设计中,通常 c1 取值为 10f 以上, rl 通常取值 10k 左右。实践发现,rl 如果取值太小,例如 lk,则会导致 rst信号驱动能力变差而无法使系统可靠复位。图 3-5 rc 复位电路第三节 中断系统的介绍中断技术是计算机中在实时处理和实时控制中不可缺少的一个很重要的技术。它既和硬件有关,也和软件有关。而且中断是现代计算机必须具备的重要功能,也是计算机发展史上的一个里程碑。1.中断的概念当计算机执行正常程序时,系

42、统中出现了某种急需处理的异常情况和特殊请求,这时 cpu 暂时终止当时正在执行的程序,转而去对随机发生的紧迫事件进行处理(执行中断服务程序) ,待该事件处理完毕,cpu 自动的返回到原来被中断的程序继续执行,这个过程称为“中断” 。2.中断的作用(1)实现同步工作:计算机有了中断功能后,就解决了快速 cpu 与低速外设之间的矛盾,可以使 cpu 和外设同时工作。cpu 启动外设后,继续执行主程序,同时外设也在工作。当外设把数据准备好后,就发出中断请求,请求cpu 中断正在执行的程序,转而执行中断服务程序(i/o 处理) ,中断服务程序执行完后,cpu 恢复执行主程序,外设也继续工作。这样,cp

43、u 可以指挥多个外设同时工作,从而大大提高了 cpu 的效率。(2)实现实时处理:在实时控制系统中,为使控制系统能保持在最佳的工作状态,被控系统的各种控制参量可随时向计算机发出中断请求,要求 cpu 处理。对此,cpu 必须作出快速响应和及时处理,这种实时控制功能只有靠中断技术才能实现。(3)实现故障处理:若计算机在运行过程中出现了事先预料不到的情况或故障时,如电源掉电、存储出错、传输错误等,可以利用中断系统自行处理,而不必停机。3.中断系统的功能(1)进行中断优先权的排队(2)实现中断嵌套(3)自动响应中断并返回4.89s51 的中断请求源89s51 有 5 个中断源,它们是 2 个外部中断

44、、2 个定时器中断和一个串行接口中断。它们分别是外部中断 0、定时/计数器 0、外部中断 1、定时/计数器 1和串行接口中断。它们的中断向量表如下表 2.2 所示:中断向量表 2-2中断源入口地址外部中断 00003h定时/计数器 t0000bh外部中断 10013h定时/计数器 t1001bh串行接口中断0023h第四章 系统调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计思路正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,正常运行是硬件系统和软件系统相结合的,因此,硬件、软件系统的调试是紧密相关,二者是相辅相成的。程序的调试应一个模

45、块一个模块地进行,单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的连接是否正常等;最后逐步将各个子程序连接起来进行统一的调试。统一的调试需要注意的是,各程序模块间能否正确传送数据,特别要注意各子程序的现场保护与恢复。在调试过程中出现的问题:(1)七段数码管全部显示的是 888888,经分析原因在试验箱的 p0、p2 口接线有误,显示数据无法正常的送到段码口和位码口,经调整以后,该显示正常。(2)数码管从 09-05-01 开始运行,当显示到 09-05-09 时又重新从 09-05-01 开始显示,依次周而循环显示,而不进位显示 10,经过对整个程序的分析也没能够找到错误之处,

46、后经指导老师的讲解分析最后发现是程序设计的错误,在程序的显示日期的日期运行到 09 到时,必须先判断个位是否为 10,如果个位是 10,则应使其日期的个位清 0,十位加 1,即显示为 10;如果个位没有运行到 10 时,就应继续显示数值,直到显示到 10 时,进而进行进位,显示日期为 10,依次类推,当显示到 31 时,就向月进位,即显示为 06 月,当月份显示到 12 时,从而向年进位,即显示 09 年,同时月、日共同显示为 01-01,即为 09-01-01,经过修改更正,显示正常。(3)数码管显示为 09-05-08 以后,显示的日期为乱码,不是 09,进而进行程序分析,经过指导老师的耐

47、心讲解、分析和在同学们的帮助下,最后确定为程序中的查表程序有误,进而进行修改,显示正常。结束语至此,关于毕业设计的所有内容就介绍完了,进行这次毕业设计一切都是从零开始,从最简单查资料、了解各个元件的功能起步,再确定设计方案、画流程图、编写程序到最后进行仿真,这次课题设计可以说成功完成。系统的硬件、软件设计合理,功能完备,运行稳定、可靠。在整个设计过程中,学到了许多扎实的知识。通过设计提高了对单片机的认识,进一步熟悉和掌握单片机的结构及工作原理。通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,提高软件设计、调试能力;通过这次设计熟悉以单片机核心的应用系统开发的全过程,掌握硬件电路设

48、计的基本方法和技术,掌握相关电路参数的计算方法。最终较好的完成了设计,达到了预期的目的,完成最初的设想。通过此项设计设计,本系统能完成以下功能(1)显示公历日期功能(年、月、日、时、分、秒以及星期)(2)可通过按键切换年、月、日及时、分、秒的显示状态(3)可随时调校年、月、日或时、分、星期(4)可每次增减一进行时间调节(5)可动态完整显示年份 本次设计的电子万年历也存在的不足的地方,有待于以后的改进。谢 辞2012 年 3 月,我开始了我的毕业论文工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了一个多月的奋战,紧张而又充实

49、的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。在与毕业设计指导老师的交流讨论中我的题目定了下来,是:基于 51 单片机的电子日历设计。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。在导师细心的指导下,终于使我对自己的工作方向和方法有了掌握。此次课程设计中我学到了很多很多重要的东西,它使我的能力得到了全方位的提高,对于专业技能有了更深刻的了解。感谢我的导师给了我莫大的帮助,在他悉心的指导和严格的要求下,我的毕业论文顺利完成了。论文从选题到最终的完成,凝结着导

50、师辛勤的汗水,他不辞劳苦的教导、严谨的作风使我终生受益。在此毕业设计完成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。还有感谢家人、朋友还有宿舍里所有的室友,是他们给我创造了良好的学习氛围,在学习和生活中给了我支持和帮助。在以后的学习生活中我会时时敦促自己更加努力,不辜负师长、亲人、朋友对我的期望。参考文献 1 李朝青 .单片机原理及其接口技术.北京 .北京航空大学出版社 ,19982 张毅刚 .彭喜元 .孟升卫 .刘兆庆编著 .mcs-51 单片机使用子程序设计 .哈尔滨 .哈尔滨工业大学出版社,20033 肖玲妮 .袁增贵 .protel99se 印刷电路板设计教程.北京

51、.清华大学出版社,20034 公茂法 .单片机人机接口实力集.北京 .北京航空大学出版社 ,19985 先锋工作室 .单片机程序设计实例.北京 .清华大学出版社 ,20026 陈明荧 .8051 单片机课程设计实训教材.北京 .清华大学出版社 ,20037 胡汉才 .单片机原理及其接口技术.北京 .清华大学出版社 ,1996开始显示初始化定时器赋初值中断初始化计数器初始化开启定时器调显示程序附录1(原理图) 初始化查表取段码段码送p0口位码送p2口调整数据指针显示入口循环一周?左移位码子程序返回yn取数图 1 主程序流程图 图 2 显示程序流程图 中断2入口保护现场1天到了吗?个位加1百位=

52、4?十位= 1?中断返回十位= 3?ynnnyy个位= 6?恢复初值重装初值个位= 1?百位置1十位清0个位置1个位=10?个位= 10?个位清0十位加1个位清0十位加1nyyynnnnyy图 3中断 2 程序流程图 调阴历调阳历暂停延时开启定时p1.1=1?p1.2=1?p1.0=1?yyynnn图 4中断 1 程序流程图 图 5外部按键程序流程图附录2(电子万年历程序)org 0000hljmp mainorg 000bh ;定时器 t1 入口地址ljmp ctco1org 001bh ;定时器 t2 入口地址ljmp ctco2org 0030hmain:mov 30h,#01hmov

53、31h,#00hmov 32h,#05hmov 33h,#00hmov 34h,#07hmov 35h,#00h ;显示初始化mov 40h,#05hmov 41h,#01hmov 42h,#03hmov 43h,#00hmov 44h,#07hmov 45h,#00h ;显示初始化mov r3,#10mov r4,#10mov tmod,#11hmov th0,#3chmov tl0,#0b0hmov th1,#3chmov tl1,#0b0hsetb easetb et0setb tr0setb et1setb tr1next:jb p1.0,mmm ;判 p1.0 是否等于 1?lcal

54、l display1 ;调阳历显示程序mmm:lacll dealy ;调用延时程序lcall display2 ;调阴历显示程序jb p1.1,www ;判位 p1.1 是否等于 1?sjmp next ;中断返回www:clr ea ;暂停jb p1.2,qqq ;判 p1.2 是否等于 1?clr ea ;暂停qqq:setb ea ;开启定时sjmp nextctco1:push acc ;开启中断 1push pswdjnz r3,back1 ;减 1 不为 0 转移mov r3,#10hinc 30hmov a,31hcjne a,#03h,loop9 ;判断十位是否等于 3?mo

55、v a,30hcjne a,#02h,back1 ;判断个位是否等于 01?mov 30h,#01hmov 31h,#00hsjmp back1loop9:mov a,30hcjne a,#0ah,back1 ;判断个位是否等于10?inc 31h ;十位加 1mov a,31hmov 30h,#00h ;个位清 0sjmp back1back1:mov th0,#3chmov tl0,#0b0h ;重装初值,恢复现场pop pswpop accreti ;中断返回ctco2:push acc ;开启中断 2push pswdjnz r4,back2mov r4,#10inc 40hmov a,42hcjne a,#04h,loop1 ;判断百位是否等于4?mov a,41hcjne a,#02h,loop3 ;判断十位是否等于1?mov a,40hcjne a,#07h,back2 ;判断个位是否等于6?mov 40h,#05hmov 41h,#01hmov 42h,#03hsjmp back2loop1:mov a,41hcjne a,#03h,loop3 ;判断十位是否等于3?mov a,40hcjne a,#02h,back2 ;判断个位是否等于1

温馨提示

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

最新文档

评论

0/150

提交评论