欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)基于单片机的电子时钟设计2.doc

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

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

    毕业设计(论文)基于单片机的电子时钟设计2.doc

    摘要 电子时钟在日常生活中随处可见,应用比较广泛。基于单片机控制的电子时钟具有计时精准,制作成本低等优点。因此拥有比较高的实用性。本系统的电子时钟以单片机为核心,通过1602液晶显示时间。同时还有3个按键来调节时间,分别为功能键,增大键和减小键。源程序代码是在keil软件的环境下编写完成。关键词:单片机 液晶 keil软件 AT89C51 Abstract The clock in daily life everywhere, apply more extensive. Based on single-chip microcomputer control of electronic timing accurate, has made the clock low cost etc. Thus possess higher practicability.This system of electronic clock based on singlechip, by 1602 LCD display time. At the same time also has 3 buttons to adjust the time, respectively function keys, increase keys and reduce keys. Source code is keil software environment in writing complete.Keywords: microcontroller LCD keil software AT89C51目录第一章 绪论11.1 概述11.1.1 本设计电子时钟的功能11.1.2单片机概念11.1.3单片机应用系统11.1.4单片机的应用领域11.1.5单片机的应用特点21.1.6单片机产品21.2电子时钟介绍2第二章 硬件特性42.1 AT89C51单片机42.1.1单片机标号信息及封装类型42.2 1602 液晶52.3 蜂鸣器7第三章 系统设计83.1 单片机电路设计83.2 外围电路设计9第四章 程序设计与调试114.1 Keil软件介绍114.2 中断服务程序114.3键盘扫描程序114.4 液晶显示程序124.5 总程序与系统调试124.5.1 系统调试15 4.5.2 程序清单.17结 论23致 谢24参考文献:25第一章 绪论1.1 概述1.1.1 本设计电子时钟的功能设计是基于单片机控制,液晶显示的时钟,以AT单片机为核心驱动1602液晶,分别显示时,分,秒,并且按秒实时更新,还有整点提示功能。同时设置了功能选择键,数字增大键,数字减小键,按一下功能键光标则在秒位置闪烁,按两下则在分位置,按三下则在时位置,在按键的同时蜂鸣器发出“滴”的声音来告知用户有键按下。只有当按下功能选择键后,数字增大键和数字减少键才会有效,从而避免用户的误操作而影响时钟的精度。液晶的背光亮度和数字显示的清晰度也可以通过调节滑动变阻器来调节,这可以有效的保护液晶的使用寿命,减少电能的损耗。1.1.2单片机概念单片机是单片微型计算机SCMC(single chip micro computer)的译名简称,它是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。由于它完全做嵌入式应用,故又称为嵌入式微控制器(embedded microcontroller)。国际上常把单片微机称为微控制器MCU(micro controller unit)。而在国内通常习惯称为“单片微机”或“单片机”。1.1.3单片机应用系统在实际应用中,需要以单片机芯片为核心扩展外围电路和外围芯片,构成具有应用功能的计算机系统,称为单片机系统。单片机应用系统包括以下3个组成部分: 信号传感装置:相当于人的感知器官,感受外界的相关信息。 执行机构:相当于人的手足,做出具体动作。 单片机系统:相当于人的大脑,接受信号传感装置收集到的各种信息,进行计算、比较、判断等处理,并向执行机构发出动作命令。显然单片机是整个系统的核心,具有一定的智力功能,是完成系统工作、实现系统功能的关键。1.1.4单片机的应用领域 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途 1.1.5单片机的应用特点面向控制 在线应用 嵌入式应用1.1.6单片机产品 通用型单片机是由专门单片机芯片厂家生产的供广大用户选择使用的具有基本功能的芯片,性能全面,适应性强,能满足多种控制的需要。但使用时用户必须进行二次开发设计。目前世界上通用单片机芯片的主要有: STC单片机 PIC单片机 EMC单片机 ATMEL单片机(51单片机) PHLIPIS 51PLC系列单片机(51单片机) HOLTEK单片机 TI公司单片机(51单片机) 松翰单片机(SONIX)。 1.2电子时钟介绍电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。数字电子钟除了在城市的主要营业场所、车站、码头等公共场所使用,还可以改装在摩托车和汽车上,LCD显示,带蓝色背光,白天在太阳光下也能非常清楚的看到显示时间,关钥匙可以关闭蓝色背光,时间还能显示也不会清零,因LCD的显示耗电量很省的,所以一直工作也不必担心耗电问题。在骑摩托车时,为了看时间,先要停下车子,取出手机,才能看时间,是否有点麻烦,现在车上改装了一个蓝色背光的液晶电子钟后,不管白天黑夜色,随时可以看时间,非常方便。第二章 硬件特性2.1 AT89C51单片机2.1.1单片机标号信息及封装类型 1、单片机标号信息 本系统是以Atmel公司生产的单片机为控制芯片,芯片上的全部标号为AT89C51。 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2、单片机外部引脚介绍 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,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口也可作为AT89C51的一些特殊功能口,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口同时为闪烁编程和编程校验接收一些控制信号。 REST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 3、振荡器的特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.2 1602 液晶在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。在单片机系统中应用晶液显示器作为输出器件有以下几个优点: (1)显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。 (2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 (3)体积小、重量轻 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。 (4)功耗低 相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。LCD1602主要技术参数:显示容量.l6X2个字符芯片工作电压.4. 55. 5V工作电流.2. Om A (5. OV)模块最佳工作电压.5. OV字符尺寸.2. 95X4. 35 (WXH) mm接口信号说明:编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/ 02VDD电源正极10D3Data I/ 03VL液晶显示偏压信号11D4Data I/ 04RS数据/命令选择端(H/L)12D5Data I/ 05R/W读/写选择端 (H/L)13D6Data I/ 06E使能信号14D7Data I/ 07D0Data I/ 015BLA背光源正极8D1Data I/ 016BLK 背光源负极控制器接口说明:(1) 基本操作时序: 读状态 输入:RS=L,R/W=H,E=H 输出: D0D7=状态字。读数据 输入:RS=H, R/W=H,E=H 输出: D0D7=数据。写指令 输入:RS=L,R/W=L,D0D7=指令码,E=高脉冲 输出:无。写数据 输入:RS=H,R/W=L,D0D7=数据,E=高脉冲 输出:无。(2)数据指针设置 指令码 功能80H+地址码(027H,4067H) 设置数据地址指针(3)其它设置 指令码 功能 01H 显示清屏: 数据指针清0,所有显示清0 02H显示回车: 数据指针清0 指令说明 (1)显示设置 指令码 功能00111000设置16×2显示,5×7点阵,8位数据接口 (2)显示开/关光标设置 指令码功能00001DCBD=1 开显示 ; D=0 关显示C=1 显示光标;C=0 不显示光标B=1 光标闪烁;B=0 光标不闪烁000001NCN=1 当读或写一个字符后地址指针加一,且光标加一N=0 当读或写一个字符后地址指针减一,且光标减一S=1 当显示一个字符,整屏显示左移2.3 蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。在本设计中采用的是5V有源蜂鸣器。第三章 系统设计3.1 单片机电路设计单片机工作要工作需要有电源,晶振电路,复位电路,来构成一个最小系统。在本系统中电源采用USB供电,随着科技的进步各种电子产品的不断出现如MP3、MP4、PSP和我们日常使用的手机等产品,它们都自带的充电器。因此,本系统就采用了输出电压为5V的MP4充电器通过USB口的连接来为单片机提供工作电源,如图3-1所示,这比我们自己搭建的电源稳定性高,安全可靠。图3-1 USB电源 同时由于本设计是时钟,为了方便计算我们就选用了12MHZ的晶振,再通过两个30PF的电容来构成晶振电路,如图3-2所示。图3-2 晶振电路单片机的复位电路通常有上电复位电路,电平复位和脉冲复位,本设计采用了电平复位电路,选用的元器件有1k,10k的电阻,10F的电容,如图3-3所示。图3-3复位电路通过这3大部分的组建大体构成了单片机的最小应用系统。3.2 外围电路设计搭建完单片机最小系统后,就可以扩展外围电路。在外围电路中最主要的是1602液晶与单片机的连接,要按照液晶的引脚说明来连接以防液晶的损坏和无法正常工作。其次有按键控制的蜂鸣器电路。至此,整个系统的硬件电路基本搭建完成。如图所示3-4。由于P0口内部没有上拉电阻,所以在P0口外部加了一个10K的排阻。同时在液晶的3,15引脚分别连接10k的电位器,3脚的是能调节液晶显示的偏压信号从而正常显示出字符,15脚的是为了能调节液晶的背光源亮暗。蜂鸣器采用的是5V有源蜂鸣器,通过9012三极管和限流电阻构成回路。图3- 4外部接线 第四章 程序设计与调试4.1 Keil软件介绍单片机开发中出必要的硬件外,同样离不开软件,我们写的汇编语言源程序要边成CPU可以执行的机器码有两种方法,一中是手工汇编,另一种是机器汇编,目前已经极少使用汇编的方法了。机器汇编是通过汇编软件将源程序变成机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普通使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来个仿真机厂商纷纷宣布全面支持Keil即可看出。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,同过一个集成开发环境(uVision)将这些部分组合在一起。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.2 中断服务程序在本设计中我们采用的是单片机的定时器中断来准确的控制时钟的精度,定时器系统是单片机内部一个独立的硬件部分,它与CPU和晶振通过某些控制线连接并相互作用的,CPU一旦开启定时功能后,定时器便在晶振的作用下自动开始计时,当定时器的计数计满后,会产生中断,即通知CPU该如何处理。在写单片机的定时程序时,在程序开始处需要对定时器及中断寄存器做初始化设置。(1)对TMOD赋值,以确定T0和T1的工作方式。(2)计算初值,并将初值写入THO、TLO和TH1、TL1.(3)中断方式时,则对IE赋值,开放中断。(4)使TR0或TR1置位,启动定时器/计数器定时或计数。在本系统中我们采用了定时器0工作方式1来定时50ms的时间。Void T0_time() interrupt 1 THO=(65536-50000)/256; TL0(65536-50000)%256; 4.3键盘扫描程序 按键过程中遇到的最大问题是抖动,在按键被按下和释放的过程中都会出现抖动现象,而这个抖动对我们的系统产生了负面影响,我们一般都采用延时电路来消除按键抖动。同时在编写程序时采用当按键释放时执行相应程序。具体程序将在后面详细列出。4.4 液晶显示程序在前面已经对1602液晶做了介绍,液晶程序大体分为3个部分:(1)初始化;(2)写命令函数;(3)写数据函数。初始化程序:Void init (): write_com(0x38);/设置16×2显示,5×7点阵,8位数据接口 write_com(0x0c);/设置开显示,不显示光标 write_com(0x06);/写一个数据后地址指针加1 write_com(0x01);/显示清0,数据指针清04.5 总程序与系统调试4.5.1程序流程介绍整个程序由主程序和多个子程序组成,子程序有延时程序,初始化程序,中断程序,液晶显示程序,按键扫描程序和蜂鸣器发声程序。程序从主函数开始执行先进行初始化然后就是进入按键扫描循环其中按键扫描程序较为复杂。主程序(如图4-1),主要子程序流程(如图4-2)和扫描流程图(4-3)所示。图41 主程序流程 图4-2 中断程序流程 按键扫描流程图4-34.5.1系统调试用STC-ISP软件进行固件程序下载。STC单片机是一种功能很强的单片机,可以通过串口直接进行ISP程序下载,免去编程器的麻烦,而且下载速度快!MCS与STC兼容。所以这里我们可以选择STC-ISP软件进行程序下载。下载、运行界面如图(4-4)所示。进入STC-ISP下载界面后,打开文件,然后选择设置串行口。准备好后,先点下载按钮再MCU上电复位,冷启动。这样就可以下载了。下载成功以后,经过调试,单片机实验板能正常响应,能独立控制外围部分元件工作。图4-4 STC-ISP界面图4-5 属性选择图4-6 STC-ISP运行图 在调试过程中电源指示灯亮但无液晶显示,在检查硬件电路无误的情况下,取下单片机,调节液晶15脚上的电位器背光灯逐渐亮起来,同时调节3脚的电位器液晶显示屏上逐渐显示出黑色的小方块,至此液晶基本调试正常。关闭电源开关,插入单片机检查各元件已经可靠连接后再次打开电源开关,液晶屏上则能正确显示时,分,秒并且按一秒的时间正常运行。按下功能键后光标在秒位置闪烁,此时按下增大键则秒加一,当秒显示59时按下增大键后秒显示0,按下减小键后秒则从0又变为了59,同样调试分和时也能达到设计的要求,且在整点时和当有键按下时蜂鸣器发出了滴的声音。 经过调试,达到了设计的全部要求。4.5.2 程序清单#include<reg51.h>#define uchar unsigned char #define uint unsigned intsbit rs=P20;/位声明sbit lcden=P21;sbit s3=P22;sbit s4=P23;sbit s5=P24;sbit beep=P25;uchar count,s3num;char miao,fen,shi;uchar code table =" 00:00:00"void delay(uint z)/延时函数(t=z×1ms)uint x,y;for(x=z;x>0;x-)for(y=120;y>0;y-);void di()/蜂鸣器发生函数beep=0;delay(100);beep=1;void write_com(uchar com)/液晶写命令函数rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)/液晶写数据函数rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void init()/初始化函数uchar num;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+0x40);/定义写入的首地址for(num=0;num<12;num+)write_date(tablenum);delay(5);TMOD=0x01;/设定定时器0工作模式1TH0=(65536-50000)/256;/装定时器初值TL0=(65536-50000)%256;EA=1;/开总中断ET0=1;/开定时器0中断TR0=1;/启动定时器0void write_sfm(uchar add,uchar date)/写时间函数uchar shi,ge;shi=date/10;/取十位ge=date%10;/取个位write_com(0x80+0x40+add);/显示位置write_date(0x30+shi);/送去液晶显示十位write_date(0x30+ge);/ 送去液晶显示个位void keyscan()/键盘扫描函数if(s3=0)/检测是否有功能键按下delay(5);if(s3=0)/确定功能键按下s3num+;while(!s1);/判断功能键是否释放di();/蜂鸣器响if(s3num=1)功能键按下一次TR0=0;/关闭定时器write_com(0x80+0x40+10);/光标移到秒位置write_com(0x0f);/光标闪烁if(s3num=2)/ 功能键按下两次write_com(0x80+0x40+7);if(s3num=3)/ 功能键按下三次write_com(0x80+0x40+4);if(s3num=4)/ 功能键按下四次S3num=0;/计数清0write_com(0x0c);/取消光标闪烁TR0=1/打开定时器,进入正常计时if(s3num!=0)/只有当功能键按下后,增大减小键才会有效if(s4=0)delay(5);if(s4=0)/增大键确认被按下while(!s2);di();if(s3num=1)/若功能键第一次按下miao+;/秒加1if(miao=60)/如果秒等于60miao=0;/秒清0write_sfm(10,miao);/送去液晶显示write_com(0x80+0x40+10);/显示位置重新回到调节处if(s3num=2)/若功能键第二次按下fen+;/分加1if(fen=60)/如果分等于60fen=0;/分清0write_sfm(7,fen);write_com(0x80+0x40+7);if(s3num=3)/若功能键第三次按下shi+;/时加1if(shi=24)/ 如果时等于24shi=0;/时清0write_sfm(4,shi);write_com(0x80+0x40+4);if(s5=0)delay(5);if(s5=0)/确认减小键按下while(!s5);di();if(s3num=1)miao-;if(miao=-1)miao=59;write_sfm(10,miao);write_com(0x80+0x40+10);if(s3num=2)fen-;if(fen=-1)fen=59;write_sfm(7,fen);write_com(0x80+0x40+7);if(s3num=3)shi-;if(shi=-1)shi=23;write_sfm(4,shi);write_com(0x80+0x40+4);void main()/主函数init();/初始化while(1)keyscan();/按键扫描while(1);void timer0() interrupt 1/定时器中断函数TH0=(65536-50000)/256;/重装初值TL0=(65536-50000)%256;count+;if(count=20)/计时到了1秒count=0;/计数清0miao+;/秒加一if(miao=60)/秒计到60miao=0;/秒清0fen+;if(fen=60)fen=0;di();/整点报时shi+;if(shi=24)shi=0;write_sfm(4,shi);/显示时write_sfm(7,fen);/ 显示分write_sfm(10,miao);/显示秒结 论本设计调试较为简单,只要安装、焊接正确,程序编写准确完整,一般较为容易实现功能。通过本次毕业,使我对单片机原理及其接口技术进行了实战训练,掌握了基础知识。通过运用C语言编程,也提高了我运用高级语言编程的能力。总之,学好单片机的好方法就是提高你的学习兴趣,并通过实际制作来验证所掌握的理论知识,由学中做,在做中学。致 谢大学生活已快结束,在本专业的学习中使我掌握了不少专业知识,锻炼了自己。毕业设计可以说是我大学生活的总结和体现,在指导王小祥老师的指导和帮助下,我完成了这篇毕业设计。这篇设计和所有教育过我的老师也都分不开的,没有他们的传授的知识我也不可能完成这个课题。我无论是在课题学习阶段,还是在论文的选题,资料查询和撰写的每一个环节,无不得到指导老师的悉心指导和帮助。我为我这段时间来静心学习,并取得较好成绩而感到欣慰,欣慰之余,我要感谢母校,向关心和支持我学习的所有老师和同学们表示真挚的谢意!感谢他们对我的关心和支持!参考文献(1)付晓光.单片机原理与实用技术.北京:交通大学出版社,2008.(2)贾好来.MCS-51 单片机原理及应用.北京:机械工业出版社,2006.(3)高锋.单片微型计算机原理与接口技术.北京:科学出版社,2007.(4)郭天祥.51单片机C语言教程:入门、提高、开发、拓展全攻略.北京:电子工业出版社,2009.(5)谭浩强.C程序设计.北京:清华大学出版社,1991.(6)高峰.单片微型计算机原理与接口技术M.第二版.北京:科学出版社,2007.15-45,134-148(7)胡汉才.单片机原理及其接口技术M

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开