基于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。

  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++;}}。

相关文档
最新文档