基于51单片机的数字钟设计

合集下载

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计1. 本文概述随着现代科技的发展,电子时钟已成为日常生活中不可或缺的一部分。

本文旨在介绍一种基于51单片机的多功能电子钟的设计与实现。

51单片机因其结构简单、成本低廉、易于编程等特点,在工业控制和教学实验中得到了广泛应用。

本文将重点阐述如何利用51单片机的这些特性来设计和实现一个具有基本时间显示、闹钟设定、温度显示等功能的电子钟。

本文的结构安排如下:将详细介绍51单片机的基本原理和特点,为后续的设计提供理论基础。

接着,将分析电子钟的功能需求,包括时间显示、闹钟设定、温度显示等,并基于这些需求进行系统设计。

将详细讨论电子钟的硬件设计,包括51单片机的选型、时钟电路、显示电路、温度传感器电路等。

软件设计部分将介绍如何通过编程实现电子钟的各项功能,包括时间管理、闹钟控制、温度读取等。

本文将通过实验验证所设计的电子钟的功能和性能,并对实验结果进行分析讨论。

通过本文的研究,旨在为电子钟的设计提供一种实用、经济、可靠的方法,同时也为51单片机的应用提供一个新的实践案例。

2. 51单片机概述51单片机,作为一种经典的微控制器,因其高性能、低功耗和易编程的特性而被广泛应用于工业控制、智能仪器和家用电器等领域。

它基于Intel 8051微处理器的架构,具备基本的算术逻辑单元(ALU)、程序计数器(PC)、累加器(ACC)和寄存器组等核心部件。

51单片机的核心是其8位CPU,能够处理8位数据和执行相应的指令集。

51单片机的内部结构主要包括中央处理单元(CPU)、存储器、定时器计数器、并行IO口、串行通信口等。

其存储器分为程序存储器(ROM)和数据存储器(RAM)。

程序存储器通常用于存放程序代码,而数据存储器则用于存放运行中的数据和临时变量。

51单片机还包含特殊功能寄存器(SFR),用于控制IO端口、定时器计数器和串行通信等。

51单片机的工作原理基于冯诺伊曼体系结构,即程序指令和数据存储在同一块存储器中,通过总线系统进行传输。

基于51单片机的数字时钟设计

基于51单片机的数字时钟设计

一设计要求及方案证 (2)二系统基本方案选择和论证 (2)2.1单片机芯片的选择方案和论证 (2)2.2 显示模块选择方案和论证 (3)2.3时钟芯片的选择方案和论证 (4)三系统的硬件设计与实现 (5)3.1电路设计框图 (5)3.2 主要单元电路的设计 (5)3.2.1 晶体振荡电路 (5)3.2.2 分频器电路 (6)3.2.3 时间计数器电路 (6)3.2.4 内部时钟电路 (6)3.2.5复位电路 (7)3.2.6 按键部分 (8)3.2.7声光报警电路 (8)四、电路原理分析 (9)4.1显示原理 (9)4.2键盘及读数原理 (9)4.3连击功能的实现 (9)五、程序设计思想和相关指令介绍 (9)5.1数据与代码转换 (9)5.2计时功能的实现与中断服务程序 (10)5.3时间控制功能与比较指令 (10)六、系统的软件设计 (11)6.1主程序部分 (12)6.2计时显示中断子程序部分 (13)6.3 调时功能流程图 (14)6.4程序 (15)七设计心得 (24)一设计要求及方案证设计制作和调试一个由8051MCU单片机组成的数字时钟系统。

通过这个过程学习熟悉键盘控制和七段数码管得使用,掌握51系列单片机控制和测试的方法。

设计以89S51单片机为核心,以LED为显示方式的万年历时钟显示,完成基本要求。

1)数码管显示:年月日时分秒。

2)键盘输入修改时间、日期设置。

二系统基本方案选择和论证2.1单片机芯片的选择方案和论证方案一:采用89C51芯片作为硬件核心,其内部采用Flash ROM,具有4KB ROM 存储空间,能于3V的超低压工作,但运用于电路设计中时由于不具备ISP在线编程技术,烧入程序时需要专门的C编程器(当前可用的实验烧写开发板只支持具有ISP在线编程功能的AT89S**系列的芯片),当在对电路进行调试时,更显麻烦,并且增加了造价,方案二:采用89S51芯片作为主控模块,AT89S51是MCS-51系列单片机目前运用较多的一种芯片,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且具备ISP在线编程技术,方便对电路进行调试.但由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

(完整版)基于51单片机的数字钟毕业论文

(完整版)基于51单片机的数字钟毕业论文

西安邮电学院毕 业 设 计(论 文)题 目: 基于51单片机的数字钟设计院 (系):专 业:班 级:学生姓名:导师姓名: 职称:基于单片机的数字钟毕业论文摘要…………………………………………………………………………… ⅠAbstract……………………………………………………………………… (Ⅱ)第1章 绪 论 (2)1.1 课题背景 (2)1.2 课题来源 (2)1.3 本章小结 (3)第2章 MCS-51单片机的结构 (4)2.1 控制器 (4)2.2 存储器的结构 (4)2.3 并行IO口 (5)2.4 时钟电路与时序 (5)2.5 单片机的应用领域 (6)2.6 本章小结 (6)第3章 电路的硬件设计 (7)3.1 复位电路 (7)3.2 时钟电路 (7)3.3 按键电路 (8)3.4 相关控制电路 (9)3.4.1 控制打铃电路 (9)3.4.2 时间表显示电路 (9)3.5 数码管显示电路 (10)3.6 电源电路设计 (10)3.7 本章小结 (10)第4章 电路的软件设计 (11)4.1 软件程序内容 (11)4.2 软件流程图 (11)4.3 定时程序设计 (12)4.3.1实时时钟实现的基本方法 . (13)4.3.2 实时时钟程序设计步骤 (13)4.4程序说明 (13)4.5 本章小结 (14)第5章 结论与展望 (15)5.1 结论 (15)5.2 单片机的发展趋势 (15)参考文献 (17)附录………………………………………………………………………………18第1章 绪 论1.1 课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。

由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC 机外围以及网络通讯等广大领域。

基于51单片机的数字钟设计

基于51单片机的数字钟设计

基于51单片机的数字钟设计目录1 作品的背景与意义 12 功能指标设计 13 作品方案设计 13.1总体方案的选择 13.1.1方案一:基于单片机的数字钟设计 23.1.1方案二:基于数电实验的数字钟设计 33.1.2两种方案的比较......... (3)3.2控制方案比较 33.3显示方案比较 33.4单片机理论知识介绍 43.4.1单片机型号........ (5)3.4.2硬件电路平台.............. (6)3.4.3内部时钟电路........... . (7)3.4.4复位电路............. . (7)3.4.5按键部分............ (8)4 硬件设计94.1显示模块电路图95 软件设计115.1主程序流程图115.2中断服务以及显示 126 系统测试136.1测试环境136.2测试步骤136.2.1硬件测试6.2.2软件测试1.连接单片机和计算机串接............ ..136.2.3实施过程............. .. (14)6.3测试结果187 实验总结................ . (18)7.1代码编写过程中出现问题........... .. (18)7.2整个实验过程的体会................. . (19)7.3实验误差分析。

19参考文献20附录1 系统电路图21附录2 系统软件代码21附录3 系统器件清单261 作品的背景与意义数字钟是采用数字电路实现对.时,分,秒。

数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 而且大大地扩展了钟表原先的报时功能。

基于单片机的数字钟具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,生活中诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等也可广泛应用,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

基于51单片机的数字电子时钟设计

基于51单片机的数字电子时钟设计

课程设计任务书摘要数字钟因其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。

单片机为基础上设计出来的数字时钟数字钟,在日常生活中最常见,应用也最广泛。

本次课程设计的时钟就是以STC89C52单片机为核心,配备LED显示模块、时钟模块、等功能模块的数字电子钟。

采用24小时制方式显示时间。

文章主要从硬件设计和软件编程两个大的方面。

硬件电路设计主要包括中央处理模块、时钟模块,显示模块等几部分。

时钟电路采用DS1302芯片,并选用LED显示器。

软件方面用keil C语言来实现。

软硬件配合,达到电子时钟精准的显示。

关键字:单片机,时钟模块,精准目录1绪论 (2)1.1设计概述 (2)1.2技术简述 (2)1.3本课题的背景 (3)1.4本课题的意义 (3)2系统设计 (4)2.1设计目的 (4)2.2设计功能及要求 (4)2.3设计思路 (4)2.4硬件方案 (4)2.4.1时钟芯片的选择 (5)2.4.2显示屏的选择 (5)2.4.3单片机的选择 (5)2.5软件方案 (5)2.6整体方案 (6)2.7元器件清单 (6)3硬件设计 (7)3.1单片机最小系统 (7)3.1.1时钟电路 (7)3.1.2复位电路 (8)3.2时钟电路 (8)3.3电源电路 (9)3.4系统整体电路 (9)3.5系统仿真 (10)3.6硬件制作 (10)4软件设计 (11)4.1程序设计步骤 (11)4.2系统主程序 (11)4.3时钟模块子程序 (12)4.4显示模块子程序 (12)4.5主程序 (13)5联机调试 (14)6总结 (15)7参考文献 (16)1绪论1.1设计概述在单片机技术日趋成熟的今天,其灵活的硬件电路和软件程序的设计,使单片机得到广泛的应用,从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。

数字电子时钟是基于单片机和DS1302时钟芯片的一种计时工具。

基于MCS-51单片机的数字钟设计

基于MCS-51单片机的数字钟设计

快乐的节日作文(通用15篇)快乐的节日作文1啪,啪,啪啪最令我期待的春节又到了,我终于能和小朋友们一起痛快地玩耍喽!说到春节,当然少不了烟花啦!我们都会挑一天来放烟花,有时候,我们放着放着就来了一些用烟花打战的人,于是我们就放下手中的烟花和爆竹去观战了。

这个游戏可好玩了,首先双方准备好一些爆竹,接着在场地中间画一条分界线,然后同时点燃爆竹,点完赶紧躲到一边,看谁的爆竹放到界线以外,谁就算赢。

过春节最不可少的是年夜饭,当然,我们最期待的也是年夜饭,因为年夜饭是一年中最丰盛的一餐,桌上挤满了各种好吃的菜,年夜饭的主角,当然还是火锅啦,里面有鱼啊,青菜啊,丸子呀等。

吃完火锅,我、弟弟和妹妹那六只眼睛都齐刷刷地盯着爸爸,心里想爸爸,我们吃完了,果汁什么时候上场啊,一年中也只有今天才能让我们喝个痛快啊!每到春节能做的事儿多得数也数不清,能吃的东西也比平时多了许多,就像放完爆竹,落下多少片碎片,又飞走了多少片,多得连爆竹自已也没有一个概念快乐的节日作文2今天,我们迎来了盼望已久的六一儿童节,也是我们班同学最喜欢的节日。

早上,我怀着紧张而又激动心情走进教室,看到教室里焕然一新,黑板上写着“六一快乐”,上面画着美丽的图画,小鸟在天空飞翔,小羊在草地上玩耍……天花板上挂着美丽的气球和拉花。

同学们三五成群的在一起说话,都很开心。

节目开始了,同学们各自把精心准备的节目表演给大家,我最喜欢侯承博表演的魔术,因为我喜欢魔术,而且他表演的也很成功,简直和刘谦一样。

轮到我表演了,我是用笛子给大家吹一首曲子,吹的是“凤阳花鼓”,曲子不是很长,而且我在家也练了好多遍,但是吹的时候还是很紧张,生怕吹错了,不过我还是非常流利的吹了下来。

今天,六一儿童节过的真开心!快乐的节日作文3国庆长假爸爸、妈妈带我去美丽的长岛旅游。

我们先是乘海船吹海风、和海鸥对话、出海打渔、在海滩上捡美丽的贝壳和光滑的卵石、看海潮潮涨潮落过足了海瘾然后又去海鲜城吃海鲜。

基于51的电子闹钟设计报告(附原理图、PCB图、程序)

基于51的电子闹钟设计报告(附原理图、PCB图、程序)

基于51的电⼦闹钟设计报告(附原理图、PCB图、程序)成都信息⼯程学院第五届嵌⼊式创新技术⼤赛基于MCS51的智能电⼦闹钟设计报告姓名学院班级实物图⽬录1.电⼦时钟的设计原理和⽅法 (1)1.1设计原理 (1)1.2 硬件电路的设计 (1)1.2.1 STC89C51RC简介 (1)1.2.2 键盘电路的设计 (2)1.2.3蜂鸣器驱动电路 (3)1.2.4 数码管驱动电路 (3)1.2.5 电源电路 (4)1.3软件部分的设计 (4)1.3.1主程序部分的设计 (4)1.3.2中断计时器及时间进位 (5)1.3.3 闹钟⼦函数 (7)1.3.4 按键扫描 (8)1.3.5 时钟闹钟设置 (9)1.3.6 显⽰数字函数 (10)1.3.7 显⽰界⾯函数 (10)1.3.8 闹钟记录及读取 (11)2.硬件调试 (13)附录A:电路原理图 (15)附录B:电路PCB图 (16)附录C:源程序 (17)1.电⼦时钟的设计原理和⽅法1.1设计原理系统框图1.2硬件电路的设计1.2.1 STC89C51RC简介STC89C52R CSTC89C51RC是⼀种带8K闪烁可编程可擦除只读存储器(FPETOM-FlashProgrammabalandErasableReadOnlyMemory )的低电压、⾼性能CMOS8位微型处理器,即单⽚机芯⽚。

单⽚机的可擦除只读存储器可以反复擦除1000次,内部FLASH 擦写次数为100000次以上。

该芯⽚使⽤⾼密度⾮易失存储制造技术,与⼯业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU 和闪烁存储器集成在单个芯⽚中,使得STC89C51RC 成为了⼀种性价⽐极⾼的微型处理器芯⽚,在许多电路设计中都得到了应⽤。

STC89C51RC 单⽚机特点:⼯作电压:5.5V-3.4V ⼯作频率:0-40MHz ⽤户应⽤程序空间:8K ⽚上集成128*8RAMISP (在系统可编程)/IAP (在应⽤可编程),⽆需专⽤编程器/仿真器可通过串⼝(P3.0/P3.1)直接下载⽤户程序EEPROM 功能共3个16位定时器/计数器,其中定时0还可以当成2个8位定时器使⽤外部中断4路通⽤异步串⾏⼝(UART ),还可⽤定时器软件实现多个UART ⼯作温度范围:0-75℃引脚说明:VCC:供电电压 GND :接地P0:P0是⼀个8位漏级开路双向I/O ⼝,低8位地址复⽤总线端⼝。

基于51单片机的智能数字闹钟设计与实现

基于51单片机的智能数字闹钟设计与实现

基于51单片机的智能数字闹钟设计与实现摘要单片机自20世纪70年代问世以来,因为单片机极高的性能价格比,越发受到了人们的重视和关注,应用领域广泛、发展很快.而51单片机是各单片机中最为典型的,也是最具有代表性的一种。

本设计是一款基于AT89C51的智能数字钟,该数字钟表由主控模块、按键模块、定时模块、温度检测模块和显示模块构成.主控模块由主控芯片AT89C51、晶振电路和复位电路构成;定时模块采用时钟芯片DS1302实现精确定时;用温度传感器DS18B20作为温度采集源,检测当前温度;用液晶显示器1602显示年、月、日、时间及温度.通过这种方法的实现,使智能数字闹钟的电路简单,性能可靠,实时性好,时间和温度精度高,操作简单。

在Proteus和Keil µvision4的环境下,完成了电路原理图的绘制以及程序的编译后,用焊接的方法在电路板上焊接实物,将Keil µvision4中生成的。

hex文件的程序烧到电路中,检测并调试电路,实现智能数字闹钟的功能。

该智能数字闹钟可以应用于人们的生活和工作中,也可通过改装,将智能数字闹钟的性能提高,还可以增加新的功能,让智能数字闹钟显示更多方面的内容与功能,给人们的生活和工作带来更多的方便。

关键词:单片机,时钟芯片,温度传感器,液晶显示器,智能数字钟AT89S52 based Digital Clock Design of IntelligentAbstractAbstractSCM since the advent of the 1970s , because of high performance and low cost single chip , has been more and more people's attention and concern ,widely used in the field ,has developed rapidly。

基于51单片机的数字时钟设计报告

基于51单片机的数字时钟设计报告

单片机课程设计题目:基于DS1302与单片机组成的数字时钟学院:电气与控制工程学院专业班级:自动化学生姓名:指导教师:提交时间:2013年1月9日目录摘要 (3)1.系统方案设计 (3)1.1 系统总体方案设计 (4)1.2 主要模块方案选择和论证 (4)1.2.1 单片机的选择 (4)1.2.2 时间生成模块的选择 (4)1.2.3 显示模块的选择 (4)1.2.4 显示模块的选择 (4)1.2.5 按键模块的设计 (4)2.硬件电路的设计 (5)2.1 单片机系统电路的设计 (5)2.1.1 AT89C52的介绍 (5)2.1.2 功能概述 (6)2.2 时钟芯片和按键电路的设计 (6)2.2.1 DS1302的介绍 (6)2.2.2 功能概述 (8)2.3 LCD1602模块和蜂鸣器电路的设计 (9)2.3.1 LCD1602的介绍 (9)2.3.2 功能概述 (11)2.4 DS18B20温度显示模块电路的设计 (12)2.4.1 DS18B20的简介 (12)2.4.2 功能概述 (13)3.软件设计 (13)3.1 主程序设计 (14)3.2 网状多级状态结构的按键处理 (14)4.系统调试、功能及使用说明 (16)4.1 硬件调试 (16)4.2 软件调试 (16)4.3 系统功能 (16)4.4 时间,日期的设置 (16)5.讨论及总结 (16)5.1 出现问题 (16)5.2 已解决问题 (17)5.3 未解决为题 (17)5.4 总结 (17)6.个人心得体会 (18)6.1 王仲浩、胡婷婷、李三丽的心得体会、 (18)附录 (20)附录一系统总体原理图 (20)附录二系统程序清单 (21)附录三元件清单 (22)参考文献 (22)基于DS1302与单片机组成的数字时钟摘要本文叙述了数字时钟的整个设计过程,包括硬件设计和软件设计,并重点讨论了模块软件设计和编程思想,并在本文末尾进行了讨论和总结,提出了改进的方面和改进的方法。

基于51单片机多功能电子时钟课程设计报告

基于51单片机多功能电子时钟课程设计报告

单片机课程设计报告多功能电子数字钟目录一课程设计题目-------------------------------- 3 二电路设计--------------------------------------- 4 三程序总体设计思路概述------------------- 5 四各模块程序设计及流程图---------------- 6 五程序及程序说明见附录------------------- ** 六课程设计心得及体会---------------------- 11 七参考资料--------------------------------------- 12一题目及要求本次单片机课程设计在Proteus软件仿真平台下实现,完成电路设计连接,编程、调试,仿真出实验结果。

具体要如下:用8051单片机设计扩展6位数码管的静态或动态显示电路,再连接几个按键和一个蜂鸣器报警电路,设计出一个多功能电子钟,实现以下功能:(1)走时(能实现时分秒,年月日的计时)(2)显示(分屏切换显示时分秒和年月日,修改时能定位闪烁显示)(3)校时(能用按键修改和校准时钟)(4)定时报警(能定点报时)本次课程设计要求每个学生使用Proteus仿真软件独立设计制作出电路图、完成程序设计和系统仿真调试,验收时能操作演示。

最后验收检查结果,评定成绩分为:(1)完成“走时+显示+秒闪”功能----及格(2)完成“校时修改”功能----中等(3)完成“校时修改位闪”----良好(4)完成“定点报警”功能,且使用资源少----优秀二电路设计(电路设计图见附件电路图)(1)采用89C51型号单片机(2)采用8位共阴数码管(3)因为单片机输出高电平时输出的电流不足以驱动数码管,所以在P0口与8位数码管之间加74LS373来驱动数码管(4)P2口与数码管选择位直接加74LS138译码器(5)蜂鸣器接P3.7口。

因为单片机输出高电平时输出的电流不足以驱动蜂鸣器所以蜂鸣器,所以P3.7口与蜂鸣器直接接反相器再接蜂鸣器的一端,蜂鸣器的另一端接5V电源。

基于51单片机的数字钟设计与制作

基于51单片机的数字钟设计与制作

一.基于52单片机制作的数字钟1.设计任务⑴时间显示: 上电后,系统自动进入时钟显示,从00:00:00开始计时,此时可以设定当前时间.⑵时间调整:按下k1,k2,k3键可以顺序设置秒、分、时,并在相应数码管上显示设置值,直至6位设置完毕。

2.系统基本方案选择和论证本时钟的设计具体有两种方法。

一是通过单纯的数字电路来实现;二是使用单片机来控制实现。

本次设计选取了较为简单的单片机控制;而选择这一方法后还要进行各个芯片的选择。

以下是我在这次设计中所用的方案。

2.1 芯片的选择方案一:采用AT89C51芯片,其为高性能CMOS 8位单片机,该芯片内含有4k bytes的可反复擦写的只读程序存储器(PEROM)、128 bytes的随机存取数据存储器(RAM)、 32位可编程I/O口线、2个16位定时/计数器、6个中断源、可编程串行UART通道及低功耗空闲和掉电模式,但是由于AT89C51芯片可擦写的空间不够大,且中断源提供的较小,为防止运行过程中出现不必要的问题,我们不选用AT89C51。

方案二:采用AT89C52芯片,它除了具备AT89C51的所有功能与部件外,其最大的优势就是AT89C52提供了8K字节可擦写Flash闪速存储器空间、8个中断源、及256*8字节内部存储器(RAM),解决了我们对可反复擦写的Flash闪速存储器空间大小与中断源的不够问题的担心。

2.2显示模块选择方案和论证方案一:采用LCD,电路比较简单,且在软件设计上也相对简单,具有低功耗功能。

价格贵。

方案二:采用LED数码管显示,显示较为清楚。

价格便宜。

所以本方案采用LED数码管显示。

2.3 时钟信号的选择方案和论证直接采用单片机定时计数器提供的秒信号,使用程序实现年、月、日、周、时、分、秒计数。

采用此种方案可减少芯片的使用,节约成本,实现的时间误差较小。

2.4 电路设计最终方案决定综上各方案所述,对此次数字时钟的方案选定为: 采用AT89C52作为主控制系统; 并由其定时计数器提供时钟; LED作为显示电路来实现功能。

基于51单片机汇编语言的数字钟课程设计报告(含有闹钟万年历)

基于51单片机汇编语言的数字钟课程设计报告(含有闹钟万年历)

单片微型计算机课程设计报告多功能电子数字钟姓 名 许伟敏学 号 060301021124班 级 电气二班指导教师 林卫2009-06-25目录一:概述 (1)二:设计基本原理简介 (2)三:设计要求及说明 (3)四:整体设计方案 (4)系统硬件电路设计 4系统软件总流程设计 5模块划分及分析 6五:单模块流程设计 (8)各模块设计概述、流程图 8模块源程序集合及注释 13六:单模块软件测试 (23)七:系统检测调试 (24)硬件电路调试软件部分烧写调试八:系统优化及拓展 (26)九:心得体会 (28)单片微型计算机课程设计 基于汇编语言的电子数字钟 概述课程设计流程图↑一、概述课程设计题目:电子数字钟应用知识简介:● 51单片机单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。

51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。

在今后很长一段时间内51系列单片机仍将占据嵌入式系统产品的中低端市场。

● 汇编语言汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。

汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。

但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。

汇编语言可以与高级语言配合使用,应用十分广泛。

● ISPISP (In-System Programming )在系统可编程,是当今流行的单片机编程模式,指电路板上的空白元器件可以编程写入最终用户代码,而不需要从电路板上取下元器件。

已经编程的器件也可以用ISP 方式擦除或再编程。

本次课程设计便使用ISP 方式,直接将编写好的程序下载到连接好的单片机中进行调试。

基于51单片机设计的多功能数字时钟毕业设计

基于51单片机设计的多功能数字时钟毕业设计

基于51单片机多功能数字时钟1系统设计1.1设计要求设计制作一个24小时制多功能数字钟。

1.1.1主要性能指标1、数字显示年、月、周、日、时、分、秒。

1.1.2创意部分要求准确的进行年、月、周、日、时、分、秒的转换,切换两种显示模式。

1.2总体设计方案1.2.1概述及设计思路该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天)。

1.2.2方案论证(1)时钟模块【方案一】采用单片机内置定时/计数器。

它的处理过程主要是先设定单片机内部定时/计数器的工作方式,对机器周期计数确定基准时间,然后用另外一个定时器软件计数的方法对基准时间形成秒,秒计60次形成分,分计60次形成小时。

依此类推,获取日期也是采用相同的方法。

该方案在具体实现过程中,计时存在较大的误差。

如果晶振受到其他外界信号干扰,或者基准时间计算不准确,都会导致时间显示错误。

【方案二】采用555多谐振荡器。

由555定时器组成一个多谐振荡器,产生周期为100HZ的脉冲,然后经过两个74LS160组成的分频器得到1HZ的秒脉冲。

多谐振荡器的稳定度及频率的准确度决定了数字钟计时的准确程度,通常选用成品晶振构成振荡器电路。

计时精度取决于振荡器的频率,振荡器频率越高计时精度越高。

【方案三】采用DS1302时钟芯片。

DS1302是一种高性能、超低功耗的实时时钟芯片,附加31字节静态RAM,可以通过串行接口与单片机进行通信。

实时时钟提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。

芯片内部集成备用电源,当外围电路电路有电源供应的时候,备用电源充电储能。

当外围电路掉电时,DS1302芯片工作在休眠状态,以备用电源供电。

当外围电路再次供电,即可唤醒休眠进入正常工作状态,显示时间无任何异常。

基于51单片机的数字钟设计

基于51单片机的数字钟设计

基于51单片机的数字钟设计一、实验要求设计一个数字钟,采用六个数码管,高两位显示小时,中间两位显示分钟,低两位显示秒,时间显示采用24小时制。

并且设计的数字钟应当满足以下要求:(1)能够实现数字钟的基本功能;(2)能通过开关控制数字钟的启动、停止、复位和调整时间。

二、实验内容(一)时钟计时设置使用80c51的定时/计数器来实现时钟计时。

(1)计算计数初值,时钟计时的关键问题是秒的产生,使用80c51的定时/计数器来进行定时,即按照工作方式1,其最大定时能达到131ms。

因此,要把秒计时用硬件定时和软件计数相结合的方法实现。

吧定时设为125ms,这样计数溢出8 次就可以的到1秒,而8次计数可用软件方法实现。

(2)采用中断方式,即通过中断服务程序进行计数器溢出次数的累计,计满8次记得到秒计时。

(3)通过程序中的数值累加和数值比较来实现从秒到分和从分到时的计时。

(4)设置停止、复位、调时功能模块。

(5)设置时钟显示缓冲区。

在内部RAM中设置6 个单元的显示缓冲区,从左到右依次存放时、分秒的数值。

显示单元与LED显示位的对应。

(二)流程框图1、时钟计数主程序2、中断服务程序3、加1程序图1 时钟计数主程序流程图定时器中断时是先检测1秒是否到,1秒如果到,秒单元个位就加1,秒单元个位到9时,秒单元十位加1。

秒单元十位到5,个位到9时,分单元个位加1,秒单元清零。

分单元个位到9时,分单元十位加1。

分单元十位到5,个位到9时,时单元个位加1,分单元清零。

时单元十位到2,个位到4时,时单元、分单元、秒单元都清零。

图2 中断服务程序流程图图3 加1程序流程图三、实验分析与体会(一)实验分析我们通过软硬结合的方法调试系统。

在电脑上使用星研编译器,进行程序的编程和编译,发现很多语法和逻辑的错误。

通过这个编译器可以很好的发现并解决问题,程序调试完毕,编译没问题后,进行测试,并分析程序,直到完成要求为止。

本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率,定时器溢出误差、延迟误差。

基于51单片机的数字时钟的设计毕业论文

基于51单片机的数字时钟的设计毕业论文

基于51单片机的数字时钟的设计毕业论文基于51单片机的数字时钟的设计毕业论文目录摘要: (1)ABSTRACT (1)1 绪论 (1)2 硬件总体设计方案 (2)2.1系统功能实现总体设计思路 (2)2.2各部分功能实现 (2)2.3系统工作原理 (2)2.4电路功能使用说明 (3)2.5系统的设计方案 (4)2.5.1 系统的电路图和原理图 (4)2.5.2 单片机概述 (6)2.5.3 键盘电路 (9)2.5.4 显示电路 (10)2.6硬件焊接准备 (12)2.6.1电路板的布线 (12)2.6.2 硬件电路元件明细表 (13)3 软件总体设计方案 (14)3.1程序流程图 (14)3.1.1主程序流程图 (14)3.1.2 按键处理流程图 (14)3.1.3 定时器中断流程图 (14)3.1.4 时间显示流程图 (15)3.2调试结果说明 (16)4总结 (18)致谢 (19)参考文献 (1)附录 (21)基于51单片机的数字时钟的设计电子信息科学与技术专业彬指导教师车晓岩摘要: 自诞生以来,单片机的应用日趋广泛,应用领域日趋扩展,而MCS-51系列单片机是各单片机中最为典型的一种。

这次毕业设计,以AT89C51芯片为核心,通过必要的电路,构成简单的电子时钟。

数字时钟系统的主要任务是:采用单片机为核心器件产生24h(24小时)时间,并用LED显示器将他显示出来。

另外本设计具有闹铃的功能,通过拉蜂鸣器来做提醒。

这样简单的设计,直观反映单片机的应用。

软件和硬件的开发是这次设计必不可少的。

关键词:AT89C51;数字时钟;LED数码显示管;C语言Design of Digital Clock System Based on MSC-51SinglechipElectronic Information Science and Technology SunBinTutor CheXiaoYanAbstract: The applications of single-chip have been spread widely,and the areas of its application have been expanding increasingly since its inception. and MCS-51 series single-chip microcontroller is the most typical one. In the graduation-design , AT89C51 chip is the core of the necessary circuitry to form a simple electronic clock. Here are the main tasks of the digital clock system : as the core device ,Single-chip creates 24h (24 hour) time which will he displayed by the LED .In addition ,this design has the function of alarm by making the buzzer to do as a reminder. This simple design can reflect the intuitive applications of the microcontroller. Software and hardware development is essential to this design .Keywords: SCM; The LED display; A digital clock; Assemblylanguage1 绪论数字时钟作为人们日常生活中的必需品,给人们的学习、工作、生活带来极大的便利。

基于51单片机的数字电子钟设计

基于51单片机的数字电子钟设计

基于 51单片机的数字电子钟设计摘要:现如今,由于单片机技术种类越来越繁多,单片机的软件电路和硬件电路设计方法灵活性越来越高,而且完善程度越来越高等原因,因此单片机除了在单一的电子产品领域有较广的应用之外,在一些大型的产业界应用十分普遍。

数字钟属于单片机中最为普遍的装置,由于具有灵敏的数字电路,进而达到计时目的;同时由于具备机械式手表无法比拟的精准度,而且直观性强以及寿命长等特点,所以应用比较广泛。

关键词:单片机;数字电子钟;硬件设计;软件设计1 单片机的原理MCS-51单片机作为一个有限的集成电路芯片,会对控制应用所需的基本内容进行整合。

按功能划分时,MCS-51单片机的核心部件是CPU(微处理器),此外,除包含一些数据寄存器外,如RAM(数据存储)、ROM/EPROM(程序存储器)、SFR(特殊功能寄存器)等,其还包括一些列的数字控制系统,如串并行I/O端口、计时器/计数器以及中断系统等。

它们都是一个单线总线,基本结构仍然是CPU和周边设备芯片的传统布局模式。

但多种功能组件的控制是使用特殊功能寄存器(SFR)的中央控制方法。

1.2控制器若想单片机执行相应的操作,则需要控制器对其进行控制。

其主要作用如下:在接收到一些包含不同信息同时性质也不尽相同的指令时,控制器需首先对这些指令进行识别,然后识别程序操作完成之后,按照指令上的信息发出指令,控制单片机运转,对其中的每个部件都进行调节,使其运转井然有序。

单片机完成指令的各个过程都需要在控制器的监督下完成。

最主要的内容是,将寄存的指令进行识别,然后拷贝这个指令,将其发送给寄存器,再将其发送到指令译码器译码,结果被发送到定时控制逻辑电路,控制信号和定时信号产生,然后发送到每个组成部分产生响应。

以上即为一条指令的整个执行过程,而程序执行必须连续地重复此过程。

控制器的组成部件主要包括两个逻辑电路,如时序控制和条件转移两种电路,此外,还需要一个编码器件,即指令译码器,两个寄存器,对程序地址和指令进行存储,最后,一个程序计数器也是必须的。

基于51单片机的多功能数字电子钟的设计

基于51单片机的多功能数字电子钟的设计

目录1 绪论 (1)1.1电子时钟的研究背景 (1)1.2电子时钟的国内外研究现状 (2)2 AT89S51单片机简介 (3)3 硬件系统设计 (4)3.1系统框架设计 (4)3.2模块设计 (5)3.2.1单片机系统电路 (5)3.2.2复位电路 (6)3.2.3晶振电路 (7)3.2.4数码管显示驱动电路 (7)3.2.5定时报时电路设计 (9)3.2.6按钮设置电路 (10)4 软件系统设计 (11)4.1主程序流程图 (11)4.2系统设计的源程序 (12)总结 (20)参考文献 (21)1 绪论1.1电子时钟的研究背景20世纪末,电子技术得到了极速的发展,毫无疑问,在其推动下,现代电子产品以及各种高科技产品几乎渗透到了社会的各个领域,这有力地推动了社会生产力的发展和社会信息化程度以及综合科技水平的提高,但产品更新换代的频率也越来越快。

随着科技的发展社会的进步和全球化竞争的日益激烈,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。

多功能电子钟不管在性能还是在样式亦或是用途上都发生了重大的变化,许多电子钟都已具备电子闹钟、电子秒表、温度检测等功能。

同时单片机在多功能数字钟中的应用已是非常普遍的。

多功能电子时钟除了具有时钟的功能外还可以包含对环境温度检测的功能。

温度是一种最基本的环境参数。

在各个行业生产及日常生活中,对温度的测量及控制始终占据着非常重要的地位。

目前,典型的温度检测控制系统由模拟式温度传感器、A/D转换电路和各种单片机组成。

由于模拟式温度传感器输出的模拟信号必须经过A/D转换环节转换为数字信号后才能与单片机等微处理器接口进行读写的操作,所以硬件电路会比较复杂,成本较高。

而以DS18B20为代表的新型单线总线数字式温度传感器集温度测量和A/D转换于一体,这类传感器可以直接输出数字量,同时与单片机接口电路结构非常简单,可以广泛用于距离远、节点分布多的场合,具有较强推广应用价值。

基于51单片机设计的多功能数字时钟

基于51单片机设计的多功能数字时钟

基于51单片机多功能数字时钟姓名:刘波学号:1系统设计1.1设计要求设计制作一个24小时制多功能数字钟。

1.1.1主要性能指标1、数字显示年、月、周、日、时、分、秒。

1.1.2创意部分要求准确的进行年、月、周、日、时、分、秒的转换,切换两种显示模式。

1.2总体设计方案1.2.1概述及设计思路该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天)。

1.2.2方案论证(1)时钟模块【方案一】采用单片机内置定时/计数器。

它的处理过程主要是先设定单片机内部定时/计数器的工作方式,对机器周期计数确定基准时间,然后用另外一个定时器软件计数的方法对基准时间形成秒,秒计60次形成分,分计60次形成小时。

依此类推,获取日期也是采用相同的方法。

该方案在具体实现过程中,计时存在较大的误差。

如果晶振受到其他外界信号干扰,或者基准时间计算不准确,都会导致时间显示错误。

【方案二】采用555多谐振荡器。

由555定时器组成一个多谐振荡器,产生周期为100HZ的脉冲,然后经过两个74LS160组成的分频器得到1HZ的秒脉冲。

多谐振荡器的稳定度及频率的准确度决定了数字钟计时的准确程度,通常选用成品晶振构成振荡器电路。

计时精度取决于振荡器的频率,振荡器频率越高计时精度越高。

【方案三】采用DS1302时钟芯片。

DS1302是一种高性能、超低功耗的实时时钟芯片,附加31字节静态RAM,可以通过串行接口与单片机进行通信。

实时时钟提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。

芯片内部集成备用电源,当外围电路电路有电源供应的时候,备用电源充电储能。

当外围电路掉电时,DS1302芯片工作在休眠状态,以备用电源供电。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。

通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。

1 引言 (3)2 单片机介绍 (4)3 数字钟硬件设计 (4)3.1系统方案的确定 (4)3.2功能分析 (4)3.3数字钟设计原理 (5)3.3.1键盘控制电路 (5)3.3.2晶振电路 (6)3.3.3复位电路 (7)3.3.4数码显示电路 (7)4.数字钟的软件设计 (8)4.1程序设计内容 (8)4.2源程序 (9)1 引言在单片机技术日趋成熟的今天,其灵活的硬件电路和软件电路的设计,让单片机得到广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。

单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。

基于单片机的定时和控制装置在许多行业有着广泛的应用,而数字钟是其中最基本的,也是最具有代表性的一个例子[1],用数字电路实现对时、分、秒数字显示的计时装置。

因为机具有体积小、功耗低、功能强、性价比高、易于推广应用的优点,在自动化装置、智能仪器表、过程控制、通信、家用电器等许多领域得到日益广泛的应用[2],因此具有很大的研究价值。

2 单片机介绍单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 、随机存储器RAM 、只读存储器ROM 、多种I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统[3]。

由于单片机的这种结构形式及它所采取的半导体工艺[4],使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。

单片机主要有如下特点[5]:(1)性价比高;(2)集成度高、体积小、可靠性强。

机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。

另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作;(3)控制功能强;(4)功耗小、电压低、便于生产的携式产品。

;(5)外部总线采用串行总线连接,以此缩小了体积;(6)单片机的系统扩展和系统配置典型、规范,容易构成各种规模的应用系统。

3 数字钟硬件设计 3.1 系统方案的确定硬件电路是一个系统的重要部分,在本次设计中主要是以AT89C51为核心控制器,外加一些控制电路来实现数字钟的基本功能。

单片机芯片作为控制系统的核心部件,它除了具备微机CPU 的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制[6],外围控制电路主要包括晶振电路模块、复位电路模块、按键电路模块以及数码管显示电1所示。

图1 数字钟系统结构图3.2功能分析1.准确计时,以数字形式显示时、分、秒的时间;2. 小时的计时为24小时制,分和秒的计时要求为60进位;3. 八位数码管 显示HH-MM-SS(时分秒),按键“模式键”依次选择调整“时”,“分”,“秒”,按键“加键”依次加1,按键“减键”依次减1 ;4.晶振电路起到减小误差,提高精确度的作用;5.复位电路是对单片机的初始化操作。

3.3数字钟设计原理数字钟的实现一般有两种方法:其一是直接用单片机的定时计数器产生固定时间,这种方法的优点是可以省去一些外围的芯片,其缺点是只能适用于一些要求不是十分精确、不作长期保留的场合;而对于要求较高的场合,则必须选用专用的芯片[7],本设计采用的是第一种方法。

直接用单片机的定时计数器产生固定时间,这种方法的工作原理是利用单片机芯片的定时器产生固定时间,模拟时钟的时、分、秒。

基于这一原理构成的数字钟系统主要由以下几部分组成:89C51单片机控制器电路,按键开关电路,8位数码管显示电路,复位电路,晶振电路五部分构成。

其工作原理电路图如图2所示。

图2 数字钟设计原理图3.3.1键盘控制电路数字钟最基本的功能除了能正常显示时间外,还需要对时间进行设置和调整,所以要配以相应的键盘控制电路。

该设计的键盘控制电路主要包括8个按键:P1.0控制系统时间暂停,P1.4控制系统时间继续;P1.1、P1.2、P1.3作为增加时分秒调整时按键,P1.5、P1.6、P1.7作为增加时分秒调整时按键。

键盘控制电路3.3.2晶振电路晶振的全称叫晶体振荡器,它在单片机系统里作用非常大,主要作用是产生单片机所需的时钟频率,单片机执行程序所需的时间完全取决于单片机晶振所提供的时钟频率,时钟频率越高,那么单片机运行速度就越快[8]。

在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。

高级的精度更高。

有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。

晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。

晶振电路如图4所示。

3.3.3复位电路复位是单片机的初始化操作。

单片机启动运行时,都需要先复位,其作用是使CPU 和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。

因而,复位是一个很重要的操作方式。

当MCS-5l 系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作:07H 写入堆栈指针SP ,P0口—P3口均置1,程序计数器PC 和其他特殊功能寄存器SFR全部清零。

只要RST 持续为高电平,单片机就处于循环复位状态[9]。

单片机的复位方式有上电自动复位和手工复位两种,本设计采用的是手动复位方式,其电路图如图5所示。

XTAL2XTAL1ALE EAPSEN RSTP0.0/AP0.1/A P0.2/A P0.3/A P0.4/A P0.5/A P0.6/A P0.7/AP1.0/T2P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXP3.1/TX P3.2/IN P3.3/IN P3.4/P3.7/RP3.6/W P3.5/P2.7/AP2.0/P2.1/P2.2/A P2.3/A P2.4/A P2.5/A P2.6/A AT89C52C3图5 复位电路3.3.4数码显示电路 发光二极管显示器驱动(点亮)的方法有两种。

一种是静态驱动法,即给欲点亮的LED 通以恒定的定流。

这种驱动方法要有寄存器,译码器,驱动电路等逻辑部件。

当需要显示的位数增加时,所需的逻辑部件及连线也相应增加,成本也增加。

另一种是动态驱动方法,这种方法是给欲点亮的LED 通过通以电流,此时LED 的亮度是通断的平均亮度。

为保证亮度,通过LED 的脉冲电流应数倍于其额定电流值。

利用动态驱动法可以减少需要的逻辑部件和连线,单片机应用系统中常采用动态驱动法[10]。

数码管有两种接法即共阳极接法和共阴极接法。

所谓共阳共阴,是针对数码管的公共脚而言的。

一个1位典型的数码管,一般有10个脚,8个段码(7段加1个小数点),剩下两个脚接在一起。

共阳指的是公共脚是正极(阳极),所有的段码实际上是负极,当某一个或某几个段码位接低电平,公共脚接高电平时,对应的段码位就能点亮,进而组合形成我们看到的数字或字母。

共阴刚好相反,也就是公共脚是负极(阴极),段码位是阳极,当公共脚接地,段码位接高电平时,对应段码位点亮,本次设计选择共阴极数码管,其中有6位显示“时”,“分”,“秒”,剩下两位显示“—”数码管A~DP 接单片机P0端口用于段选,1~9接单片机P2端口用于位选。

各个段码实际上是一个发光二极管,既然是发光二极管,就有正负极,为了防止驱动数码管电流过大而损坏,各端口接1K电阻。

8位共阴极LED数码显示电路如图6所示。

8 90 19912345678单片机软件设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。

设计步骤如下所示。

1. 采用模块化程序结构设计软件,首先将整个软件分成若干功能模块;2. 根据流程图,编写源程序;3. 上机调试各模块程序;4. 与硬件一起联调,最后完成全部调试工作。

4.2源程序#include<reg52.h>/*共阴数码管编码*/unsigned char code tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*共阳数码管编码unsigned char code tab1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};*//*位选编码*/unsigned char code tab2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};sbit duanxuan=P1^0;/*按键位定义*/sbit key0=P1^0;sbit key1=P1^1;sbit key2=P1^2;sbit key3=P1^3;sbit key4=P1^4;sbit key5=P1^5;sbit key6=P1^6;sbit key7=P1^7;/*秒、分、时的初始化*/unsigned char tt=0;unsigned char miao=0;unsigned char fen=0;unsigned char shi=0;/*延时函数*/void delay(unsigned char t){unsigned i;while(t--)for(i=0;i<75;i++);}/*定时器0初始化函数*/void chushihua(){TMOD=0x01;EA=1;ET0=1;TH0=(65535-50000)/256;TL0=(65535-50000)%256;TR0=1;}/*时分秒处理函数*/void timedeal(){if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;}}}}/*显示函数*/void display(){P2=tab2[0];P0=tab1[miao%10];delay(1);P0=0x00;//消影P2=tab2[1];P0=tab1[miao/10];delay(1);P0=0x00;//消影P2=tab2[2];P0=0x40;delay(1);P0=0x00;//消影P2=tab2[3];P0=tab1[fen%10];delay(1);P0=0x00;//消影P2=tab2[4];P0=tab1[fen/10];delay(1);P0=0x00;//消影P2=tab2[5];P0=0x40;delay(1);P0=0x00;//消影P2=tab2[6];P0=tab1[shi%10];delay(1);P0=0x00;//消影P2=tab2[7];P0=tab1[shi/10];delay(1);P0=0x00;//消影}/*按键设定函数*/ void sheding(){if(key0==0){delay(10);if(key0==0){EA=0;}}if(key1==0){delay(10);if(key1==0){if(miao==60)miao=0;while(!key1);}}if(key2==0){delay(10);if(key2==0){fen++;if(fen==60)fen=0;while(!key2);}}if(key3==0){delay(10);if(key3==0){shi++;if(shi==24)shi=0;while(!key3);}}if(key5==0){delay(10);if(key5==0){miao--;if(miao==0)miao=59;while(!key5);}}if(key6==0){delay(10);if(key6==0){if(fen==0)fen=59;while(!key6);}}if(key7==0){delay(10);if(key7==0){shi--;if(shi==0)shi=23;while(!key7);}}if(key4==0){delay(10);if(key4==0){EA=1;}}}/*主函数*/void main(){chushihua();while(1){sheding();timedeal();display();}}/*定时器0中断函数*/void time0() interrupt 1{TH0=(65535-50000)/256;TL0=(65535-50000)%256;tt++;if(tt==20){tt=0;miao++;}}。

相关文档
最新文档