本科毕业设计-单片机课程设计简易电子时钟

合集下载

单片机课程设计--智能电子钟的设计

单片机课程设计--智能电子钟的设计

目录1引言 (1)1.1设计内容和要 (1)1.2 工作原理 (2)2总体设计 (2)2.1 方案设计 (2)2.2 系统框图 (2)2.3 核心芯片简介 (3)2.3.1 DS1302简介 (3)2.3.2 AT89C51简介 (3)3 智能电子钟软硬件电路的设计 (4)3.1 硬件设计 (4)3.1.1 复位电路设计 (4)3.1.2 DS1302与单片机的接口设计 (5)3.1.3 LED显示设计 (5)3.1.4 电源设计 (6)3.1.5 按键开关去抖设计 (6)3.1.6 时钟电路的设计 (7)3.1.7 电路总原理图设计 (8)3.2 软件设计 (8)3.2.1 流程图 (8)4protues仿真与调试 (11)4.1 电路的仿真 (11)4.2软件调试 (11)结论……………………………………………………………………………………………错误!未定义书签。

参考文献 (14)附录 (15)源程序 (15)1 引言电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。

另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。

本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。

本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。

本设计应用AT89C51芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。

这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。

该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。

1.1设计内容和要求以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:(1) 计时:秒、分、时、天、周、月、年。

毕业设计论文_单片机电子时钟的设计

毕业设计论文_单片机电子时钟的设计

毕业设计论文_单片机电子时钟的设计摘要:电子时钟作为一种常见的时间显示装置,在现代社会中应用广泛。

本文设计了一款基于单片机的电子时钟,使用DS1307实时时钟芯片来获取系统时间,并通过数码管进行显示。

设计过程中,通过对单片机的编程和电路的连接,实现了时间的显示与调节功能,具有较高的准确性和稳定性。

该设计方案简单、实用,可用于各种场合。

关键词:单片机;电子时钟;DS1307;数码管1.引言电子时钟是一种利用电子技术构造的显示时间的装置,具有时间准确、使用简单、显示清晰等特点,广泛应用于生活和工作中。

本文以单片机为核心,设计了一款实时准确的电子时钟,提高了时间的准确度和稳定性。

2.设计原理该设计的核心是通过单片机与DS1307实时时钟芯片的连接,使得单片机可以获取到准确的系统时间,并通过数码管进行显示。

DS1307芯片通过I2C总线与单片机连接,通过读取芯片中的时间寄存器,单片机可以获得当前的时间信息。

3.硬件设计本设计中使用了AT89S52单片机作为主控芯片,通过引脚与DS1307芯片相连。

单片机的P0口接到数码管的段选信号,P1口接到数码管的位选信号,通过控制这两个口的输出状态,可实现对数码管上显示的数字进行控制。

同时,为了使时钟可以正常运行,需外接一个晶振电路为单片机提供时钟信号。

4.软件设计通过对单片机的编程,实现了以下功能:(1)初始化DS1307芯片,设置初始时间;(2)每隔一秒读取一次DS1307芯片的时间寄存器,将时间信息保存到单片机的RAM中;(3)根据当前时间信息,在数码管上显示对应的小时和分钟。

5.调试与测试经过硬件的连接以及软件的编写,进行了调试与测试。

将初始时间设置为08:30,观察数码管上的显示是否正确,以及时间是否准确。

同时,通过手动调节DS1307芯片中的时间,检查单片机是否能正确获取时间,并进行显示。

6.总结与展望本文设计了一款基于单片机的电子时钟,通过单片机与DS1307芯片的连接和编程,实现了准确的时间显示功能。

单片机课程设计报告--电子时钟(2021整理)

单片机课程设计报告--电子时钟(2021整理)

一、设计内容该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。

设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。

二、电子时钟设计思想:用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY〔自己计算〕。

形成定时时间为50ms。

用片内RAM的7BH单元对50ms 计数,计20次产生秒计数器78H单元加1,秒计数器加到60那么分计数器79H单元加1,分计数器加到60那么时计数器7AH单元加1,时计数器加到24那么时计数器清0。

然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。

显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。

在处理过程中加上了按键判断程序,能对按键处理。

三、MCS-51单片机系统简介单片机应用系统由硬件系统和软件系统两局部组成。

硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。

软件系统包括监控程序和各种应用程序。

在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。

与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。

在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。

在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。

配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED 指示灯就可以进行处理了。

在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。

显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。

单片机电子时钟课程设计设计报告

单片机电子时钟课程设计设计报告

单片机电子时钟设计一、作品功能介绍该作品是个性化电子钟设计,技术上主要用单片机(AT89S52)主控,6位LED数码显示,分别显示“小时:分钟:秒”。

该作品主要用于24小时计时显示,能整时报时,能作为秒表使用,能定时闹铃1分钟。

功能介绍:(1)上电以后自动进入计时状态,起始于00:00:00。

(2)设计键盘调整时间,完成时间设计,并设置闹钟。

(3)定时时间为1/100秒,可采用定时器实现。

(4)采用LED数码管显示,时、分,秒采用数字显示。

(5)采用24小时制,具有方便的时间调校功能。

(6)具有时钟和秒表的切换功能。

使用方法:开机后时钟在00:00:00起开始计时。

(1)长按进入调分状态:分单元闪烁,按加1,按减1.再长按进入时调整状态,时单元闪烁,加减调整同调分.按长按退出调整状态。

(2)(2)按进入设定闹时状态: 12:00: ,可进行分设定,按分加1,再按为时调整,按时加1,按调闹钟结束.在闹铃时可按停闹,不按闹铃1分钟。

(3)按下进入秒表状态:再按秒表又启动,按暂停,再按秒表清零,按退出秒表回到时钟状态。

二、电路原理图如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。

电子时钟原理图各个模块设计1.单片机系统 AT89S52 AT89S52概述:是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。

AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

单片机课程设计--电子秒表与闹钟的设计

单片机课程设计--电子秒表与闹钟的设计

目录摘要 (Ⅰ)1 电子秒表与闹钟系统概述 (1)1.1 课程设计基本要求 (1)1.2 系统实现功能 (1)1.3 系统应用价值展望 (2)2 仿真软件Proteus和Keil简介 (3)2.1 Proteus简介 (3)2.2 Keil简介 (3)3 系统工作原理分析 (4)3.1AT89C2051模块 (4)3.2 显示驱动模块 (6)3.3 数码管显示模块 (8)4 程序流程图设计 (9)5 Proteus仿真原理图 (12)6 课程设计体会 (14)参考文献 (15)附:源程序代码 (16)摘要随着科学技术的不断发展 , 人们对时间计量的要求越来越高。

在当今社会,电子时钟已经得到相当广泛的应用,产品多样,发展更是多元化。

本作品是以STC89C51单片机作为主控芯片,使用12MHZ的晶振,使用专用时钟日历芯片DS12C887产生时间信息,时间精确。

软件部分以C语言为主体,用1602LCD 液晶屏显示输出信息,输出信息量多,更直观、人性化。

该时钟可实现人机交互,可通过提供的键盘对其进行调整。

系统具有以下功能:年、月、日、时、分、秒显示;12小时/24小时模式切换,在12小时模式中,用AM和PM区分上午和下午;秒表功能;整点闹铃和报时功能,且闹钟可设置多组。

本次设计的电子时钟系统由单片机最小系统,1602LCD液晶屏,时钟芯片,调整按键,蜂鸣器,电源五大部分组成。

关键词:定时器中断闹钟电子时钟1 电子秒表与闹钟系统概述1.1 课程设计基本要求(1) 用并行口设计一个具有显示功能的秒表,显示准确的北京时间(时、分、秒),可用24小时制式;(2) 有时间校准功能;(3) 允许通过转换功能键转换显示时间,用定时器实现一个电子闹钟,能设定和修改定时的时间,并能到时响铃通知;(4) 所有按键需要通过串口自发自收来调校各种功能。

1.2 系统实现功能本系统是基于单片机AT89S52制作的数字电子钟。

根据实验要求,在完成实验所要求的基本功能外,扩展了几个功能。

单片机电子时钟课程设计实验报告(1)

单片机电子时钟课程设计实验报告(1)

单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。

二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。

2.软件设计通过C语言编写单片机程序,用于实现时钟功能。

3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。

(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。

(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。

(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。

(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。

三、实验结果经过调试,电子时钟的各项功能都能够正常实现。

在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。

在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。

同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。

四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。

通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。

在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。

单片机电脑时钟课程设计

单片机电脑时钟课程设计

单片机电脑时钟课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其硬件结构和功能模块;2. 学会使用单片机编程,实现电脑时钟的基本功能;3. 掌握电脑时钟的时、分、秒显示和闹钟功能的实现方法;4. 了解单片机与其他电子元件的接口技术。

技能目标:1. 能够运用C语言编写单片机程序,实现电脑时钟功能;2. 能够使用调试工具对单片机程序进行调试和排错;3. 能够独立完成单片机电脑时钟的硬件连接和程序设计;4. 能够分析和解决电脑时钟在实际应用中遇到的问题。

情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,提高学习积极性;2. 培养学生团队合作精神,学会相互交流和分享经验;3. 增强学生的创新意识,鼓励他们勇于尝试和改进;4. 培养学生严谨、细致的学习态度,提高他们分析问题和解决问题的能力。

课程性质:本课程为实践性课程,以项目为导向,结合单片机原理和编程技术,培养学生动手能力和实际应用能力。

学生特点:学生具备一定的电子基础知识,熟悉C语言编程,对单片机有一定了解,但实践能力有待提高。

教学要求:注重理论与实践相结合,强调动手实践,鼓励学生自主学习和探究,提高学生的综合能力。

将课程目标分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容1. 单片机基础理论:介绍单片机的硬件结构、工作原理、功能模块等,为学生后续编程打下基础。

- 教材章节:第一章 单片机概述、第二章 单片机硬件结构- 内容:单片机的基本概念、CPU、存储器、I/O口、定时器等。

2. C语言编程:复习C语言基础知识,讲解单片机编程方法和技巧。

- 教材章节:第三章 单片机C语言编程- 内容:数据类型、运算符、控制语句、函数、数组等。

3. 单片机时钟设计:详细讲解电脑时钟的原理和实现方法,包括时、分、秒显示和闹钟功能。

- 教材章节:第四章 单片机定时器、第五章 显示技术- 内容:定时器工作原理、显示技术、时钟程序设计。

4. 硬件连接与调试:介绍单片机与其他电子元件的接口技术,指导学生进行硬件连接和程序调试。

单片机电子时钟课程设计报告

单片机电子时钟课程设计报告

单片机电子时钟课程设计报告一、设计目的。

本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。

通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。

二、设计原理。

本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。

利用数码管来显示小时和分钟,通过按键来调整时间。

同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。

三、设计方案。

1. 硬件设计。

(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。

(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。

(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。

(4)按键输入,设计按键来调整时间,包括调整小时和分钟。

(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。

2. 软件设计。

(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。

(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。

(3)按键处理,设计按键扫描程序,实现对时间的调整。

(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。

四、设计实现。

1. 硬件实现。

根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。

2. 软件实现。

编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。

五、实验结果。

经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。

六、总结与展望。

通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。

在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。

同时,也为学生今后的科研和创新工作奠定了良好的基础。

毕业设计—基于单片机的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时钟发展史很早以前,人类主要是利用天文现象和流动物质的连续运动来计时。

毕业设计_单片机定时闹钟

毕业设计_单片机定时闹钟

单片机定时闹钟一、[电路概述]该时钟电路主要以单片机AT89S52为核心而设计的,通过单片机对信息的分析与处理控制外围设备。

电路整体设计思想是想把它做成一个实用的器件,所以在题目要求的前提下,我们又加入了星期程序,温度程序,年、月、日程序以及时间的12—24转换程序。

[关键字]:单片机数码显示温度传感器光识电路二、[题目分析与方案论证]按照系统设计功能的要求,初步确定设计系统由复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共五个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块从单片机AT89S52入手,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。

再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。

根据题目的要求,我们设计了以下方案:[方案一]设计中加载了年、月、日的设计,刚开始时打算用18个共阳数码管,考虑到数码管太多是毕会给硬件电路带来麻烦,经过考虑后,决定把年、月、日与时间设置到一组数码管上来,即六个数码管即能显示时间又能显示年、月、日,这样一来就方便了硬件电路;[方案二]主控芯片使用51系列AT89S52单片机设计时温度模块设计温度元件用AD590,利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号,然后经AT89S52处理显示温度。

但由于AD590价钱比较贵,且只能转换成模拟电压,这样一来硬件就要增加更多的器件且又不经济,经查找发现18B20温度传感器价钱便宜且可以直接把温度转换成数字量测温范围为-55—125度,最大分辨率可达0.0625度,采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,所以我们选择了18B20温度传感器。

附18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现9—12位的数字值读数方式。

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

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

单片机电子时钟的设计摘要单片机自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。

单片机课程设计任务书(电子时钟)

单片机课程设计任务书(电子时钟)

单片机原理及应用课程设计专业:设计题目:电子时钟班级:学生姓名:学号:指导教师:分院院长:许建平教研室主任:方健电气工程学院一、课程设计任务书1.课程设计项目电子时钟(LED显示)2.设计内容1)以MCS-51系列单片机为核心器件组成电子时钟控制系统;2)利用提供单元模块构成硬件系统。

3)系统程序编制与调试;4)电路系统的综合调试;5)撰写课程设计论文;6)完成课程设计论文答辩。

3.设计要求1)以STC89C51单片机为控制核心,用单片机内部定时器为时钟源,设计电子时钟,使用4位数码管显示时、分,用小数点的闪烁显示秒。

2)显示格式为:“XX。

XX3)用4个功能键操作来进行对时。

可自行定义各键的功能,也可按下述方式定义K1~K4键的功能如下。

K1—功能键,每按下一次对应的LED闪烁。

K2—移位键,每按下一次向后移一位。

K3—加1键。

K4—减1键。

4.参考资料[1]李广弟,朱月秀,王秀山编著.单片机基础. 北京:北京航空航天大学出版社,2001[2] 何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1999[3] 蔡美琴等编著.MCS-51 单片机系统及应用.北京:高等教育出版社.19925.设计进度(2011年6月13日至2011年6月24日)时间设计内容第1-2天查阅资料,方案比较、设计与论证,理论分析与计算第3-5天硬件电路调试第6-8天系统调试第9-10天书写报告、答辩6.设计地点新实验楼323微机实验室二、评语及成绩成绩:指导教师:单片机原理及应用课程设计班级:姓名:学号:指导教师:撰写日期:目录第一章课程设计内容与要求分析 (1)1.1课程设计内容 (1)1.2课程设计要求分析 (1)1.2.1系统单元电路组成 (1)第二章控制系统程序设计 (4)单片机原理及应用课程设计总结......... 错误!未定义书签。

参考文献. (8)附录 (9)注意:页码右对齐,使用超级链接,连接章节使用超级链接,连接章节的方法:1步:选择大纲视图2步:选择目录等级3步:定义标题2为2级目录4步:定义标题3为3级目录后以此类推。

单片机数字电子钟课程设计

单片机数字电子钟课程设计

单片机数字电子钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基础知识,掌握数字电子时钟的原理和工作流程。

2. 学生能描述单片机编程的基本步骤,特别是与计时相关的指令和程序设计方法。

3. 学生能够解释数字电子钟各部分功能,如时钟电路、显示电路等,并了解它们之间的协作关系。

技能目标:1. 学生能够运用所学的单片机知识,设计并实现一个简单的数字电子钟程序。

2. 学生通过动手实践,提高焊接和电路排错的能力,能够组装和调试电子钟电路。

3. 学生能够利用仿真软件对电子钟程序进行测试和优化,培养问题解决和程序调试技巧。

情感态度价值观目标:1. 培养学生对电子制作的兴趣,激发创新意识和探索精神。

2. 通过团队协作完成项目,增强学生的合作意识和沟通能力。

3. 学生在课程学习过程中,能够体验到知识与实践相结合的成就感,培养科学、严谨的学习态度。

分析课程性质、学生特点和教学要求:本课程设计针对高中年级学生,假设他们已具备基础物理知识和一定的编程能力。

课程性质为实践性强的综合设计课,旨在通过单片机数字电子钟的制作,巩固学生的电子技术知识与技能。

课程目标设定时考虑了学生的年龄特点和认知水平,注重理论与实践的结合,鼓励学生动手操作和探究学习,旨在提高学生的综合技术应用能力。

通过具体的学习成果分解,本课程旨在让学生不仅学习到知识,而且能够将知识应用到实际问题的解决中,充分体现课程的实用性和创新性。

二、教学内容1. 单片机基础知识回顾:重点复习单片机的内部结构、工作原理及编程基础,关联教材第二章内容。

2. 数字电子时钟原理:讲解时钟电路、计数器、振荡器等组成部分,对应教材第四章第二节。

- 时钟电路的构成与工作原理- 计数器的作用及其编程方法- 振荡器的种类及其在电子时钟中的应用3. 单片机编程设计:结合教材第三章,介绍编写电子时钟程序所需的指令和编程技巧。

- 基本计时指令的使用- 程序流程图的绘制- 中断处理在电子时钟中的应用4. 电路设计与制作:依据教材第五章,指导学生进行电子时钟的电路设计和组装。

单片机课程设计电子时钟

单片机课程设计电子时钟

目录第一部分设计任务及要求 (2)1.1单片机设计设计内容 (2)1.2单片机课程设计要求 (2)1.3 系统运行流程 (2)第二部分设计方案 (3)2.1 总体设计方案说明 (3)2.2 系统方框图 (3)2.3 系统流程图 (3)第三部分主要器材及基本简介 (7)3.1 主要器材 (7)3.2主要器材简介 (7)第四部分系统硬件设计 (7)4.1 数码管显示电路 (7)4.2键盘输入电路 (8)4.3 蜂鸣器 (8)第五部分课程设计总结 (9)附录 (9)1. 系统源程序注释及功能说明 (9)2. 原理图 (17)毕竟是两年前写的东西了,在这里分享一下自己的思路,程序100%能运行,只不过是在我的那块板子上,要参考的话,最好去看看自己用的板子的接口和板子的原理图啥样。

第一部分设计任务及要求1.1单片机设计设计内容利用STC89C51RC单片机和LCD7407六段数码管实现可预置参数的电子钟,可由按键切换不同的功能。

1.2单片机课程设计要求80C51系列单片机的外围接口电路设计,掌握应用软件的编写及调试。

学会用软件调试硬件和用硬件调试软件。

1.硬件设计要求:CPU选用 STC89C51RC,内有 4KB Flash ROM。

显示用6位LED,LED共阴极接法,采用动态显示法。

用芯片7407作7段LED段选驱动,用芯片7406段LED位段选驱动。

要求有单片机复位键,功能选择键,加/减键,移位键,确认键。

要求用Protel绘制电路原理图2.软件编写要求:(1)基本要求:实时时钟:显示年月日时分秒,各两位,分二页显示。

可以上电自动按预置时间走时。

(2)提高要求:时钟上电后,显示时分秒,用按键切换年月日3秒后,返回时分秒。

可以手动预置年、月、日、时、分、秒后,时间走时。

预置的位要求闪烁。

闹钟功能:定时到报警(喇叭发声),手动预置定时时间。

定时器(倒计时)功能:定时清0报警(喇叭发声),手动预置定时时间。

单片机简易时钟课程设计

单片机简易时钟课程设计

单片机简易时钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握时钟电路的组成及工作原理。

2. 学生能运用所学编程知识,编写简易时钟程序,实现时、分、秒的正常显示。

3. 学生了解单片机在日常生活和工业中的应用,认识到单片机技术的重要性。

技能目标:1. 学生能独立完成单片机简易时钟的电路搭建,提高动手实践能力。

2. 学生能通过编程实现对时钟时间的调整,培养问题解决能力和逻辑思维能力。

3. 学生能够运用所学知识,进行课程项目的展示和汇报,提高沟通表达能力。

情感态度价值观目标:1. 学生对单片机技术产生兴趣,培养积极探索、求知若渴的学习态度。

2. 学生在课程实践中,养成团队协作、共同解决问题的良好习惯。

3. 学生通过单片机简易时钟的制作,认识到科技改变生活,增强社会责任感和创新意识。

课程性质:本课程为实践性较强的课程,结合理论知识,培养学生的动手能力和创新精神。

学生特点:学生在本年级已具备一定的单片机基础知识和编程能力,对实践操作有较高的兴趣。

教学要求:教师应注重理论与实践相结合,关注学生的个体差异,引导学生主动探究,培养实际操作能力。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 理论知识:- 单片机基础原理复习;- 时钟电路的组成和工作原理;- 程序设计基础,重点讲解循环结构和条件判断;- 单片机I/O口编程及应用。

2. 实践操作:- 电路搭建:指导学生搭建简易时钟电路,熟悉相关电子元器件的使用;- 程序编写:指导学生编写简易时钟程序,实现时、分、秒的显示和调整;- 系统调试:教授学生如何对程序进行调试,确保时钟运行稳定。

3. 教学大纲:- 第一阶段:复习单片机基础原理,学习时钟电路原理,为期2课时;- 第二阶段:学习程序设计基础,进行I/O口编程实践,为期3课时;- 第三阶段:进行电路搭建和程序编写,为期4课时;- 第四阶段:系统调试,课程项目展示与评价,为期1课时。

基于单片机的简易电子时钟设计

基于单片机的简易电子时钟设计

基于单片机的简易电子时钟设计引言:电子时钟是人们日常生活中广泛应用的一种设备,基于单片机的电子时钟可以实现精确的时间显示、闹钟设置、定时功能等。

本设计将使用单片机控制电子时钟的各种功能,通过一个LCD显示屏来显示时间和其他信息。

一、设计目标:1.实现准确显示时间功能;2.设计带有闹钟设置的功能;3.实现定时功能。

二、设计原理:该电子时钟工作原理主要是通过单片机将外部的时钟信号进行调整和处理,然后控制液晶显示屏显示时间。

电子时钟的核心是单片机,通过单片机的计时功能实现时钟的准确显示,并通过输入设备设置闹钟功能和定时功能。

三、设计流程:1.系统初始化:首先,将单片机初始化,设置时钟和计时器的相关参数,开启显示屏的显示功能。

2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。

3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。

4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。

四、硬件设计:1.单片机选择:选用一款适合的单片机,如51系列单片机。

2.时钟电路:通过外部晶振或者RTC芯片来提供准确的时钟信号。

3.输入设备:使用按键作为输入设备,用于设置闹钟和定时功能;4.显示屏:选用合适的液晶显示屏,用于显示时间。

五、软件设计:1.系统初始化:设置时钟和计时器的相关参数,开启显示屏的显示功能。

2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。

3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。

4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。

六、实验结果:本设计可以准确显示时间,并可以设置闹钟和定时功能。

当闹钟和定时时间到达时,会触发相应的动作,实现了基本要求。

单片机课程设计LED点阵显示电子时钟

单片机课程设计LED点阵显示电子时钟

(课程设计)单片机原理及接口技术课程设计题目:LED点阵显示电子时钟学院班级:学生姓名:学号:摘要电子时钟是一种利用数字电路来显示秒、时的计时装置。

用单片机控制的LED点阵电子显示时钟具有结构简单、性能可靠、成本低廉和显示灵活等优点,其应用前景广阔。

本文设计的是一个5块8*8点阵时钟显示屏,数字采用静止显示方式。

实现的功能有:时钟功能,确定显示当前时间,并可以用按键实现误差调节;计时功能,开始与停止计时;显示精度切换功能,根据不同的工作场合,切换显示精度(时:分显示或分:秒显示硬件组成:AT89C51单片机、集成块74LS373和74LS138、LED点阵、按键若干、晶振、电容、电阻、电源等。

软件组成:定时中断程序、显示程序、起停控制程序、功能切换程序。

系统实现了计时和显示精度切换等创新功能。

关键词:点阵显示电子时钟;计时;精度切换目录摘要 (2)1 概述 (4)2 系统总体方案设计 (5)2.1系统总体设计框图 (5)2.2 初步设计思路 (5)3 硬件电路设计 (6)3.1 LED数码管显示电路 (6)3.1.1 LED点阵 (6)3.1.2 74LS373锁存器 (7)3.1.3 74LS138译码器 (7)3.2 复位电路 (8)3.3 晶振电路 (9)3.4 按键电路 (9)3.5 单片机连接电路 (10)4 软件设计 (11)4.1 计时程序设计 (11)4.2 显示程序设计 (11)4.3 时:分/分:秒切换程序 (13)4.4 起、停控制程序 (14)5 系统调试 (15)6 心得体会 (16)参考文献 (16)附录 (17)附录A:源程序清单 (17)附录B:元件清单 (23)1 概述在日常生活中,大家见到的都是数码管制作的电子钟,LED点阵时钟则不多见。

用单片机控制的LED点阵显示电子钟具有结构简单、性能可靠、成本低廉、价格便宜和显示灵活等优点,其应用前景广阔。

之所以使用LED点阵电子屏显示,是与它本身所具有的优点分不开的[1]。

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

单片机课程设计报告题目:简易电子时钟专业:自动化班级: 12级自动化1班日期: 2014 年 3月一、设计目的随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。

美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。

它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。

对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。

该电路采用STC89C51单片机作为核心,功耗小,能在5V的低压工作,电压可选用3~5V电压供电。

综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

本电路为实现电子万年历的功能,采用单片机STC89C51,辅助以必要的外围电路,用C语言编写程序,并进行模块化设计而成的电子万年历系统.它通过LCD能正确显示阳历星期和时分秒,温度等,可以进行整点提醒,具有功能稳定,精确度高和可调的特点。

1、通过《单片机原理及应用》教程了解单片微型计算机的发展;2、根据课程设计的要求,学会设计程序的过程,学会应用程序设计调试软件、学会根据要求运用PCB设计电路板硬件部分;3、通过调试程序设计模块,掌握单片微型计算机的结构原理,了解程序设计的编程思想;4、通过软件调试熟悉使用单片机指令系统,掌握C语言程序设计方法及编程技巧,掌握子程序的设计与使用,熟悉定时器中断服务程序的设计及调用过程。

5、综合课程设计更全方面了解单片机的硬件和软件知识。

二、设计要求和方案选择设计要求:1、显示出基本时间:时、分、秒;(基础部分)2、显示年、月、日、周具体时间(拓展部分)3、断电保护时间功能(拓展部分)4、环境温度感应功能显示(拓展部分)5、整点报时功能(拓展部分)方案选择:根据题目基本要求以及外拓展功能,本次单片机课程设计打算以AT89S52单片机系统为基础实现以上的设计要求,并在此分为软硬件模块结合实现所要求的功能,各重要模块如下:1、AT89S52单片机最小系统最小系统包括晶体振荡电路、复位开关和电源部分。

图2为STC89C52RC 单片机的最小系统。

2、DS1302时钟芯片模块时钟模块采用DS1302芯片,DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:RST复位、I/O数据线、SCLK串行时钟。

时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。

3、18B20温度感应芯片模块温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。

4、LCD1602液晶显示器模块LCD液晶显示模块采用LCD1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V。

通过编程实现自动关闭屏幕能够更有效的降低功耗。

LCD1602分两行显示,每行可显示多达16个字符。

LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。

5、蜂鸣器模块三、软件设计当硬件做出来的时候下一步就是在软件上实现所要求的功能,各个芯片最好都应该有各自的基本C文件程序,然后再在主函数上用函数的调用的方法最后实现功能。

以下是本次课程设计的全部代码:#include<reg51.h>#include"DS18B20_3.H"#define uint unsigned int#define uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp;//flag用于读取头文件中的温度值,和显示温度值#define yh 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)//液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)sbit rs=P2^0;sbit en=P2^2;sbit rw=P2^1; //如果硬件上rw接地,就不用写这句和后面的rw=0了sbit led=P2^6; //LCD背光开关//DS1302时钟芯片与C51之间的引脚连接定义sbit IO=P1^1;sbit SCLK=P1^0;sbit RST=P1^2;sbit ACC0=ACC^0;sbit ACC7=ACC^7;/************************************************************ACC累加器=AACC.0=E0HACC.0就是ACC的第0位。

Acc可以位寻址。

累加器ACC是一个8位的存储单元,是用来放数据的。

但是,这个存储单元有其特殊的地位,是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。

以后在学习指令时,常用A来表示累加器。

但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。

一般的说法,A代表了累加器中的内容、而ACC代表的是累加器的地址。

***************************************************************///校时按键与C51的引脚连接定义sbit key1=P1^5; //设置键sbit key2=P1^6; //加键sbit key3=P1^7; //减键sbit buzzer=P1^3;//蜂鸣器,通过三极管9012驱动,端口低电平响/**************************************************************/uchar code tab1[]={"20 - - "}; //年显示的固定字符uchar code tab2[]={" : : "};//时间显示的固定字符//延时函数,后面经常调用void delay(uint xms)//延时函数,有参函数{uint x,y;for(x=xms;x>0;x--)for(y=110;y>0;y--);}/********液晶写入指令函数与写入数据函数,以后可调用**************//*在这个程序中,液晶写入有关函数会在DS1302的函数中调用,所以液晶程序要放在前面*/write_1602com(uchar com)//****液晶写入指令函数****{rs=0;//数据/指令选择置为指令rw=0; //读写选择置为写P0=com;//送入数据delay(1);en=1;//拉高使能端,为制造有效的下降沿做准备delay(1);en=0;//en由高变低,产生下降沿,液晶执行命令}write_1602dat(uchar dat)//***液晶写入数据函数****{rs=1;//数据/指令选择置为数据rw=0; //读写选择置为写P0=dat;//送入数据delay(1);en=1; //en置高电平,为制造下降沿做准备delay(1);en=0; //en由高变低,产生下降沿,液晶执行命令}lcd_init()//***液晶初始化函数****{write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据write_1602com(0x0c);//开显示不显示光标write_1602com(0x06);//整屏不移动,光标自动右移write_1602com(0x01);//清显示write_1602com(yh+1);//日历显示固定符号从第一行第1个位置之后开始显示for(a=0;a<14;a++){write_1602dat(tab1[a]);//向液晶屏写日历显示的固定符号部分//delay(3);}write_1602com(er+2);//时间显示固定符号写入位置,从第2个位置后开始显示for(a=0;a<8;a++){write_1602dat(tab2[a]);//写显示时间固定符号,两个冒号//delay(3);}}/*********************over***********************//***************DS1302有关子函数********************/void write_byte(uchar dat)//写一个字节{ACC=dat;RST=1;for(a=8;a>0;a--){IO=ACC0;SCLK=0;SCLK=1;ACC=ACC>>1;}}uchar read_byte()//读一个字节{RST=1;for(a=8;a>0;a--){ACC7=IO;SCLK=1;SCLK=0;ACC=ACC>>1;}return (ACC);}//----------------------------------------void write_1302(uchar add,uchar dat)//向1302芯片写函数,指定写入地址,数据{RST=0;SCLK=0;RST=1;write_byte(add);write_byte(dat);SCLK=1;RST=0;}uchar read_1302(uchar add)//从1302读数据函数,指定读取数据来源地址{uchar temp;RST=0;SCLK=0;RST=1;write_byte(add);temp=read_byte();SCLK=1;RST=0;return(temp);}uchar BCD_Decimal(uchar bcd)//BCD码转十进制函数,输入BCD,返回十进制{uchar Decimal;Decimal=bcd>>4;return(Decimal=Decimal*10+(bcd&=0x0F));}//--------------------------------------void ds1302_init() //1302芯片初始化子函数(2010-01-07,12:00:00,week4){RST=0;SCLK=0;write_1302(0x8e,0x00); //允许写,禁止写保护//write_1302(0x80,0x00); //向DS1302内写秒寄存器80H写入初始秒数据00//write_1302(0x82,0x00);//向DS1302内写分寄存器82H写入初始分数据00//write_1302(0x84,0x12);//向DS1302内写小时寄存器84H写入初始小时数据12//write_1302(0x8a,0x04);//向DS1302内写周寄存器8aH写入初始周数据4//write_1302(0x86,0x07);//向DS1302内写日期寄存器86H写入初始日期数据07//write_1302(0x88,0x01);//向DS1302内写月份寄存器88H写入初始月份数据01//write_1302(0x8c,0x10);//向DS1302内写年份寄存器8cH写入初始年份数据10write_1302(0x8e,0x80); //打开写保护}//------------------------------------//温度显示子函数void write_temp(uchar add,uchar dat)//向LCD写温度数据,并指定显示位置{uchar gw,sw;gw=dat%10;//取得个位数字sw=dat/10;//取得十位数字write_1602com(er+add);//er是头文件规定的值0x80+0x40write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码write_1602dat(0xdf);//显示温度的小圆圈符号,0xdf是液晶屏字符库的该符号地址码write_1602dat(0x43); //显示"C"符号,0x43是液晶屏字符库里大写C的地址码}//------------------------------------//时分秒显示子函数void write_sfm(uchar add,uchar dat)//向LCD写时分秒,有显示位置加、现示数据,两个参数{uchar gw,sw;gw=dat%10;//取得个位数字sw=dat/10;//取得十位数字write_1602com(er+add);//er是头文件规定的值0x80+0x40write_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码}//-------------------------------------//年月日显示子函数void write_nyr(uchar add,uchar dat)//向LCD写年月日,有显示位置加数、显示数据,两个参数{uchar gw,sw;gw=dat%10;//取得个位数字sw=dat/10;//取得十位数字write_1602com(yh+add);//设定显示位置为第一个位置+addwrite_1602dat(0x30+sw);//数字+30得到该数字的LCD1602显示码write_1602dat(0x30+gw);//数字+30得到该数字的LCD1602显示码}//-------------------------------------------void write_week(uchar week)//写星期函数{write_1602com(yh+0x0c);//星期字符的显示位置switch(week){case 1:write_1602dat('M');//星期数为1时,显示write_1602dat('O');write_1602dat('N');break;case 2:write_1602dat('T');//星期数据为2时显示write_1602dat('U');write_1602dat('E');break;case 3:write_1602dat('W');//星期数据为3时显示write_1602dat('E');write_1602dat('D');break;case 4:write_1602dat('T');//星期数据为4是显示write_1602dat('H');write_1602dat('U');break;case 5:write_1602dat('F');//星期数据为5时显示write_1602dat('R');write_1602dat('I');break;case 6:write_1602dat('S');//星期数据为6时显示write_1602dat('T');write_1602dat('A');break;case 7:write_1602dat('S');//星期数据为7时显示write_1602dat('U');write_1602dat('N');break;}}//*******************主函数**************************//***************************************************void main(){lcd_init(); //调用液晶屏初始化子函数ds1302_init(); //调用DS1302时钟的初始化子函数init(); //调用定时计数器的设置子函数led=0; //打开LCD的背光电源buzzer=0;//蜂鸣器长响一次delay(80);buzzer=1;while(1) //无限循环下面的语句:{keyscan(); //调用键盘扫描子函数}}void timer0() interrupt 1 //取得并显示日历和时间{//Init_DS18B20();//温度传感器DS18b2初始化子函数,在头文件中flag=ReadTemperature();//将18b2头文件运行返回的函数结果送到变量FLAG中,用于显示//读取秒时分周日月年七个数据(DS1302的读寄存器与写寄存器不一样):miao = BCD_Decimal(read_1302(0x81));fen = BCD_Decimal(read_1302(0x83));shi = BCD_Decimal(read_1302(0x85));ri = BCD_Decimal(read_1302(0x87));yue = BCD_Decimal(read_1302(0x89));nian=BCD_Decimal(read_1302(0x8d));week=BCD_Decimal(read_1302(0x8b));//显示温度、秒、时、分数据:write_temp(12,flag);//显示温度,从第二行第12个字符后开始显示write_sfm(8,miao);//秒,从第二行第8个字后开始显示(调用时分秒显示子函数)write_sfm(5,fen);//分,从第二行第5个字符后开始显示write_sfm(2,shi);//小时,从第二行第2个字符后开始显示//显示日、月、年数据:write_nyr(9,ri);//日期,从第二行第9个字符后开始显示write_nyr(6,yue);//月份,从第二行第6个字符后开始显示write_nyr(3,nian);//年,从第二行第3个字符后开始显示write_week(week);}四、硬件部分要做出来一个实物出来必须事先构造好各个模块,设计所需要的芯片以及了解各个芯片的工作原理和实现功能的构造部分、芯片之间该如何连接起来、准备好各元器件以便焊接等,首先在Altium Designer软件的原理图中画出各个模块,本次课程设计的原理图和PCB图如下:五、调试及运行结果根据书本的内容和上课时老师所讲授的知识,同时翻阅相关的芯片资料等,然后一步一步的写程序,写出了程序之后发现不能按要求实现功能,其中有1602显示出乱码、时钟不会变化、温度值异常等问题,最后一个问题一个问题地去解决,完成一个功能解决下一个问题,经过两天的软件调试,最后简易时钟能够实现所需要的效果,最后本次课程设计圆满完成。

相关文档
最新文档