电子时钟设计论文

合集下载

电子时钟论文

电子时钟论文

电子时钟论文随着人们对于时间需求越来越强烈,电子时钟作为一种全新的时间导航工具,逐渐成为人们生活中不可或缺的一部分。

本文将从电子时钟的起源、发展及其现状、未来发展趋势等方面进行论述。

一、电子时钟的起源与发展1.1 电子钟的起源电子时钟的雏形最早可以追溯到二十世纪初。

记载显示,美国的曼哈顿公司于1918年开发出了第一台电子钟,这个时候的电子钟体积庞大、功耗高昂,限制了其使用范围。

直到1930年代,随着真空管的普及与应用,电子计时技术得到了极大的进展,这个时候电子钟才开始真正地得以实现。

1.2 电子钟的发展随着时间的推移和科技水平的不断提升,电子钟经历了一个飞速发展的历程。

50年代,晶体管的出现使电子时钟更加省电、精准。

60年代初,石英晶体的发明使电子钟具备了更高的稳定性和精度,同时尺寸被进一步压缩,逐渐成为人们手腕上的佩戴品。

70年代,数字化电子时钟出现。

80年代,电子钟不仅可以双向收发信号,还可以設計桌面、卓位、壁掛式等产品系列,为人们的日常生活带来了更为便捷的应用。

二、电子时钟现状现代的电子时钟已经成为人们生活中必不可少的一部分,从家庭到办公室,从交通到通讯,无处不见。

当今电子时钟的技术和设计已经相当成熟。

电子时钟具有以下优点:2.1 精确度高电子时钟采用先进的数字化晶体技术,精度比传统机械时钟更高,误差更小,可以提供更准确的时间参考。

2.2 稳定性强电子时钟采用石英晶体稳定器,稳定性比较好,运作不容易受到周围环境和维护的影响。

2.3 造型新颖电子时钟的设计造型多样化,能够充分体现个性化、时尚化和功能化的要求,不同种类的电子时钟可以很好的搭配室内的设计风格,成为居家、办公和公共场合的理想装饰品。

2.4 使用相对方便使用电子时钟相对较方便,时间设置、报警、日历、温度显示等都可以直观化的表示在电子时钟的表盘上。

三、电子时钟未来发展趋势随着人们对于时间需求更为细化,以及现代社会对于技术的高度依赖,电子时钟将会发展出以下几个趋势:3.1 智能化电子时钟的未来趋势是实现智能化的使用模式。

电子时钟的设计与制作毕业论文

电子时钟的设计与制作毕业论文

目录中文摘要、关键词 (3)1、绪论 (3)1.1课题研究的背景及意义 (3)1.2国内外研究 (4)1.3电子时钟概述 (5)1.4论文章节构成及安排 (5)2、电子时钟设计方案 (5)2.1两种设计方案的选择 (5)2.2系统电路 (6)3、硬件系统设计 (7)3.1核心控制电路 (7)3.2秒计时电路 (9)3.3显示电路 (11)4、软件系统设计 (12)4.1DS1302子程序 (12)4.2LCD5110子程序 (14)4.3主程序 (14)5、设计系统的调试 (15)5.1硬件调试 (15)5.2软件调试 (15)6、本设计系统小结 (16)6.1系统不足及功能拓展 (16)6.2学习心得与展望 (16)参考文献 (16)英文摘要、关键词 (16)电子时钟的设计与制作信息技术学院电子信息科学与技术专业指导教师 ***作者 ***摘要:从古代的沙漏计时,到现在的机械钟表、石英钟,计时技术得发展经过了一个漫长的完善过程,这充分显现出了时间不论对古人还是现在的我们的重要性。

现在,全球社会都进入了信息化时代,人们更加重了对时间计量精度的依赖,以至于钟表应用越来越广,功能越来越多。

普通的机械表对于当代人复杂繁琐的要求显然早已不太适应,电子时钟应运而生。

电子时钟不仅能满足基本时间要求,而且体积小,成本低廉,最大的亮点在于可以随时根据不同的客户要求进行改进、增加功能,所以电子钟越来越受到人们的青睐。

本课题即着眼于此,研究的主要目的是设计一个基于单片机的电子时钟系统。

由于单片机有价格实惠而且功能齐全的优点,在自动控制产品中广泛应用。

本设计以ATmega16芯片为核心,以实时时钟芯片DS1302为主要依托,通过LCD液晶屏完成其显示、计时功能,本设计实现了所需功能的硬件电路,并应用C语言进行软件编程。

关键词:电子时钟 DS1302 LCD液晶屏1、绪论1.1课题研究的背景及意义时间的宝贵是个亘古不变的真理,然而工作的忙碌性和繁杂性很容易让人忘记当前的时间或是工作中不能及时方便地知晓时间。

基于单片机的简易电子时钟设计_毕业设计论文 精品

基于单片机的简易电子时钟设计_毕业设计论文 精品

论文题目基于单片机的简易电子时钟设计班级:xxxxxx专业:电子信息工程学生姓名:xxxx指导教师:xxxx日期:xxxx-xx-xx摘要数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。

在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。

单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

关键字:单片机,数字时钟。

AbstractDigital clock has become an indispensable necessities in People's Daily life, widely used in personal family and office and other public places, to people's life, study, work, entertainment, bring great convenience. Due to the development of the digital integrated circuit technology and adopts the advanced quartz technology, walking make digital clock has advantages of accurate, stable performance, easy to carry, it is also used in timing, automatic feed and automatic control and other fields. Although already on the market at present the ready-made digital clock chip for sale, cheap, use is convenient, but in view of the single chip microcomputer timer function also can complete the design of the digital clock circuit, therefore is necessary for the design of digital clock. Here we will have learned more fragmented knowledge of digital circuit of the organic link, the system used in practice, to develop our comprehensive analysis and circuit design, programming, debugging circuit ability.SCM has small volume and powerful function, high reliability, low price and a series of advantages, not only has become widely used in the field of industrial measurement and control intelligent control instruments, and has penetrated into every corner of the people work and life, effectively promote the industry's technological transformation and upgrading of products, the wide prospect of application.Keywords: Single chip microcomputer,Digital clock.目录第一章设计方案 (1)1.1 课程设计目的 (1)1.2 设计要求 (1)1.3 实现时钟计时的基本方法 (1)1.4 电子钟的时间显示 (1)1.5 电子钟的时间调整 (2)1.6 总体方案介绍 (2)1.6.1 计时方案 (2)1.6.2 控制方案 (2)第二章系统硬件电路设计 (3)2.1 单片机模块设计 (3)2.1.1 芯片分析 (3)2.1.2 晶振电路 (4)2.1.3 复位电路 (5)2.2 数码显示模块设计 (5)2.3 按键模块 (8)第三章系统软件设计 (9)3.1 软件设计分析 (9)3.2 系统软件设计流程图 (9)3.2.1 主程序流程图 (9)3.2.2 定时器流程图 (9)3.2.3 按键检测流程图 (10)3.2.4 时间显示流程图 (10)3.3 源程序清单 (11)第四章系统仿真与实验测试 (16)4.1 系统仿真 (16)4.2 实验测试 (16)小结 (17)致谢 (18)参考文献 (19)附录 (20)第一章设计方案1.1 课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。

万年历电子钟设计论文

万年历电子钟设计论文

一、引言随着科技的不断进步,人们对电子产品的需求也愈发增加。

电子钟作为一种必需品,能够准确地显示时间和日期,被广泛应用于家庭、办公室、学校等场所。

然而,传统的电子钟只能显示当前的日期和时间,功能较为简单。

为了满足人们的需求,设计一种万年历电子钟是十分必要的。

二、设计方法1.硬件设计(1)主控芯片选择:根据万年历电子钟的功能需求,选择一款性能强大的主控芯片,例如ARM Cortex-M系列的芯片,具备强大的计算和控制能力。

(2)显示屏选择:选用高分辨率的液晶显示屏,能够清晰地显示日期和时间。

考虑到用户操作的便捷性,可以选择带有背光灯的显示屏。

(3)电源设计:采用直流电源供电,可以选择使用电池或者接入市电。

对于使用电池供电的设计,需加入节电模式,提高电池使用寿命。

2.软件设计(1)显示功能:通过主控芯片控制液晶显示屏,实现日期和时间的显示。

根据数据的变化,实时更新显示内容。

(2)时钟功能:使用定时器功能,实现时钟的计时功能。

利用时钟中断,每秒更新一次时钟。

(3)日期功能:通过读取实时时钟芯片的数据,获取当前的年份、月份、日期和星期。

根据每月的天数和闰年的规则,实现日期的显示和计算。

(4)闹钟功能:通过设置闹钟选项,设置闹钟的时间和铃声。

当闹钟的设定时间到达时,发出闹铃声。

三、设计结果经过软硬件设计的整合,实现了一款功能丰富的万年历电子钟。

通过液晶显示屏,能够准确地显示当前的年份、月份、日期、星期、小时和分钟。

通过定时器功能,实现了精准的时间计时功能。

通过读取实时时钟芯片的数据,实现了准确的日期显示和计算。

同时,通过设置闹钟功能,提醒用户重要的时间节点。

四、结论本文设计了一款功能强大的万年历电子钟,能够准确地显示日期和时间,并具有闹钟功能。

通过软硬件的整合,实现了高清晰度的显示和准确的日期计算。

该设备不仅满足了人们对时间和日期的需求,还具有提醒功能,对用户的生活起到了积极的作用。

值得注意的是,该设计只是一个初始的版本,仍可以进行优化和改进,使其更加符合用户需求。

基于52单片机电子时钟的设计论文(纯汇编语言编写)

基于52单片机电子时钟的设计论文(纯汇编语言编写)

编号单片机课程设计(2013 级)题目:基于52单片机电子时钟的设计学院:物理与机电工程学院专业:电子信息科学与技术作者姓名:陈✘✘党✘✘杜✘✘指导教师:张✘✘职称:教授完成日期:2016 年7 月 2 日二〇一六年七月基于52单片机电子时钟的设计摘要本次设计的多功能时钟系统采用STC89C52单片机为核心器件,利用其定时器/计数器定时和记数的原理,结合液晶显示电路、时钟芯片DS1302电路、电源电路以及按键电路来设计计时器。

将软硬件有机地结合起来,使得系统能够实现液晶显示,显示有年、月、日、时、分、秒以及星期,还可以设置闹钟和整点报时。

其中软件系统采用单片机汇编语言编写程序,包括显示程序、闹钟程序、中断、延时程序,按键消抖程序等,并在keil中调试运行,硬件系统利用PROTEUS 强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。

关键词:STC89C52芯片;时钟芯片DS1302;单片机汇编语言;液晶显示电路1 设计任务及要求分析1.1 设计任务:基于单片机的电子时钟设计1.2 要求:1.2.1 用LCD液晶作为显示设备1.2.2 可以分别设定小时、分钟和秒,复位后时间为 00 00 001.2.3 能实现日期的设置年、月、日1.3 扩展要求:如闹钟功能、显示星期、整点音乐报时等2 系统方案2.1 系统整体方案的论证电路原理设计是基于小系统板包括电源电路、复位电路、按键电路、DS1302时钟电路、液晶显示驱动电路、输出控制电路。

电源部分是用电池来提供的3v-5v,晶体振荡器采用的是12MHz的石英晶体振荡器。

整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。

时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;并通过I/O口实现LCD的显示。

系统设有4个独立式按键可以对时间年、月、日和星期进行调整,还可以设置闹钟。

具体如图2.1所示:图2.1 系统整体框图3硬件设计与实现3.1单片机最小系统STC89C52是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。

毕业设计—基于单片机的12864时钟显示

毕业设计—基于单片机的12864时钟显示

学士学位毕业论文(设计)题目:基于单片机的12864时钟显示摘要电子时钟是一种非常广泛日常计时工具,给人们的带来了很大的方便,在社会上越来越流行。

它可以对年、月、日、星期、时、分、秒进行计时,采用直观的数字显示,可以同时显示年月日时分秒等信息,还有时间校准等功能。

该电子时钟主要采用STC89C52单片机作为主控核心,用DS1302时钟芯片作为时钟、液晶12864显示屏显示。

STC89C52单片机是由深圳宏晶科技公司推出的,功耗小,电压可选用4~6V电压供电;DS1302时钟芯片是美国DALLAS公司推出的具有细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小;数字显示是采用的12864液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒等信息。

此外,该电子时钟还具有时间校准等功能。

关键词:STC89C51单片机,DS1302时钟芯片,液晶12864AbstractElectronic clock is a very extensive daily timing tool, to the people has brought great convenience, more and more popular in the community. It can be the year, month, date, day, hour, minute, second for a time, using intuitive digital display, can display information such as year, month, day, hour, and time alignment functions. The electronic clock is used mainly as a master STC89C52 microcontroller core, with theDS1302 clock chip as a clock, LCD display12864. STC89C52 SCM is a Shenzhen Hong Crystal Technology has introduced, power consumption, voltage can be selected 4 ~ 6V voltage power supply; DS1302 clock chip is American DALLAS company launched with a fine current charging low-power real-time clock chip, it can year, month, date, day, hour, minute, second for a time, also has a leap year compensation and other functions, DS1302 and long life, small error; 12864 LCD digital display isused to display that can display year, month, date, day, hour, minute, second and so on. In addition, the electronic clock also has a time calibration function.Key Words:STC89C51 microcontroller, DS1302 clock chip, LCD 12864目录1绪论 (3)1.1时钟发展史 (3)1.2 目前的研究现状 (4)1.3研究目的及意义 (4)2 总体方案设计 (5)2.1 方案的选择 (5)2.1.1设计要求 (5)2.1.2方案的选择 (5)2.2总体方案组成框图 (6)3系统硬件设计 (6)3. 1主芯片模块 (6)3.1.1 中断系统 (8)3.1.2常用寄存器 (8)3.2晶振和复位电路 (10)3.2.1晶振电路 (10)3.2.2复位电路 (11)3.3 DS1302时钟芯片电路 (11)3.3.1 DS1302引脚图 (11)3.3.2 DS1302寄存器 (12)3.3.3 DS1302外围电路 (13)3.4 LCD12864显示模块 (13)3.4.1 LCD12864引脚功能 (13)3.4.2 LCD12864指令说明 (14)3.4.3 LCD12864电路接线 (15)3.5 红外遥控模块 (16)4 系统软件设计 (17)4.1 主程序设计 (17)4.2 LCD12864驱动程序 (19)4.3 DS1302驱动程序 (21)4.4 红外遥控程序 (24)5 调试结果 (25)5.1 正常显示日期时间画面 (26)5.2 进入调整时间日期画面 (26)5.3图片显示画面 (26)6总结 (27)致谢 (28)参考文献 (29)附录一 (31)附录二 (32)1绪论1.1时钟发展史很早以前,人类主要是利用天文现象和流动物质的连续运动来计时。

基于89C51单片机电子数字时钟的设计本科毕业论文

基于89C51单片机电子数字时钟的设计本科毕业论文

本科毕业论文基于89C51单片机电子数字时钟的设计目录第一章第一章 电子时钟的总体设计电子时钟的总体设计 ....................................................................................................... ...................................................................................................... 44 1.1 设计目的设计目的.......................................................................................................................... 4 1.1.1 课程设计课程设计 ............................................................................................................... 4 1.1.2 AT89C51芯片的串口功能芯片的串口功能.................................................................................... 4 1.1.3用keil 软件进行编程与调试 .................................................................................. 4 1.2 设计任务设计任务 .......................................................................................................................... 4 1.3 设计思路设计思路.......................................................................................................................... 4 第二章第二章 硬件系统的设计硬件系统的设计............................................................................................................... .............................................................................................................. 66 2.1 电路原理图设计电路原理图设计 .............................................................................................................. 6 2.1.1 电子钟的硬件电路框图电子钟的硬件电路框图...................................................................................... 6 2.2 AT89C51引脚及其功能 (6)2.2.1 AT89C51的原理及说明的原理及说明 ........................................................................................ 6 2.2.2 引脚功能引脚功能 ............................................................................................................... 7 2.3 驱动部件驱动部件 .......................................................................................................................... 8 2.4 显示部分显示部分.......................................................................................................................... 9 第三章第三章 软件系统的设计软件系统的设计............................................................................................................. ............................................................................................................ 110 3.1 电子钟的主程序电子钟的主程序............................................................................................................ 11 3.2 电子钟的显示子序电子钟的显示子序 ........................................................................................................ 12 3.3 定时器中断服务程序定时器中断服务程序 .................................................................................................... 13 3.4 电子时钟设计程序清单电子时钟设计程序清单 ................................................................................................ 15 3.5 程序进行编译仿真程序进行编译仿真........................................................................................................ 18 3.5.1 89C51程序 ......................................................................................................... 18 3.5.2 用PROTEUS ISIS 进行电子万年历的仿真测试 . (20)第四章第四章对89C51设计的电子时钟的总结................................................................................. 22 参考文献 ........................................................................................................................................ . (2)23摘要本次实训是基于AT89C51单片机电子钟的设计,对时、分、秒的显示的控制,时、分、秒用六位数码管显示LED 数码管时钟电路采用24小时计时方式。

OLED显示时钟_毕业设计论文

OLED显示时钟_毕业设计论文

景德镇学院毕业设计论文论文题目:OLED显示时钟学系:机械电子工程系专业:通信技术班级:11通信班目录【摘要】 (3)【绪论】 (3)第1章设计要求与方案论证 (5)1.1 引言............................................................................................ ..5 1.2 功能要求..................................................................................... (5)1.3方案论证 (5)1.3.1技术可行性 (5)1.3.2 单片机的选择 (6)1.3.3 显示模块的选择 (6)1.3.4总体方案论证与选择 (6)第2章系统硬件电路设计 (7)2.1 电路设计...................................................................................... ..7 2.2 系统硬件概述.. (7)2.2.1 主控制器STC89C52RC (7)2.2.2时钟电路DS1302 (9)2.2.3 OLED模块 (11)第3章系统的软件设计 (12)3.1程序设计....................................................................................... .13 3.2程序设计流程图 (13)第四章结束语 (13)第五章附录 (13)附录一(程序清单) (13)附录二(电路原理图)…….……………………………………………………… ..50摘要随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。

为了在观测时间,能够了解与人类密切相关的信息,比如星期、日期等,电子时钟诞生了,它集时间、日期、星期等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

论文_单片机电子时钟的设计 含设计图

论文_单片机电子时钟的设计 含设计图

单片机电子时钟的设计摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。

由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

关键词:单片机 AT89S51 电子时钟数码管Design of the singlechip electronics clockAbstractSingle slice machine from published in 70's for 20 centuries, is compare with its very high function price, is value by people and pay attention to, apply very widely, develop very quickly. Single slice the machine physical volume is small,the weight is light,the anti- interference ability is strong,the environment haven't high request,the price is cheap,the credibility is high,vivid good,develop more easy. In order to having an above-mentioned advantage, at the our country, single slice the machine is broadly applied already to turn an equipment at industrial automation control,automatic examination,intelligence instrument appearance,home appliances,electric power electronics,the machine electricity integral whole etc. each aspect, but 51 machines is is a typical model most and have a representative most in each machine of a kind. This graduation design passes to its study and application, Take the AT89S51 chips as core, assist with the electric circuit of the necessity, design a simple electronics clock, it from the 4.5 V direct current power supply power supply, pass the figures tube can accurate manifestation time, adjust time。

新型多功能电子闹钟设计毕业设计论文

新型多功能电子闹钟设计毕业设计论文

本科生毕业设计(论文)毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:2009届本科毕业设计(论文)资料第一部分毕业论文(2009届)本科毕业设计(论文) 新型多功能电子闹钟设计2009年6月摘要本文提出了一种基于AT89C51单片机的新型多功能电子闹钟。

通过对设计方案的比较与论证,选择了适合本设计的时钟模块、闹铃模块、温度检测模块、键盘及显示模块、电源模块设计方案。

其中实时时钟采用DS12C887实现年月日时分秒等时间信息的采集和闹钟功能;温度检测模块由DS18B20集成温度传感器对现场环境温度进行实时检测;键盘和数码管与ZLG7289连接,通过键盘数码管可方便地校对时钟和设置闹钟时间;用蜂鸣器进行声音指示;采用7805 三端稳压集成芯片稳定输出5V直流电压。

通过对AT89C51单片机最小系统的原理分析,结合论文的设计要求,完成了系统流程图及系统程序的设计。

本设计可实现时间显示、闹钟设置、环境温度测量、交直流供电电源等功能。

关键词:单片机,电子闹钟多功能设计,温度检测,交直流供电ABSTRACTIn this article a new type of multi-functional electronic alarm clock, is based on AT89C51 single-chip controller is designed. Through the comparison of design and feasibility studies, choosing a design of the clock module, alarm module, the temperature detection module, a keyboard and display module, and power module design. Real time clock uses DS12C887 to achieve accurate date and alarm function such as the collection of time information; Temperature detection detects the on-site real-time by the integrated temperature sensor DS12B20 ambient temperature; keyboard and digital tube are connected with ZLG7289, can be easy to proof-reading alarm clock and set up time; It use buzzer for voice instructions; Using 7805 three-terminal regulators chip output DC voltage of 5V. By analysis the minimum system’ principium of singlechip AT89C51, combine the request of this character, I finished the design of system flow chart and system program.The design can achieve the goal of time display, the alarm settings, the ambient temperature measurement, AC-DC power supply functions.Key word: AT89C51, the temperature sensor DS18B20, keyboard and demonstrates the ZLG7289, buzzer7805目录第1章绪论 (1)1.1 电子闹钟研究的背景 (1)1.2 本课题研究的意义 (1)1.3 本课题研究的主要内容 (2)第2章电子闹钟硬件电路设计 (4)2.1 电子闹钟总体设计方案的比较与论证 (4)2.1.1 设计要求 (4)2.1.2 设计方案的比较和论证 (4)2.2 电子闹钟主机电路设计及原理 (5)2.2.1 AT89C51芯片概述 (5)2.2.2 系统时钟电路设计 (8)2.2.3 系统复位电路设计 (8)2.3 时钟模块的设计及原理 (9)2.3.1 时钟模块设计方案比较比较与论证 (9)2.3.2 DS12C887芯片概述 (9)2.3.3 DS12C887与单片机的连接图 (14)2.4 温度检测模块的设计及原理 (14)2.4.1 温度检测模块设计方案比较与论证 (14)2.4.2 DS18B20芯片概述 (14)2.4.3 DS18B20的内部结构 (15)2.4.4 DS18B20在设计中的连接图 (17)2.5 闹铃声光指示电路设计 (17)2.6 键盘及显示电路设计 (18)2.6.1 ZLG7289芯片概述 (18)2.6.2 ZLG7289在设计中与键盘及数码管的连接图 (20)2.7 电源电路的设计 (20)第3章系统原理分析及软件部分 (22)3.1 原理分析 (22)3.2 单片机最小系统 (22)3.3 系统软件部分 (23)3.3.1 软件总体设计 (23)3.3.2 系统流程图及程序 (23)结论 (26)参考文献 (27)致谢 (28)附录1 (29)附录2 (31)湖南工业大学本科毕业设计(论文)第1章绪论1.1 本课题研究的背景随着科学技术的进步,现在的闹钟也不再是过去的老样子。

基于单片机的电子时钟毕业设计论

基于单片机的电子时钟毕业设计论

可剪辑修改单片机课程设计(电子时钟)学院:电气自动化班级:电气0840班姓名:田永贤指导老师:杨宇佟云峰曾谢华精选文档可剪辑修改昆明冶金高等专科学校自动化与电力学院毕业设计(论文)开题报告设计题目:基于单片机的电子时钟学生姓名:田永贤学号:0800001236班级:电气0840班专业:电气自动化指导教师:杨宇佟云峰曾谢华填表时间2010年12月25日毕业设计开题报告精选文档可剪辑修改精选文档可剪辑修改精选文档可剪辑修改精选文档可剪辑修改精选文档可剪辑修改目录第一章绪论 (7)1.1 引言 (7)1.2 Proteus软件简介 (8)第二章单片机的相关知识 (8)2.1 单片机简介 (8)2.2单片机的发展史 (9)2.2.1 4位单片机 (9)2.2.2 8位单片机 (9)2.2.3 16位单片机 (9)2.2.4 32位单片机 (10)2.2.5 64位单片机 (10)2.3单片机的特点 (10)2.4 AT89C51单片机介绍 (11)2.4.1 主要特性 (11)2.4.2 管脚说明 (12)第三章硬件电路设计 (14)3.1电子钟系统硬件组成 (14)3.2电子时钟系统设计流程 (15)3.3单片机的基本结构 (15)3.4单片机的选择 (20)3.5Protel DXP电路图设计 (22)3.6 Proteus 电路图设计 (23)第四章软件设计 (24)4.1 程序流程图设计 (24)4.2 源程序设计 (29)4.3 KeilC51进行程序调试 (34)4.4 仿真与调试 (35)4.4.1 Proteus中Hex 文件选择 (35)4.4.2 Proteus进行电子钟系统仿真 (35)结束语 (36)参考文献 (37)致谢 (38)精选文档可剪辑修改第一章绪论1.1 引言近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片DS1302、数码管显示驱动芯片MAX7219等元器件组成。

电子时钟毕业论文

电子时钟毕业论文

电子时钟毕业论文电子时钟毕业论文引言电子时钟是一种普遍存在于我们日常生活中的设备。

它不仅仅是一种时间显示工具,更是一种时尚的装饰品。

本篇毕业论文将探讨电子时钟的历史、工作原理、设计与制造等方面,以期对电子时钟的发展和应用有更深入的了解。

一、电子时钟的历史电子时钟的历史可以追溯到20世纪初。

最早的电子时钟是由晶体管和电子管构成的,它们使用了电子元件来生成和显示时间。

然而,由于晶体管和电子管的体积较大,制造成本较高,因此这些早期的电子时钟并不普及。

随着电子技术的进步,集成电路的发展使得电子时钟变得更加小巧、便宜和可靠。

20世纪60年代,数字显示技术的出现使得电子时钟的数字显示变得更加清晰和易读。

从那时起,电子时钟开始在家庭和办公场所中广泛应用。

二、电子时钟的工作原理电子时钟的工作原理可以简单地概括为:通过一个稳定的时钟信号源,将时间信息转换为数字信号,然后通过数字显示装置将其显示出来。

时钟信号源通常是一个晶体振荡器,它产生一个稳定的频率信号。

这个频率信号会经过一系列的分频和计数操作,最终转换为小时、分钟和秒的数字信号。

这些数字信号会被送入数字显示装置,通过LED、LCD等显示技术将时间信息显示在屏幕上。

三、电子时钟的设计与制造电子时钟的设计与制造需要考虑多个方面的因素,包括外观设计、电路设计和制造工艺等。

外观设计方面,电子时钟可以有各种各样的形状和风格。

有些电子时钟采用传统的指针式设计,而有些则采用数字显示屏。

此外,还有一些电子时钟具有特殊的功能,比如闹钟、温度显示等。

电路设计方面,电子时钟的电路通常由时钟信号源、分频器、计数器和数字显示装置等组成。

其中,时钟信号源可以使用晶体振荡器或者RTC芯片来提供。

分频器和计数器可以使用集成电路来实现。

数字显示装置可以采用LED、LCD等技术。

制造工艺方面,电子时钟的制造通常包括PCB设计、元件选型和焊接等环节。

PCB设计需要考虑电路的布局和走线,以确保电子时钟的稳定性和可靠性。

毕业论文-LED显示电子钟[1]

毕业论文-LED显示电子钟[1]

编号淮安信息职业技术学院毕业论文题目LED显示电子钟学生姓名丁华军学号47082009系部电气系专业电子设备与运行管理班级479820指导教师朱静顾问教师二〇一〇年七月摘要随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。

单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。

然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。

来自英国Labcenter Electronics公司的Proteus软件很好地诠释了利用现代EDA工具方便快捷开发单片机系统的优势。

它包括PROTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN 两大组成部分,在PC机上就能实现原理图电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证以及形成PCB文件的完整嵌入式系统设计与研发过程。

单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试3个过程。

如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。

关键词:数字电子钟; AT89C2051 ;LED; 电子钟;目录第一章前言11.2基本参数 11.3注意事项 1第二章模块特性简介 22.1AT89C2051单片机 22.2LED简介 32.2.1 LED概述 32.2.2 LED优势 32.2.3 LED显示屏32.3系统总体方案介绍 3 第三章系统硬件设计 53.1 Proteus 电路图设计 5第四章系统软件设计 64.1软件的结构 64.2 概述 64.2.1主程序 64.2.2中断服务程序 64.2.3调时程序 7第五章程序设计115.1部分程序一览11 第六章结论 13 参考文献 14致谢 15 附录一软件编写程序 16 附录二主要元器件清单 17第一章前言1.1系统功能此课程设计要求用单片机AT89C2051定时功能,中断系统,按键及LED数码管显示,设计一个能显示时、分、秒的数字时钟。

基于FPGA的数字时钟设计毕业设计论文

基于FPGA的数字时钟设计毕业设计论文

摘要之阿布丰王创作本设计为一个多功能的数字时钟,具有时、分、秒计数显示功能,以24小时循环计数;具有校对功能. 本设计采纳EDA技术,以硬件描述语言Verilog HDL为系统逻辑描述语言设计文件,在QUARTUSII工具软件环境下,采纳自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟.系统由时钟模块、控制模块、计时模块、数据译码模块、显示以及组成.经编译和仿真所设计的法式,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,按键进行校准,整点报时,闹钟功能.关键词:数字时钟,硬件描述语言,Verilog HDL,FPGAAbstractThe design for a multi-functional digital clock, with hours, minutes and seconds count display to a 24-hour cycle count; have proof functions function. The use of EDA design technology, hardware-description language VHDL description logic means for the system design documents, in QUAETUSII tools environment, a top-down design, by the various modules together build a FPGA-based digital clock. The main system make up of the clock module, control module, time module, data decoding module, display and broadcast module. After compiling the design and simulation procedures, the programmable logic device to download verification, the system can complete the hours, minutes and seconds respectively, using keys to cleared , to calibrating time. And on time alarm and clock for digital clock.Keywords:digital clock,hardware description language,Verilog HDL,FPGA目录第一章绪论1.1.选题意义与研究现状在这个时间就是金钱的年代里,数字电子钟已成为人们生活中的必需品.目前应用的数字钟不单可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟所在地址的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、茅厕等公共场所的时间显示.随着现场可编程门阵列( field program-mable gate array ,FPGA) 的呈现,电子系统向集成化、年夜规模和高速度等方向发展的趋势更加明显, 作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产物研发周期.故利用 FPGA这一新的技术手段来研究电子钟有重要的现实意义.设计采纳FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟.防止了硬件电路的焊接与调试,而且由于FPGA的 I /O 端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便.本课题使用Cyclone EP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟.该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能.满足人们获得精确时间以及时间提醒的需求,方便人们生活.1.2.国内外研究及趋势随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多.二十一世纪的今天,最具代表性的计时产物就是电子时钟,它是近代世界钟表业界的第三次革命.第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产物就是带有摆或摆轮游丝的机械钟或表.第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级.第三次革命就是单片机数码计时技术的应用,使计时产物的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期的显示功能,它更符合消费者的生活需求!因此,电子时钟的呈现带来了钟表计时业界跨跃性的进步.我国生产的电子时钟有很多种,总体上来说以研究多功能电子时钟为主,使电子时钟除原有的显示时间基本功能外,还具有闹铃,报警等功能.商家生产的电子时钟更从质量,价格,实用上考虑,不竭的改进电子时钟的设计,使其更加的具有市场.1.3.论文结构第一章详细论述了近些年来,数字化时钟系统研究领域的静态及整个数字化时钟系统的发展状况,同时分析了所面临的问题与解决方案,从而提出了本论文的研究任务.第二章从研究任务着手,选择符合设计要求的经常使用芯片及其它元器件,详细论述了各接口电路的设计与连接,以模块化的形式,整合数字化时钟硬件的设计从小到年夜,从局部到整体,循序渐进,最终实现一个功能齐全的数字化时钟系统.第三章根据系统设计要求,着手对数字化时钟系统软件进行功能的实现,将各功能模块有机结合,实现时钟走时,实现闹铃、整点报时附加功能.第四章依照设计思路,在联机调试过程中,对时钟系统的缺乏和缺点进行分析,将调试过程作重点的记录.第五章对全文的总结,对本系统功能实现以及制作过程中需要注意的方面,及整个系统软件编写中所吸取的经验教训进行论述,同时,也对整个研究应用进行展望.第二章编程软件及语言介绍2.1Quarters II编程环境介绍运行环境设计采纳quartus II软件实现,因此针对软件需要用到的一些功能在这里进行描述.Quartus II软件界面简单易把持,如下图2.1:图2.1Quartus II软件界面图2.1.1菜单栏1)【File】菜单Quartus II的【 File】菜单除具有文件管理的功能外,还有许多其他选项图2.2Quartus II菜单栏图(1)【New 】选项:新建工程或文件,其下还有子菜单【New Quartus II Project】选项:新建工程.【Design File】选项:新建设计文件,经常使用的有:AHDL文本文件、VHDL文本文件、Verilog HDL文本文件、原理图文件等.【Vector Waveform Five】选项:矢量波形文件.(2)【Open】选项:翻开一个文件.(3)【New Project Wizard 】选项:创立新工程.点击后弹出对话框.单击对话框最上第一栏右侧的“…”按钮,找到文件夹已存盘的文件,再单击翻开按钮,既呈现如图所示的设置情况.对话框中第一行暗示工程所在的工作库文件夹,第二行暗示此项工程的工程名,第三行暗示顶层文件的实体名,一般与工程名相同.图2.3Quartus II新建工程图(4)【creat /update】选项:生成元件符号.可以将设计的电路封装成一个元件符号,供以后在原理图编纂器下进行条理设计时调用.2)【View】菜单:进行全屏显示或对窗口进行切换,包括条理窗口、状态窗口、消息窗口等.图2.4Quartus II菜单栏全屏切换图3)【Assignments】菜单(1)【Device】选项:为以后设计选择器件.(2)【Pin】选项:为以后条理树的一个或多个逻辑功能块分配芯片引脚或芯片内的位置.(3)【Timing Ananlysis Setting】选项:为以后设计的 tpd、tco、tsu、fmax 等时间参数设按时序要求.(4)【EDA tool setting】选项:EDA 设置工具.使用此工具可以对工程进行综合、仿真、时序分析,等等.EDA 设置工具属于第三方工具.(5)【Setting】选项:设置控制.可以使用它对工程、文件、参数等进行修改,还可以设置编译器、仿真器、时序分析、功耗分析等.(6)【assignment editor】选项:任务编纂器.(7)【pin planner 】选项:可以使用它将所设计电路的 I/O 引脚合理的分配到已设定器件的引脚上.图2.5Quartus II菜单栏设定引脚下拉图4)【processing】菜单【processing】菜单的功能是对所设计的电路进行编译和检查设计的正确性. (1)【Stop process】选项:停止编译设计项目.(2)【Start Compilation】选项:开始完全编译过程,这里包括分析与综合、适配、装配文件、按时分析、网表文件提取等过程.(3)【analyze current file】选项:分析以后的设计文件,主要是对以后设计文件的语法、语序进行检查.(4)【compilation report】选项:适配信息陈说,通过它可以检查详细的适配信息,包括设置和适配结果等.(5)【start simulation】选项:开始功能仿真.(6)【simulation report】选项:生胜利能仿真陈说.(7)【compiler tool】选项:它是一个编译工具,可以有选择对项目中的各个文件进行分别编译.(8)【simulation tool】选项:对编译过电路进行功能仿真和时序仿真. (9)【classic timing analyzer tool】选项:classic时序仿真工具.(10)【powerplay power analyzer tool】选项:PowerPlay 功耗分析工具.图2.6Quartus II菜单栏运行下拉图5)【tools】菜单【tools 】菜单的功能是(1)【run EDA simulation tool 】选项:运行EDA仿真工具,EDA是第三方仿真工具.(2)【run EDA timing analyzer tool 】选项:运行EDA时序分析工具,EDA 是第三方仿真工具.(3)【Programmer 】选项:翻开编程器窗口,以便对Altera 的器件进行下载编程.图2.7Quartus II仿真菜单下拉图2.1.2工具栏工具栏紧邻菜单栏下方,它其实是各菜单功能的快捷按钮组合区.2.8Quartus II菜单栏图图2.9Quartus II菜单栏按键功能图2.1.3功能仿真流程1、新建仿真文件图2.10Quartus II菜单栏新建文件夹图2、功能方正把持在菜单上点processing在下拉菜单中,如下图:图2.11Quartus II菜单栏processing下拉图2.2Verilog HDL语言介2.2.1什么是verilog HDL语言Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种笼统设计条理的数字系统建模.被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间.数字系统能够按条理描述,并可在相同描述中显式地进行时序建模.Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包括响应监控和设计验证方面的时延和波形发生机制.所有这些都使用同一种建模语言.另外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行.Verilog HDL语言不单界说了语法,而且对每个语法结构都界说了清晰的模拟、仿真语义.因此,用这种语言编写的模型能够使用Ve rilog仿真器进行验证.语言从C编程语言中继承了多种把持符和结构.Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解.可是,Verilog HDL语言的核心子集非常易于学习和使用,这对年夜大都建模应用来说已经足够.固然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述.2.2.2主要功能下面列出的是Verilog硬件描述语言的主要能力:●基本逻辑门,例如and、or和nan d等都内置在语言中.●用户界说原语(UP)创立的灵活性.用户界说的原语既可以是组合逻辑原语,也可以是时序逻辑原语.●开关级基本结构模型,例如pmos和nmos等也被内置在语言中.●提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查.●可采纳三种分歧方式或混合方式对设计建模.这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模.●Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型.线网类型暗示构件间的物理连线,而寄存器类型暗示笼统的数据存储元件.●能够描述条理设计,可使用模块实例结构描述任何条理.●设计的规模可以是任意的;语言分歧毛病设计的规模(年夜小)施加任何限制.●Verilog HDL不再是某些公司的专有语言而是IEEE标准.●人和机器都可阅读Verilog语言,因此它可作为EDA的工具和设计者之间的交互语言.●Verilog HDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展.PLI是允许外部函数访问Verilog模块内信息、允许设计者与模拟器交互的例程集合.●设计能够在多个条理上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级.●能够使用内置开关级原语在开关级对设计完整建模.●同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定.●Verilog HDL能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示.这些值也能够用于与期望值比力,在不匹配的情况下,打印陈说消息.●在行为级描述中,Verilog HDL不单能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述.●能够使用门和模块实例化语句在结构级进行结构描述.●如图显示了Verilog HDL的混合方式建模能力,即在一个设计中每个模块均可以在分歧设计条理上建模.●Verilog HDL还具有内置逻辑函数,例如&(按位与)和|(按位或).●对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用.●可以显式地对并发和按时进行建模.●提供强有力的文件读写能力.●语言在特定情况下是非确定性的,即在分歧的模拟器上模型可以发生分歧的结果;例如,事件队列上的事件顺序在标准中没有界说.图2.12混合设计条理图第三章数字化时钟系统硬件设计3.1系统核心板电路分析本系统采纳的开发平台标配的核心板是QuickSOPC,可以实现EDA、SOP 和DSP的实验及研发.本系统采纳QuickSOPC标准配置为Altera公司的EP1C6Q240C8芯片.(1)核心板的硬件资源核心板采纳4层板精心设计,采纳120针接口.QuickSOPC核心板的硬件原图3.1QuickSOPC硬件方块图(2)FPGA电路核心板QuickSOPC上所用的FPGA为Altera公司Cyclone系列的EP1C6Q240.EP1C6Q240包括有5980个逻辑单位和92Kbit的片上RAM.EP1C6Q240有185个用户I/O口,封装为240-Pin PQFP.核心板EP1C6Q240器件特性如表2-1.表3-1核心EP1C6Q240器件特性:特性核心板EP1C6Q240器件逻辑单位(LE)5980M4K RAM 块20RAM总量(bit)92160PLL(个) 2185最年夜用户I/O数(个)1167216配置二进制文件(.rbf)年夜小(bit)可选串行主动配置器件EPCS1/ EPCS4/ EPCS16(3)配置电路Cyclone FPGA的配置方式包括:主动配置模式、主动配置模式以及JTAG配置模式.本系统采纳的是JTAG配置模式下载配置数据到FPGA.通过JTAG结果,利用Quartus II软件可以直接对FPGA进行独自的硬件重新配置.Quartus II软件在编译时会自动生成用于JTAG配置的.sof文件.Cyclone FPGA设计成的JTAG指令比其他任何器件把持模式的优先级都高,因此JTAG配置可随时进行而不用等候其他配置模式完成.JTAG模式使用4个专门的信号引脚:TDI、TDO、TMS以及TCK.JTAG的3个输入脚TDI、TMS 和TCK具有内部弱上拉,上拉电阻年夜约为25kΩ.在JGTA进行配置的时候,所有用户I/O扣都为高阻态.(4)时钟电路FPGA内部没振荡电路,使用有源晶振是比力理想的选择.EP1C6Q240C8的输入的时钟频率范围为15.625~387MHz,经过内部的PLL电路后可输出15.625~275MHz的系统时钟.当输入时钟频率较低时,可以使用FPGA的内部PLL 调整FPGA所需的系统时钟,使系统运行速度更快.核心板包括一个48MHz的有源晶振作为系统的时钟源.如图2-2所示.为了获得一个稳定、精确的时钟频率,有源晶振的供电电源经过了LC滤波.本系统硬件整体设计框图如图2-3所示:图3.2数字时钟系统硬件电路总体框图3.2系统主板电路分析3.2.1时钟模块电路FPGA内部没振荡电路,使用有源晶振是比力理想的选择.EP1C6Q240C8的输入的时钟频率范围为15.625~387MHz,经过内部的PLL电路后可输出15.625~275MHz的系统时钟.当输入时钟频率较低时,可以使用FPGA的内部PLL 调整FPGA所需的系统时钟,使系统运行速度更快.核心板包括一个50MHz的有源晶振作为系统的时钟源.为了获得一个稳定、精确的时钟频率,有源晶振的供电电源经过了LC滤波.图3.3系统时钟电路图3.2.2显示电路由于本设计需要显示时间信息包括:时、分、秒,显所以采纳主板上七段数码管显示电路与系统连接实现显示模块的功能.主板上七段数码管显示电路如图2-4 所示,RP4和 RP6 是段码上的限流电阻,位码由于电流较年夜,采纳了三极管驱动.图3.4七段数码管显示电路图数码管 LED显示是工程项目中使用较广的一种输出显示器件.罕见的数管有共阴和共阳 2 种.共阴数码管是将 8 个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将 8 个发光二极管的阳极连接在一起作为公共端.公共端常被称作位码,而将其他的 8 位称作段码.如图 2-5所示为共阳数码管及其电路,数码管有 8 个段分别为:h、g、f、e、d、c、b 和a(h 为小数点) ,只要公共端为高电平“1” ,某个段输出低电平“0”则相应的段就亮.图3.5七段数码管显示电路图从电路可以看出,数码管是共阳的,当位码驱动信号为 0时,对应的数码管才华把持;当段码驱动信号为 0 时,对应的段码点亮.3.2.3键盘控制电路键盘控制电路要实现时钟系统调时的功能和闹铃开关的功能.本设计采纳主板上的自力键盘来实现这两个功能.当键盘被按下是为“0”,未被按下是为“1”.电路连接图如图2-6所示.电路中为了防止FPGA的I/O设为输出且为高电平在按键下直接对地短路,电阻RP9、RP10对此都能起到呵护作用.图3.6 键盘电路图3.2.4蜂鸣电路设计如图2-7所示,蜂鸣器使用 PNP三极管进行驱动控制,蜂鸣器使用的是交流蜂鸣器.当在BEEP输入一定频率的脉冲时,蜂鸣器蜂鸣,改变输入频率可以改变蜂鸣器的响声.因此可以利用一个PWM 来控制BEEP,通过改变PWM 的频率来获得分歧的声响,也可以用来播放音乐.若把 JP7断开,Q4 截止,蜂鸣器停止蜂鸣.图3.7蜂鸣电路图第四章数字化时钟系统软件设计4.1整体方案介绍4.1.1整体设计描述设计中的数字时钟,带有按键校准,定点报时,数码管显示等功能.因此数字时钟所包括的模块可分为,分频模块,按键模块,计时校准模块,闹钟模块,LED显示模块,模块之间的关系下图:图4.1整体模块框图针对框图流程,设定出各个模块的需求:1、分频电路:针对计时器模块与闹钟设定模块的需求,可以知道分频模块需要生成一个1Hz的频率信号,确保计时模块可以正常计数.2、计时器模块:计数模块的作用是收到分频模块1Hz频率的信号线,能进行正确计时,而且可以通过按键进行时间的修改,且当整点时,给蜂鸣器发生使能信号,进行整点报时,播放音乐.3、闹钟设定模块:可根据按键的设定闹钟的时间,当计时模块的时间与闹钟设定模块的时间相等的时候,给蜂鸣器一个使能信号,蜂鸣器闹铃..4、蜂鸣器模块:根据计时模块,闹钟模块给出的使能信号,判定蜂鸣器是整点报时,还是闹钟响铃.整点报时会播放音乐,闹钟时嘀嘀嘀报警.5、LED显示模块:根据实际的需求显示计时模块的时间,还是闹钟设定模块的时间,8个七段码LED数码管,进行扫描方式显示数据.4.1.2整体信号界说对整个模块进行信号界说.接口及寄存器界说module clock(clk,key,dig,seg,beep);// 模块名 clockinput clk; // 输入时钟input [4:0] key; //输入按键,key[3:0]分别为秒,分钟,小时的增加按键.Key[4]为闹钟设置按键,key[5]为校准设置按键.output [7:0] dig; // 数码管选择输出引脚 aoutput [7:0] seg; // 数码管段输出引脚output beep; //蜂鸣器输出端reg [7:0] seg_r = 8'h0; //界说数码管输出寄存器reg [7:0] dig_r; //界说数码管选择输出寄存器reg [3:0] disp_dat; // 界说显示数据寄存器reg [8:0] count1; //界说计数寄存器reg [14:0] count; //界说计数中间寄存器reg [23:0] hour = 24'h235956; // 界说现在时刻寄存器reg [23:0] clktime = 24'h000000; //界说设定闹钟reg [1:0] keyen = 2'b11; // 界说标识表记标帜位reg [4:0] dout1 = 5'b11111;reg [4:0] dout2 = 5'b11111;reg [4:0] dout3 = 5'b11111; // 寄存器wire [4:0] key_done; // 按键消抖输出reg [15:0] beep_count = 16'h0; //蜂鸣器寄存器reg [15:0] beep_count_end = 16'hffff; //蜂鸣器截止寄存器reg clktime_en = 1'b1; //闹钟使能寄存器reg sec ; //1秒时钟reg clk1; //1ms时钟reg beep_r; //寄存器wire beepen; //闹钟使能信号4.1.3模块框图通过quartus II的creat symble for current file功能生成框图如下:图4.2生成的符号图分频模块实现,计数电路所需时钟信号为1HZ,而系统时钟为48MHZ,所以要对系统时钟进行分频以来满足电路的需要.4.2分频模块实现4.2.1分频模块描述对分频模块,关键是生成个1Hz的时钟信号.考虑到仿真的需要,模块中间生成1个1kHz的时钟信号.1Hz的信号的发生用来发生时钟的秒脉冲,框图如下图4.2:图4.3分频模块图4.2.2分频模块设计本系统法式设计时钟的准确与否主要取决于秒脉冲的精确度.为了保证计时准确,我们对系统时钟48MHz进行了48000分频生成1kHz信号clk1,在通过1kHz信号,生成1Hz信号clk.//1ms信号发生部份always @(posedge clk) // 界说 clock 上升沿触发begincount = count + 1'b1;if(count == 15'd24000) //0.5mS到了吗?begincount = 15'd0; //计数器清零clk1 = ~clk1; //置位秒标识表记标帜endend//秒信号发生部份always @(posedge clk1) // 界说 clock 上升沿触发begincount1 = count1 + 1'b1;if(count1 == 9'd500) //0.5S到了吗?begincount1 = 9'd0; //计数器清零sec = ~sec; //置位秒标识表记标帜endEnd4.2.3分频模块仿真通过设置功能仿真,检查代码的正确性5仿真结果图4.4分频模块波形仿真图右上图可以知道,计数寄存器count累加到23999时,重新酿成0,共计数了24000个值.触发clk1跳变,使得count1加一,count1累加到499的时候,下一个数据为0,共技术500个值.所以,sec信号的频率为1Hz,满足设计要求.5.1计时模块实现5.1.1计时模块描述与实现计时模块是采纳16进制来实现的,将hour[23,0]界说为其时分秒,其中hour[3,0]为其秒钟上的个位数值,hour[4,7]为其秒钟上的十位数值,以此类推分钟、时钟的个位和十位.当clk脉冲过来时,秒个位hour[3,0]便开始加1,当加到9时,秒十位加1,与此同时秒个位清零,继续加1.当秒十位hour[7,4]为5秒个位为9时(即59秒),分个位hour[11,8]加1,与此同时秒个位和秒十位都清零.以此类推,当分十位hour[15,12]为5和分个位为9时(即59分),时个位加1,与此同时分个位hour[19,16]和分十位都清零.那时分十位[23,20]为2和分个位为4,全部清零,开始重新计时.从功能上讲分别为模60计数器,模60计数器和模24计数器.//时间计算及校准部份always @(negedge sec)//计时处置beginhour[3:0] = hour[3:0] + 1'b1;//秒加 1if(hour[3:0] >= 4'ha)//加到10,复位beginhour[3:0] = 4'h0;hour[7:4] = hour[7:4] + 1'b1;// 秒的十位加一if(hour[7:4] >= 4'h6)//加到6,复位beginhour[7:4] = 4'h0;hour[11:8] = hour[11:8] + 1'b1;//分个位加一if(hour[11:8] >= 4'ha)//加到10,复位beginhour[11:8] = 4'h0;hour[15:12] = hour[15:12] + 1'b1;//分十位加一if(hour[15:12] >= 4'h6)//加到6,复位beginhour[15:12] = 4'h0;hour[19:16] = hour[19:16] + 1'b1;//时个位加一if(hour[19:16] >= 4'ha)//加到10,复位beginhour[19:16] = 4'h0;hour[23:20] = hour[23:20] + 1'b1;//时十位加一endif(hour[23:16] >= 8'h24)//加到24,复位hour[23:16] = 8'h0;endendendendendend5.1.2计时模块仿真对计时模块进行仿真,记录仿真波形图4.5计时模块仿真图由上图可见,当sec信号下降沿跳变时,hour寄出去会加1,也就相当于跳了一秒钟时间.当hour的时间为235959是,下一个计数器的值为000000,hour寄存器归零,相当于三更0点的时刻.仿真的结果达到预期,通过.5.2按键处置模块实现5.2.1按键处置模块描述框图如下图4.4:图4.6按键控制功能图模块讲计时部份和时间调整部份整合到一起,正常态的时候,时间正常运行,当key[5]被按下时,进入时间校准,可以通过key[2:0]三个键,分别对秒,分,时进行加1把持,从而进行时间校准.当key[3]被按下时,进入闹钟设定,可以通过key[2:0]三个键,分别对秒,分,时进行加1把持,从而进行闹钟的设定.图4.7按键模块仿真图通过按键key进行仿真控制,可以发现clktime会随着按键的按下,分别有时钟,分钟秒钟加1,仿真结果满足设计要求.5.2.2按键去抖处置模块设计按键模块实现去抖处置,及乒乓按键设计,确保后面的计时模块与闹钟模块的功能实现.assign key_done = key|dout3; // 按键消抖输出always @(posedge count1[5]) //按键去噪声begindout1 <= key;dout2 <= dout1;dout3 <= dout2; //连续赋值endalways @(negedge key_done[4])beginkeyen[1] = ~keyen[1]; //校准按键转换乒乓按键endalways @(negedge key_done[3])beginkeyen[0] = ~keyen[0]; //按时按键转换乒乓按键End5.2.3按键模块去抖仿真对按键去颤动仿真,同样才用功能仿真方式,这里不再重复设置与把持,如同上面的分频模块进行设置并进行仿真.Key寄存器为输入按键,初始化电路为高电平,当有按键按下去的时候,酿成低电平.因此改变key的值,观察仿真结果是否正确.功能仿真,记录仿真结果,如下图:图4.8按键模块仿真图通过上图可以知道,key_done会随着key的变动而发生相应的变动,并有消除噪声的作用,功能仿真正确,达到设计目的.5.3闹钟模块实现5.3.1闹钟模块设计本设计中,判断闹铃时间到,是通过判按时钟系统实时时间的时钟与分钟是否分别即是设定的闹铃时间的时钟、分钟、秒钟.那时间(hour[23:0])即是设定的闹钟时间(clktime[23:0])时,闹钟触发时,播放嘀嘀嘀报警声,闹钟会响10秒的时间(clktime[23:0]+10 >=hour[23:0]).正常情况下,闹铃时间到会进行为时1分钟的蜂鸣报时,可以通过按下闹钟按键key[3]使其停止.当闹铃设置为整点是,会先进行整点报时,然后进入闹铃.图4.9闹钟控制键功能图5.3.2闹钟设定模块仿真图4.10闹钟模块仿真图通过按键key进行仿真控制,可以发现clktime会随着按键的按下,分别有时钟,分钟秒钟加1,仿真结果满足设计要求.5.4蜂鸣器模块实现5.4.1蜂鸣器模块描述蜂鸣器模块负责整点报时,和闹铃的时候进行作声的作用.整点报时的时候,播放音乐,10秒音乐播报完后停止整点报时.闹钟触发时,播放嘀嘀嘀报警声.当闹铃设置为整点是,会先进行整点报时,然后进入闹铃.当闹钟设定键被按下,响起的蜂鸣声会被屏蔽.模块框图如下图4.9:5.4.2蜂鸣器模块实现//蜂鸣器的计数按时器always@(posedge clk)。

多功能电子时钟毕业论文设计

多功能电子时钟毕业论文设计

多功能电子时钟毕业论文设计目录摘要 ................................................... 错误!未定义书签。

Abstract ................................................. 错误!未定义书签。

绪论 .. (1)1. 多功能电子时钟研究的背景和意义 (1)2. 电子时钟的功能 (2)第一章电子时钟设计方案分析 (3)1.1 FPGA设计方案 (3)1.2 单片机设计方案 (3)第二章基于单片机的电子时钟硬件设计 (5)2.1 主要IC芯片选择 (5)2.1.1 微处理器选择 (5)2.1.2 时钟芯片选择 (6)2.1.2.1 DS1302简介及引脚说明 (7)2.1.2.2DS1302的控制字和读写时序说明 (8)2.1.2.3DS1302的片寄存器 (10)2.2 电子时钟硬件电路设计 (12)2.2.1 时钟电路设计 (13)2.2.2 显示电路设计 (14)2.2.3 按键电路设计 (15)2.2.4 闹铃电路设计 (17)2.2.5 复位电路设计 (18)第三章电子时钟软件设计 (20)3.1 主程序设计 (20)3.2 子程序设计 (21)3.2.1日历子程序设计 (21)3.2.2 显示子程序设计 (21)3.2.3 键盘扫描子程序 (22)3.2.4 闹铃子程序设计 (22)第四章系统调试 (26)4.1 硬件调试 (27)4.1.1 单片机基础电路调试 (27)4.1.2 显示电路调试 (28)4.1.3 DS1302电路调试 (30)4.1.4 按键电路调试 (31)4.2 软件调试 (32)4.2.1 键盘子程序调试 (32)4.2.2 时钟日历子程序调试 (32)结论 (33)参考文献 (34)附录一程序 (35)附录二多功能电子时钟元器件一览表 (60)附录三多功能电子时钟硬件原理图 (61)致谢 (63)绪论时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。

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

电子时钟设计南阳师范学院物理与电子工程学院专业:班级:姓名:学号:一、实验目的1.掌握 C6713 的中断结构和对中断的处理过程。

2.掌握 C6713 定时器的控制和使用方法。

3.掌握键盘的使用原理及编程方法;掌握C6713的系统自启动设计方法。

4.掌握使用C6713DSP的扩展空间控制外围设备信息的方法;了解蜂鸣器发声原理和音乐发生方法;了解液晶显示器的显示控制原理及编程方法。

5.掌握DSP开发的流程及方法。

二、实验设备计算机,ICETEK-C6713-EDU 实验箱。

三、实验内容1.液晶显示屏显示小时分钟秒(格式为XX:XX:XX),可通过键盘设定为24小时制或12小时制,12小时制时要显示出上午还是下午(AM或PM)。

2.小时和分钟可通过键盘定位并修改。

定位时小时位或分钟位闪烁,可通过键盘数字键直接输入要修改的时间和用“+”和“-”增加减少两种方法改动时间。

四、设计原理1、中断原理C6000 支持软件中断和硬件中断。

软件中断由指令产生中断请求,硬件中断可以来自外设的一个请求信号,如外部中断。

不同型号的 DSP 定义中断号所对应的中断功能不同,为了达到统一使用中断号功能,DSP 可以使用中断复用寄存器进行重新映射。

通过中断复用寄存器映射可以把中断源映射到任何 CPU中断。

常用中断寄存器通过对中断寄存器进行配置,可以实现各种中断功能。

IER(中断使能寄存器)IFR(中断标志寄存器)ISR(中断设置寄存器)ICR(中断清除寄存器)ISTP(中断向量表起始地址寄存器)中断向量程序的地址可以通过 ISTP寄存器进行重新映射 MUXH(中断复用寄存器) MUXL(中断复用寄存器)通过 DSP data sheet 可以很容易找到寄存器的绝对地址,但为了减少配置错误和方便移植,在编程时一般采用 CSL 函数对中断寄存进行配置。

2、定时器原理通用定时器介绍及其控制方法C6000 系列DSP 在片内集成了 32 位的通用定时器,可以实现:*事件计数*事件定时*产生脉冲信号*产生 CPU中断信号*产生 DMA同步事件。

定时器的控制寄存器:C6000 的定时器执行的是加计数,真正的计数工作在 CNT 寄存器中进行,当计数寄存器中的值达到 PRD寄存器的值时,自动重新清 0。

3、键盘使用方法ICETEK-C6713-A是一块以 TMS320C6713DSP 为核心的 DSP 扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备,也可以接收外设发送的各种数据、信息。

键盘的扫描码由 DSP 的扩展地址 0901f0002H给出,当有键盘输入时,读此端口得到扫描码,当无键被按下时读此端口的结果为 0。

读取的方法如下:nScanCode=*((unsigned short int *)0901f0002); // nScanCode中为扫描码nnn=*((unsigned short int *)0901f0004); // 读操作清除键盘缓冲区五、程序设计1、设计思路显示器及键盘控制关系是:enter退出。

用“+”和“-”来分别对小时和分钟进行加减。

该程序实行的是24小时制,当数到12:59:59后,跳变成13:00:00;当数到23:59:59后,跳变为00:00:00,从新开始计数。

2、设计流程图六、实验程序1.vectors.asm程序; Copyright 2001 by Texas Instruments Incorporated.; All rights reserved. Property of Texas Instruments Incorporated. ; Restricted rights to use, duplicate or disclose this code are; granted through contract.; "@(#) DSP/BIOS 4.60.22 12-07-01 (barracuda-j15)"; ======== vectors.asm ========; Plug in the entry point at RESET in the interrupt vector table ; ======== unused ========; pluginifinite loop -- with nested branches to; disable interrupts -- for all undefined vectorsunused .macroid .global unused:id:unused:id:bunused:id: ; nested branches to block interruptsnop 4bunused:id:nopnopnopnopnop.endm.sect ".vectors".ref _c_int00 ; C entry point.align 32*8*4 ; must be aligned on 256 word boundar RESET: ; reset vectormvkl _c_int00,b0 ; load destination function address to b0 mvkh _c_int00,b0b b0 ; start branch to destination functionmvc PCE1,b0 ; address of interrupt vectorsmvc b0,ISTP ; set table to point herenop 3 ; fill delay slotnopnop; plug unused interrupts with infinite loops to; catch stray interruptsunused 1unused 2unused 3unused 4;unused 5加入中断程序--------------------------------------------------------------------- mvkl _XINT5,b0 ; load destination function address to b0mvkh _XINT5,b0.ref _XINT5b b0nopnopnopnopnopunused 6unused 7unused 8unused 9unused 10unused 11unused 12unused 13unused 14;unused 15mvkl _Timer,b0 ; load destination function address to b0 mvkh _Timer,b0.ref _Timerb b0nopnopnopnopnop2.ICETEK-C6713-A.h程序#include "scancode.h"// emif#define EMIF_GCTL 0x01800000#define EMIF_CE1 0x01800004#define EMIF_CE0 0x01800008#define EMIF_CE2 0x01800010#define EMIF_CE3 0x01800014#define EMIF_SDRAMCTL 0x01800018#define EMIF_SDRAMTIM 0x0180001C#define EMIF_SDRAMEXT 0x01800020#define EMIF_CCFG 0x01840000;// interrupt -------------------------------------------------- #define IMH (*(unsigned int *)0x19c0000)#define IML (*(unsigned int *)0x19c0004)// timer ------------------------------------------------------- #define TIMER1CTL (*(unsigned int *)0x01980000)#define TIMER1PRD (*(unsigned int *)0x01980004)// McBSP0 ------------------------------------------------------#define SPCR0 (*(unsigned int *)0x018c0008)#define PCR0 (*(unsigned int *)0x018c0024)#define SPCR1 (*(unsigned int *)0x01900008)#define PCR1 (*(unsigned int *)0x01900024)// ICETEK-C6713-A -----------------------------------------------#define LBDS (*(unsigned short int *)0x90100000)// ICETEK-CTR --------------------------------------------------#define CTRGR (*(unsigned short int *)0x0901f0000)#define CTRKEY (*(unsigned short int *)0x0901f0002)#define CTRCLKEY (*(unsigned short int *)0x0901f0004)#define CTRLA (*(unsigned short int *)0x0901f000a)#define CTRLR (*(unsigned short int *)0x0901f000e)#define CTRLCDCMDR (*(unsigned short int *)0x0901f0002)#define CTRLCDCR (*(unsigned short int *)0x0901f0004)#define CTRLCDLCR (*(unsigned short int *)0x0901f0006)#define CTRLCDRCR (*(unsigned short int *)0x0901f0008)// Special values -----------------------------------------------#define LCDCMDTURNON 0x3f#define LCDCMDTURNOFF 0x3e#define LCDCMDSTARTLINE 0xc0#define LCDCMDPAGE 0xb8#define LCDCMDVERADDRESS 0x40// C6713DSP Registers ------------------------------------------ cregister unsigned int IER,IFR,CSR,ICR,ISTP;液晶显示部分---------------------------------------------------------------------- // Variablesint second=0;int min=0;int hour=0;unsigned char ledbuf[8],ledx[8];unsigned char ledkey[11][8]={{0x00,0x00,0x7C,0x82,0x82,0x82,0x7C,0x00},{0x00,0x00,0x00,0x84,0xFE,0x80,0x00,0x00},{0x00,0x00,0x84,0xC2,0xA2,0x92,0x8C,0x00},{0x00,0x00,0x44,0x92,0x92,0x92,0x6C,0x00},{0x00,0x00,0x30,0x28,0x24,0xFE,0x20,0x00},{0x00,0x00,0x4E,0x92,0x92,0x92,0x62,0x00},{0x00,0x00,0x7C,0x92,0x92,0x92,0x64,0x00},{0x00,0x00,0x02,0xC2,0x32,0x0A,0x06,0x00},{0x00,0x00,0x6C,0x92,0x92,0x92,0x6C,0x00},{0x00,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00},{0x00,0x00,0x00,0x12,0x12,0x00,0x00,0x00}};-----------------------------------------------------------------------#define nMusicNumber 52unsignedint music[nMusicNumber][2]={{101,1920},{121,1440},{114,480},{101,1920},{151,1920},{151,480},{135,480},{121,480},{101,480},{114,960},{121,960},{135,3840}, {121,480},{114,480},{101,480},{91,480},{101,960},{101,960},{76,1920},{101,1920} ,{114,960},{121,960},{135,1440},{151,480},{151,1920},{0,1920},{101,1920},{121,1440},{114,480},{101,1920},{151,1920},{151,480},{135,480},{121,480},{101,480},{114,960},{121,960},{135,3840}, {121,480},{114,480},{101,480},{91,480},{101,960},{101,960},{76,1920},{101,1920} ,{114,960},{121,960},{135,1440},{151,480},{151,1920},{0,1920}};unsigned intpwm[8]={ 0x86,0x87,0x83,0x8b,0x89,0x8d,0x8c,0x8e };unsigned char dbClearKey;// Functionsvoid InitInterrupt(void); // 初始化中断void init_emif( void ); // 初始化emif接口寄存器void InitCTR(); // 初始化ICETEK-CTRvoid CloseCTR(); // 关闭ICETEK-CTR上各设备void Delay(unsigned intnTime); // 延时子程序void Delay1(unsigned intnTime); // 延时子程序(带LED显示刷新)unsigned char GetKey(); // 读取键盘输入void RefreshLEDArray(); // 刷新发光二极管阵列显示void SetLEDArray(intnNumber); // 修改发光二极管阵列显示内容char ConvertScanToChar(unsigned char cScanCode); // 将键盘扫描码转换成字符void LCDCMD(unsigned char dbCommand); // 向液晶显示器发送命令void LCDWriteLeft(unsigned char dbData); // 写液晶显示器左半屏void LCDCLS(); // 清除液晶显示器显示void TurnOnLCD(); // 打开液晶显示器voidinit_emif( void ){*(int *)EMIF_GCTL = 0x00000078;*(int *)EMIF_CE0 = 0xffffbf93; /* CE0 SDRAM */ *(int *)EMIF_CE1 = 0xffffff13; /* CE1 Flash 8-bit */ *(int *)EMIF_CE2 = 0xffffff93; /* CE2 Daughtercard 32-bit async */ *(int *)EMIF_CE3 = 0xffffff2f; /* CE3 Daughtercard 32-bit async */ *(int *)EMIF_SDRAMCTL = 0x53115000; /* SDRAM control */ *(int *)EMIF_SDRAMTIM = 0x00000578; /* SDRAM timing (refresh) */ *(int *)EMIF_SDRAMEXT = 0x000a8529; /* SDRAM Extension register */} voidCloseCTR(){ CTRGR=0;CTRLR=0; CTRLR=0x40;CTRLR=0x0c0;LCDCMD(LCDCMDTURNOFF);dbClearKey=CTRCLKEY;LBDS=0;}void LCDCMD(unsigned char dbCommand){CTRLCDCMDR=dbCommand;CTRLCDCR=0;}unsigned char GetKey(){unsigned char dbReturn;dbReturn=CTRKEY;dbClearKey=CTRCLKEY;returndbReturn;}用小键盘修改时间-------------------------------------------------------------------------- charConvertScanToChar(unsigned char cScanCode){charcReturn;cReturn=0;switch ( cScanCode ){//case SCANCODE_0: cReturn='0'; break;//case SCANCODE_1: cReturn='1'; break;//case SCANCODE_2: cReturn='2'; break;//case SCANCODE_3: cReturn='3'; break;//case SCANCODE_4: cReturn='4'; break;//case SCANCODE_5: cReturn='5'; break;//case SCANCODE_6: cReturn='6'; break;//case SCANCODE_7: cReturn='7'; break;//case SCANCODE_8: cReturn='8'; break;//case SCANCODE_9: cReturn='9'; break;case SCANCODE_Plus: cReturn=hour++; break; //用“+”进行小时的增加case SCANCODE_Minus: cReturn=hour--; break; //用“—”进行小时的减少case SCANCODE_Mult: cReturn=min++; break; //用“*”进行分钟的增加case SCANCODE_Divid: cReturn=min--; break; } //用“%”进行分钟的减少returncReturn;}----------------------------------------------------------------------- voidInitCTR(){ CTRGR=0; CTRGR=0x80; CTRGR=0;CTRLR=0; CTRLR=0x40;CTRLR=0x0c0;LCDCMD(LCDCMDTURNOFF);dbClearKey=CTRCLKEY;LBDS=0;}void Delay(unsigned intnDelay){intii,jj,kk=0;for ( ii=0;ii<nDelay;ii++ ){for ( jj=0;jj<1024;jj++ ){kk++;}}}void Delay1(unsigned intnDelay){intii,jj,kk=0;for ( ii=0;ii<nDelay;ii++ ){for ( jj=0;jj<64;jj++ ){RefreshLEDArray();kk++;}}} voidRefreshLEDArray(){int i;for ( i=0;i<8;i++ ){CTRGR=ledx[i];CTRLA=ledbuf[i];}} voidSetLEDArray(intnNumber){int i;for ( i=0;i<8;i++ )ledbuf[i]=~ledkey[nNumber][7-i];} voidLCDWriteLeft(unsigned char dbData) {CTRLCDLCR=dbData;CTRLCDCR=0;}voidLCDWriteRight(unsigned char dbData) {CTRLCDRCR=dbData;CTRLCDCR=0;}voidTurnOnLCD(){LCDCMD(LCDCMDTURNON);}void LCDCLS(){inti,j;LCDCMD(LCDCMDSTARTLINE);for ( i=0;i<8;i++ ){LCDCMD(LCDCMDPAGE+i);LCDCMD(LCDCMDVERADDRESS);for ( j=0;j<64;j++ )LCDWriteLeft(0);LCDCMD(LCDCMDPAGE+i);LCDCMD(LCDCMDVERADDRESS);for ( j=0;j<64;j++ )LCDWriteRight(0);}}3.LED.c程序#include "ICETEK-C6713-A.h" unsigned char dbScanCode; charcReturn;int flag=0;main(){inti,nCount=0,nBW=0; // 定义变量int s1,s2,m1,m2,h1,h2;unsigned char dbWork;unsigned char dbScanCode; InitInterrupt();init_emif(); // 初始化emif InitCTR(); // 初始化ICETEK-CTR TurnOnLCD(); // 打开显示LCDCLS(); // 清除显示内存LCDCMD(LCDCMDSTARTLINE); // 设置显示起始行=0for (;;){LCDCMD(LCDCMDPAGE); // 设置操作页=0LCDCMD(LCDCMDVERADDRESS); // 起始列=0获得小时,分钟,秒的十位,个位-------------------------------------------------------------s1=second/10;s2=second%10;m1=min/10;m2=min%10;h1=hour/10;h2=hour%10;-------------------------------------------------------------显示小时,分钟,秒-------------------------------------------------------------for ( i=0;i<8;i++ ){dbWork=(ledkey[h1][i]);LCDWriteLeft(dbWork);} //显示小时的十位Delay(12);for ( i=0;i<8;i++ ){dbWork=(ledkey[h2][i]);LCDWriteLeft(dbWork);} //显示小时的个位Delay(12);for ( i=0;i<8;i++ ){dbWork=(ledkey[10][i]);LCDWriteLeft(dbWork); } //显示冒号Delay(12);for ( i=0;i<8;i++ ){dbWork=(ledkey[m1][i]);LCDWriteLeft(dbWork);} //显示分钟的十位Delay(12);for ( i=0;i<8;i++ ){bWork=(ledkey[m2][i]);LCDWriteLeft(dbWork);} //显示分钟的个位Delay(12);for ( i=0;i<8;i++ ){dbWork=(ledkey[10][i]);LCDWriteLeft(dbWork); } //显示冒号Delay(12);for ( i=0;i<8;i++ ){dbWork=(ledkey[s1][i]);LCDWriteLeft(dbWork);} //显示秒的十位Delay(12);for ( i=0;i<8;i++ ){dbWork=(ledkey[s2][i]);LCDWriteLeft(dbWork); } //显示秒的个位Delay(12);if (flag==1){ dbScanCode=GetKey();Delay(512);if ( dbScanCode!=0 &&dbScanCode!=0x0ff ){if ( dbScanCode==SCANCODE_Enter )flag=0;else{ ConvertScanToChar(dbScanCode);}}}}CloseCTR();exit(0);}void interrupt Timer() //中断响应函数{second++;if(second==60){min++;second=0;}if(min>=60){hour++;min=0;}if(hour>=24){hour=0;min=0;second=0;}LBDS^=1; } //小时,分钟,秒的实现voidInitInterrupt(){// 设置中断控制寄存器CSR&=0xfffffffe; // 关中断 GIE=0ISTP=0x00000c00; // 重置中断向量表到0C00hIMH=0x08000000; // 指定Timer1产生int15中断IML=0x0a0; // 指定xint5中断ICR=0xff; // 清除等待的中断IER=0x8023; // 使能int15、xint5中断// 设置定时器产生中断信号的频率TIMER1PRD=781250*4; // 定时器1的周期=781250, 0.25sTIMER1CTL=0x3c0; // 开始计数CSR=CSR|1;}// 开中断void interrupt XINT5() // XINT2中断服务程序{ flag=1;//CSR&=0xfffffffe; // 关中断 GIE=0//TIMER1CTL&=0x0ffffff3f; // GO=0 /HLD=0 =>计数器暂停//CloseCTR();//exit(0);}七、实验总结这次电子时钟设计主要是针对LED液晶显示模块进行实现功能的代码编写。

相关文档
最新文档