时钟控制器课程设计报告
stm32数字时钟课程设计

stm32 数字时钟课程设计一、课程目标知识目标:1. 学生能理解STM32的基本结构和工作原理,掌握其编程方法。
2. 学生能掌握数字时钟的基本原理,包括时钟源、分频器、计数器等组成部分。
3. 学生能了解实时时钟(RTC)的功能及其在STM32中的应用。
技能目标:1. 学生能运用C语言编写程序,实现STM32控制数字时钟的功能。
2. 学生能通过调试工具,对程序进行调试和优化,确保数字时钟的准确性。
3. 学生能运用所学知识,设计具有实用价值的数字时钟产品。
情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,激发其探究精神。
2. 培养学生团队合作意识,使其在项目实施过程中学会相互沟通、协作。
3. 培养学生严谨、细致、负责的工作态度,提高其解决实际问题的能力。
课程性质:本课程为实践性较强的课程,结合STM32和数字时钟知识,培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的电子技术基础和C语言编程能力,对实际操作感兴趣,但可能缺乏项目实践经验。
教学要求:注重理论与实践相结合,引导学生主动探索,提高其分析问题、解决问题的能力。
在教学过程中,关注学生的个体差异,因材施教,使每位学生都能在原有基础上得到提高。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. STM32基本原理与编程基础:介绍STM32的内部结构、工作原理,C语言编程基础及其在STM32中的应用。
- 教材章节:第一章至第三章- 内容:微控制器基础、STM32硬件结构、C语言编程基础、STM32编程环境搭建。
2. 数字时钟原理与设计:讲解数字时钟的基本原理、组成部分以及设计方法。
- 教材章节:第四章至第五章- 内容:时钟源、分频器、计数器、实时时钟(RTC)、数字时钟设计方法。
3. STM32实现数字时钟功能:结合STM32和数字时钟知识,指导学生动手实践,实现数字时钟功能。
《电子技术》课程设计报告-数字电子钟设计

《电子技术》课程设计报告-数字电子钟设计一、背景介绍数字电子钟是一个实时的计时器,它可以按照设定的时刻精确地表示时间。
它使用微处理器和时钟芯片来处理时间。
因此,它可以被视为一个微处理器系统,系统中含有存储器、计数器、报警功能等。
最新的电子时钟如石英钟使用特制石英晶片来制定时钟。
由于石英可以产生完美的电振动,因此可以更准确地检测时钟改变。
二、数字电子钟的设计原理1、时钟驱动电子时钟的操作需要一定的时间和精度,主要是依靠特殊的驱动器来实现的。
驱动器有石英、硅、力学和光学等多种。
其中石英芯片是电子时钟的核心部件并且最常用。
可以让电子时钟每秒产生32千分之一秒的精度。
2、晶振电路晶体振荡器电路是将电能转换成振荡信号和时钟信号的基础电路。
在电子时钟中,晶振电路可以将3.3V的DC电源转换成正弦波信号。
3、控制电路控制电路是接收电子时钟信号,并将其转换为可读取的数字信号的电路。
它通过检测当前的时钟值与它预设的标准值,来决定是否需要重新设定。
4、显示电路为了使时间显示准确,显示电路需要有一定的能力,它可以将控制电路经过变换后的数字转化为可视的数字或符号信号,比如LED。
我们首先使用PIC16F628A微控制器来控制数字电子钟,PIC16F628A是一款常用的单片机,在实现数字电子钟的最基本功能时天然的具有很多优势,即具有丰富的I/O口及高性能的CPU。
而在驱动这个数字电子时钟时,我们选择了普通的石英晶振,其工作电压为3.3V,频率为32.768kHz。
它的作用是将电源电压转换成正弦波信号,然后此信号可以被PIC单片机读取,从而实现全电子时钟功能。
在处理每秒钟走过的时间时,我们使用计数器根据晶振输入的时钟信号逐渐计数,而当计数器计数到一定值时,PIC单片机就知道一秒的时间已经过去,然后继续进行计算.最后,我们选用一个4位共阳极数码管来将这些数据转化为显示数字的动作,它从数据地址上读取数据,然后一次送到一位,就可以实时显示电子时钟的实时时间。
单片机电子时钟课程设计设计报告

单片机电子时钟设计一、作品功能介绍该作品是个性化电子钟设计,技术上主要用单片机(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. 设计任务与要求 (2)2. 设计报告内容2.1实验名称 (2)2.2实验仪器及主要器件 (2)2.3实验基本原理 (3)2.4数字闹钟单元电路设计、参数计算和器件选择…………………………3-72.5数字闹钟电路图 (8)2.6数字闹钟的调试方法与过程 (8)2.7设计与调试过程的问题解决方案 (8)3.实验心得体会……………………………………………………………………9、101. 设计任务与要求数字闹钟的具体设计任务及要求如下:(1) 有“时”、“分”十进制显示, “秒”使用发光二极管闪烁表示。
(2) 以24小时为一个计时周期。
(3) 走时过程中能按预设的定时时间(精确到小时)启动闹钟, 以发光二极管闪烁表示, 启闹时间为3s~10s。
2. 设计报告内容2.1实验名称数字闹钟2.2实验仪器及主要器件(1)CD4511( 4片)、数码管(4片)(2)74LS00(6片)(3)74LS138(2片)(4)74LS163(6片)(5)LM555(1片)(6)电阻、电容、导线等(若干)(7)面包板(2片)、示波器等2.3数字闹钟基本原理要想构成数字闹钟, 首先应选择一个标准时间源——即秒信号发生器。
可以采用LM555构成多谐振荡器, 通过改变电阻来实现频率的变化, 使之产生1HZ的信号。
计时的规律是: 60秒=1分, 60分=1小时, 24小时=1天, 就需要对计数器分别设计为60进制和24进制的, 并发出驱动信号。
各计数器输出信号经译码器到数字显示器, 按“时”、“分”顺序将数字显示出来, 秒信号可以通过数码管边角的点来显示。
数字闹钟要求有定时响闹的功能, 故需要提供设定闹时电路和对比起闹电路。
设时电路应共享译码器到数字显示器, 以便使用者设定时间, 并可减少电路的芯片数量;而对比起闹电路提供声源, 应具有人工止闹功能, 止闹后不再重新操作, 将不再发生起闹等功能。
数字电子钟的逻辑框图如图所示。
EDA课程设计报告--24小时时钟

课程设计报告课程名称EDA课题名称24小时时钟专业自动化年级09级学号姓名1)课题的主要功能设计一个24小时的时钟,要有时分秒,分别用六位数码管显示,用两个拨码开关分别当做RST,EN用来控制时钟的复位和使能。
2)功能模块的划分图1 时钟功能模块图该智能时钟分为六个模块,分别为:计数器分频模块、三进制加法计数器模块、六进制加法计数器模块、十进制加法计数器模块、数码管动态显示模块、分频器模块。
3)主要功能的实现3.1、计数器分频功能计数器分频COUNTER如图2模块所示,计数器分频到0-22次,最后分出来的OUT[22]时间是0.8秒,近似于1秒。
3.2、三进制加法计数器功能三进制加法计数器模块DSQSAN如图4模块所示,CLK为计数时钟,RST 为1时,数码管上显示00,RST为0时EN为1时计数开始,每3个数,COUT 输出一个1。
3.3、六进制加法计数器功能六进制加法计数器模块DSQLIU如图3模块所示,CLK为计数时钟,RST 为1时,数码管上显示00,RST为0时EN为1时计数开始,每6个数,COUT输出一个1。
3.4、十进制加法计数器功能十进制加法计数器模块DSQSHI如图5模块所示,CLK为计数时钟,RST 为1时,数码管上显示00,RST为0时EN为1时计数开始,每10个数,COUT 输出一个1。
3.5、数码管动态显示功能数码管动态显示模块SMGM如图6模块所示,每一个数码管都有一个对应的CLK10到CLK5,CLK为数码管的扫描周期接COUT[10],SG接数码管的段码,BT接数码管的位码。
3.6、分频功能分频器模块FPQ如图7模块所示,对机器中自带的时钟频率进行分频由50MHZ分到10MHZ。
图2 COUNTER模块图3 DSQLIU模块图4 DSQSAN模块图5 DSQSHI模块图6 SMGM模块图7 FPQ模块4)各模块连接在一起最终图形解释:用COUT[22]当第一个十进制的CLK用这个十进制加法计数器当做秒钟的个位,然后用第一个十进制计数器的COUT当做第一个六进制加法计数器的CLK,用这个六进制加法计数器当做秒钟的十位,以此类推,上一个计数器的COUT接下一个计数器的CLK,用一个十进制加法计数器当做分钟的个位,一个六进制加法计数器当做分钟的十位,一个十进制加法计数器当做小时的个位,一个三进制加法计数器当做小时的十位,所有的计数器的RST和EN接在一起,实现同时复位和使能。
51单片机电子时钟课程设计报告实验报告

《单片机原理与应用》课程设计总结报告题目:单片机电子时钟(带秒表)的设计设计人员:张保江江润洲学号:********** **********班级:自动化1211指导老师:***目录1.题目与主要功能要求 (2)2.整体设计框图及整机概述 (3)3.各硬件单元电路的设计、参数分析及原理说明 (3)4.软件流程图和流程说明 (4)5.总结设计及调试的体会 (10)附录1.图一:系统电路原理图 (11)2.图二:系统电路PCB (12)3.表一:元器件清单 (13)4.时钟程序源码 (14)题目:单片机电子时钟的设计与实现课程设计的目的和意义课程设计的目的与意义在于让我们将理论与实践相结合。
培养我们综合运用电子课程中的理论知识解决实际性问题的能力。
让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。
课程设计的基本任务利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。
主要功能要求最基本要求1)使用MCS-51单片机设计一个时钟。
要求具有6位LED显示、3个按键输入。
2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。
3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。
开始计时时为000000,到235959后又变成000000。
4)使用3个键分别作为小时、分、秒的调校键。
每按一次键,对应的显示值便加1。
分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。
在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。
5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。
单片机电子时钟课程设计实验报告(1)

单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
多功能数字时钟课程设计

多功能数字时钟课程设计一、课程目标知识目标:1. 让学生掌握多功能数字时钟的基本知识,包括时分秒显示、闹钟设定、计时器等功能;2. 使学生了解数字时钟的工作原理,如晶振振荡、计数器等基本组成部分;3. 引导学生了解数字时钟在生活中的应用,提高对时间管理的认识。
技能目标:1. 培养学生动手操作、团队协作的能力,通过组装多功能数字时钟,提高实践操作技能;2. 培养学生运用已学知识分析问题、解决问题的能力,如调试数字时钟程序;3. 培养学生运用信息技术手段,如编程软件、仿真工具等,进行项目实践。
情感态度价值观目标:1. 培养学生对数字时钟的兴趣,激发学习电子技术的热情;2. 培养学生珍惜时间、合理规划生活的意识,增强时间观念;3. 培养学生勇于尝试、不断创新的精神,提高自信心。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程属于信息技术与电子技术的跨学科综合实践活动,注重理论与实践相结合;2. 学生特点:六年级学生对新鲜事物充满好奇,动手能力强,具备一定的信息技术素养,但需加强团队协作和问题解决能力的培养;3. 教学要求:结合学生特点,设计具有趣味性、实践性和挑战性的教学活动,注重引导学生主动探究、合作交流,提高综合素养。
1. 知识方面:掌握多功能数字时钟的基本知识和工作原理;2. 技能方面:具备组装、调试多功能数字时钟的能力;3. 情感态度价值观方面:增强时间观念,培养创新精神和团队协作意识。
二、教学内容1. 数字时钟基础知识:- 时分秒显示原理- 数字时钟的基本结构及功能- 晶振振荡器的原理与应用2. 数字时钟组装与调试:- 介绍所需材料、工具及使用方法- 按照步骤组装多功能数字时钟- 调试数字时钟程序,确保正常运行3. 数字时钟项目实践:- 设计并实现闹钟功能- 设计并实现计时器功能- 优化数字时钟功能,提高用户体验4. 教学内容的安排与进度:- 第一课时:数字时钟基础知识学习- 第二课时:数字时钟组装与调试- 第三课时:闹钟功能设计与实现- 第四课时:计时器功能设计与实现- 第五课时:项目优化与总结5. 教材章节及内容列举:- 第四章 电子技术应用:数字时钟的原理与制作- 4.1 数字时钟基础知识- 4.2 数字时钟的组装与调试- 4.3 数字时钟功能拓展6. 教学内容科学性与系统性:- 确保所选教学内容符合学生认知水平,注重知识点的衔接;- 教学内容注重实践操作,培养学生动手能力和创新能力;- 教学内容具有系统性,从基础知识到项目实践,逐步提高学生综合素养。
单片机电子时钟课程设计报告

单片机电子时钟课程设计报告一、设计目的。
本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。
通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。
二、设计原理。
本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。
利用数码管来显示小时和分钟,通过按键来调整时间。
同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。
三、设计方案。
1. 硬件设计。
(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。
(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。
(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。
(4)按键输入,设计按键来调整时间,包括调整小时和分钟。
(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。
2. 软件设计。
(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。
(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。
(3)按键处理,设计按键扫描程序,实现对时间的调整。
(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。
四、设计实现。
1. 硬件实现。
根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。
2. 软件实现。
编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。
五、实验结果。
经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。
六、总结与展望。
通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。
在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。
同时,也为学生今后的科研和创新工作奠定了良好的基础。
单片机数字时钟课程设计报告

第1章绪论1. 设计要求(1)系统可以按“秒”进行计时.(2)数字时钟可以显示小时(00-23)、分钟(00-59)和秒(00-59).(3)可通过按键K1来选择设置“小时”、“分钟”和“秒”.设置时可通过“加”和“减”按键(K2、K3)来调整时间;设置过程中时钟停止计时.(4)无键按下三秒后,自动进入时钟的计时程序.2. 设计方案采用AT89C51芯片作为硬件核心,其内部采用Flash ROM,具有4KB ROM 存储空间,能于3V的超低压工作,本系统的计时方案是利用单片机内部的定时/计数器进行中断定时,配合软件延时实现对时、分、秒的计时.整个系统的控制方案是:上电后系统自动进入时间显示,从00:00:00 开始计时.按下P1.0键,进入调秒状态,时钟停止计时;按P1.1或P1.2键可进行加1或减1操作;继续按P1.0键可分别进行分位、时调整;无键按下3秒钟后退出调整状态,自动进入时钟的计时和显示.整个系统的硬件原理框图如图1.1,它采用的是AT89C51单片机,只用了P1口.为了简化硬件电路,LED显示采用了动态扫描的方式实现,LED采用共阳极数码管,驱动电流由三极管9012提供.为了提高计数精度,所采用的晶振频率为12MHz.第2章硬件设计1单片机的选择本课程选用AT89C51型号的单片机. AT89C51 是美国ATMEL 公司生产的低电压,高性能CMOS8 位单片机,片内含4k bytes 的可反复擦写的只读程序存储器(PEROM)和128 bytes 的随机存取数据存储器(RAM ),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统,片内置通用8 位央处理器(CPU)和Flash 存储单元,功能强大AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域.主要性能参数:·与MCS-51 产指令系统完全兼容·4k 字节可重擦写Flash 闪速存储器·1000 次擦写周期·全静态操作:0Hz-24MHz·三级加密程序存储器·128×8 字节内部RAM·32 个可编程I /O 口线·2 个16 位定时/计数器2. 显示方案由于系统要显示的内容较简单,显示量不多,所以选用数码管既方便又经济.LED有共阴极和共阳极两种.如图2.2所示.二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压.一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管.当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗.为了保护各段LED不被损坏,需外加限流电阻.图2.2 LED数码管结构原理图众所周知,LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动.本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性.所谓软件译码,即由单片机软件完成从数字到显示码的转换.从LED数码管结构原理可知,为了显示字符,要为LED显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED数码管的显示段码为1个字节.各段码位与显示段的对应关系如表2.2.表2.2 各段码位的对应关系需说明的是当用数据口连接LED数码管a~dp引脚时,不同的连接方法,各段码位与显示段有不同的对应关系.通常数据口的D0位与a段连接,D1位与b段连接, (7)与dp段连接,如表1所示,表2.3为用于LED数码管显示的十六进制数和空白字符与P的显示段码.根据AT89C2051单片机灌电流能力强,拉电流能力弱的特点,我们选用共阳数码管.将AT89C2051的P1.0~P1.7分别与共阳数码管的a~g及dp相连,高电平的位对应的LED 数码管的段暗,低电平的位对应的LED数码管的段亮,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符.例如:当P0口输出的段码为1100 0000,数码管显示的字符为0.表2.3 LED显示段码注:(1)本表所列各字符的显示段码均为小数点不亮的情况.(2)“空白”字符即没有任何显示.数码管显示器有二种工作方式,即静态显示方式和动态扫描显示方式.为节省端口及降低功耗,本系统采用动态扫描显示方式.动态扫描显示方式需解决多位LED数码管的“段控”和“位控”问题,本电路的“段控”(即要显示的段码的控制)通过P0口实现;而每一位的公共端,即LED数码管的“位控”,则由P3口控制.这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码.在这一瞬时,只有这一位在显示,其他几位则暗.在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开关”状态.第3章软件设计1. 主程序主程序功能主要是初始化、正常现实时间和判断功能转换键.流程图如图3.1所示.图3.1 主程序流程图2. 定时器T0中断服务程序定时器T0用于时间计时.定时溢出中断周期可设为50ms,中断进入后,时钟计时累计20次(即1s)时,对秒计数单元进行加1操作.时钟计数单元在定义的6个单元70H~75H 中,70H~71H 存放秒数据,72H~73H存放分数据,74H~75H存放时数据.最大计时值为23小时59分59秒.在计数单元中采用十进制BCD码计数,秒、分、时之间满60进位.3.显示子程序数码管显示的数据放在内存单元70H~75H中,其中70H~71H存放秒数据,72H~73H]存放分数据,74H~75H存放时数据,每一单元内均为十进制BCD码.由于采用软件动态扫描实现数据显示功能,显示用的十进制BCD码数据的对应段码存放在ROM表中,显示时,先取出70H~75H中的某一地址中的数据,然后查表得对应的显示段码从P0口输出,P2口将对应的数码管位选中供电,就能显示该地址单元的数据值.4.定时器T1中断服务程序进行时间调整是,正在被调整的时间以闪烁的形式表现,定时器T1用于产生闪烁的时间间隔,每隔0.3s闪烁一次.5.调时功能程序通过按键K1来选择设置“小时”、“分钟”和“秒”.通过“加”和“减”按键(K2、K3)来调整时间图3.5时间设置流程图6.延时程序因为系统是动态显示,为了确保系统在有效显示时间范围内必须执行显示程序,所以使用延时程序.7. 结论这次课程设计项目虽然是最简单的数字时钟设计,但用的技术和知识是源于课本又远远高于课本的,比如说AT89C51基本操作知识,汇编语言方面的知识等.我负责的是软件设计的时间设置以及T1中断部分,运用到了按键部分以及定时器/计数器部分的知识.通过这次自己编写程序,使我摆脱了以往单纯的理论知识学习状态,并且在和实际设计的结合锻炼了我的综合运用所学的专业基础知识.不过在这次课设中我也遇到了不少问题,实际操作时才发现课堂知识和实际运用还是有差距的,不过最终还是在老师或同学的帮助下一个一个解决了.通过这次对课程设计,我也认识到自己对单片机应用方面的知识的贫乏,对于书本上的很多理论知识还不能灵活运用,有很多我们掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识.同时还从中学到了一件很重要的东西,那就是如何从理论到实践的转化.此次的课程设计给我奠定了一个实践基础,我会在以后的学习,生活中磨练自己,使自己掌握更多的技术能力.8.参考文献[1]杨忠义.单片机课程设计指导.北京:清华大学出版社,2009.201~217[2]靳达.单片机应用系统开发实例导航.北京:人民邮电出版社,2004.1~37[3]南建辉.MCS-51单片机原理及应用实例.北京:清华大学出版社,2004.92~117[4]刘海成.单片机及应用系统设计原理与实践.北京:北京航天航空大学出版社,2009.129~180附录ORG 0000HAJMP MAINT ;转主程序NOPORG 000BHAJMP INT01 ;转定时器T0中断程序NOPORG 001BHAJMP INT11 ;转定时器T1中断程序NOPMAINT:MOV R0,#7FH ;00H~7FH单元清零CLR AWZ1:MOV @R0,ADJNZ R0,WZ1MOV SP,#30H ;置堆栈指针MOV 5AH,#0AH ;放入“熄灭符”数据MOV TMOD,#11H ;设T0,T1为16位定时器MOV TL0,#0B0H ;置50 ms定时初值MOV TH0,#3CHMOV TL1,#0B0HMOV TH1,#3CHSETB EA ;开中断SETB ET0 ;允许T0中断SETB TR0 ;启动T0MOV R4,#14H ;用于产生1 s定时MAINT1: LCALL XSZCX ;调用显示子程序JNB P1.0,SJTZ0 ;功能键按下,进入调时程序SJMP MAINT******T0中断服务程序******INT01:PUSH ACC ;保护现场PUSH PSWCLR ET0 ;关T0中断CLR TR0 ;关定时器T0MOV A,#0B7H ;修正中断响应时间ADD A,TL0MOV TL0,AMOV A,#3CHADDC A,TH0SETB TR0 ;启动定时器T0DJNZ R4,INT0U ;20次中断未到退出中断AD1:MOV R4,#14H ;R4重新赋值MOV R0,#51H ;指向秒计时单元(50H,51H)LCALL ADD1 ;调用加1 s程序MOV A,R3 ;秒数据放入ACLR C ;清进位标志CJNE A,#60H,AD2 ;小于60 s吗AD2:JC INT0U ;小于60 s退出中断CLR A ;大于或等于60 s,清秒计数单元MOV @R0,ADEC R0MOV @R0,AMOV R0,#57H ;指向分计时单元(56H,57H)ACALL ADD1 ;调用加1 min程序MOV A,R3 ;分数据放入ACLR CCJNE A,#60H,AD3 ;小于60 min吗AD3:JC INT0U ;小于60 min退出中断CLR A ;大于或等于60 min,清分计数单元MOV @R0,ADEC R0MOV @R0,AMOV R0,#59H ;指向小时计时单元(58H,59H)ACALL ADD1 ;调用加1 h程序MOV A,R3 ;小时数据放入ACLR CCJNE A,#24H,AD4 ;小于24 h吗AD4:JC INT0U ;小于24 h退出中断CLR A ;大于或等于24 h清小时计数单元MOV @R0,ADEC R0MOV @R0,AINT0U: MOV 52H,56H ;中断退出时将分、时计时单元数MOV 53H,57H ;据移入对应显示单元MOV 54H,58HMOV 55H,59HPOP PSW ;恢复现场POP ACCSETB ET0 ;开放T0中断RETI ;中断返回******显示子程序******XSZCX:MOV R1,#50H ;显示数据首址MOV R5,#0FEH ;扫描控制字初值MAXY:MOV A,R5 ;扫描控制字送AMOV P2,A ;输出扫描控制字MOV A,@R1 ;取显示数据MOV DPTR,#ABC ;取段码表首地址MOVC A,@A+DPTR ;取对应段码MOV P1,A ;P1口输出段码LCALL YS1MS ;延时1 msINC R1 ;显示地址增1MOV A,R5 ;扫描控制字送AJNB ACC.5,ENDOUT ;ACC.5为0时一次显示结束RL A ;控制字左移MOV R5,A ;制字送回R5中AJMP MAXY ;循环显示下一个数据ENDOUT: MOV P2,#0FFH ;一次显示结束,P2口复位MOV P1,#0FFH ;P1口复位RET ;子程序返回****** T1中断服务程序******INT11:PUSH ACC ;中断保护现场PUSH PSWMOV TL1,#0B0H ;装定时器T1初值MOV TH1,#3CHDJNZ R2,INT1U ;0.3 s未到退出中断MOV R2,#06H ;重装0.3 s定时用初值CPL 02H ;0.3 s定时到,对闪烁标志取反JB 02H,CCC1 ;02H位为1时显示单元“熄灭”MOV 52H,56H ;02H位为0时显示正常MOV 53H,57HMOV 54H,58HMOV 55H,59HINT1U:POP PSW ;恢复现场POP ACCRETI ;退出中断INT0U:POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器RETI ;中断返回******时钟时间调整程序******SET0:LCALL XSZCX ;通过调用显示时间程序延时消抖动JNB P1.0,SJTZ1SJMP MAINT1 ;功能键没有按下,显示时间SET1: CLR ET0 ;关闭定时器T0中断CLR TR0 ;关闭定时器T0MOV R2,#06H ;进入调时状态,置闪烁定时初值SETB ET1 ;允许T1中断SETB TR1 ;启动T1SET2:JNB P1.0,SET1 ;P1.0端为0(键未释放),等待CLR 01H ;置调分标志位为1SET4:JB P1.0,SET3 ;等待键按下JNB P1.0,HOUR ;有键按下,进入调小时状态JB P1.0,SET10 ;等待键按下JNB P1.0,MINUTE ;有键按下,进入调分状态JB P1.0,SET12 ;等待键按下JNB P1.0,SECOND ;有键按下,进入调秒状态MOV A,R3 ;取要调整的单元数据CLR CKMTES: SETB ET0 ;省电状态,开T0中断SETB TR0 ;启动T0(开时钟)KMA: JB P1.0,$ ;无按键按下,等待LCALL XSZCX ;通过调用显示时间程序延时消抖动JB P1.1,KMA ;是干扰返回等待KMA1: JNB P1.0,$ ;等待键释放LJMP MAINT1 ;返回主程序,显示时间HOUR: JNB P1.0,SET5 ;等待键释放SETB 01H ;置调小时标志位SET6: JB P1.0,SET9 ;等待键按下LCALL TM3s ;有键按下延时3秒LCALL XSZCX ;消抖JNB P1.0,STOP ;按下时间大于3秒,退出调整状态MOV R0,#70H ;小于3秒,调整小时JB P1.1,SET3 ;等待键按下JNB P1.1,ADD1 ;P1.1按下,调时间加1子程序JB P1.2,SET3 ;等待键按下JNB P1.2,SUB-H ;P1.2按下,调小时减1子程序MOV A,R3CLR CCJNE A,#24H,BJ24 ;计时单元与24比较BJ24: JC SET6,;小于24转SET6循环CLR A ;大于或等于24,则清零MOV @R0,ADEC R0MOV @R0,AAJMP SET6 ;转SET6循环MINUTE: JNB P1.0,SET10 ;等待键释放SETB 01H ;置调分钟标志位SET7: JB P1.0,SET11 ;等待键按下LCALL TM3s ;有键按下延时3秒LCALL XSZCX ;消抖JNB P1.0,STOP ;按下时间大于3秒,退出调整状态MOV R0,#70H ;小于3秒,调整分钟JB P1.1,SET11 ;等待键按下JNB P1.1,ADD1 ;P1.1按下,调时间加1子程序JB P1.2,SET11 ;等待键按下JNB P1.2,SUB-M ;P1.2按下,调分减1子程序MOV A,R3CLR CCJNE A,#60H,BJ601 ;计时单元与60比较BJ601: JC SET7,;小于24转SET7循环CLR A ;大于或等于24,则清零MOV @R0,ADEC R0MOV @R0,AAJMP SET7 ;转SET7循环SECOND: JNB P1.0,SET12 ;等待键释放SETB 01H ;置调秒钟标志位SET8: JB P1.0,SET13 ;等待键按下LCALL TM3s ;有键按下延时3秒LCALL XSZCX ;消抖JNB P1.0,STOP ;按下时间大于3秒,退出调整状态MOV R0,#70H ;小于3秒,调整分钟JB P1.1,SET13 ;等待键按下JNB P1.1,ADD1 ;P1.1按下,调时间加1子程序JB P1.2,SET13 ;等待键按下JNB P1.2,SUB-S ;P1.2按下,调时间减1子程序MOV A,R3CLR CCJNE A,#60H,BJ602 ;计时单元与60比较BJ602: JC SET8,;小于24转SET8循环CLR A ;大于或等于24,则清零MOV @R0,ADEC R0MOV @R0,AAJMP SET8 ;转SET8循环OUT: JNB P1.0,SETOUT1 ;退出调时状态,等待键释放LCALL XSZCX ;通过调用显示程序延时消抖动JNB P1.0,SETOUT ;是抖动,返回SETOUT等待MOV 20H,#00H ;清调时标志位CLR TR1 ;关闭T1CLR ET1 ;关T1中断SETB TR0 ;启动T0SETB ET0 ;开T0中断LJMP MAINT1 ;返回主程序SET1: LCALL XSZCX ;键释放等待时,调用显示子程序AJMP SET2 ;防止此时无时钟显示SET3:LCALL XSZCX ;等待调小时按键时时钟显示用AJMP SET4 ;调时等待SET5:LCALL XSZCX ;键释放等待时调用显示程序(调小时)AJMP SETHH ;防止键按下时无时钟显示SET9:LCALL XSZCXAJMP SET6SET10:LCALL XSZCX ;键释放等待时调用显示程序(调分钟)AJMP SETHH ;防止键按下时无时钟显示SET11:LCALL XSZCXAJMP SET7SET12:LCALL XSZCX ;键释放等待时调用显示程序(调秒钟)AJMP SETHH ;防止键按下时无时钟显示SET13:LCALL XSZCXAJMP SET8SETOUT1:LCALL XSZCXAJMP OUT****** 加1子程序******ADD1:MOV A,@R0 ;取出现计时数据放入ADEC R0 ;指向前一单元SWAP A ;A中高4位与低4位互换ORL A,@R0 ;前一单元中数据放入A中低4位ADD A,#01H ;A加1DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中高4位与低4位互换ANL A,#0FH ;高4位变0MOV @R0,A ;数据存入当前地址单元RET ;子程序返回****** 时减1子程序******SUB-H:MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高4位与低4位交换ORL A,@R0 ;前一地址中数据放入A中低4位JZ SUB-H1 ;00减1为23(小时)DEC A ;A减1操作SUB-H11:MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0CLR C ;清进位标志SUBB A,#0FH;;时个位是否大于9SUB-H111:JC SUB-H110MOV @R0,#09H ;大于等于0AH,为9SUB-H10:MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高4位与低4位交换ANL A,#0FH ;高4位变0MOV @R0,A ;时十位数据放入RET ;子程序返回SUB-H1:MOV A,#23HAJMP SUB-H11SUB-H110:MOV A,R3 ;时个位小于0A不处理ANL A,#0FH ;高4位变0MOV @R0,A ;时个位数据放入AJMP SUB-H10******分减1子程序******SUB-M:MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高4位与低4位交换ORL A,@R0 ;前一地址中数据放入A中低4位JZ SUB-M1DEC A ;A减1操作SUB-M11:MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0CLR C ;清进位标志SUBB A,#0AH;SUB-M111:JC SUB-M110MOV @R0,#09H ;大于等于0AH,为9SUB-M10:MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高4位与低4位交换ANL A,#0FH ;高4位变0MOV @R0,A ;数据放入当前地址单元中RET ;子程序返回SUB-M1:MOV A,#59HSUB-M110:MOV A,R3 ;移入R3寄存器ANL A,#0FH ;高4位变0MOV @R0,AAJMP SUB-M10****** 秒减1子程序******SUB-S:MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高4位与低4位交换ORL A,@R0 ;前一地址中数据放入A中低4位JZ SUB-S1DEC A ;A减1操作SUB-S11:MOV R3,A ;移入R3寄存器ANL A,#0FH ;高4位变0CLR C ;清进位标志SUBB A,#0BH;SUB-S111:JC SUB-S110MOV @R0,#09H ;大于等于0AH,为9SUB-S10:MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高4位与低4位交换ANL A,#0FH ;高4位变0MOV @R0,A ;数据放入当前地址单元中RET ;子程序返回SUB-S1:MOV A,#14HAJMP SUB-S11SUB-S110:MOV A,R3 ;移入R3寄存器ANL A,#0FH ;高4位变0MOV @R0,A******延时子程序******TM1ms:MOV R6,#14H ;延时1 ms子程序TM1:MOV R7,#19HTM2:DJNZ R7,YS2DJNZ R6,YS1RETTM3s:LCALL TM05s ;延时3s子程序LCALL TM05sLCALL TM05sLCALL TM05sLCALL TM05sLCALL TM05sRETTM05s:MOV R3,#51H ;延时0.5 s子程序YS05s1:LCALL XSZCXDJNZ R3,YS05s1RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH END西安建筑科技大学课程设计(论文)目录第1章绪论 (1)1. 设计要求 (1)2. 设计方案 (1)第2章硬件设计 (2)1 单片机的选择 (2)2. 显示方案 (2)第3章软件设计 (5)1. 主程序 (5)2. 定时器T0中断服务程序 (5)3. 显示子程序 (5)4. 定时器T1中断服务程序 (6)5. 调时功能程序 (6)6. 延时程序 (7)7. 结论 (7)8.参考文献 (8)附录 (9)。
plc电子钟课程设计

plc电子钟课程设计一、课程目标知识目标:1. 学生能理解PLC(可编程逻辑控制器)的基本原理,掌握其应用于电子时钟设计的要点;2. 学生能描述电子时钟的主要组成部分,以及各部分之间的逻辑关系;3. 学生能运用PLC编程软件进行基本的逻辑编程,实现电子时钟的功能。
技能目标:1. 学生能运用所学知识,独立完成PLC电子钟的电路设计和程序编写;2. 学生通过小组合作,培养团队协作能力和问题解决能力;3. 学生能够运用实验工具和仪器进行电子电路的搭建和调试。
情感态度价值观目标:1. 学生培养对电子技术和自动化控制的兴趣,激发创新意识;2. 学生在学习过程中,培养耐心、细心的品质,树立正确的科学态度;3. 学生通过课程学习,认识到科技对社会发展的作用,增强社会责任感。
课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,培养学生动手能力和创新能力。
学生特点:学生具备一定的电子基础知识,对PLC技术有一定了解,具有较强的学习兴趣和动手能力。
教学要求:结合学生特点,注重理论与实践相结合,强调学生主体地位,引导学生主动探索、积极思考,培养实践操作能力。
将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. PLC基本原理:介绍PLC的工作原理、结构组成及其在工业控制中的应用。
- 教材章节:第三章“可编程逻辑控制器基础”2. 电子时钟原理:讲解电子时钟的组成、工作原理,分析时钟显示、计时功能的实现。
- 教材章节:第五章“数字电路设计与应用”3. PLC编程软件操作:学习PLC编程软件的使用,掌握基本的编程方法和技巧。
- 教材章节:第七章“PLC编程与应用”4. 电路设计与搭建:指导学生进行电子时钟电路设计,包括元器件选型、电路连接等。
- 教材章节:第四章“电子电路设计与实践”5. 程序编写与调试:教授学生编写PLC程序,实现电子时钟功能,并进行电路调试。
- 教材章节:第七章“PLC编程与应用”6. 小组合作与成果展示:组织学生分组进行项目实践,培养团队协作能力和沟通能力。
时、分、秒计时器的设计报告

时、分、秒计时器的设计一、实验目的掌握数码管动态显示的基本方法;掌握键盘按键控制的实现方法;根据已知电路和设计要求在实验板上实现时、分、秒计时器。
二、实验内容1、在STC89C52实验平台上实现时、分、秒时钟,4位数码管上显示分、秒或者时、分。
2、应用键盘控制时间的显示。
键盘按键控制“切换时分、分秒显示”、“启动停止”、“加秒显示内容”、“加分显示内容”、“加时显示内容”。
3、根据已知电路和设计要求在PROTEUS平台仿真实现时钟系统。
三、实验原理流程图如下所示:11、主程序流程图2、定时器/计数器T0中断服务程序流程图5 仿真分析在Proteus ISIS的80C51中载入程序生成的HEX文件,按开始符号运行,在数码管上观察程序运行结果,系统仿真结果如图5.1所示。
设计功能如下:(1)、初始状态:未按键之前,上电,数码显示00-00-00。
程序运行后,从秒针开始自动运行。
当秒数到59后,下一秒自动变为00,分针变为01,以此类推。
(2)、调整状态:仿真运行过程中,按p0键,系统暂停,此时,继续按p0无效。
第三次按p0,又开始,如此循环。
(3)、设置状态:按下p0暂停后,按p1,则时针加一,按下p2,则时针减一;按两下p0,在按下p1,则分针加一,按下p2,则分针减一。
时间显示格式为:时分秒;误差分析:实际程序到实验板中的电子钟显示存在一定的误差,误差来源可能为三个方面:第一,在程序运行过程中,时钟周期的不精确导致机器周期与理论值存在一定的差别;第二在中断一秒显示过程中,一些指令需要消耗一定的机器周期,使得一秒延时比实际要长;第三在键抖动的反应程度在运行中比较慢。
25.1实例仿真总结通过这次的课程设计我认识到我对单片机的知识学的太少了,对于书本上很多知识还不能灵活运用,都需要去巩固加强,我会在以后的学习中弥补我的不足。
我也了解了80C51集成环境和PROTEUS仿真软件的使用,用此软件练习电子时钟的设计,不仅使我熟悉了软件的使用方法,而且复习了单片机编程的相关知识。
数字时钟课程设计报告概述

数字时钟课程设计报告概述一、课程目标知识目标:1. 学生能够理解数字时钟的构成原理,掌握时、分、秒的概念及其相互关系。
2. 学生能够运用所学知识,分析并描述数字时钟显示时间的规律。
3. 学生了解数字时钟在日常生活和科技领域中的应用。
技能目标:1. 学生能够运用所学知识,设计并制作简单的数字时钟模型。
2. 学生能够运用逻辑思维和问题解决能力,分析并解决数字时钟显示错误的问题。
情感态度价值观目标:1. 学生培养对时间的珍惜,养成良好的时间管理习惯。
2. 学生通过动手实践,增强对科学技术的兴趣,激发创新意识。
3. 学生在团队协作中,培养沟通、交流和合作的能力。
课程性质:本课程为信息技术与电子学的跨学科课程,注重理论与实践相结合。
学生特点:五年级学生对新鲜事物充满好奇心,具备一定的逻辑思维能力和动手实践能力。
教学要求:教师应引导学生通过观察、实践、探究等学习方法,将知识目标、技能目标和情感态度价值观目标有机结合,实现学习成果的达成。
同时,关注学生的个体差异,因材施教,使每位学生都能在课程中收获成长。
二、教学内容本章节教学内容主要包括以下三个方面:1. 数字时钟基础知识:- 时、分、秒的概念及其相互关系;- 数字时钟的构成原理;- 数字时钟在日常生活和科技领域中的应用。
2. 数字时钟的制作与调试:- 介绍数字时钟的制作材料及工具;- 制作数字时钟的步骤及方法;- 调试数字时钟,解决显示错误的问题。
3. 时间管理及团队合作:- 时间的珍贵,如何合理安排时间;- 团队合作的意义,如何进行有效沟通与协作;- 在团队中发挥个人优势,共同完成任务。
教学大纲安排如下:1. 导入新课,介绍数字时钟基础知识,引导学生了解课程内容(1课时);2. 讲解数字时钟的构成原理,进行实践操作,让学生动手制作简易数字时钟(2课时);3. 调试数字时钟,解决显示错误,培养学生的逻辑思维和问题解决能力(1课时);4. 结合时间管理及团队合作,让学生在团队协作中完成数字时钟的制作,培养沟通、交流和合作能力(2课时)。
时钟课程设计实验报告

时钟课程设计实验报告一、课程目标知识目标:1. 让学生理解时钟的基本结构,掌握时针、分针、秒针的作用及其相互关系;2. 使学生掌握时间的读法,包括小时、分钟、秒的表示方法;3. 引导学生了解不同类型的时钟,如机械时钟、电子时钟等,以及其工作原理。
技能目标:1. 培养学生运用所学知识,进行时钟读时、计算时间间隔等实际操作能力;2. 提高学生运用绘图、手工制作等技巧,设计和制作创意时钟的能力;3. 培养学生通过合作、探究的方式,解决时钟相关问题。
情感态度价值观目标:1. 培养学生对时间管理的重视,树立珍惜时间的价值观;2. 激发学生对科学知识的好奇心,培养勇于探索、创新的精神;3. 培养学生团队协作意识,学会尊重他人、分享成果。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够正确读出时钟显示的时间,并计算出时间间隔;2. 学生能够通过绘图、手工制作等方式,设计并展示创意时钟;3. 学生能够以小组合作形式,探讨时钟的工作原理,解决实际问题;4. 学生能够意识到时间的重要性,养成良好的时间管理习惯。
二、教学内容本课程依据课程目标,选择以下教学内容,确保科学性和系统性:1. 时钟的基本结构- 时针、分针、秒针的作用及其相互关系;- 时钟的表盘布局及数字表示。
2. 时间读法- 小时、分钟、秒的表示方法;- 不同时间段的读法,如:整点、半点、一刻等。
3. 时钟类型及工作原理- 机械时钟的工作原理及特点;- 电子时钟的工作原理及特点;- 其他创意时钟的设计理念。
4. 实践活动- 制作创意时钟,锻炼动手能力;- 小组合作探讨时钟工作原理,培养团队协作能力;- 课堂展示与分享,提高表达和沟通能力。
教学内容安排和进度:第一课时:时钟的基本结构及时钟读法;第二课时:时钟类型及工作原理;第三课时:实践活动——制作创意时钟;第四课时:课堂展示与分享。
教材章节及内容:第一章:时钟的基本概念;第二章:时间的读法及时钟类型;第三章:时钟的制作与设计;第四章:时间的运用与时间管理。
本科毕业设计论文--eda课程设计报告多功能数字钟设计

湖北大学物电学院EDA课程设计报告(论文)题目:多功能数字钟设计专业班级: 14微电子科学与工程*名:**时间:2016年12月20日指导教师:万美琳卢仕完成日期:2015年12月20日多功能数字钟设计任务书1.设计目的与要求了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解2.设计内容1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开;2,能用按键调时调分;3,能整点报时,到达整点时,蜂鸣器响一秒;4,拓展功能:秒表,闹钟,闹钟可调3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩在规定时间内,完成叙述并回答问题。
目录(四号仿宋_GB2312加粗居中)(空一行)1 引言 (1)2 总体设计方案 (1)2.1 设计思路 (1)2.2总体设计框图 (2)3设计原理分析 (3)3.1分频器 (4)3.2计时器和时间调节 (4)3.3秒表模块 (5)3.4状态机模块 (6)3.5数码管显示模块 (7)3.6顶层模块 (8)3.7管脚绑定和顶层原理图 (9)4 总结与体会 (11)多功能电子表摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能关键词:Verilog语言,多功能数字钟,数码管显示;1 引言QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。
利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然2 总体设计方案2.1 设计思路根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。
stm32电子钟设计 课程设计报告

成绩课程论文题目:基于STM32的多功能电子时钟****:**学生学号: ********** 系别:电气信息工程系专业:电子信息科学与技术年级: 2010级****:***电气信息工程学院制2013年3月基于stm32的多功能电子时钟学生:梁健指导教师:***电气信息工程学院电子信息科学与技术专业一、设计任务与要求 (3)1、设计任务 (3)2、设计要求 (3)二、方案设计与论证 (3)1、单片机芯片选择方案 (5)2、显示选择方案 (6)三、硬件单元电路设计与参数计算 (6)1、电源电路 (6)2、按键电路 (6)3、rtc时钟 (7)4、12864显示电路 (7)5、温度传感器模块 (8)四、软件设计与流程图 (8)1、主程序流程图 (8)2、显示子程序流程图 (10)3、按键子程序流程图 (12)五、总原电路及元器件清单 (14)1.总原理图 (14)六、元器件清单 (24)七、主程序 (24)八、参考文献 (28)摘要:本论文基于单片机原理技术介绍了一款于stm32芯片作为核心控制器的单片机数字电子钟的设计与制作,包括硬件电路原理的实现方案设计、软件程序编辑的实现、数字电子钟正常工作的流程、原理图仿真实现、硬件实物的安装制作与硬件实物的调试过程。
该单片机数字电子钟采用stm32自带的RTC,用lLCD12864能够准确显示时间(显示格式为:年月日时分秒),可随时进行时间调整,时间可采用12 小时制显示或24 小时制显示,用12864做成菜单形式,闹铃提醒,可按自己的要求设置扩展的小键盘个数,并增加温度显示。
关键词:单片机、数字电子钟、LCD12864、STM32、RTC,温度传感器一、设计任务与要求1、设计任务用STM32设计一个数字电子钟,采用LCD12864来显示并修改,时间或闹铃。
2、设计要求(1)显示格式为:XX\XX\XX XX\XX\XX 即:年\月\日时\分\秒。
(2)具有闹铃功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时钟控制器课程设计任务书一.设计要求(一)基本功能1.显示:可以显示时、分和秒2. 调时功能:时(0-24)、分和秒(0-60)可以连续可调(二)性能时间日误差< 2秒(三)扩展功能1.增加整点报时功能2.增加闹钟任意设定功能二.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。
2.第二周完成软件的具体设计和硬件的制作。
3.第三周完成软件和硬件的联合调试。
三. 设计内容1. 画出电路原理图,正确使用逻辑关系;2. 确定元器件及元件参数;3.进行电路模拟仿真;4. SCH文件生成与打印输出;四.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
五.答辩在规定时间内,完成叙述并回答问题。
目录1.引言 (1)2.总体设计方案 (1)2.1设计思路 (1)2.2 总体设计方框图 (1)3.设计原理分析 (2)3.1单片机最小系统的设计 (2)3.2整点报时电路 (3)3.3显示电路设计 (3)3.4时间调整电路 (4)3.5系统软件设计 (4)4.结束语 (6)参考文献 (7)附录(一) (8)附录(二) (9)附录(三) (10)基于单片机控制的时钟控制器应教091 王尊民摘要:本设计多功能数字钟是以AT89S51单片机为核心控制器构成的电子时钟,数字电子钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。
由于数字集成电路的发展和石英振荡的广泛应用,使得数字钟的精度、稳定度远远超过了老式机械钟表。
在数字显示方面目前已有集成的计数、译码电路,它可以直接驱动数码显示器件还可以直接采用CMOS-LED光点组合器件,构成模块式石英晶体数字钟。
这些电路装置十分小巧,安装使用也方便。
关键词:AT89S51 数码管时钟 74LS1641 引言数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
2 总体设计方案2.1 设计思路采用89S51为核心的时钟控制电路其设计思路有多种,其输出可以采用动态显示和静态显示两种方式,采用动态方式的电路比较复杂,采用静态方式输出可采用单片机串行口输出,电路相对较简单。
改电路应该具有任意时间可调的功能,所以外围采用开关按键来实现。
在软件设计方面,应完成时钟控制电路的各项要求整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
显示电路将“时”、“分”、“秒”计数器的输出,通过六个七段LED显示器显示出来。
校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。
2.2设计方框图时钟控制电路应该由六部分组成,单片机是其核心部件,要完成整点报时需要报警电路。
对当前的时间修改需要对键盘的操作,所以还需要键盘电路。
单片机将其信号输出应该反映在显示电路中,应采用六位数码管构成的显示电路。
电路中还应该具有复位电路。
如图1所示。
图1整体设计方框图3 设计原理分析3.1 单片机最小系统的设计89S51组成的单片机的最小系统,包括时钟震荡电路,复位电路等。
正5V电源直接接到89S51的40脚(VCC)20脚(GND)。
时钟震荡电路:89S51的18脚(XTAL1)和19脚(XTAL2)外接12MHZ 的晶振和二个30PF的电容,震荡频率就是晶体的固有频率,复位电路采用上电自动复位跟手动复位相结合接到89S51的9端(RST),原理图如下:图2 单片机最小系统3.2整点报时电路设计该电路可以根据在整点时刻发出警报,当单片机P0.1口置0时,在图3中,P0.1接的发光管二极管经电阻限流后发光,5秒后自动熄灭,也可手动熄灭,按S0按键即可。
图3 整点报时电路图3.3显示电路的设计本采用静态显示,利用74HC164来驱动,数码管显示, 74HC164是串行输入并行输出的移位寄存器,并带有清除端,其中Q0-Q7为并行输出端,MR为清除端,当它为零电平时使74HC164清零,A、B为串行输入端,CLK为时钟脉冲输入端,在脉冲的上升沿实现移位。
当CLK=0、MR=1时,74HC164保持原来的数据状态。
图中外接6片74HC164作为6位LED显示器的静态连接口,74HC164的低电平输出电流为8mA,可直接驱动共阳极LED。
如图4所示。
图4 显示电路3.4时间调整电路该电路采用了三个按键开关,当需要调整时间时安下操作,其中S2是时钟控制器调秒按键,当S0按下时时钟秒显示加一,初始值设定在零点零分零秒整,应按下S3,该键是调分按键,当S3按下时,显示电路中,分的位置显示加一,当再次按下该键时,分再加一,已实现分连调,按下S4可对时进行加1调整,其是三个端口分别对应的输入到单片机的P2.7、P2.5、P2.4处。
如图5所示。
.图5时间调整电路3.5系统软件设计主程序首先是初始化部分,主要是计时单元清零,中断初始化,启动定时器工作,然后是调用显示子程序,接着是判断有无按键。
无按键则回到调用显示子程序处;有按键,则执行按键处理子程序,执行完后回到调用显示子程序处,重复循环。
主程序流程图如图6所示。
为了保证系统的可靠运行,在主程序之外还增加了定时中断程序。
本电子钟的记时是用单片机内部的定时计数器T0,定时10ms,即,0.001s,100次中断即为1s,60s为1min,60min为1h,24h为1天,如此循环,从而实现记时功能。
程序流程图如图7所示。
图6 主程序流程图图7 中断程序流程图4 结束语该设计以单片机AT89S51为控制核心,由实时时钟模块、键盘模块、整点报时模块等部分组成。
本系统以89S51为核心部件,利用软件编程,通过键盘控制和LED显示实现了时钟功能、闹钟功能,能实现本设计的基本要求和部分扩展功能。
如在本设计中能很好的显示时间.通过按键的设置来调节当前时间。
在本设计中尽量做到了硬件电路简单稳定,减小电磁干扰和其他环境干扰,,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。
由于时间有限和本身知识水平的发挥,该在这短短的时间内,我收获了很多的东西,这些都是我在学校里的课本上找不到的,现在我们马上就要踏入社会,这些实践性的东西对我们来说是至关重要的,它让我们脱离了书生的稚气,增加了对实际应用有了更深入的了解。
通过这三周的学习,我感觉有很大的收获:首先,通过学习使自己对课本上的知识可以应用于实际,使的理论与实际相结合,加深自己对课本知识的更好理解,同时实习也段练了我个人的动手能力,能够充分利用图书馆去查阅资料,能够很好的利用进行搜索有用的资料,增加了许多课本以外的知识。
对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。
总之,虽然实习的时间很短,但对我来说,收获是很大的。
我会更加珍惜我的学习,并且用实习的心得时时激励自己!参考文献[1] 实用单片机电子钟的设计/丁辉、姚庆文.无线电2003年合订本(下)[2] 孙涵芳.MCS-51系列单片机原理及应用[M].北京航空航天大学出版社.1996-4[3] 黄正谨.综合电子设计与实践[M].东南大学出版社.2002-3[4] 杨欣等.电子设计从零开始[M].清华大学出版社.2005-10[5] 谢嘉奎.电子线路[M].高等教育出版社.2003-2[6] 李朝青.单片机原理及接口技术(修订版)[M].北京:北京航空航天大学出版社.1998[7] 汪道辉.单片机系统设计与实践[M].北京:电子工业出版社.2006附录(一)总体电路图附录(二)附录(三)电路程序ORG 0000HLJMP MAINORG 000BHLJMP TOINTORG 30HMAIN:MOV IE,#82HMOV TMOD,#01HMOV TH0,#0D8HMOV TL0,#0F0HMOV A,#0MOV 59H,AMOV 60H,AMOV 61H,AMOV 62H,AMOV 63H,AMOV 64H,AMOV 65H,AHMCC EQU 20H sec EQU 21Hmin EQU 22H hour EQU 23HSETB TR0CLR ACLR P0.1MOV R0,AMOV R1,AMOV R2,AMOV R3,AMOV R5,AMOV R6,AMOV R7,AMOV HMCC ,#00 MOV sec ,#00 MOV min ,#00 MOV hour ,#00LCALL XS LOOP: JB P2.7 ,NEXT2LCALL YS10msLCALL YS10msJB P2.7 ,NEXT2 NEXT11: JNB P2.7,NEXT11MOV A,secADD A,#01MOV sec,ACJNE A,#60,NEXT2MOV sec,#00H NEXT2: JB P2.5,NEXT4ACALL YS10msLCALL YS10msJB p2.5,NEXT4 NEXT3: JNB P2.5,NEXT3MOV A,minADD A,#01MOV min,ACJNE A,#60,NEXT4MOV min,#00H NEXT4: JB P2.4,LOOPACALL YS10msLCALL YS10msJB P2.4,LOOP NEXT5: JNB P2.4,NEXT5MOV A,hourADD A,#01MOV hour,ACJNE A,#24,LOOPMOV hour,#00HAJMP LOOP DLBJ:PUSH PSWPUSH ACCMOV TH0,#0D8HMOV TL0,#0F0HMOV R0,#6FHFH: MOV A,@R0CJNE A,sec,LOP3CJNE A ,min,LOP3SETB P2.0FH1: LCALL YS200msMOV R4,#19HDJNZ R4,FH1CLR APOP PSWPOP ACCRETILOP3: CLR P2.0LCALL XSPOP PSWPOP ACCRETI;时钟中断程序TOINT:PUSH PSWPUSH ACCMOV TH0 ,#0D8HMOV TL0 ,#0F0HINC HMCCMOV A ,HMCCCJNE A ,#64H ,NEXT1MOV HMCC ,#00HINC secXYG: MOV A ,secCJNE A ,#60,NEXT1MOV sec ,#00INC min ;MOV A ,minCJNE A ,#60 ,NEXT1MOV min ,#00INC hour ;MOV A ,hour CJNE A ,#24 ,NEXT1MOV hour ,#00NEXT1: LCALL XSPOP ACCPOP PSWRETIXS: MOV A ,secMOV B ,# 10DIV ABMOV 60H ,BMOV 61H ,AMOV A ,minMOV B ,#10DIV ABMOV 62H ,BMOV 63H ,AMOV A ,hourMOV B ,#10DIV ABMOV 64H ,BMOV 65H ,ALCP: MOV R1 ,#60HMOV R5 ,#6HMOV DPTR ,#TABBK: MOV A ,@R1MOVC A ,@A+DPTRMOV SBUF ,AJNB TI ,$CLR TIINC R1DJNZ R5 ,BKRETTAB:DB 11H,0D7H,32H,92H ,0D4H,98H,18H,0D3H,10H,90HYS10ms: MOV R2 ,#10HTS1: MOV R3 ,#0FFHTS2: DJNZ R3 ,TS2DJNZ R2 ,TS1RETYS200ms:MOV R3 ,#20DL3: MOV R4 ,#10HDL2: MOV R5 ,#0FFHDL1: DJNZ R5 ,DL1DJNZ R4 ,DL2DJNZ R3 ,DL3RETEND.。