电子时钟设计报告

合集下载

基于FPGA的电子钟设计报告

基于FPGA的电子钟设计报告

基于FPGA的电子钟设计报告一、FPGA的基本知识1、可编程逻辑器件的概况可编程逻辑器件主要分为FPGA和CPLD 两种,两者的功能基本相同。

FPGA--现场可编程门阵列的简称CPLD--复杂可编程逻辑器件的简称2、FPGA芯片及其最小系统(1)FPGA芯片它的外形与普通嵌入式处理器芯片相同采用PGA(Organic pin grid Array,有机管脚阵列)的封装形式,但可以通过烧写特殊程序改变其内部结构,实现专门的电路功能。

基于FPGA的数字时钟2019-11-23 21:36·电力源动一、FPGA的基本知识1、可编程逻辑器件的概况可编程逻辑器件主要分为FPGA和CPLD 两种,两者的功能基本相同。

FPGA--现场可编程门阵列的简称CPLD--复杂可编程逻辑器件的简称它的外形与普通嵌入式处理器芯片相同采用PGA(Organic pin grid Array,有机管脚阵列)的封装形式,但可以通过烧写特殊程序改变其内部结构,实现专门的电路功能。

二、FPGA的设计方法1、编程语言FPGA的主流程序设计语言主要有VHDL语言与Verilog语言两种。

本课题采用VHDL语言进行编写。

VHDL--用简洁明确的源代码来描述复杂的逻辑控制。

它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。

Verilog--一种基本语法与C语言相近,相比较于C语言更容易理解,2、图形化程序设计(设计效率低)三、软件开发环境QuartusII是Altera提供的FPGA开发集成环境,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。

它完全支持VHDL设计流程,其内部嵌有VHDL逻辑综合器。

四、数字钟功能模块认识数字时钟的设计采用了自顶向下分模块的设计。

底层是实现各功能的模块,各模块由VHDL语言编程实现顶层采用原理图形式调用。

具体的设计框图:各模块原理剖析:(1)在七段数码管上具有时--分--秒的依次显示;(2)时、分、秒的个位记满十向高位进一,分、秒的十位记满五向高位进一,小时按24进制计数,分、秒按60进制计数;(3)整点报时,当计数到整点时扬声器发出响声;(4)时间设置:可以通过按键手动调节秒和分的数值。

数字电子钟设计报告

数字电子钟设计报告

数字电子钟一.摘要数字电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。

它的计时周期为24小时,显示满刻度为23时59分59秒。

因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路和振荡器组成。

主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。

秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。

“时计数器”采用24进制计时器,可实现对一天24小时的累计。

译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。

校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。

采用74160,74393实现24进制和60进制,从而实现计数功能。

目录一.正文 (3)1.1系统设计 (3)1.11设计原理(数字电子钟结构框图): (3)1.12石英晶体振荡器 (3)1.2单元电路设计 (4)1.21时、分、秒计数器的设计: (4)1.2.1.1 元器件的选择:74LS160 同步十进制计数器、与非门 (4)1.2.1.2 二十四进制计数器电路图 (5)1.2.1.3 六十进制计数器电路图 (6)1.2.1.4 秒脉冲谐振电路: (6)1.3系统的测试 (8)1.3.1 N进制级联 (8)1.3.2分频器电路 (8)1.3.3.调校电路 (9)1.4 总结 (10)参考文献 (10)附录 (11)1.元器件的明细表 (12)一.正文1.1系统设计1.11设计原理(数字电子钟结构框图):数字电子钟是一个典型的数字电路系统,其由直流稳压电源,秒脉冲发生器,时、分、秒计数器以及校时和显示电路组成结构框图如下:图表 11.12石英晶体振荡器:石英晶体振荡器的特点是振荡频率准确,电路结构简单,频率易调节。

电子行业电子钟设计报告

电子行业电子钟设计报告

电子行业电子钟设计报告1. 引言在现代社会中,电子钟作为一种时间显示设备,被广泛应用于各个领域,例如办公室、学校、铁路站等。

本文将介绍电子行业电子钟的设计过程、功能要求以及原理。

2. 设计过程电子行业电子钟的设计过程可以分为如下几个步骤:2.1 确定需求首先,我们需要明确电子行业电子钟的功能需求。

根据电子行业的特点,我们需要考虑以下功能: - 精确的时间显示 - 大字体显示 - 高亮度显示- 易于操作和设置 - 耐用性和稳定性2.2 选取合适的硬件平台根据功能需求,我们需要选择合适的硬件平台来搭建电子钟。

一般来说,我们可以选择微控制器作为主控芯片,并结合数字显示器和时钟模块来实现计时和显示功能。

2.3 硬件电路设计在确定硬件平台后,我们需要设计电子钟的硬件电路。

电子时钟的主要电路包括时钟模块和显示模块。

时钟模块可以使用石英晶体振荡器来提供精确的时钟信号,而显示模块可以选择使用数码管或LCD来显示时间。

2.4 软件程序设计设计完硬件电路后,我们需要编写软件程序来控制硬件并实现各项功能。

软件程序需要包括时钟控制、显示控制、设置功能等。

2.5 调试和优化完成软件编程后,我们需要对系统进行调试和优化。

调试过程中,我们需要确保各项功能正常运作,并对性能进行测试和优化。

3. 功能要求根据电子行业的特点和用户需求,我们对电子行业电子钟的功能要求如下:3.1 精确的时间显示电子钟需要能够准确显示当前的时间,通过与标准时间源的同步,保证时间的准确性。

3.2 大字体显示电子钟需要采用大字体显示,以便用户能够清晰地看到时间。

3.3 高亮度显示电子钟需要具有高亮度的显示效果,以适应不同光照条件下的使用需求。

3.4 易于操作和设置电子钟需要配备简洁明了的操作界面,以方便用户进行时间设置和功能选择。

3.5 耐用性和稳定性电子钟需要具备较强的耐用性和稳定性,能够长时间稳定运行并抵抗外界干扰。

4. 原理电子行业电子钟的原理基于以下几个方面:4.1 时钟模块电子钟的时钟模块一般采用石英晶体振荡器作为时钟源。

《电子技术》课程设计报告-数字电子钟设计

《电子技术》课程设计报告-数字电子钟设计

《电子技术》课程设计报告-数字电子钟设计一、背景介绍数字电子钟是一个实时的计时器,它可以按照设定的时刻精确地表示时间。

它使用微处理器和时钟芯片来处理时间。

因此,它可以被视为一个微处理器系统,系统中含有存储器、计数器、报警功能等。

最新的电子时钟如石英钟使用特制石英晶片来制定时钟。

由于石英可以产生完美的电振动,因此可以更准确地检测时钟改变。

二、数字电子钟的设计原理1、时钟驱动电子时钟的操作需要一定的时间和精度,主要是依靠特殊的驱动器来实现的。

驱动器有石英、硅、力学和光学等多种。

其中石英芯片是电子时钟的核心部件并且最常用。

可以让电子时钟每秒产生32千分之一秒的精度。

2、晶振电路晶体振荡器电路是将电能转换成振荡信号和时钟信号的基础电路。

在电子时钟中,晶振电路可以将3.3V的DC电源转换成正弦波信号。

3、控制电路控制电路是接收电子时钟信号,并将其转换为可读取的数字信号的电路。

它通过检测当前的时钟值与它预设的标准值,来决定是否需要重新设定。

4、显示电路为了使时间显示准确,显示电路需要有一定的能力,它可以将控制电路经过变换后的数字转化为可视的数字或符号信号,比如LED。

我们首先使用PIC16F628A微控制器来控制数字电子钟,PIC16F628A是一款常用的单片机,在实现数字电子钟的最基本功能时天然的具有很多优势,即具有丰富的I/O口及高性能的CPU。

而在驱动这个数字电子时钟时,我们选择了普通的石英晶振,其工作电压为3.3V,频率为32.768kHz。

它的作用是将电源电压转换成正弦波信号,然后此信号可以被PIC单片机读取,从而实现全电子时钟功能。

在处理每秒钟走过的时间时,我们使用计数器根据晶振输入的时钟信号逐渐计数,而当计数器计数到一定值时,PIC单片机就知道一秒的时间已经过去,然后继续进行计算.最后,我们选用一个4位共阳极数码管来将这些数据转化为显示数字的动作,它从数据地址上读取数据,然后一次送到一位,就可以实时显示电子时钟的实时时间。

数字时钟设计报告同济大学

数字时钟设计报告同济大学

设计报告内容:1/系统的设计任务2/设计方案3/方案中各部分单元的设计、参数计算和器件选择4/画出符合设计要求的完整系统电路图。

5/打印并在规定时间内上交设计报告(准备进行答辩,并在计算机中演示设计程序)设计题目数字电子钟1、设计任务:必备功能:1.设计一个高精度、高稳定度的时钟信号源。

2.用秒脉冲作信号源,构成数字钟,显示秒、分、时3.具有对时功能,即时间可以快速预置。

附加功能:具有整点提示功能,即每到整点发出蜂鸣声。

2、供选方案:1)时钟信号源的实现:时钟信号源是时钟类项目的心脏,他的精确度直接影响到整个项目的性能方案A用石英晶振电路晶振是石英振荡器的简称,英文名Crystal,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。

它是时钟电路中最重要的部件,它的作用是向电子电路各部分提供基准频率。

选择晶振的主要性能指标有:调整频差、温度频差或总频差、谐振电阻或负载谐振电阻,还有机械性能等。

除了石英晶体外,晶振器电路还需要配置适当的电阻和晶振负载电容。

和晶振串联电阻的作用是防止晶振过分驱动,过分驱动会逐渐损耗晶振的接触电镀,引起频率上升,使晶振失效。

与晶振并联电阻是反馈电阻,保证反相器工作在适当工作区,如果去掉会产生停振。

晶振负载电容能使芯片更容易起振,振荡更稳定。

其电容值一般在20pf,30pf,50pf,100pf 中选择。

方案B 555多谐振荡器网上查阅的555多谐振荡器电路:_ _ 5V优点是起振容易,振荡周期调节范围广,缺点是频率稳定性差,精度低,所以在本试验中不宜使用。

2)分频器的实现方案A采用专用分频器如二分频,六分频,十二分频,1/60分频器,常用集成电路有74LS9274LS56,74LS57等。

方案B用各种进制计数器构成分频器用异步十进制计数器74LS90同步十进制计数器74LS290双时钟同步加减计数器74LS192都可以很容易构成十进制,十二进制,二十四进制,六十进制分频器。

基于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位地址复⽤总线端⼝。

LCD电子时钟的设计

东北石油大学课程设计课程单片机课程设计题目单片机控制的LCD时钟设计院系电气信息工程学院测控系专业班级学生姓名学生学号指导教师2011年4月6日东北石油大学课程设计任务书课程单片机课程设计题目单片机控制的LCD时钟设计专业姓名学号一、任务设计一款基于STC89C52RC单片机的LCD数字时钟,实现显示当前时间以及具有调整日期与时间的功能。

二、设计要求[1] 使用集成数字电路或单片机作为主控制芯片。

[2] 使用LCD来显示现在的时间,显示格式为:上行显示:年-月-日;下行显示:时时:分分:秒秒。

[3] 使用时钟芯片DS1302实现时钟定时。

[4]具有调整日期与时间的功能。

[5] 写出详细的设计报告。

[6] 给出全部电路和源程序。

三、参考资料[1] 求是科技. 单片机典型模块设计实例导航. 北京:人民邮电出版社. 2005.8[2] 徐淑华, 程退安等.单片微型机原理及应用. 哈尔滨:哈尔滨工业大学出版社. 2005.1[3] 孙余凯. 精选实用电子电路260例. 北京:电子工业出版社. 2007.6[4] 殷春浩, 崔亦飞. 电磁测量原理及应用. 徐州:中国矿业大学出版社. 2003.7[5] 《LCD1602A数据手册》[6] 《DS1302数据手册》完成期限2011.3.28至2011.4.8指导教师专业负责人2011年3月28 日目录第1章绪论....................................................31.1 STC89C52RC单片机概述...............................................31.2 LCD概述............................................................31.3 DL1302简介.........................................................41.4 本设计任务.........................................................4 第2章总体方案论证与设计......................................52.1显示部分...........................................................52.2数字时钟...........................................................52.3温度采集...........................................................62.4总体硬件组成框图...................................................6 第3章系统硬件设计............................................73.1 STC89C52RC单片机最小系统...........................................73.2 温度测量模块.......................................................73.3 时钟模块...........................................................83.4 LCD液晶显示模块....................................................83.5 键盘模块...........................................................93.6 整体电路...........................................................9 第4章系统的软件设计.........................................114.1主程序设计........................................................114.2时间设定程序流程..................................................114.3温度测量流程图..............................................12 第5章系统调试与测试结果分析.................................145.1 使用的仪器仪表....................................................145.2 系统调试..........................................................145.3 测试结果..........................................................14 结论..........................................................15参考文献......................................................16 附录1 程序....................................................17附录2 仿真效果图..............................................27第1章绪论在新的世纪我们已经步入了第二个十年,随着全球经济的复苏和发展,由于在世界范围内人类需求的巨大释放,以及消费结构的升级,同时传统能源的稀缺以及带来的环境的破坏,都将带来新一轮的科技革命的巨变。

数字电子钟设计报告(显示调整报时万年历闹钟秒表)

数字电子钟设计报告(显示、调整、报时、万年历、闹钟、秒表)目录一、引言............................................................................ ............................................ 2 二、方案论证选择............................................................................ ............................ 3 2.1设计要求............................................................................ .. (3)1.基本要求............................................................................ ................................. 32.发挥部分............................................................................ ................................. 3 2.2系统框图............................................................................ ...................................... 3 分钟+调整 ........................................................................... .......................................... 3 秒钟............................................................................ .................................................... 3 时钟+调整 ........................................................................... .......................................... 3 秒表............................................................................ .................................................... 3 闹钟功能............................................................................ ............................................ 3 定时报闹............................................................................ ............................................ 3 万年历功能............................................................................ ........................................ 3 三、电路仿真与设计............................................................................ ........................ 4 3.1核心芯片及芯片管脚图............................................................................ .............. 4 3.2时、分计数电路模块设计...................................................................................... 4 3.3切换电路模块设计............................................................................ ...................... 5 3.4调整电路模块设计............................................................................ . (6)(1)方案一:利用74125的三态。

基于74LS160的数字电子时钟设计

电子技术综合设计报告题目:数字电子时钟设计院(系):专业年级(班):学生:学号:指导教师:完成时间:摘要数字电子时钟,通过设计脉冲电路,产生周期为1s的脉冲信号,将脉冲信号给至电子时钟电路,通过对脉冲个数的计数,完成计时功能并通过数码管显示时间。

因脉冲电路受其他因素干扰,脉冲信号周期会产生偏差,需要设计校准功能对电子时钟进行校时。

最后,设计整点报时功能对整点时间进行报时。

关键词:数字电子时钟;时钟脉冲电路;校准功能;整点报时1 设计目的及要求1.1 目的通本次课程设计要完成全流程的电子线路设计工作。

课程设计分为选题、方案设计、电路设计和仿真、焊接实物等几个环节。

(1)通过对数字电子时钟进行建模仿真,一方面掌握电路原理设计方法,加深对相关电路的基本原理的理解,同时训练通过计算机软件(Proteus、Multisim)进行电路辅助设计和仿真的一般方法,熟悉软件的应用;(2)通过实际元器件的选择、电路焊接,掌握硬件电路从图纸到实物的中间过程,增强动手能力、实践能力;(3)通过对数字电子时钟的测试,了解和掌握一般硬件电路的测试流程和基本方法。

1.2 题目与要求本次课程设计题目的具体要求为:(1)设计时钟脉冲信号产生电路(2)设计电路实现时分秒校准功能(3)设计电路具有整点报时功能2 方案设计2.1 数字电子时钟的组成框架根据题目要求,本设计将数字电子时钟分为五个组成部分,各部分的组合如图1所示。

图1 数字电子时钟框图2.2系统工作原理基于555定时器无稳态模式,设计时钟脉冲电路,输出周期为1s、频率为1Hz的脉冲信号。

基于74LS160芯片,设计两个六十进制及一个二十四进制的加法计数器,构成分秒时时钟电路。

将时钟脉冲电路输出的脉冲信号接入秒时钟电路,当计数至六十,74LS160芯片同步清零并向分时钟电路进位,此时分时钟电路计数加一;当分时钟电路计数至六十,同步清零并向时时钟电路进位,此时时时钟电路计数加一;当时时钟电路计数至二十四,同步清零。

单片机数字闹钟设计报告

单片机数字闹钟/电子表设计报告一、设计意义随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。

现代的数字钟不仅需要模拟电子技术,而且需要数字电路技术和单片机技术,增加了数字显示等的功能。

单片机电子钟表电路可以由单片机模块、实时时钟电路模块、人机接口模块、报警模块等部分组成,硬件电路简单稳定,并可以利用软件编程减小电磁干扰和其他环境干扰的影响,减小因元器件精度不够引起的误差等优点,与机械式时钟相比具有更高的准确性和直观性,电路简单,使用寿命长,应用范围广,被广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品。

由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字钟表的精度远远超过老式机械钟表,给人们生产生活带来了极大的方便。

另一方面,由于单片机技术的使用,大大扩展了钟表原先的功能,可以提供定时自动报警、按时自动打铃、时间程序自动控制及各种定时电气的自动启用功能等。

因此,研究数字钟表及扩大其应用,有着非常现实的意义。

二、本设计功能描述1、采用STC89C52单片机作为主控芯片,实现数字钟表主控功能。

2、采用液晶屏显示当前年、月、日、时、分、秒,闹铃时间及状态等信息。

3、采用六键键盘设定时间初始值,具体方法是按时间设定键依次进入年、月、日、时、分、秒设定状态,然后通过向上、向下键修改设定值。

正在设定的变量以闪烁状态突出显示。

4、采用六键键盘设定闹铃时间,具体方法是按闹铃设定键依次进入时、分设定状态,然后通过向上、向下键修改设定值。

正在设定的变量以闪烁状态突出显示。

5、采用 DS1302 实时时钟芯片完成后台计时功能,要求具有后备电源,即使主电源掉电时间仍然保持运行。

6、可设定闹铃使能,具体方法是按闹铃使能键,按一次打开,再按一次关闭。

闹铃使能关闭时不报警。

7、当闹铃使能打开,且当前时间到达闹铃设置时间,则蜂鸣器和LED 红灯同时报警,如不按取消键,报警时间为 1 分钟。

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

1 数字电子时钟设计 班 级: 电083 姓 名: 殷悦 学 号: 35号 设计时间: 2011年11月4日 2

一、设计目的: (1)在学习了《数字电子技术》和《单片机原理及接口技术》课程后,为了加深对理论 知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的能力。 (2)熟悉Ptoteus及Keil软件的调试和仿真。 (3)通过实验提高对单片机的认识。 (4)通过实验提高软件调试能力。 (5)进一步熟悉和掌握单片机的结构及工作原理。 (6)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解电路参数 的计算方法。 (7)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 (8)通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片 机应用系统的全过程,为今后从事相应打下基础。 二、设计功能: (1)、实时显示秒、分、时、年等(可自动或手动设置显示) (2)、能调整时间、日期 (3)、能调整定时时间 三、方案论证: 3

方案:基于AT89C52单片机来制作电子时钟,其最大的好处就是可最大的调整时钟使其 的准确度更高。 其可归结如下: (1)使用12MHz的晶振作为单片机的外部时钟输入,一个机器周期为1us (2)使用定时器0作为时钟计数器,当计数满8ms时定时器0产生中断,当中断满125次时,调用时间模块进行加1操作。先对秒进行加1,若加1后等于60秒,则清除秒单元,同时向分进1,同理,对分、时进行同样操作。 (3)功能键能切换时间设置年月日设置和闹钟模式,减小键和增大键是调节时钟进行,复位键是把时钟复位。利用lcd1602为显示器用 。 四、软件设计: 系统软件采用汇编语言按模块化方式进行设计,然后通过Keil C51软件开发平台将程序转变成十六进制程序语言,接着使用Proteous 进行仿真,系统程序主要包括主程序,读出时钟子程序和显示数据刷新子程序。 五、仿真调试: 4

仿真结果:

六、c语言程序 : 5

#include #define uchar unsigned char #define uint unsigned int sbit rs=P2^0; //数据、命令选择端 sbit lcden=P2^2; // 使能信号 sbit lcdew=P2^1; // 读写选择端 sbit s1=P1^5; //功能键设定 sbit s2=P1^6; // 增大键设定 sbit s3=P1^7; // 减小键设定 sbit beep=P3^3; // 蜂鸣器设定 */ sbit RST=P1^2; //ds1302 设定 sbit SCLK=P1^0; sbit IO=P1^1; sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; uchar num[8],enter,shi,fen,miao,nian,yue,ri,week,shi1,fen1,flag1=0,flag2=0,flag3,choice, time[]="20XX-XX-XX XXX ", //年月日字符数组 time1[]=" xx:xx:xx ", //时分秒字符数组 time3[]="@ NO 00:00:00"; //闹钟设定时显示的时间数组

void delay(uint z) //1ms延时函数 { uint x,y; for(x=z;x>0;x--) for(y=1;y>0;y--); } void di() //蜂鸣设定函数 {

beep=0; delay(800); beep=1; } uchar read(uchar x) //读ds1302数据 { uchar i; RST=0; SCLK=0; RST=1; ACC=(x|0x01); for(i=8;i>0;i--) { IO=ACC0; SCLK=1; 6

SCLK=0; ACC=ACC>>1; } for(i=8;i>0;i--) { ACC=ACC>>1; ACC7=IO; SCLK=1; SCLK=0; } SCLK=1; RST=0; return ACC; } void write (uchar addr,uchar dat) //向ds1302写数据 { uchar i; RST=0; SCLK=0; RST=1; ACC=addr; for(i=8;i>0;i--) { IO=ACC0; SCLK=1; SCLK=0; ACC=ACC>>1; } ACC=dat; for(i=8;i>0;i--) { IO=ACC0; SCLK=1; SCLK=0; ACC=ACC>>1; } SCLK=1; RST=0; } void getnum() //接收ds1302的数据 { uchar j; for(j=0;j<7;j++) { num[j]=read(0x80+0x02*j); } 7

time[2]=((num[6]&0x70)>>4)+'0';//年 time[3]=(num[6]&0x0f)+'0'; nian=((num[6]&0x70)>>4)*10+(num[6]&0x0f); time[5]=((num[4]&0x70)>>4)+'0';//yue time[6]=(num[4]&0x0f)+'0'; yue=((num[4]&0x70)>>4)*10+(num[4]&0x0f); time[8]=((num[3]&0x70)>>4)+'0';//ri time[9]=(num[3]&0x0f)+'0'; ri=((num[3]&0x70)>>4)*10+(num[3]&0x0f); time[13]=(num[5]&0x0f)+'0';//week week=(num[5]&0x0f); switch(time[13]) //星期字符数组赋值 { case '1': time[12]='S'; time[13]='u'; time[14]='n'; break; case '2': time[12]='M'; time[13]='o'; time[14]='n'; break; case '3': time[12]='T'; time[13]='u'; time[14]='e'; break; case '4': time[12]='W'; time[13]='e'; time[14]='d'; break; case '5': time[12]='T'; time[13]='h'; time[14]='u'; break; case '6': time[12]='F'; time[13]='r'; time[14]='i'; break; case '7': time[12]='S'; time[13]='a'; time[14]='t'; break; } time1[5]=((num[2]&0x70)>>4)+'0'; //shi time1[6]=(num[2]&0x0f)+'0'; shi=((num[2]&0x70)>>4)*10+(num[2]&0x0f); time1[8]=((num[1]&0x70)>>4)+'0'; //fen time1[9]=(num[1]&0x0f)+'0'; fen=((num[1]&0x70)>>4)*10+(num[1]&0x0f); time1[11]=((num[0]&0x70)>>4)+'0'; //miao time1[12]=(num[0]&0x0f)+'0'; miao=((num[0]&0x70)>>4)*10+(num[0]&0x0f); } void write_com(uchar com) //写入lcd显示方式 { rs=0; P0=com; delay(1); lcden=1; delay(1); lcden=0; } void write_data(uchar date) //向lcd1602写入数据 { rs=1; P0=date; delay(1); 8

lcden=1; delay(1); lcden=0; } void display() //显示数据 { uchar i; write_com(0x0c); //显示方式设定为:无光标,且不闪烁 if(flag2==1) time1[0]='@'; //闹钟图标设定 else time1[0]=' '; if(flag1==0) //flag为0时正常显示年、月、日、时、分、秒等 { write_com(0x80); for(i=0;time[i]!='\0';i++) { write_data(time[i]); } write_com(0xc0); for(i=0;time1[i]!='\0';i++) { write_data(time1[i]); } } if(flag1==1) //flag为1时进入时间设定界面 { time3[8]=fen1/10+'0'; time3[9]=fen1%10+'0'; time3[5]=shi1/10+'0';time3[6]=shi1%10+'0'; if(choice==0) { time3[2]='N';time3[3]='O'; } if(choice==1) { time3[2]='O'; time3[3]='K'; } write_com(0xc0); for(i=0;time3[i]!='\0';i++) { write_data(time3[i]); } } }

相关文档
最新文档