欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年PCF的数字钟系统BJHFJ设计.docx

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

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

    2022年PCF的数字钟系统BJHFJ设计.docx

    封面作者: PanHongliang仅供个人学习基于 PCF8563的数字钟系统设计The design of digitalclock system base on PCF8563摘要本文介绍了一款基于AT89C2051 单片机数字钟的设计,通过多功能数字钟的设计思路,具体表达了系统硬件、软件的具体实现过程;论文重点阐述了数 字钟硬件中MCU 模块、时钟模块和相关掌握模块等的模块化设计与制作;软件同样采纳模块化的设计,包括中断模块、闹钟模块、时间调整模块设计,并 采纳简洁流通性强的 C 语言编写实现;本设计实现了时间与闹钟的修改功能、报警功能、年、月、日和星期的显示功能;并且通过对比实际的时钟,查找出 了误差的来源,确定了调整误差的方法,尽可能的削减误差,使得系统可以达 到实际数字钟的答应误差范畴内;关键词: AT89C2051单片机;数字钟; PCF8563AbstractThis paper introducedthe design of digital clock based on SCM of AT89C2051, thespecific process ofhow the system hardware and software achievedwere detailed description through the design of multifunction digital clock. The modular design and production, which consisted of MCUmodule, clock module and the associated control module, were mainly recounted;As well as hardware designing, software designusethe same method, consists suspension module, alarm clock module, time adjustmodule, and thatuse the C language to achieve because ofits simpleand strong negotiability.In thisdesign the functions of time and alarm clock run and change, voicebroadcas,tfunctions of the year, month, day and week display have been achieved.And by comparing the actual clock, find out the source of the error and determinedthe method of adjusting error, reduce errors as much as possibly,so this system can achieve a practical digital clock with error within the permissible range.Keywords : AT89C2051 microcontroller; Digital clock ;PCF8563目录第 1 章绪论 41.1 课题背景 41.2 课题意义 51.3 数字钟的应用 5第 2 章数字钟的硬件设计 62.1 整体设计方案 62.2 系统硬件的挑选 72.3 系统外围电路 14第 3 章数字钟的软件设计 163.1 系统软件设计内容 163.2 主程序 17 第 4 章结论 21 参考文献 22致谢 23附录 23第 1 章 绪 论1.1 课题背景单片机自 1976 年由 Intel 公司推出 MCS-48 开头,迄今已有二十多年了;由于单片机集成度高、功能强、牢靠性高、体积小、功耗地、使用便利、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”;单片机的应用领域已从面对工业掌握、通讯、交通、智能外表等快速进展到家用消费产品、办公自动化、汽车电子、PC 机外围以及网络通讯等广大领域;单片机有两种基本结构形式:一种是在通用微型运算机中广泛采纳的,将程序储备器和数据储备器合用一个储备器空间的结构,称为普林斯顿结构;另一 种是将程序储备器和数据储备器截然分开,分别寻址的结构,一般需要较大的 程序储备器,目前的单片机以采纳程序储备器和数据储备器截然分开的结构为 多;本文争论的单片机多功能定时器的核心是目前应用极为广泛的51 系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点;不仅能满意所需要求,而且仍有很多功能可供开发, 有着广泛的应用领域;1.2 课题意义在日常生活和工作中,我们经常用到定时掌握,如扩印过程中的曝光定时等;早期常用的一些时间掌握单元都使用模拟电路设计制作的,其定时精确性和重复精度都不是很抱负,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程掌握系统,完成复杂的掌握功能;小就可以用于家电掌握,甚至可以用于儿童电子玩具;它功能强大,体积小,质量轻,敏捷好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品;随着电子技术的飞速进展,家用电器和办公电子设备逐步增多,不同的设备都有自己的掌握器,使用起来很不便利;依据这种实际情形,设计了一个单片机多功能定时系统,它可以防止多种掌握器的混淆,利用一个掌握器对多路电器进行掌握,同时又可以进行时钟校准和定点打铃;它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间;这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范畴,为家庭数字化供应了可能;1.3 数字钟的应用数字电子钟具有走时精确,一钟多用等特点,在生活中已经得到广泛的应用;虽然现在市场上已有现成的电子钟集成电路芯片出售,价格廉价、使用也便利,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了便利;另外数字钟仍具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的颜色;时间对人们来说总是那么珍贵,工作的劳碌性和纷杂性简洁使人遗忘当前的时间;遗忘了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅;但是,一旦重要事情,一时的耽搁可能酿成大祸;电子钟已成为人们日常生活中必不行少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、消遣带来极大的便利;由于数字集成电路技术的进展和采纳了先进的石英技术,使电子钟具有走时精确、性能稳固、携带便利等优点,它仍用于计时、自动报时及自动掌握等各个领域;第 2 章 数字钟的硬件设计2.1 整体设计方案由于本系统要求具有语音播报功能,所以需采纳十六位可处理语音信号的单片机;其主要设计思想是:整个系统用单片机为中心掌握器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的掌握功能;时钟芯片产生时钟信号,利用单片机的I/O 口传给单片机;并通过 I/O 口实现 LCD 的显示;系统设有4 个按键可以对时间星期年月日进行调整,仍可以设置闹钟;整体框架如图 2-1 所示;图 2-1 系统整体框图2.2 系统硬件的挑选2.2.1 单片机的挑选AT89C2051 是由 ATMEL 公司推出的一种小型单片机;95 年显现在中国市场;其主要特点为采纳Flash 存贮器技术,降低了制造成本,其软件、硬件与MCS-51 完全兼容,可以很快被中国广大用户接受,其程序的电可擦写特性,使得开发与试验比较简洁; AT89C2051(以下简称 2051)是一种低功耗、高性能的 8 位 CMOS 微掌握器芯片,片内带2KB 的快闪可编程及可擦除只读储备器( E2PROM);它于 MCS-51 指令系统兼容,片内 E2PROM 答应对程序储备器在线重新编程,也可以用常规的E2PROM 编程器编程; ATMEL 的 2051 将具有多种功能的 8 位 CPU 与 E2PROM 结合在同一芯片上,为很多嵌入式掌握应用供应了高度敏捷且价格相宜的方案(市场价格仅10 几元); 2051 仍增加了在零频下工作的静态规律方式及两种软件可选的省电模式;在其中,在闲置模式下, CPU 停止工作,但RAM 、定时器、计数器、串行口和终端系统仍在工作;在掉电模式下,只储存RAM 的内容,振荡器停振,关闭芯片的全部其它功能,直到下一次硬件复位为止;( 1) 89C2051主要性能如下: 1 与 MCS-51产品兼容;2.2KB 的在线可重复编程快闪储备器,寿命可达1000 次写/ 擦除周期;3. 宽工作电压范畴为 2.7V6V ;4. 全静态工作方式 :0Hz24Hz;5. 两级程序储备加密;6.128*8 位 SRAM;7.15 条可编程 I/O 线;8.2 个 16 位定时器 / 计数器;9.5 个中断电源;10. 可编程串行通道;11. 可直接驱动 LED;12. 有片内精密模拟比较器;13. 低功耗的闲置与掉电模式;14. 软件设置睡眠和唤醒功能;15. 可编程 UARL通道;16. 两个 16 位可编程定时 / 计数器;(2) AT89C2051的结构框图如图 2-2 所示, AT89C2051采纳 ATMEL的高密非易失储备技术制造并和工业标准 MCS-51指令集和引脚结构兼容;通过在单块芯片上组合通用的CPL1和闪速储备器;AT89C2051是一强劲的微型运算机 , 它对很多嵌入式掌握应用供应一高度灵活和成本低的解决方法;图 2-2 AT89C2051 内部结构图此外,从 AT89C2051内部结构图也可看出,其内部结构与8051 内部结构基本一样(除模拟比较器外),引脚RST、XTAL1、XTAL2 的特性和外部连接电路也完全与 51 系列单片机相应引脚一样,但 P1、P3 口有特殊之处;(3)AT89C2051引脚89C2051共有 20 条引脚,详见图 2-3;从图中可见, 2051 继承了 8031 最重要引脚:图 2-3 AT89C2051 的引脚图AT89C2051的引脚说明:对比 AT89C2051引脚与 8051 内部结构可发觉,AT89C2051削减了两个对外端口(即 P0、P2 口), 使它最大可能地削减了对外引脚 , 因而芯片尺寸有所削减;AT89C2051芯片的 20 个引脚功能为:1. Vcc :电源电压;2. GND:地;3. P1 口: P1 口是一 8 位双向 I/O 口;口引脚 P1.2 P1.7 供应内部上拉电阻; P1.0 和 P1.1 要求外部上拉电阻; P1.0 和 P1.1 仍分别作为片内精密模拟比较器的同相输入 AIN0 和反相输入( AIN1 ;P1口输出缓冲器可吸取20mA电流并能直接驱动 LED显示;当 P1 口引脚写入“ 1”时 , 其可用作输入端;当引脚 P1.2 P1.7 用作输入并被外部拉低时 , 它们将因内部的上拉电阻而流出电流 IIL;P1 口仍在闪速编程和程序校验期间接收代码数据;4. P3 口: P3 口的 P3.0 P3.5 、P3.7 是带有内部上拉电阻的七个双向I/0引脚;P3.6 用于固定输入片内比较器的输出信号并且它作为一通用I/O 引脚而不行拜访; P3口缓冲器可吸取 20mA电流;当 P3 口引脚写入“ 1”时 , 它们被内部上拉电阻拉高并可用作输入端;用作输入时, 被外部拉低的 P3 口引脚将用上拉电阻而流出电流 IIL;P3 口仍用于实现 AT89C2051的各种功能 , 如下表 1 所示;表 2-1P3 口的功能P3 口引脚功能P3.0RXD串行输入端口 P3.1TXD串行输出端口 P3.2INT0 外中断 0P3.3INT1 外中断 1P3.4TO定时器 0 外部输入 P3.5T1 定时器 1 外部输入 P3 口仍接收一些用于闪速储备器编程和程序校验的掌握信号;5. RST :复位输入; RST一旦变成高电平 , 全部的 I/O 引脚就复位到“1”;当振荡器正在运行时 , 连续给出 RST引脚两个机器周期的高电平便可完成复位;每一个机器周期需 12 个振荡器或时钟周期;6. XTAL1 :作为振荡器反相放大器的输入和内部时钟发生器的输入;7. XTAL2 :作为振荡器反相放大器的输出;从上述引脚说明可看出 ,AT89C2051没有供应外部扩展储备器与 I/O 设备所需的地址、数据、掌握信号 , 因此利用 AT89C2051构成的单片机应用系统不能在AT89C2051之外扩展储备器或 I/O 设备, 也即 AT89C2051本身即构成了最小单片机系统;(4) 电源89C2051 有很宽的工作电源电压,可为 2.7 6V, 当工作在 3V 时,电流相当于 6V 工作时的 1/4 ;89C2051 工作于 12Hz 时,动态电流为 5.5mA ,闲暇态为 1mA, 掉电态仅为 20nA ;这样小的功耗很适合于电池供电的小型掌握系统;(5) 储备器89C2051 片内含有 2k 字节的 Flash 程序储备器, 128 字节的片内 RAM, 与80C31 内部完全类似;由于2051 内部设计全静态工作,所以答应工作的时钟为 020MHz, 也就是说,答应在低速工作时,不破坏RAM 内容;相比之下, 一般 8031 对最低工作时钟限制为 3.5MHz ,由于其内部的 RAM 是动态刷新的;89C2051 不答应构造外部总线来扩充程序/数据储备器,所以它也不需要ALEPSEN 、RD 、WR 一类的引脚;(6) 内部 I/O 掌握AT89C2051 在内部 I/O 掌握上继承了 MCS51 的特性: 5 路 2 级优待中断, 2 路定时器 /计数器;(7) 程序保密AT89C2051 设计有 2 个程序保密位,保密位 1 被编程之后,程序储备器不能再被编程除非做一次擦除,保密位2 被编程之后,程序不能被读出;(8) 性能价格比下面就目前国内全胜较多的两种单片机,争论一下2051 的性能价格比;a、与 80C31 系统相比较假如需要构成一个 80C31 的最小系统的话,除了 CPU 之外,至少需要一片27C64,而系统的有效引脚和 89C2051基本相同;从元器件的成本,电路板的面积和加密性来看,使用89C2051 都是合算的;b、与 PIC 单片机比较目前,国内小型的单片机全胜较多的有PIC 系列, 89C2051与 PIC 相对应芯片比较有如下特点:89C2051的价格高于 PIC 的 OTP 型号,但大大低于 PIC 的 EPROM 型,89C2051片内不含 Watch Dog,这是 89C2051 的不足之处,中断系统堆栈结构、串等通讯笔定时器系统都大大强于PIC 系统;由于 PIC 芯片中无标准串等口,所以在单片机的联网应用上面,PIC 不太适合;与 PIC 相比 2051 更适合于较复杂的应用场合,适合一些软件需要多次修改的应用;(9) AT89C2051 的外围电路单片机要正常运行,必需具备肯定的硬件条件,其中最主要的就是三个基本条件:( 1)电源正常;( 2)时钟正常;( 3)复位正常;1 工作电源电源是单片机工作的动力源泉,对应的接线方法为;20 脚( VCC)电源引脚,工作时接 5 电源, 10 脚( GND)为接地线;2 时钟电路时钟电路为单片机产生时序脉冲,单片机全部运算与掌握过程都是在统一的时序脉冲的驱动下进行的,时钟电路就好比人的心脏一样重要;当采纳内部时钟时,在晶振引脚 XTAL15 脚和 XTAL24 脚引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如 30PF;3 复位电路在复位引脚 1 脚连续显现 24 个振荡器脉冲周期 即 2 个机器周期 的高电平信号将使单片机复位;电容 C 和电阻 R 构成了单片机上电自动复位电路;复位后,单片机从 0000H 单元开头执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如表 2-2 所示;表 2-2 复位寄存器状态表寄存器状态寄存器状态PC000HTC0N00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0 P3FFHSCON00HIPXXX00000HSBUF不确定IEOXX00000HPCON0XXX0000HTMOD00H4 掌握引脚EA 接法EA/VPP31 脚为内外程序储备器挑选掌握引脚,当EA 为低电位时单片机从外部程序储备器取指令;当EA 接高电平常单片机从内部程序储备器取指令;AT89C51 单片机内部有 2KB 可反复擦写 1000 次以上的程序储备器,因此要把 EA 接+5V 高电平,让单片机运行内部的程序,这样就可以通过反复烧写来验证程序了;这就是 AT89C51 单片机最小化系统的连接,只要把编写好的程序烧写到单片机内部,并接上5V 电源就可以正常运行了,在17 脚接上的发光二极管可以用来验证系统是否正常;2.2.2 时钟芯片系统的时钟芯片选用 PCF8563,图 2-4 为 PCF8563内部结构; PCF8563内部包括 16 个 8 位寄存器,可自动增量的地址寄存器,内置32.768Hz 的振荡器带有一个内部集成的电容 ,分频器 用于给实时时钟 RTC 供应源时钟 ,可编程时钟输出,定时器,报警器,掉电检测器和400 kHz 的 I 2C 总线接口;全部 16 个寄存器设计成可寻址的 8 位并行寄存器,但不是全部位都有用;前 2 个寄存器 内存地址 00H, 01H用于掌握寄存器和状态寄存器,其中内存地址 02H08H 用于时钟计数器 秒年计数器 ,地址 09H0CH 用于报警寄存器定义报警条件 ,地址 0DH 掌握 CLKOUT 引脚的输出频率,地址 0EH 和 0FH 分别用于定时器掌握寄图 2-4 PCF8563内部结构存器和定时器寄存器;秒、分钟、小时、日、月、年、分钟报警、小时报 警、日报警寄存器,编码格式为BCD,星期和星期报警寄存器不以 BCD 格式编码;PCF8563采纳 32.768kHz 可编程时钟输出频率, I2C 总线是由数据线 SDA和时钟 SCL 构成的串行总线,可发送和接收数据;单片机与PCF8563之间双向2传送数据,最高传送速率为 100 Kb/S;I C 总线的优点是简洁和有效;由于接口直接在组件之上,因此, I2C 总线占用的空间特别小,削减了电路板的空间和器件引脚的数量,降低了图 2-5PCF8563 与 AT89C2051 接口图成本;图 2-5 为 PCF8563与 AT89C2051 单片机的接口电路, PCF8563的 SCL 与单片机的引脚 P14 连接; SDA 与单片机的引脚 P15 连接,实现时间、日期等数据的读取;2.2.3 LCD 显示电路液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了;本系统选用1602B;其外观如图 2-6;图 2-61602B 外观图1602B 可以显示 2 行 16 个字符,有 8 位数据总线 D0-D7,和 RS、R/W、EN 三个掌握端口,工作电压为 5V ,并且带有字符对比度调剂和背光;该模块也可以只用D4-D7 作为四位数据分两次传送,这样的话可以节约MCU 的 I/O 口资源;各引脚的功能见表 2-3;表 2-3 LCD 引脚功能图编号符号引脚说明编号符号引脚说明1VSS电源地9D2双向数据口2VDD电源正极10D3双向数据口3VL对比度调剂11D4双向数据口4RS数据/命令选12D5双向数据口择5R/W读/写挑选13D6双向数据口6E模块使能端14D7双向数据口7D0双向数据口15BLK背光源地8D1双向数据口16BLA背光源正极从该模块的正面看,引脚排列从右向左为:15 脚、 16脚,然后才是1 14脚;VDD :电源正极, 4.5 5.5V,通常使用5V 电压;VL :LCD 对比度调剂端,电压调剂范畴为 0 5V ;接正电源时对比度最弱,接地电源时对比度最高,但对比度过高时会产生 “鬼影”,因此通常使用一个 10K 的电位器来调整对比度,或者直接串接一个电阻到地;RS:MCU 写入数据或者指令挑选端; MCU 要写入指令时,使 RS 为低电平; MCU 要写入数据时,使 RS 为高电平;R/W:读写掌握端; R/W 为高电平常,读取数据; R/W 为低电平常,写入数据;E:LCD 模块使能信号掌握端;写数据时,需要下降沿触发模块;D0 D7: 8 位数据总线,三态双向;假如MCU 的 I/O 口资源紧急的话, 该模块也可以只使用 4 位数据线 D4 D7 接口传送数据;本充电器就是采纳4 位数据传送方式;BLA : LED 背光正极;需要背光时, BLA 串接一个限流电阻接 VDD ,BLK 接地,实测该模块的背光电流为50mA 左右; BLK : LED 背光地端;它与单片机的连接如图 2-7 所示;图 2-7 LCD 与单片机接口2.3 系统外围电路2.3.1 电源电路电源电路包括变压器、桥式整流器、电容和稳压器;通过变压器变压,使得 220V 电压变为 12 V,在通过桥式整流,电容的滤波作用,稳压器的稳压作用,可输出 5V 的稳固电压;如图 2-8 所示;图 2-8 系统电源电路在系统中要用到 2 个电源:单片机电源与 PCF8563 时钟芯片电源所以有 2路电源 VCC 和 VCC1;2.3.2 相关掌握电路(1) 按键电路按键电路如图 2-9 所示,按键的开关状态通过肯定的电路转换为高、低电平状态;图 2-9 按键电路图按键闭合过程在相应的 I/O 端口形成一个负脉冲;闭合和释放过程都要经过肯定的过程才能达到稳固,这一过程是处于高、低电平之间的一种不稳固状 态,称为抖动;抖动连续时间的常长短与开关的机械特性有关,一般在5-10ms 之间;为了防止 CPU 多次处理按键的一次闭合,应采纳措施排除抖动;本文采纳的是独立式按键,直接用 I/O 口线构成单个按键电路,每个按键占用一条I/O 口线,每个按键的工作状态不会产生相互影响;P1.0 口:表示功能移位键,按键挑选要调整的时十位、时个位、分十位或分个位;P1.1口:表示数字“ +”键,按一下就对应的数字加 1;P1.2口:表示数字“ -”键,按一下就对应的数字减 1;P1.3 口:表示时间表的切换,程序默认为日常时间表,当按下该开关,使输入为低电平常,表示当前执行的是考试时间表;再按键,使按键抬起,输入维高电平常,表示当前执行的是日常作息时间表;(2) 复位电路AT89C2051 单片机的复位是由外部的复位电路来实现的;复位引脚RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器 周期的 S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号;上电复位:上电复位电路是种简洁的复位电路,只要在RST 复位引脚接一个电容到 VCC,接一个电阻到地就可以了;上电复位是指在给系统上电时, 复位电路通过电容加到 RST 复位引脚一个短暂的高电平信号,这个复位信号随着 VCC 对电容的充电过程而回落,所以RST 引脚复位的高电平维护时间取决于电容的充电时间;为了保证系统安全牢靠的复位,RST 引脚的高电平信号必需维护足够长的时间;图 2-10 复位电路如图 2-10 所示,上电自动复位是通过外部复位电路的电容充电来实现的;只要 Vcc 的上升时间不超过 1ms,就可以实现自动上电复位;第 3 章 数字钟的软件设计3.1 系统软件设计内容本设计的软件程序包括主程序、中断子程序、闹钟设定子程序、时钟显示子程序以及延时子程序等;在整个系统中,在单片机的30H、31H 和 32H 中储备当前时间的小时、分钟和秒;用 LCD 显示当前的时间,必需用到分字和合字,因此在33H、34H、35H、36H、37H 和 38H 中储备当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,便利显示;本设计有由四个轻触按键组成的小键盘,这些按键可以任意转变当前的状态;按功能移位键一次,表示当前要校对小时的十位;按其次次,表示当前校对的是小时的个位;按第三次,就表示校对的是分钟的十位;第四次,表示的校对的是分钟的个位;按下数字“ +” 键和数字“ -”键可在当前校对的数字上相应加上 1 或者减去 1;系统软件采纳 C 语言编写;时钟的最小计时单位是秒,但使用定时器的方式 1,最大的定时时间也只能达到131ms;我们可把定时器的定时时间定为50ms;这样,计数溢出20 次即可得到时钟的最小计时单位:秒;而计数20 次可以用软件实现;秒计时是采纳中断方式进行溢出次数的累积,计满20 次,即得到秒计时;从秒到分,从分到时是通过软件累加并进行比较的方法来实现的;要求每满 1 秒,就“秒”单元中的内容加 1;“秒”单元满 60,就“分” 单元中的内容加 1;“分”单元满 60,就“时”单元中的内容加 1;“时”单元满 24,就将时、分、秒的内容全部清零;实时时钟程序设计步骤:(1) 挑选工作方式,运算初值;(2) 采纳中断方式进行溢出次数累计;(3) 从秒分时的计时是通过累加和数值比较实现的;(4) 时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM 中要设置显示缓冲区,共6 个地址单元;显示缓冲区从左到右依次存放时、分、秒数值;(5) 主程序:主要进行定时器 / 计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来;(6) 中断服务程序:进行计时操作;(7) 加 1 子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加 1 时共三次调用加 1 子程序,包括:合字、加 1 并进行进制调整、分字;3.2 主程序图 3-1 主程序 MAIN 流程框图主程序主要由 main组成通过对相关子程序的调用,实现了对时间的设置与修改、闹钟的设置与修改、LCD 显示等主要功能;相关的调整是靠对功能键的判定来实现的;如对set键的判定,对 up 键的判定;主程序流程框图如图3-1所示;主要程序段如下:void mainvoid /d_to_b ;/ds1302_write_time; /对 DS1302 写数据initTimer ;TR0=1;ET0=1;EA=1;LCD_init ;LCD_write_string0,0,"Wellcome to xnkd" ;LCD_write_string0,1,"123456789-mysy" ;while1ifsethour=timereg4&&setmin=timereg5&&.fspk&&timereg6=0 fspk=1;if.set/ 功能键判定.iffset if.up /调用 1 键子程序if.down/ 调用 1 键子程序if.enter3.2.1 时钟设置子程序时钟的修改第一要按功能键并停止时间的输出显示,否就系统连续刷新时 间就无法修改,所以时间是不输出到LCD 的;修改的部分以修改的为准,没有修改的通过中断爱护起来;等修改胜利后连续显示;主要流程图如图3-2 所示;图 3-2 时钟设置功能子程序流程框图小时设置程序段如下:ifkeycou=5 / 设置小时LCD_write_string0,0,"Hour:" ;/将现在时间储存 LCD_set_xy5,0;/对小时重新设置LCD_write_char0,timereg4/10+0x30 ; /设置完成后显示修改后的小时部分LCD_write_char0,timereg4%10+0x30 ;五个中断源外部中断 0( /INT0 )入口地址0003HT0 溢出中断000BH在时间修改功能中要用到1 个数字加减的问题,把它做成1 个子程序,流程如图 3-3 所示;图 3-3 加 1 键修改子程序流程框图通过判定功能键的状态也就是记录值来确定;主功能键SET 是采纳循环的方式来实现的,;当标识为相应的值时执行相应的操作;ifkeycou=5/ 小时加一iftimereg4<23 timereg4+ ;else timereg4=23;LCD_set_xy5,0;LCD_write_char0,timereg4/10+0x30 ;LCD_write_char0,timereg4%10+0x30 ;3.2.2 中断子程序MCS-51 系列单片机有 5 个中断源,中断分为 2 个中断优先级,即高优先级和低优先级,每个中断源的优先级都可以由软件来设定;中断地址如表3-1 所示;程序中的中断流程框图如图3-4 所示;表 3-1 中断地址表外部中断 1( /INT1 )0013HT1 溢出中断001BH串口中断0023H图 3-4 时钟修改中断服务子程序流程框图时钟修改中断服务子具体程序如下:/*/*Function: 外部中断 1 中断服务子程序*parameter:*Return:*Modify:/*/ void Interrupt1 void interrupt 2Int1Flag = 1;/*/*Function: 定时器 0 中断服务子程序*parameter:*Return:*Modify:/*/ void InterruptTime0void interrupt 1TH0 = 0x06; /8ms TL0 = 0xed;Time0Count+;/*/*Function: 定时器 1 中断服务子程序*parameter:*Return:*Modify:3.2.3 LCD 显示子程序LCD 显示子程序可对 PCF8563 的时间进行设置和读取 PCF8563 内部的时间、连续的读写操作、 RAM 的应用、充电部分的应用、写爱护、抗干扰等可以实现上述功能;在编写中应留意的是进制的转换,下面是BCD 码到十进制数的转换函数;/*/*函数名:BCD_to_INT;/*参数:无/*功能 : 用 于 将 时 间BCD码 转 换 为 十 进 制 码/*/voidBCD_to_INTuchari;fori=0;i<7;i+ bcd_inttimercuri;第 4 章 结 论本设计主要介绍了单片机的历史进展,以及数字钟在日常生活中的具体应 用给日常生活带来的便利;在其次章介绍了系统的整体构思方案,有几个模块 组成,以及每个模块的连接方法;核心芯片单片机的基本资料介绍,着重介绍 了单片机的对比与挑选; AT89C2051 单片机最小系统的架构与试验;多功能数字钟系统的硬件模块组成;具体介绍了各个模块的组成及功能;MCU 的组成和特点、特地的时钟芯片和单片机时钟、显示模块的构

    注意事项

    本文(2022年PCF的数字钟系统BJHFJ设计.docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开