基于单片机的电子时钟设计报告(LCD显示)
基于单片机的电子时钟课程设计报告
目录一、引言········二、设计课题·········三、系统总体方案·········四、系统硬件设计······1.硬件电路原理图2.元件清单五、系统软件设计·········1.软件流程图2.程序清单六、系统实物图········七、课程设计体会········八、参考文献及网站·········九、附录·········一.引言单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。
基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。
数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。
数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。
单片机时钟显示实训报告
一、实训背景随着科技的不断发展,单片机技术得到了广泛应用。
单片机具有体积小、成本低、功能强大等特点,因此在电子设备中得到了广泛的应用。
本实训旨在通过设计一个基于单片机的时钟显示系统,让学生了解单片机的原理、编程方法和接口电路设计,提高学生的实践能力和创新意识。
二、实训目的1. 掌握单片机的原理和编程方法;2. 熟悉单片机的接口电路设计;3. 学会使用LCD液晶显示器和按键进行人机交互;4. 提高学生的实践能力和创新意识。
三、实训内容1. 硬件设计(1)硬件组成:本实训采用AT89C51单片机作为核心控制单元,使用LCD1602液晶显示器进行时间显示,并使用DS1302实时时钟芯片提供准确的时间。
(2)电路设计:① AT89C51单片机电路:包括电源电路、晶振电路、复位电路等;② DS1302实时时钟芯片电路:包括电源电路、时钟晶振电路、数据通信电路等;③ LCD1602液晶显示器电路:包括电源电路、数据通信电路等;④ 键盘电路:包括按键输入电路和单片机接口电路。
2. 软件设计(1)软件组成:本实训的软件设计包括主程序、按键扫描程序、时间显示程序和DS1302时钟读取程序。
(2)程序设计:① 主程序:负责系统初始化、按键扫描、时间显示和DS1302时钟读取等功能;② 按键扫描程序:负责检测按键是否被按下,并根据按键输入进行相应操作;③ 时间显示程序:负责将DS1302实时时钟芯片读取的时间显示在LCD1602液晶显示器上;④ DS1302时钟读取程序:负责从DS1302实时时钟芯片读取当前时间。
3. 系统调试(1)硬件调试:连接好硬件电路,检查各个模块的连接是否正确,并进行必要的调试;(2)软件调试:使用Proteus软件进行仿真调试,确保程序能够正常运行。
四、实训过程1. 硬件制作(1)根据电路原理图,焊接好各个模块的电路板;(2)将各个模块连接到单片机上,并检查连接是否正确。
2. 软件编写(1)使用Keil C51软件编写程序;(2)将编写好的程序烧录到单片机中。
单片机电子时钟课程设计实验报告(1)
单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
基于单片机的lcd1602电子时钟设计
基于单片机的LCD1602电子时钟设计一、设计任务和目的1.1、设计任务(1):用单片机设计基于LCD1602的电子时钟,显示时间和日期;(2):误差精度控制在1s/天;(3):具有时间和日期的校准功能;(4):能区分某年是闰年或平年,并对应显示2月份的天数;(5):根据月份的不同显示不同的最大日数;(6):搭建仿真电路图,模拟单片机要实现的功能;(7):焊接单片机开发板;(8):编写程序,下载并调试,实现要求的功能。
1.2、设计目的(1):熟练掌握KEIL软件的使用方法;(2):熟练掌握PROTEUS软件的使用方法;(3):掌握单片机I/O接口的工作原理;(4):掌握LCD显示器的工作原理及编程方法;(5):掌握独立式键盘的工作原理及编程使用方法;(6):掌握单片机的下载使用方法。
二、设计思路和方案论证2.1、设计思路电路总体上分为控制和显示部分。
以单片机最小系统作为核心控制电路,控制LCD显示,具体显示内容及方式由软件来完成;由于有时钟和日期的调节功能需要校准电路和基本的复位电路,复位电路采用按键复位,调节键、加1键、减1键三个按键完成,共需四个按键;计时功能由固定频率的晶振完成(采用11.0592MHz);显示部分主要采用LCD1602作为显示。
2.2、方案论证(1):时钟芯片的选择和论证方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、月、年以及闰年补偿的年进行计数,精度也较高,工作电压2.5V~5.5V范围内,功耗也较低,但价格比较贵。
方案二:直接采用单片机定时计数器提供秒信号,使用程序实现秒、分、时、日、月、年计数。
采用此方案实现虽然有一定的时间误差,但可减少芯片的使用,节约成本,易于实现,符合现实选用,所以采用此种作为时钟信号发生器。
(2):显示模块选择方案和论证:方案一:采用点阵式图形LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用点阵式图形LCD12864液晶显示屏。
单片机电子时钟课程设计报告
单片机电子时钟课程设计报告一、设计目的。
本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。
通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。
二、设计原理。
本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。
利用数码管来显示小时和分钟,通过按键来调整时间。
同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。
三、设计方案。
1. 硬件设计。
(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。
(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。
(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。
(4)按键输入,设计按键来调整时间,包括调整小时和分钟。
(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。
2. 软件设计。
(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。
(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。
(3)按键处理,设计按键扫描程序,实现对时间的调整。
(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。
四、设计实现。
1. 硬件实现。
根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。
2. 软件实现。
编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。
五、实验结果。
经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。
六、总结与展望。
通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。
在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。
同时,也为学生今后的科研和创新工作奠定了良好的基础。
单片机电子钟实训报告
一、引言随着电子技术的不断发展,单片机在各个领域得到了广泛的应用。
电子钟作为单片机应用的一个重要实例,具有很高的实用价值。
本实训报告主要介绍了单片机电子钟的设计与实现过程,包括硬件电路设计、软件编程以及调试过程。
二、硬件电路设计1. 单片机选择本实训选用AT89C51单片机作为核心控制器,该单片机具有丰富的I/O端口、较强的计算能力和较大的存储空间,能够满足电子钟的设计需求。
2. 时钟芯片本实训采用DS1302时钟芯片作为时间源,该芯片具有年、月、日、周、时、分、秒的精确计时功能,并具备闰年补偿等功能。
3. 液晶显示屏本实训选用1602液晶显示屏用于显示时间、日期等信息。
1602液晶显示屏具有清晰显示多个字符和符号的特点,方便用户查看时间和其他信息。
4. 按键模块本实训设计按键模块用于用户输入和设置。
按键包括时间设置键、日期设置键、闹钟设置键等,方便用户进行各项操作。
5. 电源模块本实训采用DC5V电源模块,为整个电子钟提供稳定的电源供应。
三、软件编程1. 主程序主程序负责初始化单片机、时钟芯片、液晶显示屏等硬件设备,并进入主循环。
主循环中,程序会不断检测按键状态,根据按键输入调整时间、日期和闹钟设置。
2. 时钟控制程序时钟控制程序负责实现时钟的基本功能,包括计时、闰年补偿等。
程序通过定时器中断,每秒更新一次时间。
3. 显示程序显示程序负责将时间、日期等信息显示在液晶显示屏上。
程序使用1602液晶显示屏的指令集,动态显示时、分、秒和日期。
4. 按键扫描程序按键扫描程序负责检测按键状态,并根据按键输入调整时间、日期和闹钟设置。
程序采用轮询方式检测按键状态,以提高按键响应速度。
5. 闹钟程序闹钟程序负责实现闹钟功能,当时间达到设定的闹钟时间时,电子钟会发出蜂鸣声提示用户。
四、调试过程1. 硬件调试首先,对硬件电路进行调试,检查各元器件是否安装正确,连接是否牢固。
然后,使用万用表检测电源电压、单片机各引脚电压是否正常。
51单片机电子时钟设计报告
51单片机电子时钟设计报告一、引言电子时钟是一种常见的电子产品,它通过控制数字显示器的数字显示,来实现时间的显示功能。
本报告将介绍一种基于51单片机的电子时钟设计方案。
二、系统架构本电子时钟系统采用分级结构,分为实时时钟电路、中央处理器、显示器等核心模块。
实时时钟电路模块负责提供系统的时钟信号,中央处理器负责对时间进行处理和控制,显示器用于显示时间。
三、硬件设计1.实时时钟电路实时时钟电路采用DS1302芯片,该芯片集成了时钟实时计数器,能够提供精确的时钟信号。
同时,芯片还内置了电池供电电路,当外部电源中断时,电子时钟可以通过电池继续工作。
2.中央处理器中央处理器使用51单片机,它具有较强的计算和控制能力,可以方便地对时间进行处理和控制。
通过与实时时钟电路的通信,中央处理器可以获取当前时间,并进行各种计算操作。
3.显示器显示器采用数码管,可以直观地显示时间。
通过中央处理器控制,可以实现小时、分钟、秒钟的显示,并且可以进行亮度的调节。
四、软件设计1.时钟管理中央处理器的软件主要负责对时间的管理。
它可以从实时时钟电路中获取当前时间,并根据需要进行时间的累加和更新。
同时,中央处理器还可以通过按键实现时间的手动调节。
2.显示控制中央处理器通过对数码管的控制,实现时间的显示功能。
它可以根据当前时间的变化,动态地更新数码管的显示内容。
同时,还可以通过按键控制,对数码管的亮度进行调节。
五、系统特点1.精确性高:采用DS1302芯片实时时钟电路,能够提供精确的时钟信号,确保时间的准确性。
2.易于操作:中央处理器软件通过按键实现时间的调节,操作简单方便。
3.显示效果好:采用数码管进行显示,显示效果清晰,易于观察时间。
六、应用领域本电子时钟设计适用于各种需要显示时间的场景,如家庭、办公室、学校等。
七、总结本报告介绍了一种基于51单片机的电子时钟设计方案。
通过实时时钟电路提供精确的时钟信号,中央处理器进行时间管理和控制,显示器进行时间的显示。
单片机课程设计实验报告(时钟、日历)..
基于单片机的电子钟设计目录第一章电子时钟设计--—--—----————-—-—-—----—-—-——-——21.1 设计原理简介--————-—----—---——---———-----——-—-—-—21.2 设计功能-——--—-—————-———-—----————---——--——-——---—3第二章主要电路元器件介绍-—-———-———-—------———---32。
1 STC89C52 单片机简介—--—--—-—-—-—-—-—---—-——-———32。
1.1 单片机简介--——--——--——---—-—--————----—————--——-—-32。
1.2 主要特性---——-------—---—-—---————-—--—--———-—-—-—32.1.3 管脚功能说明—---———-———-———-——---—-————-—-—-—-————42.1。
4 LCD1602-—------——---—--—-——--———--——------——-—-—5第三章单元电路的硬件设计—-----————————————————--63.1 硬件原理框图—-———--—--——---—--—-—---------—--———-—-63。
2 单片机 STC89C52 系统的设计-—-—-—-—-————-—————-—----63。
3 时钟电路—————-----———-—---—-——---—--—-—-—-—--————--73.4 复位电路-----——-——--———-————-———-—----———---—--—-—-------—-—--—-——---—-—————-—---——--73。
5 键盘接口电路--—---—-———--—--——--——--——----———---——-83.6 LCD1602显示——---——————--—-—-——--——----—----———-————8第四章设计总原理图—-—-—---——-----—-———-9 第五章心得体会---—-------—————--——-—-——9第六章源程序---—-—-——-—-------———---—-——————-——----10前言:摘要数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便.由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
基于单片机的LCD电子时钟的设计
月 , 日的显示 ;利用 时钟芯片D S 1 3 0 2 来实 现 时钟 是 在人 们 日常 生活 中用 以掌 握一 计时 ,定时功 能;通过三 个按键联 合工作 实 天 时 间 的一 种器 具 , 关乎 人 们 一天 生 产劳 现时 间和 闹钟 的设置工作 ;到达设 置 的闹钟 动 的作 息调 整 。每 家每 户 、每所 学 校 、每 时 间时, 由蜂 鸣器 发声 ,起报警作 用 。系 统
了时 间 ,这将 会 带 来很 大 的 损失 。因 此时 钟是人 们必 不可少 的 。
传 统 的 时 钟 绝 大 多 数 都 是 发 条 驱 动
2 . 设计 原理分析 2 . 1控 制 电路选 择
度 数据 通 过数 码 管 进行 实 时 显示 ,但 数 码 管 的显 示 功 能具 有 局 限性 , 不能 达 到预 期
传 统 的方 案 常 采 用数 字控 制 电路 , 电 效 果 ,此 外 ,数 码 管驱 动 电路繁 琐 ,不 易 式 、 电机 传动 式 或 电钟 式 等机 械 时 钟 ,部 路较 简 单 ,成 本 较低 ,可 实现 电子 时钟 的 控制 。 分 电子 器械 中也 有 使用 时 间 继 电器 的 。相 基本 功 能 ,但 不 能在 原有 基础 上 再 加个 温 而 作 为 一种 输 出方 式 , 液 晶显示 最 大 对 于传 统 的 时钟 ,电子 时 钟 的体 积 小 、重 度 显示 电路 ,而 且会 造 成 电路 的不 稳 定 , 的特 点就 是 能够 实 现友 好 的 人机 界 面 ,它
51单片机电子时钟课程设计报告
第一部分设计任务和要求1.1单片机课程设计内容 (2)1.2单片机课程设计要求 (2)1.3系统运行流程 (2)第二部分设计方案2.1总体设计方案说明 (2)2.2系统方框图 (3)2.3系统流程图 (3)第三部分主要器材及基本简介3.1主要器材 (4)3.2主要器材简介 (4)第四部分系统硬件设计4.1最小系统 (6)4.2LCD显示电路 (6)4.3键盘输入电路 (7)4.4蜂鸣器和LED灯电路 (7)第五部分仿真电路图与仿真结果 (8)第六部分课程设计总结 (8)第七部分参考文献 (9)附录A 实物图附录B 系统源程序第一部分设计任务和要求1.1单片机课程设计内容利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。
1.2单片机课程设计要求1.能实现年、月、日、星期、时、分、秒的显示;2.能实现调时功能;3.能实现12/24小时制切换;4.能实现8 : 00—22 : 00整点报时功能。
1.3系统运行流程程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。
若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。
若没到则循环执行。
计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。
调时闪烁中断服务程序用于被调单元的闪烁显示。
调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。
实现了对时间的设置和修改、LCD显示数值等主要功能。
相关的调整是靠对功能键的判断来实现的。
第二部分设计方案2.1总体设计方案说明1.程序设计及调试根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。
2.硬件焊接及调试根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。
3.后期处理对设计过程进行总结,完成设计报告。
基于单片机的电子时钟的设计与实现
基于单片机的电子时钟的设计与实现电子时钟是一种使用微处理器或单片机作为主控制器的数字时钟。
它不仅能够显示当前时间,还可以具备其他附加功能,如闹钟、日历、温度显示等。
一、设计目标设计一个基于单片机的电子时钟,实现以下功能:1.显示时间:小时、分钟和秒钟的显示,采用7段LED数码管来显示。
2.闹钟功能:设置闹钟时间,到达设定的时间时会发出提示音。
3.日历功能:显示日期、星期和月份。
4.温度显示:通过温度传感器获取当前环境温度,并显示在LED数码管上。
5.键盘输入和控制:通过外部键盘进行时间、日期、闹钟、温度等参数的设置和调整。
二、硬件设计1.单片机选择:选择一款适合的单片机作为主控制器,应具备足够的输入/输出引脚、中断和定时器等功能,如STC89C522.时钟电路:使用晶振为单片机提供稳定的时钟源。
3.7段LED数码管:选择合适的尺寸和颜色的数码管,用于显示小时、分钟和秒钟。
4.温度传感器:选择一款适合的温度传感器,如DS18B20,用于获取环境温度。
5.喇叭:用于发出闹钟提示音。
6.外部键盘:选择一款适合的键盘,用于设置和调整时间、日期、闹钟等参数。
三、软件设计1.初始化:设置单片机定时器、外部中断和其他必要的配置。
2.时间显示:通过定时器中断,更新时间,并将小时、分钟和秒钟分别显示在相应的LED数码管上。
3.闹钟功能:设置闹钟时间,定时器中断检测当前时间是否与闹钟时间一致,若一致则触发警报。
4.日历功能:使用定时器中断,更新日期、星期和月份,并将其显示在LED数码管上。
5.温度显示:通过定时器中断,读取温度传感器的数据,并将温度显示在LED数码管上。
6.键盘输入和控制:通过外部中断,读取键盘输入,并根据输入进行相应的操作,如设置时间、闹钟、日期等。
7.警报控制:根据设置的闹钟时间,触发警报功能,同时根据用户的设置进行控制。
四、测试与调试完成软件设计后,进行系统测试与调试,包括验证显示时间、日期、温度等功能的准确性,以及闹钟和警报功能的触发与控制。
制作一个采用LCD1602显示的电子钟
计算机科学与工程系实验报告实验题目:制作一个采用LCD1602显示的电子钟班级:姓名:学号:日期:一、实验目的掌握单片机使用定时器/计数器控制字符型液晶显示器LCD1602的设计与软件编程二、实验要求在LCD上显示当前的时间。
显示格式为“时时:分分:秒秒”。
设有4个功能键k1~k4,功能如下:(1)k1——进入时间修改。
(2)k2——修改小时,按一下k2,当前小时增1。
(3)k3——修改分钟,按一下k3,当前分钟增1。
(4)k4——确认修改完成,电子钟按修改后的时间运行显示。
三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:1、实现当按下K1之后,使中断T0停止计数2、实现当按下K2之后,使小时加一3、实现当按下K3之后,使分钟加一4、实现当按下K4之后,使中断T0恢复计数源程序:#include<reg51.h>#ifndef LCD_CHAR_1602_2005_4_9#define LCD_CHAR_1602_2005_4_9#define uchar unsigned char#define uint unsigned intsbit lcdrs = P2^0;sbit lcdrw = P2^1;sbit lcden = P2^2;void delay(uint z)//延时函数,此处使用晶振为11.0592MHz {uint x,y;for(x=z;x>0;x--){for(y=110;y>0;y--){;}}}void write_com(uchar com) //写入指令数据到lcd{lcdrw=0;lcdrs=0;P3=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) //写入字符显示数据到lcd{lcdrw=0;lcdrs=1;P3=date;delay(5);lcden=1;delay(5);lcden=0;}void init1602()//1602液晶初始化设定{lcdrw=0;lcden=0;write_com(0x3C);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);}/*void write_string(uchar *pp,uint n)//采用指针的方法输入字符,n为字符数目{int i;for(i=0;i<n;i++)write_data(pp[i]);}*/void write_sfm(uchar add,uchar date)//向指定地址写入数据{uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+add);write_data(0x30+shi);write_data(0x30+ge);}#endif#define uchar unsigned char#define uint unsigned intsbit Key1 = P1^0;sbit Key2 = P1^1;sbit Key3 = P1^2;sbit Key4 = P1^3;uchar int_time;//定义中断次数计数变量uchar second;//秒计数变量uchar minute;//分钟计数变量uchar hour;//小时计数变量uchar code date[]=" H.I.T. CHINA ";//LCD第1行显示的内容uchar code time[]=" TIME 23:59:55 ";//LCD第2行显示的内容uchar second=55,minute=59,hour=23;void clock_init(){uchar i,j;for(i=0;i<16;i++){write_data(date[i]);}write_com(0x80+0x40);for(j=0;j<16;j++){write_data(time[j]);}}void clock_write( uint s, uint m, uint h){write_sfm(0x47,h);write_sfm(0x4a,m);write_sfm(0x4d,s);}void Keyscan1(){if(Key1==0) {delay(10);if(Key1==0) while(!Key1); TR0=0;}if(Key4==0) {delay(10);if(Key4==0) while(!Key4); TR0=1;}if(Key3==0){delay(10);if(Key3==0)while(!Key3);minute++;if(minute==60)minute=0;} if(Key2==0){delay(10);if(Key2==0)while(!Key2);hour++;if(hour==24)hour=0;}}void main(){init1602();//LCD初始化clock_init();//时钟初始化TMOD=0x01;//设置定时器T0为方式1定时EA=1; // 总中断开ET0=1; // 允许T0中断TH0=(65536-46483)/256;//给T0装初值TL0=(65536-46483)%256;TR0=1;int_time=0;//中断次数、秒、分、时单元清0second=55;minute=59;hour=23;while(1){clock_write(second ,minute, hour);Keyscan1();}}void T0_interserve(void) interrupt 1 using 1 //T0中断服务子程序{int_time++;//中断次数加1if(int_time==20) //若中断次数计满20次{int_time=0; //中断次数变量清0second++;//秒计数变量加1}if(second==60)//若计满60s{second=0; //秒计数变量清0minute ++;//分计数变量加1}if(minute==60)//若计满60分{minute=0;//分计数变量清0hour ++;//小时计数变量加1}if(hour==24){hour=0;//小时计数计满24,将小时计数变量清0 }TH0=(65536-46083)/256;//定时器T0重新赋值TL0=(65536-46083)%256;}五、仿真运行效果展示仿真初始状态按下k1键,进入修改模式六、实验小结通过本次实验,我掌握了LCD1602编程的方法,将所学知识运用到实践中,这是一件慢慢的过程,首先要把理论知识理解透彻,然后就是例题看懂,弄懂举一反三。
基于单片机的简易电子时钟设计
基于单片机的简易电子时钟设计引言:电子时钟是人们日常生活中广泛应用的一种设备,基于单片机的电子时钟可以实现精确的时间显示、闹钟设置、定时功能等。
本设计将使用单片机控制电子时钟的各种功能,通过一个LCD显示屏来显示时间和其他信息。
一、设计目标:1.实现准确显示时间功能;2.设计带有闹钟设置的功能;3.实现定时功能。
二、设计原理:该电子时钟工作原理主要是通过单片机将外部的时钟信号进行调整和处理,然后控制液晶显示屏显示时间。
电子时钟的核心是单片机,通过单片机的计时功能实现时钟的准确显示,并通过输入设备设置闹钟功能和定时功能。
三、设计流程:1.系统初始化:首先,将单片机初始化,设置时钟和计时器的相关参数,开启显示屏的显示功能。
2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。
3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。
4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。
四、硬件设计:1.单片机选择:选用一款适合的单片机,如51系列单片机。
2.时钟电路:通过外部晶振或者RTC芯片来提供准确的时钟信号。
3.输入设备:使用按键作为输入设备,用于设置闹钟和定时功能;4.显示屏:选用合适的液晶显示屏,用于显示时间。
五、软件设计:1.系统初始化:设置时钟和计时器的相关参数,开启显示屏的显示功能。
2.时间显示功能:通过计时器中断,定时更新时间,并将时间值传递给液晶显示屏显示出来。
3.闹钟设置功能:通过按键输入设置闹钟时间,将设置好的闹钟时间存储到单片机中。
4.定时功能:通过按键输入设置定时时间,将设置好的定时时间存储到单片机中,当定时时间到达时,触发相应的动作,如报警等。
六、实验结果:本设计可以准确显示时间,并可以设置闹钟和定时功能。
当闹钟和定时时间到达时,会触发相应的动作,实现了基本要求。
基于单片机的LCD1602电子时钟设计
基于单片机的LCD1602电子时钟设计近年来,随着物联网和智能设备的快速发展,电子时钟作为一种常见的智能设备,广泛应用于家庭、办公室等各种场合。
本文将基于单片机设计一款LCD1602电子时钟,实现时间显示、闹钟设置等功能。
一、硬件设计1.单片机选择在本设计中,选择常用的51系列单片机AT89C51,具有丰富的外设资源和强大的处理能力。
该单片机具有8位数据总线、16位地址总线,并且集成了定时/计数器、中断控制器和串行通信接口等外设。
2.显示模块选择3.时钟模块选择通过接入DS1302时钟模块,可以实现实时时钟的功能。
DS1302模块具有时钟计数器、电压检测电路、串行通信接口等,并且具有低功耗特点。
4.控制板设计根据LCD1602的引脚连接方式,设计一个控制板,用于将单片机、显示模块和时钟模块等连接在一起。
同时,需注意设计供电电路、外设输入输出电平等电路。
二、软件设计1.初始化设置通过单片机的GPIO口配置,将LCD1602和DS1302对应的引脚设置为输出模式,同时初始化LCD显示屏并进行清屏操作。
此外,需设置DS1302时钟模块的时钟、日期、闹钟等参数。
2.时间显示通过读取DS1302时钟模块的计数器,获得当前的小时、分钟和秒数,然后将其格式化为HH:MM:SS的形式,并通过LCD显示出来。
3.时间设置通过单片机的外部中断,当用户按下设置按钮后,进入时间设置模式。
在时间设置模式下,用户可以通过按下不同的按键来调整小时、分钟和秒数。
调整完成后,再次按下设置按钮即可保存设置。
4.闹钟设置通过单片机的定时器中断,设定一个闹钟定时器。
当闹钟定时器触发时,触发相应的中断,然后通过LCD显示闹钟提示。
此外,用户也可以通过按下按钮来设置闹钟时间,并通过单片机的外部中断进行处理。
5.闹钟响铃当闹钟时间到达时,触发相应的中断,通过LCD显示闹钟提示,并通过蜂鸣器发出响铃声。
总结通过本设计,可以实现一款功能齐全的LCD1602电子时钟。
基于AT89C51单片机的LCD电子时钟设计说明
课程设计说明书课程名称单片机应用设计设计题目基于单片机的时钟设计专业(工业)自动化学生班级学号完成日期 2012/12/3——2012/12/15工学院电气学院工学院电气学院课程设计任务书第1章电子时钟的工作原理本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,用C语言程序来控制整个时钟的显示,使得编程变得更容易,这样通过五个模块:芯片、显示屏、看门狗、电源、时钟即可满足设计要求。
此设计原理图框图如图1-1所示,此电路包括以下五个部分:单片机、时钟电路、看门狗、液晶屏、电源模块、时钟振荡电路。
图1-1 主电路设计框图本设计采用C语言程序设计,使单片机控制数码管显示年、月、日、时、分、秒,当秒计数满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。
时、分、秒的计数结果经过数据处理可直接送显示器显示。
当计时发生误差的时候可以用校时电路进行校正。
设计采用的是时、分、秒显示,单片机对数据进行处理同时在LCD上显示。
第2章系统硬件电路设计与元件2.1 AT89C51芯片AT89C51 是美国ATMEL 公司生产的8 位Flash ROM 单片机。
其最突出的优点是片ROM 为Flash ROM,可擦写1000 次以上,应用并不复杂的通用ROM 写入器就能方便的擦写,读取也很方便,价格低廉,具有片程序ROM 二级系统。
因此可灵活应用于各种控制领域。
AT89C51 包含以下一些功能部件:(1)一个8 位CPU ;(2)一个片振荡器和时钟电路;(3)4KB Flash ROM ;(4)128B RAM;(5)可寻址64KB 的外ROM 和外RAM 控制电路;(6)两个16 位定时/计数器;(7)21 个特殊功能寄存器;(8)4 个8 位并行I/O 口;(9)一个可编程全双工串行口;(10)5 个中断源,可设置成2 个优先级。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用课程设计任务书题目:电子时钟(LCD 显示)1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:使用字符型LCD显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
用3个功能键操作来设置当前时间。
功能键K1〜K4功能下。
K1—设置小时。
K2—设置分钟。
K3 —设置秒。
程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“ 23:59:00”,然后开始计时。
2、工作原理本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。
3、参考电路硬件设计电路图如下图所示:硬件电路原理图单片机原理及应用课程设计任务书JJ丄1 F-5PBtTMf忆■相P2.-I4A1ZPHE"T3IP:jh*U叮*MtKt-CPu-15£L&REC<TE>n^FQAHDDVO iMhl FI]2^2FQ^D5FDJWSFDjrtD?30i—I XICFhETALrarwrj.in.qjfjglfaPT7WfTD-wmI3W1FJWJ".paw题目:电子时钟(LCD 显示)1、 设计要求以AT89C51单片机为核心的时钟,在LCD 显示器上显示当前的时间: 使用字符型LCD 显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
用3个功能键操作来设置当前时间。
功能键 K1〜K4功能下。
K1—设置小时。
K2—设置分钟。
K3—设置秒。
程序执行后工作指示灯LED 发光,表示程序开始执行,LCD 显示“ 23: 59: 00”, 然后开始计时。
2、 工作原理本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程 序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及 LCD 显示器的初始化。
3、 参考电路硬件设计电路图如下图所示:基于AT89C51单片机的电子时钟设计报告1Lvyl IAO15LaH I口 XI<T»T> >rv.Li misTDJVADD FOJMJ&I FDJFUJZFa.网HvnMACFn.'ADr F :D4B I 钟DUK>HEE* HiSTI HiUIn-J3iKM 2硬件电路原理图一、设计要求与目的1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。
2)、使用字符型LCD显示器显示当前时间。
显示格式为“时时:分分:秒秒”。
3)、用3个功能键操作来设置当前时间。
4)、熟悉掌握proteus编成软件以及keil软件的使用二、本设计原理本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。
该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD 显示器上作出相应的反应。
由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。
该课题中有三个控制开关KM1 KM2 KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。
三、硬件设计原理(电路)FOJMJ&IFDJFUJZFD.^4,Fn.'ADr硬件电路原理图I CM Lvy I U.CH5LiTEHT«TW]a«TE>Ti 片.■舸■* rairTT」UE>HEIUIJIKmII四、软件设计(流程图)时钟主程序流程中断服务流程图5五、仿真结果与结论.仿真结果与结论初始运行显示效果如下用按键调节时分秒从而设置时间:结论:采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。
根据仿真结果可知该编程及硬件电路符合要求。
附录程序设计如下:KM1BIT P1.0KM2BIT P1.1KM3BIT P1.2RSEQU P2.0RWEQU P2.1EEQUP2.2IN_0 EQU P0SECL EQU40H ;秒低位SECH EQU41H ;秒高位MH1EQU 42H ;冒号MINLEQU 43H ;分低位MINHEQU 44H ;分高位MH2EQU45H ;冒号HOURL EQU 46H ;时低位 MAIN: HOURH EQU ORG 0000H AJMP MAIN ORG 000BH AJMP INTT_0 MOV R2,#2047H;时高位LCALL A1START1: LCALL WDATA1LCALL WDATA2 AJMP START1ACALL INIT_LCD;初始化液晶MOV R5,#00HMOV IN_0,#84H ;写入显示起始地址(第ACALL ENABLEMOV TH0,#3CH;50MSMOV TL0,#0B0HMOV TMOD,#01HACALL SJCZSETB EASETB ET0SETB TR0行第五个位置 )・ *******控制键 *******CJNE A,#03H,ST2 MOV HOURH,#00H MOV HOURL,#00HAJMP J1 MOV A,HOURL CJNE A,#09H,ST2 INC HOURHMOV HOURL,#00HAJMP J1 INC HOURL AJMP J1JB KM1,S1 LCALLWDATA1 AJMP J1 调整分钟 *****LCALL DELAYL JB KM2,A1 MOV A,MINH CJNE A,#05H,ST3 MOV A,MINL CJNE A,#09H,ST4 MOV MINH,#00H MOV MINL,#00H AJMP J2 MOV A,MINL CJNE A,#09H,ST4INC MINH MOV MINL,#00H AJMP J2 INC MINL AJMP J2JB KM2,S2A1: LCALL WDATA2JNB KM1,S1 JNB KM2,S2 JNBKM3,S3AJMP A1 调整小时 ***** LCALL DELAYL JB KM1,A1 MOVA,HOURHCJNE A,#02H,ST1 MOV A,HOURL・*****JS1:LCALL WDATA1 ST1:ST2: J1:・***** JS2:ST3:ST4: J2:LCALL WDATA1AJMP J2S3: LCALL DELAYLJB KM3,A1 MOVA,SECH CJNEA,#05H,ST5 MOVA,SECL CJNEA,#09H,ST6 MOVSECH,#00H MOVSECL,#00H AJMPJ3ST5: MOV A,SECL CJNE A,#09H,ST6 INC SECH MOV SECL,#00H AJMP J3ST6: INC SECL AJMP J3J3: JB KM3,S3LCALL WDATA1 AJMP J3 ;**** 设定显示初值***SJCZ: MOV 40H,#0MOV 41H,#0MOV 42H,#10MOV 43H,#9MOV 44H,#5MOV 45H,#10MOV 46H,#3MOV 47H,#2RETINTT_0: PUSH PSWPUSH ACCMOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,TTMOV R2,#20 INC SECLMOV A,SECL CJNE A,#0AH,TT INC SECHMOV SECL,#00H MOV A,SECH ;T0 定时器中断;送定时初值;秒记数,到60S 就清0・ *****调整秒*****23:59:00;显示初值是CJNE A,#06H,TT MOV SECH,#00H INCMINL MOV A,MINL CJNEA,#0AH,TT MOV MINL,#00H INC MINH MOV A,MINH CJNEA,#06H,TT MOV MINH,#00H INC HOURL MOV A,HOURL CJNE A,#04H,TT2 MOVA,HOURH CJNE A,#02H,TT1 MOV HOURL,#00H MOV HOURH,#00H AJMP TT TT2: CJNE A,#0AH,TTMOV HOURL ,#00H INC HOURH AJMP TT TT1: CJNE A,#02H,TTMOV HOURL,#00HMOV HOURH,#00HAJMP TTTT: POP ACCPOP PSWRETI;**** 液晶初始化****INIT_LCD:ACALL DELAYLMOV IN_0,#01H ACALL ENABLE MOV IN_0,#38H ACALL ENABLE MOV IN_0,#0CH ACALL ENABLE MOV IN_0,#06H ACALL ENABLE MOV IN_0,#0C0H ACALL ENABLE RET ;**** 写数据程序**** WDATA1: MOV IN_0,#84H ; 分记数,到60 分请0;时记数,到24 时清0;延时,等待LCD 完成电源的启动;清屏并光标复位;设置显示模式:8 位2 行5x7 点阵;显示器开、光标关、光标不闪烁;文字不动,光标自动右移;写入显示起始地址(第二行第一个位置); 写入显示起始地址(第一行第五个位置)ACALL ENABLEMOV R1,#08HMOV R0,#47H WDATA_1: MOV A,@R0MOV DPTR,#TABLEMOVC A,@A+DPTRMOV IN_0,A SETB RSCLR RW CLR E ACALLCHECKBUSY SETB EDEC R0 DJNZ R1,WDATA_1 MOV R1,#08HRETWDATA2: MOV IN_0,#0C0H ACALLENABLE MOVR1,#10H MOVR0,#00HMOV DPTR,#TAB WDATA_2: MOV A,R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV IN_0,A SETB RS CLR RW CLR E ACALL CHECKBUSY SETB E INC R0 DJNZ R1,WDA TA_2 MOV R1,#08H;写入数据; 忙检测;写入显示起始地址(第二行第一个位置);写入数据;忙检测RET**** 显示符号表****TABLE: DB 30H,31H,32H,33H,34H,35H ;0 1 2 3 4 5DB 36H,37H,38H,39H,3AH,80H,2EH ;6 7 8 9 : 空格TAB: DB " MADE IN CHINA"・******写指令****ENABLE: CLR RS ;写入控制命令的子程序CLR RWCLR EACALL CHECKBUSYSETB ERETCHECKBUSY:MOV IN_0,#0FFH ;判断液晶显示器是否忙的子程序CLR RSSETB RWCLR ENOPSETB EJB P0.7,CHECKBUSY ;如果P0.7 为高电平表示忙就循环等待RETDELAYL: MOV R7,#100 ;延时程序D1: MOV R6,#200DJNZ R6,$DJNZ R7,D1RETEND。