简易时钟课程设计报告

合集下载

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

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

论文题目基于单片机的简易电子时钟设计班级: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)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。

EDA课程设计报告--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接在一起,实现同时复位和使能。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

二、设计原理。

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

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

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

三、设计方案。

1. 硬件设计。

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

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

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

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

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

2. 软件设计。

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

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

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

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

四、设计实现。

1. 硬件实现。

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

2. 软件实现。

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

五、实验结果。

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

六、总结与展望。

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

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

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

简易数字钟实验报告

简易数字钟实验报告
课程设计
题目计算机控制技术综合课程设计
简易数字钟
二级学院电子信息与自动化
专 业电气工程及其自动化
班 级107070403
学生姓名冉静学号20
指导教师贺娟 雷李
考核项目
设计50分
平时成绩20分
答辩30分
设计质量20分
创新设计15分
报告质量15分
熟练程度20分
个人素质10分
得分
总分
考核等级
教师签名
简易数字时钟实验报告
1.方案一
简易的时钟,具有,整点报时的功能。但是没有秒钟的显示。接通电源后,程序开始执行。K1为设置现在时间功能键;K2为小时调整,按一下小时加一;K3为分钟调整,按一下为分钟加一;K4为完成键,设置完成后按下时钟进入正常的走时状态。
其中,P0口接的电阻为限流电阻,选用的数码显示管所需电流比较小;4位LED数码管的共阳极引脚分别与V1-V4三极管的集电极相连,三极管的基极分别通过限流电阻与单片机的P2端口的P2.0-P2.3引脚上。4位数码管显示器分别由4只三极管控制,例如,P2.0输出为低电平时V4三极管导通,与其相连的共阳极数码管显示器开始工作;P2.0输出高电平时V4三极管截止,与其相连的数码管显示器停止工作。
disdata[5]=s%10;//秒钟低位
for(i=0;i<6;i++)//循环显示
{
P1=0xff;
P1=seg7[disdata[i]];
P2=disp[i];
Delayms(2);//显示延时
}
}
void time0(void)interrupt 1 using 0 //时间计数函数
{
TH0=0xfc;//(65536-20000)/256;

单片机课程设计_简易时钟的设计

单片机课程设计_简易时钟的设计

大庆师范学院计算机组成原理课程设计总结报告设计题目:基本模型机的模拟设计与实现子题目:简易时钟学生姓名:许辛院别:计算机科学与技术学院专业:计算机科学与信息技术班级:计算机本科三班学号:201001041085指导教师:2011 年 7 月 8 日大庆师范学院课程设计任务书题目简易时钟主要内容:参考资料:完成期限:一周指导教师签名:年月日1 设计要求利用89S51单片机结合数码管和1602显示器设计一个电子时钟,由于用LED数码管显示年月日,1602第一行显示时分秒,第二行显示闹钟。

在夜晚或黑暗的场合里也可以使用,具有一定的使用性。

独立按键进行时间和闹钟的调整。

2 硬件设计及描述2.1 确定元器件型号及参数2.1.1 AT89S51单片机简介:AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system progRAMmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

功能特性:兼容MCS-51指令系统32个双向I/O口2个16位可编程定时/计数器全双工UART串行中断口线2个外部中断源中断唤醒省电模式看门狗(WDT)电路灵活的ISP字节和分页编程4k可反复擦写(>1000次)ISP Flash ROM4.5-5.5V工作电压时钟频率0-33MHz128x8bit内部RAM低功耗空闲和省电模式3级加密位软件设置空闲和省电功能双数据AT89S51相对于AT89C51增加的新功能包括:-- 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低!-- ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。

单片机课程设计报告-电子时钟--完结篇

单片机课程设计报告-电子时钟--完结篇

⑴ -芯片电源,接+5V;
⑵GND-接地端;
注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速
度没这么快而已,在某一个瞬间单片机引脚电压
仍保持在0或者5v。
2
XTAL1、XTAL2 -当使用芯片内部时钟时,此二引线用于外界石英晶体振荡器和电容。当使用外部时钟时,用于接外部时钟脉冲信号。
关键字:单片机;子时钟;键盘控制。

单片计算机即单片微型计算机。(Single-Chip Microcomputer),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬件的能力。
三、总体方案及硬件设计
简易电子钟硬件系统的设计,关键是其键盘、显示器接口电路的设计,本设计采用直接利用单片机AT89C52的并行I/O口构成电子钟的键盘、显示接口电路,其硬件系统原理框图如图3-1所示,主要包括单片机、时钟电路。复位电路。键盘及显示接口电路。

AT89C51有40个引脚,按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。
定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。

60s旋转时钟课程设计

60s旋转时钟课程设计

60s旋转时钟课程设计一、课程目标知识目标:1. 学生能理解时钟的基本构造和旋转原理,掌握60秒旋转一周的时钟运行规律。

2. 学生能够运用所学知识,解释时钟指针运动与时间变化之间的关系。

3. 学生理解时钟的时间单位(时、分、秒)及其换算关系。

技能目标:1. 学生通过制作简易的60秒旋转时钟模型,提高动手操作能力和问题解决能力。

2. 学生能够运用数学知识,进行时钟指针角度的计算。

3. 学生通过小组合作,培养沟通协调能力和团队合作精神。

情感态度价值观目标:1. 学生培养对时间观念的重视,养成珍惜时间的好习惯。

2. 学生在探索时钟旋转原理的过程中,激发对数学和科学的好奇心和求知欲。

3. 学生通过学习时钟的制作,体会工匠精神,培养精益求精的态度。

课程性质:本课程为综合实践活动课程,结合数学、科学和工艺制作等多学科内容。

学生特点:五年级学生具有一定的数学基础、动手能力和合作意识。

教学要求:注重理论与实践相结合,鼓励学生动手实践、自主探索和合作交流,提高学生的综合素养。

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

二、教学内容1. 介绍时钟的基本结构,包括时针、分针、秒针的构造及其功能。

2. 讲解时钟的旋转原理,重点阐述秒针60秒旋转一周的运行规律。

3. 结合数学知识,引导学生学习时钟指针角度的计算方法。

4. 利用教材相关章节,组织学生进行时钟时间单位换算的练习。

5. 开展实践活动,指导学生制作简易的60秒旋转时钟模型。

6. 通过小组合作,让学生在实践中探索和解决时钟制作过程中遇到的问题。

7. 结合工艺制作课程,教授学生使用工具和材料,培养动手操作能力。

教学内容安排和进度:第一课时:介绍时钟的基本结构,学习旋转原理。

第二课时:学习时钟指针角度计算,进行时间单位换算练习。

第三课时:实践活动,制作简易60秒旋转时钟模型。

第四课时:小组合作,解决时钟制作过程中的问题,总结经验。

教学内容关联教材章节:数学:《角的度量》、《时间单位换算》科学:《简单机械》工艺制作:《模型设计与制作》教学内容确保科学性和系统性,注重理论与实践相结合,提高学生的综合运用能力。

数字钟课程设计报告

数字钟课程设计报告

数字钟课程设计报告1. 引言数字钟是一种能够显示时间的设备,广泛应用于家庭、学校和办公场所等各个领域。

本课程设计旨在通过设计一个数字钟的硬件电路和相应的软件程序来实现一个简单的数字钟。

本报告将详细介绍数字钟的设计过程,包括硬件电路的设计和软件程序的开发。

通过本课程设计,将加深学生对数字电路和嵌入式系统的理解,并提升他们的设计能力和解决实际问题的能力。

2. 设计目标本课程设计的目标是设计一个具有以下功能的数字钟:•显示当前的小时、分钟和秒钟;•支持时间的设置和调整功能;•提供闹钟功能,可以设置闹钟时间和开启闹钟功能。

3. 硬件电路设计在硬件电路设计中,我们将使用以下电子元件:• 1 个时钟模块,用于产生基准时钟信号;• 1 个微控制器,用于控制数字钟的功能;• 1 个LCD液晶显示屏,用于显示时间和设置信息;• 1 个按键开关模块,用于设置和调整时间,以及开启或关闭闹钟功能。

硬件电路的设计包括以下主要步骤:1.连接时钟模块和微控制器,使得时钟模块能够产生基准时钟信号,并输入给微控制器。

2.连接LCD液晶显示屏和微控制器,使得微控制器能够将时间信息输出到液晶显示屏上。

3.连接按键开关模块和微控制器,使得微控制器能够接收按键输入,并根据输入来实现设置、调整和开启闹钟功能的操作。

4. 软件程序开发软件程序开发是本课程设计的重要部分,它包括以下主要任务:1.初始化:在程序开始时,初始化时钟模块、LCD液晶显示屏和按键开关模块。

2.时间显示:通过获取当前时间,并将其显示在LCD液晶显示屏上。

3.时间设置:通过按键输入来设置和调整时间,然后将修改后的时间保存到内存中。

4.闹钟设置:通过按键输入来设置和调整闹钟时间,然后将修改后的闹钟时间保存到内存中。

5.闹钟功能:在闹钟时间到达时,触发相应的操作,例如发出蜂鸣器声音或闪烁LED灯等。

5. 结果与分析经过几次迭代的设计和调试,最终成功实现了一个简单的数字钟。

该数字钟能够准确地显示当前的小时、分钟和秒钟,支持时间的设置和调整功能,并提供闹钟功能。

时钟课程设计实验报告

时钟课程设计实验报告

时钟课程设计实验报告一、课程目标知识目标:1. 让学生理解时钟的基本结构,掌握时针、分针、秒针的作用及其相互关系;2. 使学生掌握时间的读法,包括小时、分钟、秒的表示方法;3. 引导学生了解不同类型的时钟,如机械时钟、电子时钟等,以及其工作原理。

技能目标:1. 培养学生运用所学知识,进行时钟读时、计算时间间隔等实际操作能力;2. 提高学生运用绘图、手工制作等技巧,设计和制作创意时钟的能力;3. 培养学生通过合作、探究的方式,解决时钟相关问题。

情感态度价值观目标:1. 培养学生对时间管理的重视,树立珍惜时间的价值观;2. 激发学生对科学知识的好奇心,培养勇于探索、创新的精神;3. 培养学生团队协作意识,学会尊重他人、分享成果。

分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够正确读出时钟显示的时间,并计算出时间间隔;2. 学生能够通过绘图、手工制作等方式,设计并展示创意时钟;3. 学生能够以小组合作形式,探讨时钟的工作原理,解决实际问题;4. 学生能够意识到时间的重要性,养成良好的时间管理习惯。

二、教学内容本课程依据课程目标,选择以下教学内容,确保科学性和系统性:1. 时钟的基本结构- 时针、分针、秒针的作用及其相互关系;- 时钟的表盘布局及数字表示。

2. 时间读法- 小时、分钟、秒的表示方法;- 不同时间段的读法,如:整点、半点、一刻等。

3. 时钟类型及工作原理- 机械时钟的工作原理及特点;- 电子时钟的工作原理及特点;- 其他创意时钟的设计理念。

4. 实践活动- 制作创意时钟,锻炼动手能力;- 小组合作探讨时钟工作原理,培养团队协作能力;- 课堂展示与分享,提高表达和沟通能力。

教学内容安排和进度:第一课时:时钟的基本结构及时钟读法;第二课时:时钟类型及工作原理;第三课时:实践活动——制作创意时钟;第四课时:课堂展示与分享。

教材章节及内容:第一章:时钟的基本概念;第二章:时间的读法及时钟类型;第三章:时钟的制作与设计;第四章:时间的运用与时间管理。

单片机简易时钟课程设计

单片机简易时钟课程设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数字钟课程设计报告模板

数字钟课程设计报告模板

数字钟课程设计报告模板一、教学目标本课程的教学目标是让学生掌握数字钟的工作原理、设计和制作方法。

知识目标包括了解数字钟的组成部分、工作原理和相关电路知识;技能目标包括学会使用数字电路设计软件进行数字钟的设计和仿真,并能实际制作出一个简单的数字钟;情感态度价值观目标包括培养学生的创新意识、团队合作精神和对电子技术的兴趣。

二、教学内容本课程的教学内容主要包括数字钟的工作原理、设计和制作。

首先,学生需要了解数字钟的组成部分,包括时钟芯片、显示模块、按键输入模块等,并学习相关电路知识。

然后,学生将学习如何使用数字电路设计软件进行数字钟的设计和仿真,包括时钟信号的产生、计数器的实现、显示模块的设计等。

最后,学生将实际制作出一个简单的数字钟,并进行调试和测试。

三、教学方法为了达到上述教学目标,本课程将采用多种教学方法。

首先,将采用讲授法,向学生讲解数字钟的工作原理和相关电路知识。

其次,将采用讨论法,引导学生进行思考和提问,促进学生之间的交流和合作。

此外,还将采用案例分析法,通过分析具体的数字钟设计案例,帮助学生理解和掌握设计方法和技巧。

最后,将采用实验法,让学生亲自动手制作和调试数字钟,提高学生的实践能力和解决问题的能力。

四、教学资源为了支持本课程的教学内容和教学方法的实施,将选择和准备适当的教学资源。

教材方面,将选择一本与数字钟设计和制作相关的教材,用于学生学习和参考。

参考书方面,将提供一些与数字电路设计和仿真相关的书籍,供学生进一步深入学习和研究。

多媒体资料方面,将制作一些与数字钟设计和制作相关的教学视频和演示文稿,用于课堂演示和讲解。

实验设备方面,将准备一些数字电路设计实验板和相关器件,供学生进行实验和制作数字钟。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。

平时表现主要评估学生在课堂上的参与程度、提问和回答问题的积极性等,占总评的20%。

作业包括课堂练习和课后作业,主要评估学生的理解和应用能力,占总评的30%。

定时闹钟设计 课程设计报告

定时闹钟设计  课程设计报告

按时闹钟设计之马矢奏春创作摘要:本设计目的是利用单片机设计制作一个简易的按时闹铃时钟,可以放在宿舍或教室使用,在夜晚或黑暗的场所也可以使用.可以设置现在的时间以及闹铃的时间而且显示出来,若时间到则发出一阵声响.本次设计的按时闹钟在硬件方面就采纳了AT89C52芯片,用6位LED数码管进行显示.LED用P0口进行驱动,采纳的是静态扫描显示,能够比力准确显示时时—分分—秒秒.通过五个功能按键可以实现对时间的修改、按时和闹铃终止,闹钟设置的时间到时蜂鸣器可以发作声响.在软件方面用C51编程.整个按时闹钟系统能完成时间的显示,调时和设置闹钟、停止响铃等功能,并经过系统仿真后获得了正确的结果.关键词:按时闹钟;蜂鸣器;AT89C52;74HC245;目录第1章绪论11.2.1设计要求:11.2.2设计任务:1第2章系统总体设计2系统设计需求总体设计方案第3章系统硬件设计43.2.3 74HC245芯片7??????LED显示模块????????按键模块??第4章系统软件设计11第5章系统测试13??测试环境??????测试步伐??????测试环境的构建??结论15致谢16参考文献17附录18第1章绪论本次课程设计的主题是按时闹钟,其基础部份是一个数字钟.电路系统由秒信号发生器、“时、分、秒”计数器、显示器组成.其中秒信号发生器是整个系统的时基信号,它直接决定计时系统的精度,这里用51单片机的按时器来实现.利用按时器获得每一秒的时刻,然后在法式中,我们就可以给秒进行逐秒赋值,满60秒则进位为1分,满60分则进位为1小时,满24小时则时间重置实现一天24小时的循环.译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过一个六位八段数码管显示出来.这里利用51单片机的相关知识,来实现电子闹钟的相关功能.实验使用了AT89C52、74HC245等芯片,通过单片机的P0、P3管脚来驱动数码管显示出相应的时刻.本文将讲述AT89C52、74HC245等芯片的基本功能原理,偏重点介绍该电子闹钟的设计.1.2.1设计要求:使用6位七段LED显示器来显示现在的时间;显示格式为“时时分分秒秒”;具有4个按键来做功能设置,可以设置现在的时间及显示闹铃设置时间;时间到则发出一阵声响,可通过按键复位;对单片机系统设计的过程进行总结,认真书写课程设计陈说并按时上交.1.2.2设计任务:利用51单片机结合七段LED显示器设计一个简易的按时闹铃时钟,可以放在宿舍或教室使用,由于用七段LED显示器显示数据,在夜晚或黑暗的场所也可以使用.可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响.论文分别叙述从硬件和软件上实现该设计的过程.第2章为总体设计方案.第3章主要介绍设计实现需要解决的硬件问题.依次介绍所使用的各种硬件的使用方法,并附上仿真电路图和文字说明.第4章从软件的角度说明实现该设计需要解决的问题.第2章系统总体设计系统要求实现以下功能:1.当电源接通时,系统能正确显示以后时间.2.以后时间与实时时间有误差时,可以通过键盘调整以后时间.3.系统允许进行闹钟设置,开启闹钟功能时,当设置的闹钟时间与以后时间一致的时候,系统通过蜂鸣器发出警报声而且可以通过按键停止.功能组成:本次设计中的计时功能很容易实现,难点在于时钟功能和闹钟功能的切换和时间的设置.该电子闹钟设计对51单片机按时器0装初值,使其初值对应50ms,按时器0的中断次数达到20次就刚好为1s,当秒部份计数到60时置零,并向分部份进一;当分部份计数到60时置零,并向时部份进一,那时部份计数到24时置零,从而满足时钟的正常工作.在设计过程中,我发现通过4个按键来完成一个闹钟的基础功能虽然可以实现,可是用户用起来就会很麻烦,因为有的键必需有多种功能和分歧的触发方式,我认为可以增加少许按键来方便用户快速了解到我们的闹钟是如何进行控制的.所以本次设计设置5个键依次对其进行“时间校准”、“闹钟设置”、“秒分时切换/终止警报”、“加1按钮”、“减1按钮”.“秒分时切换/终止报警”键在调时状态中,起时分秒切换的作用,在非调试状态下,起闹钟终止的作用.当用户按下“时间校准”的按钮后,法式会关闭T0按时器,之后时钟停止工作,此时数码管会显示以后静止的时间,说明已经进入时间校准的界面了.在完成时间校准后,翻开T0按时器,时钟会在设置好的时间上继续工作走秒.当用户按下“闹钟设置”按钮后,会将以后时间复制出来提供给按时界面,注意此时我们的时钟仍然在继续工作,只是数码管显示的是按时模式的静止时间.当设置好后,此时用户设置的时间只要没有触发过闹铃,再次按“闹钟设置”按钮就能检查并修改,即闹钟会保管下用户最后一次未被触发的闹钟时间.当正常工作的时钟时刻达到了预设的闹铃时刻,蜂鸣器发出警报声,屏幕会闪烁并显示以后时间.考虑到用户可能已经被提醒而不想继续被闹铃声干扰,还提供了一个能够终止闹铃的功能,此功能与“时分秒切换”功能共用同一按键,按下后时钟继续正常工作,且闹钟功能又可以重新设置.本设计在Keil编程环境下,使用C语言进行编程的编纂.编纂胜利后,通过仿真软件Proteus进行仿真测试.LED显示屏×1主控芯片:AT89C52闹钟提示:蜂鸣器人机交互:按键×5晶振:12KHz×1排阻:RESPACK8×1电容:10nf×2总线收发器:74HC245×2第3章系统硬件设计系统硬件模块主要分为以下几个模块:1.主控模块:控制其他子模块.2.时钟模块:为系统提供实时时间.3.显示模块:显示系统时间信息.4.按键模块:用户通过按键进行人机交互,修改实时时间、设置闹钟时间和终止闹钟报警. 5.闹钟模块:在所设闹钟时间发出警报声.(1).AT89C52简介AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash 只读法式存储器和256 bytes的随机存取数据存储器(RAM),器件采纳ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处置器和Flash 存储单位,AT89C52单片机在电子行业中有着广泛的应用.AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程按时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以依照惯例方法进行编程,也可以在线编程.其将通用的微处置器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱.AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应分歧产物的需求.AT89C52引脚图如图3.2.1:(2).工作原理AT89C52为8 位通用微处置器,采纳工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制.功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等.主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振.RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路.VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端.P0~P3 为可编程通用I/O 脚,其功能用途由软件界说,在本设计中,P0 端口(32~39 脚)被界说为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚界说为IR输入端,10 脚和11脚界说为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚界说为握手信号功能端口,连接主板CPU 的相应功能端,用于以后制式的检测及会聚调整状态进入的控制功能.P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口.作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用.在访问外部数据存储器或法式存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻.在Flash编程时,P0 口接收指令字节,而在法式校验时,输出指令字节,校验时,要求外接上拉电阻.P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路.对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口.作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL).与AT89C51 分歧之处是,P1.0 和P1.1 还可分别作为按时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和法式校验期间,P1 接收低8 位地址.P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路.对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL).在访问外部法式存储器或16 位地数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据.在访问8 位地址的外部数据存储器(如执行MOVX@RI 指令)时,P2 口输出P2锁存器的内容.Flash编程或校验时,P2亦接收高位地址和一些控制信号.P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口.P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路.对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口.此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL).P3 口除作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash闪速存储器编程和法式校验的控制信号.RST:复位输入.当振荡器工作时,RST引脚呈现两个机器周期以上高电平将使单片机复位.ALE/PROG:当访问外部法式存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节.一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于按时目的.要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲.对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG).如有需要,可通过对特殊功能寄存器(SFR)区中的8EH 单位的D0 位置位,可禁止ALE 把持.该位置位后,只有一条MOVX 和MOVC指令才华将ALE 激活.另外,该引脚会被微弱拉高,单片机执行外部法式时,应设置ALE 禁止位无效.PSEN:法式贮存允许(PSEN)输出是外部法式存储器的读选通信号,当AT89C52 由外部法式存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲.在此期间,当访问外部数据存储器,将跳过两次PSEN信号.EA/VPP:外部访问允许.欲使CPU 仅访问外部法式存储器(地址为0000H—FFFFH),EA 端必需坚持低电平(接地).需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态.如EA端为高电平(接Vcc端),CPU 则执行内部法式存储器中的指令.Flash存储器编程时,该引脚加上+12V 的编程允许电源Vpp,固然这必需是该器件是使用12V编程电压Vpp.XTAL1:振荡器反相放年夜器及内部时钟发生器的输入端.XTAL2:振荡器反相放年夜器的输出端.利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚上外接按时元件,内部振荡器便能发生自激振荡.按时元件可以采纳石英晶体和电容组成的并联谐振电路,如图3.2.2所示.晶振可以在1.2~12MHZ之间任选,甚至可以达到24MHz,可是频率越高功耗也就越年夜.和晶振并联的电容C1、C2的年夜小对振荡频率有微小影响,可以起到频率微调作用.时钟电路如图3.2.2:3.2.3 74HC245芯片电路中用74HC245芯片充任总线收发器,作用是放年夜信号,它具有典范的CMOS型三态缓冲门电路.由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超越其负载能力,一般应加驱动器.引脚界说:1引脚DIR:未输入输出端口转换用,当它为高电平“1”时,信号由“A”端口输入“B”端口输出;当它为低电平“0”时,信号由“B”端口输入“A”端口输出.29引脚:“A”端口输入输出端,每个端口与“B”端口对应.1118引脚:“B”端口输入输出端,每个端口与“A”端口对应.10引脚:GUD,电源地.20引脚:VCC,电源正极.74HC245引脚图如图3.2.3(1):图3.2.3(1)仿真电路图如图3.2.3(2):图3.2.3(2)3.3 LED显示模块本次课程设计采纳了6位数码管显示电路.在6位LED显示时,为了简化电路,降低本钱,采纳静态显示的方式, 6个LED显示器共用一个8位的I/O, 6位LED数码管的位选线分别由相应的P2. 0~P2. 5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口.译码显示电路将“时”、“分”、“秒”计数器的输出状态经七段显示译码器译码,通过6位LED七段显示器显示出来.达到按时电路时根据计时系统的输出状态发生脉冲信号,然后去触发音频发生器实现闹铃.校时电路时用来对“时”、“分”、“秒”显示数字进行校对换整的.LED仿真电路图如图3.3:图3.4 按键模块按键模块共设置了五个按键,功能分别如下:(1).时间校准键“CLOCK”: 自锁开关,按下后进入校准设置,再次按下后退出.(2).闹钟设置键“ALARM CLOCK”: 自锁开关,按下后进入闹钟设置,再次按下后退出.另外可供用户对已经设置的闹钟时间进行检查或修改.(3). 秒分时切换/终止报警键“SWITCH/STOP”: 按钮开关,在按下“CLOCK”或“ALARM CLOCK”键时,为时分秒切换功能,默认是“秒”,再次按下是“分”,然后是“时”之后是“秒”,以此类推.在“CLOCK”或“ALARM CLOCK”键未按下时,为终止报警功能.(4).时间增加键“+”:按钮开关,可以在进入校准设置和闹钟设置后,进行加一把持.(5).时间减少键“”: 按钮开关,可以在进入校准设置和闹钟设置后,进行减一把持.按键模块仿真电路图如图3.4:闹铃指示设置有声和光两种形式.声音形式的关键元件是蜂鸣器.蜂鸣器有无源和有源两种,前者需要输入声音频率信号才华正常发声,后者则只需外加适当直流电源电压即可,本次设计我们使用的是后者.闹钟电路是用比力器来比力计时系统和按时系统的输出状态,如果计时系统和按时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放年夜电路驱动扬声器发声,从而实现按时闹响的功能.蜂鸣器仿真电路图如图3.5:第4章系统软件设计该部份主要分为实时时钟模块、LED显示模块、键盘中断模块、闹钟模块.实时时钟部份主要包括实时时间的读写,时间的修改.LED显示模块主要包括显示屏的初始化,显示的命令字.键盘中断模块包括各键的界说和作用,按键的消抖,各按键跳转的子法式分配.闹钟模块包括闹钟时间的设置,以及对蜂鸣器启动和停止条件的设置和处置.主法式包括三个部份.一是主函数部份,负责系统的初始化把持;从中断服务取得实时时间;判断闹钟时间是否与实时时间相等并在相等时发出警报声.第二部份是按时中断部份,分两种情况:负责处置从中断服务获得的时间数据并送至LED显示缓冲显示,或者显示闹钟设置界面并显示闹钟时间的设置过程.第三部份是外部中断,主要界说5个按键的作用,分配每一个按键跳转的子法式.第三部份负责时间和日期的修改,闹钟时间的设置,停止蜂鸣器鸣叫的功能.断系统在单片机应用系统中起着十分重要的作用,是现代嵌入式控制系统广泛采纳的一种适时控制技术,能对突发事件进行及时处置,从而年夜年夜提高系统对外部事件的处置能力.正是有了中断技术,单片机才得以能够普及.因此,中断技术是单片机的一项重要技术,掌握中断技术能开发出灵活、高效的单机片应用系统.要让单机片停止以后的法式去执行其他法式,需要向它发出请求信号,CPU接收到中断请求信号后才华发生中断.让CPU发生中断的信号称为中断源(又称中断请求源).单片机提供5个中断源,其中两个为外部中断请求源INT0(P3.2)和INT1(P3.3),两个片内按时器/计数器T0和T1的溢出请求中断源TF0和TF1,1个片内串行口发送或接收中断请求源T1和R1.单片机内的CPU工作时,如果一个中断源向它发出中断请求信号,它就会发生中断.可是,如果同时有两个中断源发出中断请求信号,CPU就会优先接收级别高的中断请求源,然后再接收优先级别低的中断请求.表4.3.2列出5个自力中断请求源由其硬件结构决定的自然优先级排列顺序.表4.3.2 单片机中断源的自然优先级、入口地址及中断编号对应于单片机的5个自力中断源,应有相应的中断服务法式.这些中断服务法式有专门规定的寄存位置,即表4.3.2的中断入口地址.当有了中断请求后,CPU可以根据入口地址迅速找到中断服务法式并开始执行,年夜年夜提高执行效率.主法式见附录.第5章系统测试Proteus仿真模拟软件.(1).在Proteus软件中绘制好按时闹钟仿真模拟电路图.(2).将Keil编译器生成的.hex文件载入AT89C52芯片.(3).在Proteus软件中,点击左下角的“play”按钮启动按时闹钟.如下图,“play”按钮在第一个.图5.3.1(3)仿真电路运行控制按钮详细测试内容如下:按时闹钟是否能正确显示时间;是否能正确显示闹钟设置时的界面;是否能正确显示时间调整时的界面.(1).显示时间点击“play”键之后,时钟系统开始走时,如图5.5.2(1):图5.3.2(1)经测试,显示结果达到预期要求.(2).时间调整测试如果用户发现时间运行分歧毛病,要对时间进行修改和调整,就需要进入时间修改的界面.预期可以对时、分、秒进行调整和修改.系统能正确显示时间修改的界面.用户可以完成时间的修改.经测试,该部份运行正常.(3).闹钟设置测试在系统能正确显示时间之后,用户若想设置闹钟,可以通过按键完成闹钟时间的设置.设置时间到后蜂鸣器报警,按下“STOP”键后警报停止经测试,该部份能正常运行.结论:通过以上对仿真项目的全面测试,可知仿真部份运行正常.通过以上测试,证明本设计基本实现系统所有要求,即能够正确显示时间信息,能够对以后时间进行调整和修改,而且能够设定闹钟并在所设置的闹钟时间发出警报声,通过按键可以停止警报.结论该系统采纳单机片AT89C52作为核心芯片,结合一些其他外围设备,一起构成了一款能够显示时间而且能够对其进行修改和设置按时闹钟的按时闹钟系统.该系统采纳数码管显示屏,能够清晰显示时间信息,而且能够友好的引导用户进行时间的修改以及闹钟的设置.可以通过各个寄存地址对时间进行读写把持,即读取时间和修改时间.利用蜂鸣器为用户提供闹铃功能,能够在设按时间发出警报声提醒用户.采纳按键较少的自力式键盘供人机交互,把持简双方便.可以通过键盘修改时间,也可以设置闹铃时间和修改闹铃时间,另外,在闹铃时间与系统时间一致,蜂鸣器鸣叫时,可以通过按键中断警报声.总之,该按时闹钟系统完成了市场上一般闹钟应有的功能,能够显示时间和设置闹钟,可以给用户提供时间信息.该设计也存在一些缺点,就是实际生产时投入资金会比市场上一般闹钟价格昂贵,如果进行包装,价格还会上升一些.另外,外观不如市场销售的闹钟美观.致谢衷心感谢雷俊红老师的指导.参考文献[1] 李强,51系列单片机应用软件编程技术[M].北京:北京航空航天年夜学出书社,.4:134138.[2] 薛慧芳.MCS51单机片串行口的一口多用[J].南京化工年夜学学报(自然科学版),1998,S1:8486.[3] 王东锋,王会良,董冠强.单机片C语言应用100例[M].北京:电子工业出书社,.3:218219,148152.[4] 楼然苗,李光飞.单片机课程设计指导(第2版)[M].北京:北京航空航天年夜学出书社,.1:285289.附录:系统电路图如下:系统电路图系统法式如下:#include<reg52.h>sbit btnTime = P1^0;sbit btnClock = P1^1;sbit btnSwitch = P1^2;sbit btnUp = P1^3;sbit btnDown = P1^4;sbit pin1 = P2^0;sbit pin2 = P2^1;sbit pin3 = P2^2;sbit pin4 = P2^3;sbit pin5 = P2^4;sbit pin6 = P2^5;sbit pinBuz = P2^6;unsigned char timer = 0,sec,min,hour,count = 0,s = 60,m = 60,h = 24,flag = 0; unsigned char code numbers[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delayMs(unsigned int k){unsigned int i,j;for(i = k;i>0;i)for(j = 110;j>0;j);}void timeChange(){sec++;if(sec == 60){sec = 0;min++;if(min == 60){min = 0;hour++;if(hour == 24)hour = 0;}}}void showTime(unsigned char zs,unsigned char zm, unsigned char zh){ pin1 = 1;P0 = numbers[zh/10];delayMs(5);pin1 = 0;pin2 = 1;P0 = numbers[zh%10]&0x7f;delayMs(5);pin2 = 0;pin3 = 1;P0 = numbers[zm/10];delayMs(5);pin3 = 0;pin4 = 1;P0 = numbers[zm%10]&0x7f;delayMs(5);pin4 = 0;pin5 = 1;P0 = numbers[zs/10];delayMs(5);pin5 = 0;pin6 = 1;P0 = numbers[zs%10];delayMs(5);pin6 = 0;}void setTime(){unsigned char st,mt,ht;if(btnTime == 0){delayMs(10);if(btnTime == 0){st = sec,mt = min,ht = hour;TR0 = 0;while(btnTime == 0){showTime(st,mt,ht);if(btnSwitch == 0){delayMs(10);if(btnSwitch == 0){while(!btnSwitch);count++;if(count == 3)count = 0;}}if(btnUp == 0){delayMs(10);if(btnUp == 0){while(!btnUp);switch(count){case 0:st++;if(st == 60)st = 0;break;case 1:mt++;if(mt == 60)mt = 0;break;case 2:ht++;if(ht == 24)ht = 0;break;default:;}}}if(btnDown == 0){delayMs(10);if(btnDown == 0){while(!btnDown);switch(count){case 0:if(st>0)st;elsest = 0;break;case 1:if(mt>0)mt;elsemt = 0;break;case 2:if(ht>0)ht;elseht = 0;break;default : ;}}}}TR0 = 1;sec = st,min = mt,hour = ht;}}showTime(sec,min,hour);}void setClock(){if(btnClock == 0){delayMs(50);if(btnClock == 0){if(flag == 0){s = sec;m = min;h = hour;}flag = 1;while(btnClock == 0){showTime(s,m,h);if(btnSwitch == 0){delayMs(10);if(btnSwitch == 0){while(!btnSwitch);count++;if(count == 3)count = 0;}}if(btnUp == 0){delayMs(10);if(btnUp == 0){while(!btnUp);switch(count){case 0:s++;if(s == 60)s = 0;break;case 1:m++;if(m == 60)m = 0;break;case 2:h++;if(h == 24)h = 0;break;default:;}}}if(btnDown == 0){delayMs(10);if(btnDown == 0){while(!btnDown);switch(count){case 0:if(s>0)s;elses = 0;break;case 1:if(m>0)m;elsem = 0;break;case 2:if(h>0)h;elseh = 0;break;default:;}}}}}}}void buzzer(){if((hour == h)&&(min == m)&&(sec == s)){int i;for(i = 1;i<30;i++){if(btnSwitch == 0){delayMs(20);if(btnSwitch == 0){break;}}pinBuz = 1;delayMs(450);showTime(sec,min,hour);pinBuz = 0;delayMs(300);showTime(sec,min,hour);}flag = 0;}}void init(){TMOD = 0x01;TH0 = (6553645872)/256;TL0 = (6553645872)%256;EA = 1;ET0 = 1;TR0 = 1;pinBuz = 0;}void main(){init();while(1){setTime();setClock();buzzer();}}void T0_ms() interrupt 1{TH0 = (6553645872)/256;TL0 = (6553645872)%256;timer++;if(timer == 20){timer = 0;timeChange();}}。

时钟课程设计

时钟课程设计
5、教学内容
5、教学内容
本节课的最终部分将围绕以下教学内容展开:
1.时间的文化意义:向学生介绍时间在不同文化背景下的意义和重要性,如准时、守时在我国的传统美德中的地位,以及时间观念在不同国家的表现,增强学生的文化意识和国际视野。
2.课程总结与反思:通过对本节时钟课程内容的回顾,让学生总结学习收获,同时引导他们反思日常生活中如何更好地运用时间知识,提升个人时间管理能力。此外,鼓励学生提出课程建议,为今后教学的改进提供参考。
本节课旨在帮助学生全面掌握时钟相关知识,培养他们珍惜时间、合理安排时间的良好习惯,为学生的终身学习和生活奠定基础。
4、教学内容
4、教学内容
在本节课的最后一部分,我们将关注以下教学内容:
1.时间的估算与调整:教授学生如何根据已知时间来估算和调整未知时间,例如给定一个时间点,让学生估算一段时间后的时间,以及如何调整时钟以应对夏令时的变化。
2.时间管理策略:介绍基本的时间管理概念,如优先级排序、时间分配等,并通过实际案例分析,让学生学会如何合理安排自己的学习和休息时间,提高效率。此外,通过课堂讨论,让学生分享自己的时间管理经验,相互学习,共同进步。通过这一环节,旨在培养学生的时间管理意识,为未来的学习和生活打下良好基础。
3、教学内容
3、教学内容
本节课将进一步巩固和拓展时钟相关知识,重点包括以下两个方面:
1.时间记录与表达:教授学生如何用数字和文字两种方式记录和表达时间,例如12:30和“中午十二点三十分钟”,并能在生活中正确运用。
2.时间问题解决:通过设置实际问题场景,如火车时刻表、学校课程表等,让学生运用所学时间知识解决实际问题,提高学生的逻辑思维能力和问题解决能力。同时,通过小组讨论和分享,培养学生团队合作和Biblioteka 流表达的能力。时钟课程设计

简易时钟课程设计报告

简易时钟课程设计报告

目录一、系统总体方案选择与说明 ............................................................. 错误!未定义书签。

二、设计框图与工作原理 ..................................................................... 错误!未定义书签。

设计框图 ............................................................................................ 错误!未定义书签。

工作原理 ............................................................................................ 错误!未定义书签。

三、各单元硬件设计说明及计算方法 ................................................. 错误!未定义书签。

四、软件设计与说明 ............................................................................. 错误!未定义书签。

程序设计流程图 ................................................................................ 错误!未定义书签。

程序设计步骤 .................................................................................... 错误!未定义书签。

延时程序......................................................................................... 错误!未定义书签。

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

目录一、系统总体方案选择与说明 (1)二、设计框图与工作原理 (2)2.1设计框图 (2)2.2工作原理 (2)三、各单元硬件设计说明及计算方法35四、软件设计与说明 ............................................................................................................4.1程序设计流程图 (5)4.2程序设计步骤 (6)4.2.1延时程序 (6)4.2.2主程序的设计 (7)4.2.3中断服务程序的设计 (7)4.2.4显示控制子程序的设计 (7)4.2.5按键控制程序的设计 (7)五、调试结果及说明 (8)5.1软件调试 (8)5.2硬件调试 (9)六、各元件的使用说明 (10)6.1AT89C51 芯片 (10)6.2数码管 (10)6.3按键 (10)七、总结 (11)12八、参考文献 ......................................................................................................................九、附录 (13)13附录 A ...............................................................................................................................附录 B (14)系统总体方案选择与说明单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试 3 个过程。

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

基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。

从而,使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。

另外,程序较为简洁,具有可靠性和较好的可读性。

针对要实现的功能,拟采用AT89C51 单片机进行设计, AT89C51 单片机是一款低功耗,高性能 CMOS8 位单片机,片内含 4KB 在线可编程(ISP)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准 MCS- 51 指令系统及 80C51 引脚结构 [7] 。

这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为显示程序、调时显示运用、时钟和跑表切换程序这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。

这是前期准备工作。

本设计中我们采用的硬件是自己焊的单片机开发板,首先要先确认该板能够完成下载功能在开始编程;第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和段选电路等。

第三部分是软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。

第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。

第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。

第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。

在下载到硬件中时确认程序的关键管脚与硬件电路一致。

设计框图与工作原理1、设计框图(如图一):熟悉硬件了解各引脚功能分块设计各部分电路完成整体电路图将分块的电路组合认真学习单片机汇编语言确定编程结构和思路综合各程序完成整体程序编辑各个程序模块调试程序,进行修改用 Proteus 画出电路图对仿真中出现的问题进行改正画出仿真图进行仿真仿真成功焊接单片机开发板软硬件结合,完成任务书验证硬件电路要求对设计进行总结和分析成功图一工作原理:在整个系统中首先要做的是将要实现功能的软件程序编写好,在程序编写好以后对其进行仿真调试,直到仿真结果和所需结果一致;其次要做的就是焊接出硬件即单片机开发板,在焊接好的开发板中对开发板进行检测看其是否能工作;在开发板能工作后,将软件程序下载到硬件开发板的芯片中,进行调试直到硬件中所示的结果和自己设计所需的结果一致。

各单元硬件设计说明及计算方法这部分介绍各模块电路的硬件设计方法和成果,主要分为:输入部分、输出部分、复位。

对于输入部分有时钟和跑表功能切换键,有对时钟的时、分、秒进行调整的按键;而输出部分则是电路的显示部分,将 AT89C51 的输出与数码管连接起来就构成了该硬件电路的显示部分。

对于硬件个元件的来源,我们先把单片机开发板焊接好,在焊接的过程中初步的了解一下开发板的内部结构以及各元件之间的关系,以便于在后续的下载连线工作中能够正确的、快速的连接好线,以便下载,焊接好开发板后,接下来就是测试开发的好坏,好的话就完成了硬件的设计,坏的话就将其原因查出重新焊接直到开发板能够下载程序,为后续的下载做好准备。

下面分别来介绍一下各个部分。

输入部分:在电子钟的输入部分,设置相应的置数功能,通过外部设备的输入,如按键,实现时间的修改。

在选用输入端口时,将P1 引脚与按键相连进行输入。

设计的输入部分如图二:图二输出部分:在电子钟的输出部分,与数码管相连显示出时、分、秒,在显示中其数字的输出在 P0 口,数码管有共阳和共阴之分,根据自己的软件程序的编写来选择不同的数码管和数码管的个数,以及正确的连接数码管的驱动电路。

设计的输出部分如图三:图三硬件的计算是简单的计算,其要计算需要多少个数码管来显示,以及多少个开关来控制该电路,本硬件电路需要五个按键来控制对于时、分、秒的调整以及时钟和跑表的切换功能和复位键,对于数码管则只需要六个来分别显示时时:分分:秒秒或分分:秒秒:毫秒毫秒。

软件设计与说明程序设计流程图(如图四):初始化显示无按键判断按键按键 3按键 1按键2调时调分调秒显示所调时间显示所调时间显示所调时间调整时限到或其他输入跑表显示分显示秒显示毫秒结束图四结合电路,程序的总体思路分析:1、点复位键(即单片机的系统复位键)后,进行时钟时间显示,从0 时 0分 0 秒开始。

2、按下 SECOND 键时进行校时,当 SECOND 键按下 1 次对秒位进行调时,此时按下 1 次对秒位加 1;3、当 MINUTE 键按下 1 次时对分位进行调整 ,此时按下 1 次对分位加 1;4、当 HOUR 键按下 1 次时对时进行调整 ,此时按下 1 次久对时位加1;5、当 xuanze 键按下时,系统将切换到跑表功能,数码管显示分分:秒秒:毫秒毫秒。

在程序设计时,尽量改进算法,算法的改进可以使相对误差减小,或者可以使占用空间减小。

另外,分块的设计思想要贯穿始终,整个程序较为繁杂,某些程序段会反复用到,因此采取的方法是写出多个程序段,通过跳转指令进行调用。

程序设计步骤:在程序设计过程中,我遇到了很多困难,这部分也是让我学到很多东西的地方。

首先,我学习了定时器的相关知识,计数器的使用是很重要的组成部分,在这个设计中选择计数器 T0。

T0 的工作方式有:方式 1:16 位计数器,常用方式 2:自动重装初值的8 位定时 /计数器方式 3:T0 相当于两个独立的8 位定时 /计数器此程序采用方式 1,方式 1 的定时时间 t 为 t=(216-M)*12/fosc 。

其中 M 为定时器初值, fosc 为 12MHz ,若 M 为 0 则 t=65536*12/2*106=65.536ms。

因此可取 10ms 为计时单位,初值 M 应为( 216-M ) *2*10 -6=10*10-3。

M=55536=1101100011110000B=0D8F0H。

即定时器初值为 TH0=0D8H ,TL0=0F0H 。

定时器中断 100 次为一秒,这部分在中断程序中用到。

其次,我参看了文献中的设计思路,做到胸有成竹后再进行具体的程序书写工作。

认真学习了教科书中关于汇编语言编程的问题,熟悉了汇编语言的编程方法和语法习惯。

第三步就是进行具体的程序编写工作。

1、延时程序在动态扫描时,必然用到延迟程序,这里使用延迟 1ms 的程序,用它来消除抖动,在判断按键是否按下是也用到延时程序,来消除抖动,因此这个延时程序是来优化该程序的。

2、主程序的设计主程序的主要功能是进行定时器 T0 的初始化,并启动 T0,然后通过反复调用显示子程序,等待 10ms 定时中断的到来,器流程图如图五所示:主程序中是用来控制全局的,当有中断时则转向中断服务程序,中断服务程序执行完后又回到主程序中,等待下一次的中断来临,这样就形成了一个循环,知道系统暂停和复位。

3、中断服务程序的设计中断服务程序中,总体思路是:由于初值是 D8F0H ,所以装满定时器需要 10ms 的时间,从而 100 次中断为一秒,一秒之后,判断是否到60秒,若不到则秒加一,然后返回,若到,则秒赋值为 0,分加一,依次类推。

4、显示控制子程序的设计在显示子程序中所要显示的是当为时钟时显示时、分、秒,当为跑表时显示分、秒、毫秒,所以在显示模块中需要一条转至语句,通过按键来分别选择所需显示的方向。

设置 T0 为方式 1设中断次数为100清计时单元开中断启动 T0调用显示子程序图五5、按键控制程序的设计在按键控制程序中,首先要判断按键是否按下,若按下则执行按键按下所要执行的语句,若没按下则继续判断按键是否按下,对于按键还得需要消抖程序,使得按键更准确。

调试结果及说明软件调试:程序编写完成后需要对程序进行编译和调试,在编译过程中刚开始很大可能都有错误,因为这么多的程序很有可能自己的粗心而导致语句有错误,经过反复的编译和调试,程序才真正的正确,在程序调试完成后,需生成后缀名为 .HEX 文件,该文件是用来仿真加载到 AT89C51 芯片上的,在仿真过程中也遇到了很多的问题,比如说仿真结果和所需的不一致,这就得改程序,还有仿真时数码管没有显示,这又可能是仿真电路有问题,总之在软件调试过程中问题是很多的,我们得一一的解决。

仿真结果如图六所示:R6R510k10kC1U1U21nF19A0A02 39 B0 18X1XTAL1P0.0/AD0 3 A017 C2A1 A1 38 B1A2 P0.1/AD1 4 A1 16CRYSTALA2 37 B2 A3 P0.2/AD25 A215 18A3 36 B3 XTAL2P0.3/AD3 6 A3 14A4 A4 35 B4 1nFA5 P0.4/AD4 7 A4 13 A5 34 B5 A6 P0.5/AD5 8 A5 12A6 33 B69A7P0.6/AD6 9 A6 11A7 32 B7RSTP0.7/AD7 A719 21P2.0/A8 1 CEP2.1/A9 22AB/BAP2.2/A10 232974LS245PSENP2.3/A113025 R1 R2 R3 R4ALEP2.4/A12 3126EAP2.5/A1310k10k 10k 10kP2.6/A14 27P2.7/A1528SECOND1 P1.0 P3.0/RXD 10MINUTE 2 11P1.1 P3.1/TXD312 HOUR4 P1.2 P3.2/INT0 13P1.3 P3.3/INT1514SW16 P1.4 P3.4/T0 15P1.5 P3.5/T1 7 16P1.6 P3.6/WRSW-SPST817P1.7P3.7/RDAT89C51图六结果说明:图中所示从左至右数码管显示的是时、分、秒,图中左下角有四个按键,分别用来调整时、分、秒和时钟和跑表的选择。

相关文档
最新文档