新颖60秒旋转电子钟
⑵ 可通过按键设置闹钟功能,且停闹无须手工操作。
《单片机原理及应用》课程设计实例----余水宝
发挥部分要求 ⑴ 用60只LED发光管旋转显示,模拟“秒针”的行走。 ⑵ 模拟“秒针”行走的“嘀哒”声。 ⑶ 增加室温检测和显示功能(可与时间交替显示)。 ⑷ 增加停(掉)电保护功能。
⑸ 提高计时精度,使年计时误差小于30秒。
⑹ 可通过按键设置一天两闹(比如早晨、中午各一次)。
《单片机原理及应用》课程设计实例----余水宝
选题背景
目前市场上提供的无论是机械钟还是石英钟在晚上无照 明的情况下都是不可见的。要知道当前的时间,必须先开灯, 故较为不便。现在市场上也出现了一些电子钟,它以六只 LED数码管来显示时分秒,违背了人们指针式的传统习惯与 理念,而且这类电子钟一般是采用大型显示器件,适用于银 行、车站等公共场所,且外观设计欠美观,很少进入百姓家 庭。此外,无论是机械钟、石英钟还是电子钟,都存在着共 同的问题:时间误差。针对以上存在的问题,我们设计了一 款采用LED显示器件显示的电子时钟,解决了时钟存在的误 差问题,并能在夜间不必其它照明就能看到时间,且以60只 发光管实现秒显示,接近于传统的秒针来显示秒的形式,用 户容易接受,而且美观大方。另加七只装饰用的LED灯,使 整个时钟显的相当美观新颖,故还可作为室内装饰用。
《单片机原理及应用》课程设计实例
应用案例1
新颖60秒旋转电子钟课程设计
数理与信息工程学院 2006年12月
《单片机原理及应用》课程设计实例----余水宝
任务书
设计一款基于AT89C2051单片机的电子钟。 设计基本要求 ⑴ ⑶ ⑷ ⑸ ⑹ 用4只LED数码管输出显示时和分。 可通过按键设置分校时。 月计时误差小于45秒。 写出详细的设计报告。 给出全部电路和源程序。
《单片机原理及应用》课程设计实例----余水宝 P1口 8位双向I/O口。引脚P1.2~P1.7提供内部上拉,当 作为输入并被外部下拉为低电平时,它们将输出电流,这 是因内部上拉的缘故。P1.0和P1.1需要外部上拉,可用作 片内精确模拟比较器的正向输入(AIN0)和反向输入( AIN1),P1口输出缓冲器能接收20mA的灌电流,并能直 接驱动LED显示器;P1口引脚写入“1” 后,可用作输入 。在闪速编程与编程校验期间,P1口也可接收编码数据。 P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引 脚。P3.6在内部已与片内比较器输出相连,不能作为通用 I/O引脚访问。P3口的输出缓冲器能接收20mA的灌电流; P3口写入“1”后,内部上拉,可用作输入。P3口也可用 作特殊功能口,其功能见表1。P3口同时也可为闪速存储 器编程和编程校验接收控制信号。
表2 各段码位的对应关系
段码位 显示段
D7 dp
D6 g
D5 f
D4 e
D3 d
D2 c
D1 b
D0 a
《单片机原理及应用》课程设计实例----余水宝
表3 LED显示段码
字型 0
1 2 3 4 5 6 7 8
共阳段码 C0H
F9H A4H BOH 99H 92H 82H F8H 80H
共阴段码 3FH
《单片机原理及应用》课程设计实例----余水宝
图9
LED数码管结构原理图
《单片机原理及应用》课程设计实例----余水宝
众所周知,LED显示数码管通常由硬件7段译码集成电路, 完成从数字到显示码的译码驱动。本系统采用软件译码,以减小 体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码 有更大的灵活性。所谓软件译码,即由单片机软件完成从数字到 显示码的转换。从LED数码管结构原理可知,为了显示字符,要 为LED显示数码管提供显示段码,组成一个“8”字形字符的7段, 再加上1个小数点位,共计8段,因此提供给LED数码管的显示段 码为1个字节。各段码位与显示段的对应关系如表2。
为实现对发光二极管的驱动,将每一个译码输出端 口接一只发光二极管,并将二极管串联限流电阻后接地。 当译码端口Q0~Q9中任一端口为高电平,则对应的发光 二极管点亮,如图6所示。
《单片机原理及应用》课程设计实例----余水宝 仔细考查CD4017的功能,可发现其10个输出的高电平 是相互排斥的,即任一时刻只有一只发光二极管点亮,因此 可将图6电路进一步简化为如图7所示,从而简化电路设计。
《单片机原理及应用》课程设计实例----余水宝
图4 CD4017引脚图 图5 CD4017时序图
《单片机原理及应用》课程设计实例----余水宝
CD4017集成电路是十进制计数/时序译码器,共有10 个译码输出Q0~Q9;每个译码输出通常处于低电平,且在 时钟脉冲由低到高的上升沿输出高电平;每个高电平输出 维持1个时钟周期;每输入10个时钟脉冲,输出一个进位脉 冲,因此进位输出信号可作为下一级计数器的时钟信号。 在清零输入端(R)加高电平或正脉冲时,只有输出端Q0 为高电平,其余各输出端均为低电平“0”。
《单片机原理及应用》课程设计实例----余水宝
《单片机原理及应用》课程设计实例----余水宝 2 系统的硬件构成及功能 电子钟的原理框图如图2所示。它由以下几个部件组成: 单片机89C2051、电源、时分显示部件、60秒旋转译码驱动电 路。 时分显示采用动态扫描,以降低对单片机端口数的要求, 同时也降低系统的功耗。时分显示模块、60秒旋转译码驱动电 路以及显示驱动都通过89C2051的I/O口控制。 电源:电源部分有二部分组成。一部分是由220V的市电 通过变压、整流稳压来得到+5V电压,维持系统的正常工作; 另一部分是由3V的电池供电,以保证停电时正常计时。正常情 况下电池是不提供电能的,以保证电池的寿命。具体电路参见 “新颖的60秒旋转电子钟参考电路原理图”。
《单片机原理及应用》课程设计实例----余水宝 根据AT89C2051单片机灌电流能力强,拉电流能力 弱的特点,我们选用共阳数码管。将AT89C2051的P1.0~ P1.7分别与共阳数码管的a~g及dp相连,高电平的位对应 的LED数码管的段暗,低电平的位对应的LED数码管的段亮 ,这样,当P0口输出不同的段码,就可以控制数码管显示 不同的字符。例如:当P0口输出的段码为1100 0000,数码 管显示的字符为0。 数码管显示器有二种工作方式,即静态显示方式和 动态扫描显示方式。为节省端口及降低功耗,本系统采用动 态扫描显示方式。动态扫描显示方式需解决多位LED数码管 的“段控”和“位控”问题,本电路的“段控”(即要显示 的段码的控制)通过P0口实现;而每一位的公共端,即 LED数码管的“位控”,则由P3口控制。
《单片机原理及应用》课程设计实例----余水宝 VCC 电源电压; GND 接地; RST 复位输入。当 RST变为高电平并保持2 个机器周期时,所有I/O 引脚复位至“1”; XTAL1 反向振荡放大 器的输入及内部时钟工 作电路的输入; XTAL2 来自反向振荡 放大器的输出。
图3 AT89C2051引脚配置
06H 5BH 4FH 66H 6DH 7DH 07H 7FH
字型 9
A B C D E F 空白 P
共阳段码 90H
88H 83H C6H A1H 86H 84H FFH 8CH
共阴段码 6FH
77H 7CH 39H 5EH 79H 71H 00H 73H
本表所列各字符的显示段码均为小数点不亮的情况。
2.2
60秒旋转译码驱动原理
按常规传统设计,需60进制译码驱动电路才能实现
60秒旋转译码驱动,若用六片十进制计数译码器构成六
十进制计数译码电路,则电路连线多(需要120根连线
),硬件电路庞大,开销大。为此,我们巧妙地采用了 两片CD4017进行六十进制计数译码,实现60秒旋转译 码驱动。既减少了电路的复杂程度又可降低了成本。图 4为CD4017功能引脚图,图5为其时序图。
《单片机原理及应用》课程设计实例----余水宝 2.3 时分显示部件 由于系统要显示的内容较简单,显示量不多,所以 选用数码管既方便又经济。LED有共阴极和共阳极两种。 如图8所示。 二极管的阴极连接在一起,通常此公共阴极接地, 而共阳极则将发光二极管的阳极连接在一起,接入+5V的 电压。一位显示器由8个发光二极管组成,其中7个发光二 极管构成字型“8”的各个笔划(段)a~g,另一个小数 点为dp发光二极管。当在某段发光二极管施加一定的正向 电压时,该段笔划即亮;不加电压则暗。为了保护各段 LED不被损坏,需外加限流电阻。
《单片机原理及应用》课程设计实例----余水宝
显示驱动
AT89C2051
时间显示(时,分)
电源
60秒旋转译码驱动电路
图2 电子钟系统原理框图
《单片机原理及应用》课程设计实例----余水宝
2.1 AT89C2051单片机及其引脚说明 AT89C2051单片机是51系列单片机的一个成员,是 8051单片机的简化版。内部自带2K字节可编程FLASH存储 器的低电压、高性能COMS八位微处理器,与Intel MCS-51 系列单片机的指令和输出管脚相兼容。由于将多功能八位 CPU和闪速存储器结合在单个芯片中,因此,AT89C2051 构成的单片机系统是具有结构最简单、造价最低廉、效率最 高的微控制系统,省去了外部的RAM、ROM和接口器件, 减少了硬件开销,节省了成本,提高了系统的性价比。 AT89C2051是一个有20个引脚的芯片,引脚配置如图 3所示。与8051相比,AT89C2051减少了两个对外端口(即 P0、P2口),使它最大可能地减少了对外引脚下,因而芯 片尺寸有所减小。AT89C2051芯片的20个引脚功能为:
图6 CD4017控制LED原理图
图7 优化后控制LED原理图
《单片机原理及应用》课程设计实例----余水宝
在本电子钟设计中,每秒点亮一个发光二极管,循环 点亮一周共需60个发光二极管,若用上述的6片CD4017 实现驱动,显然电路复杂。为此我们选用两片CD4017 和一片6反相器,采用“纵横双译码”技术,巧妙地实 现60秒旋转译码驱动,其中一片接成10进制,一片接成 6进制,实现6×10=60的功能,具体连接方法如图8所 示。
旋转LED论文
旋转LED论文毕业设计题目新颖60 秒LED旋转电子钟系别机电系专业班级姓名学号指导教师日期精品设计任务书设计题目新颖60 秒LED旋转电子钟设计要求:1.用单片机设计一个新颖60 秒LED旋转电子钟;2.该电子钟具有停(掉)电保护,年计时误差小于30 秒。
还应具有定闹,整点报时功能。
3.设计完成该功能的硬件电路;4.设计完成上述功能的相应软件;设计进度要求:第一周:了解题目、弄清题目的要求;第二周:查找相关书籍,了解各个元件、软件的使用方法及注意事项;第三周:设计硬件原理图;第四周:设计软件系统;第五周:编写所需程序;第六周:调试程序并纪录相关的数据和错误;第七周:写毕业论文草稿并修改;第八周:毕业答辩。
指导教师(签名):Ⅰ精品摘要现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,与传统的以指针显示秒的方式不同,违背了人们传统的习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。
此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。
针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,有效克服了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60 只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。
另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。
关键词:电子钟,单片机,AT89C51,汇编语言,模块化II 精品目录前言.................................................................... 11 总体方案设计.............................................................. 3 1.1 系统框图.............................................................. 3 1.2 系统功能介绍.......................................................... 3 1.3 计时控制方案.......................................................... 4 1.4 显示控制方案.......................................................... 4 1.5 键盘控制方案.......................................................... 4 1.6 软件总体设计方案...................................................... 52 硬件设计.................................................................. 6 2.1 AT89C2051 单片机的介绍................................................ 6 2.2 AT89C2051 单片机引脚说明.............................................. 6 2.3 单片机硬件资源分配.................................................... 8 2.4 AT89C2051 单片机的附属电路............................................ 8 2.4.1 振荡电路............................................................ 8 2.4.2 复位电路............................................................ 9 2.5 CD4017 的功能......................................................... 9 2.6 CD4069 的功能........................................................ 12 2.7 七段LED显示工作原理................................................. 123 软件设计................................................................. 15 3.1 系统主程序设计....................................................... 15 3.2 定时中断程序设计..................................................... 15 3.3 节电模式程序设计..................................................... 16 3.4 整点报时程序设计..................................................... 17 3.5 误差消除程序设计..................................................... 184 系统调试................................................................. 21 4.1 在伟福中的调试....................................................... 21 4.2 在KEIL 中的调试...................................................... 23 4.3 硬件故障检查......................................................... 25 4.3.1 单片机不工作的硬件检查............................................. 25 4.3.2 数码管显示的问题及解决方法......................................... 25 4.3.3 二极管循环点亮的问题............................................... 255 结论................................................................. 26 Ⅰ精品致谢.................................................................. 27参考文献................................................................... 28附录A 硬件电路板........................................................... 29附录B 硬件原理图.......................................................... 30附录C 材料清单............................................................ 31 II 精品前言现在计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。
DIY基于51单片机的旋转LED数字电子钟
标签:DIY基于51单片机的旋转LED数字电子钟(红外线遥控调时)在网上看到不少老外做的各种旋转LED显示屏,非常COOL,我也动手用洞洞板试做了一个类似的显示屏,结果感觉还不错。
于是再接再励继续努力,将作品进一步改进,完善后制成如今这个样子。
由于刚学51单片机,加上制作电路板软件也是从零开始,的确花了我不少的时间和精力。
不过也就是在这艰难的独立制作中,真正学到了不少实在的东西。
本项目的关键是如何解决高速旋转的电路板如何供电,如何调时的问题。
我采用电机电刷的原理,将旋转轴钻空,通过一只插头将电源的从反面引到前面的电路板上,而这个旋转的插头又与固定在背板上的两个铜片接触的。
调时的问题有些困难,一是让电路板在旋转前与PC机相接,由电脑传送调时数据,这虽然可行但不方便。
还有就是用遥控方法,但此方案在调试方面有很大的困难。
显示方式上,我采用平衡式的两排LED,这除了在旋转时能较好的保持平衡外,主要能利用两边交替显示方式,比单排要快一倍。
本装置不仅是一个时钟,它还可以动态显示汉字及图案,这就看如何发挥了。
其具体制作过程如下:一。
旋转电机的制作从制作成本与方便考虑,选用旧电脑用的大软驱上的直流无刷电机,只是对局部进行改造。
就是这种古董软驱软驱上的直流无刷电机拆开后的电机仔细拆开直流电机,将带圆盘的铝轴从中开孔,让它刚好能插入一个插头。
将旋转轴加工成这样装配好以后按拆开时的顺序,反序将轴安装直流电机上。
电机装配完成后用两片铜片做的电刷电刷装好后的侧面图将电路板上较突出的元件改焊在反面,电机的电源接法。
从电路板标注的符号看,“+”为电源正,“G”为电源负,“C”与“M”端分别与电源正相连匀可使电机运转将一张旧唱片按电机座的位置开孔,而定位用的挡光板应根据电路板上感光组件的位置确定。
二。
电路板的制作本制作品用51单片机控制,具体电原理图如下:用Protel 99设计制作了电路板。
最后得到完成的作品。
遥控器用的是松下车载机的,只用了其中的六个键。
2011新颖60秒LED旋转电子钟实训要求
3红 3 绿、透明
IN4001 IN4148 9012 或 8550 9013 小(尺寸 6×6mm×5.5) 直流,5 V 6M(49S,小体积) 220~240 欧姆,1/4 瓦 5K1~5K6,1/4 瓦 10k~15k,1/4 瓦 100 微法/10 伏 20P~30P
电解电容 瓷片电容 固定脚螺帽 温度传感器 已编程单片机 IC 座 数字集成芯片 数字集成芯片 超高亮数码管 优质铜芯电源线 特制变压器 双面 PCB 线路板 优质铜固定脚
浙江师范大学短学期课程设计------新颖 60 秒 LED 旋转电子钟
新颖 60 秒 LED 旋转电子钟实训要求 第一步 清点器件
1. 器件每人 1 袋,请各位同学对照清单清点器件,并妥善保管,若器件缺项请 立即与实验教师联系,以后丢失很难补全; 2. 集中存放的需集体到实验教师或实验技术人员处领取;
第六步
软件调试
选择一种自己熟悉的编程环境和单片机仿真器,对照样机的功能,逐步编程 调试通过,直到最后基本达到样机的功能。
第七步
课程设计报告
撰写课程设计报告,要求课程设计报告电子文档文件名的取法如下: 10 计算机(专升本)----名字; 08 电子信息工程----名字; 2011 年 6 月 15 日
技术支持:13505793678(663678) 2011 年 6 月
2011 年 6 月
浙江师范大学短学期课程设计------新颖 60 秒 LED 旋转电子钟
第二步
器件检测
所有器件均选择优质器件, 通常无需检测, 唯有变压器可能由于运输等原因, 需在焊接前先检测,否则焊接完成后发现有问题则更麻烦。检测方法是: 1. 选择万用表的电阻档, 用万用表的两表笔测变压器的两引ቤተ መጻሕፍቲ ባይዱ间线圈的电阻值 (注意两引脚外表可能有绝缘油漆, 应小心刮除) , 若约为 10 左右则正确, 若电阻值为无穷大则说明线圈断路(注意 2 引脚外表若有绝缘油漆没刮除, 也可能导致电阻值为无穷大) ; 2. 选择万用表的电阻档, 用万用表的两表笔测变压器的三引脚中的两引脚间线 圈的电阻值(注意中间引脚是悬空的,两引脚外表可能有绝缘油漆,应小心 刮除) ,若约为 2K ~3K 左右则正确,若电阻值为无穷大则说明线圈断路 (注意两引脚外表若有绝缘油漆没刮除,也可能导致电阻值为无穷大) 。
60秒旋转时钟课程设计
60秒旋转时钟课程设计一、课程目标知识目标:1. 学生能理解旋转时钟的基本原理,掌握60秒旋转一周的时间概念。
2. 学生能运用基本的数学知识,如角度、周长和圆的相关概念,解释旋转时钟的运动。
3. 学生能通过旋转时钟的学习,掌握时间单位换算,如分与秒的转换。
技能目标:1. 学生能够设计并制作一个简易的60秒旋转时钟模型,培养动手操作能力和问题解决能力。
2. 学生能够运用旋转时钟进行时间估算,提高观察和推理能力。
情感态度价值观目标:1. 学生培养对时间管理和珍惜时间的意识,增强时间观念。
2. 学生通过小组合作完成旋转时钟的制作,培养团队合作精神和沟通能力。
3. 学生在学习过程中,体验数学与生活的紧密联系,提高对数学学科的兴趣和热爱。
二、教学内容本课程以数学学科四年级下册的“时间和时钟”章节为依据,结合课程目标,组织以下教学内容:1. 旋转时钟的基本原理:通过讲解时钟的指针运动,引导学生理解旋转与时间的关系,掌握60秒旋转一周的概念。
2. 数学知识运用:结合圆的周长、角度等知识,让学生运用数学方法解释旋转时钟的运动规律。
3. 时间单位换算:以旋转时钟为载体,学习分与秒的换算,提高学生的数学应用能力。
4. 制作旋转时钟模型:组织学生分组合作,设计并制作简易的旋转时钟,培养学生的动手操作能力和问题解决能力。
5. 时间估算:运用旋转时钟进行时间估算练习,提高学生的观察和推理能力。
教学内容的安排和进度如下:第一课时:旋转时钟的基本原理及时间单位换算;第二课时:数学知识在旋转时钟中的应用;第三课时:分组制作旋转时钟模型;第四课时:运用旋转时钟进行时间估算练习;教学内容确保科学性和系统性,与教材章节紧密结合,旨在帮助学生扎实掌握旋转时钟相关知识。
三、教学方法本课程将采用以下多样化的教学方法,以激发学生的学习兴趣和主动性,确保教学内容的有效传授:1. 讲授法:教师通过生动的语言和形象的表达,向学生讲解旋转时钟的基本原理、时间单位换算等理论知识,为学生奠定扎实的理论基础。
电子时钟完整版 有实物图
3.6 校时电路……………………………………………………………….14 3.6.1 电路结构及工作原理……………………………………………14 3.6.2 电路仿真…………………………………………………………14 3.6.3 元器件的选择及参数确定………………………………………15
3.7 整点报时电路………………………………………………………….16 4 电路总体仿真………………………………………………………………16 5 电路安装、调试与测试……………………………………………………18
7
图 3.2 由仿真图可知,该电路可以得到 5V 的直流电源,因此可以做为整个系统的电源。
3.1.3 元件的选择
电网供给交流电压(220v 50HZ)经变压器降压后,得到符合电路需要的 交流电压,然后由整流桥经整流后变换成方向不变、大小随时间变化的脉动电流, 然后有滤波电容滤去其中的杂波,并且可以抵消线路的电感效应防止产生自激震 荡,但是这样的直流电压还会随电网和负载的变化而变化,因此在该电路中又使 用了稳压芯片(7805)可以得到比较理想的直流电压,输出端的滤波电容的作用 是用以滤除输出端的高频信号,改善电路的暂态效应。
这里我用 555 定时器构成一个多谐振荡器其产生的频率为 100Hz,然后 经过整形、分频获得 1Hz 的秒脉冲。电路原理图如图 3.3
8
图 3.3 3.2.2 电路仿真结果如下图 3.4
图 3.4 由仿真图可知,产生的波形符合我们的标准,周期大约为 1 秒,大致可以做为秒 脉冲信号。
3.2.3 元件的选择
电子技术综合训练
设计报告
题目:
多功能电子钟的设计
姓名: 学号: 班级: 同组成员: 指导教师: 日期:
杜鹏 10020106 控制工程基地一班 宋峰 杨新华 2012 年 12 月 31 日星期一
探讨在单片机课程中工学结合教学法的改革
探讨在单片机课程中工学结合教学法的改革摘要:单片机技术是当前社会较为流行和热门的技术之一,社会对硬件设计工程师的需求增长相当迅速,该课程的重要性也越来越明显。
本文根据工学结合教学法在单片机课程中应用方式进行分析,探讨教学改革的效果。
关键词:单片机;教学改革;工学结合中图分类号:g71文献标识码:a文章编号:1009-0118(2012)04-0125-02一、单片机技术教学发展概述单片机技术是现代电子工程领域一门迅速发展的技术,应用于各种嵌入式系统中。
单片机技术的发展极大地推动了电子工业的发展,无论在教育界还是在产业界,单片机技术的推广仍然是一个热点。
建立开放式的实验室管理模式单片机实验室应实行开放式管理,在不影响正常实验教学任务的前提下,面向全校学生,在课余时间向学生提供实验所需要的场所、仪器设备等。
开放范围除了实验开放项目、课程设计外,也包括学生兴趣爱好、第二课堂活动、创新活动等。
开放性实验管理模式是在注重知识、能力和素质协调发展的同时,贯彻因材施教、注重个性培养的教学原则,目的是激发学生的学习兴趣和热情。
目前,各个高校都建立了单片机实验室,但是很多学校的实验教学现状却不容乐观。
就我院而言,主要存在以下问题:(一)实验场地和时间不足。
学生除了上实验课外,平时难得有机会实践;(二)以验证性实验为主。
实验室所配备的实验箱只能满足验证性实验的要求。
由于实验箱是成品,学生很难参与到其中的细节设计中去,学生的实践能力很难得到锻炼和提高,学生也很难建立起单片机系统开发的整体概念。
并且,这种实验设备的配置方式局限了实验项目数量,还存在设备维护工作量大的现实问题;(三)由于实验设备仅适用于某一系列的单片机,若开设新的单片机课程,则需要重新配置实验设备,增加了学校的投入。
在实施过程中,要注意实验内容不应与教学计划及教学大纲所规定的实验教学内容相重复,应属于课程教学内容的拓展性实验;还要注意综合性和针对性,强化基础,拓宽知识覆盖面,注重培养知识的综合运用能力。
新颖的60秒旋转电子钟程序
新颖的60秒旋转电子钟新颖60秒旋转电子钟材料清单新颖的60秒旋转电子钟参考电路原理图60秒旋转电子钟部分参考程序清单ALARMHBUFF2 EQU 77H ;闹铃时间的时十位计时绶冲ALARMHBUFF1 EQU 76H ;闹铃时间的时个位计时绶冲ALARMMBUFF2 EQU 75H ;闹铃时间的分十位计时绶冲ALARMMBUFF1 EQU 74H ;闹铃时间的分个位计时绶冲HBUFF2 EQU 73H ;时十位计时绶冲HBUFF1 EQU 72H ;时个位计时绶冲MBUFF2 EQU 71H ;分十位计时绶冲MBUFF1 EQU 70H ;分个位计时绶冲DP EQU 6FH ;控制数码管点的亮暗NUM EQU 78H ;前四秒还是后四秒计数SBUFF EQU 79H ;秒十进制计时绶冲(低四位对应个位,高四位对应十位)MBUFF EQU 7AH ;分十进制计时绶冲HBUFF EQU 7BH ;时十进制计时绶冲ALARMMBUFF EQU 7CH ;闹铃时间的分十进制计时绶冲ALARMHBUFF EQU 7DH ;闹铃时间的时十进制计时绶冲NUMT1 EQU 67H ;用于控制时间调整时按键p3.2一次按下时,计数器T1中断的次数NUMT2 EQU 68H ;用于控制时间调整时按键p3.3一次按下时,计数器T1中断的次数KEYNUMT1 EQU 69H ;用于存储NUMT1已经计数到第几个半秒KEYNUMT2 EQU 6AH ;用于存储NUMT1已经计数到第几个半秒STOREKEYNUMT2 EQU 6BH ;用于存储当前KEYNUMT1的值,以和下次做比较,看是否有变化STOREKEYNUMT1 EQU 6CH ;用于存储当前KEYNUMT2的值,以和下次做比较,看是否有变化ORG 0000HAJMP STARTORG 000BHMOV TH0 , #0BH ;设置计数初值 ,R4用来存储低位的初值MOV TL0 , R4AJMP INTERT0ORG 001BHAJMP INTERT1ORG 0040HSTART: MOV NUMT1 , #00HMOV NUMT2 , #00HMOV KEYNUMT1 , #00HMOV KEYNUMT2 , #00HMOV STOREKEYNUMT2 , #00HMOV STOREKEYNUMT1 , #00HMOV NUM , #8MOV DPTR , #TABMOV ALARMHBUFF , #18H ;置闹铃时间初始值为18:55MOV ALARMMBUFF , #55HMOV ALARMHBUFF2, #01HMOV ALARMHBUFF1, #08HMOV ALARMMBUFF2 , #05HMOV ALARMMBUFF1 , #05HMOV HBUFF2, #01H ;置闹钟时间为18:53MOV HBUFF1, #08HMOV MBUFF2 , #05HMOV MBUFF1 , #03HMOV HBUFF , #18HMOV MBUFF , #53HMOV SBUFF , #3CH ;置初始秒为60,计时时减MOV TCON , #05H ;下降沿触发MOV TMOD , #11H ;初始化定时器,T0 ,T1 16位计时MOV TH0 , #0BH ;设置计数初值,125ms计时MOV TL0 , #0DBHMOV TH1 , #3CH ;T1置初值,进行100ms计时,用于调整时间MOV TL1 , #0B0HMOV IE , #82H ;开T0中断SETB PT0 ;T0中断优先级最高SETB TR0 ;允许T0计数SETB P3.2SETB P3.3START1: MOV A , HBUFF ; 显示时,7点以前及21点以后亮度调暗SUBB A , #7HJC START2MOV A , HBUFFSUBB A , #21HJNC START2ACALL DISPLAYACALL ZDBSAJMP START3START2: ACALL NIGHTDISPLAYSTART3: MOV A ,ALARMHBUFF ;检测是否是定闹时间CJNE A , HBUFF , START4MOV A , ALARMMBUFFCJNE A , MBUFF ,START4MOV C, DP ;若是定闹时间,则利用dp的值来决定蜂鸣 MOV P3.2, CMOV A , SBUFFJNZ START1 ;若还没到1分钟,则继续蜂鸣SETB P3.2START4: JNB P3.2,ADJUSTTIME1 ;循环等待中断,并检测是否键按下,若是,则进入相应程序JNB P3.3,ADJUSTTIME2AJMP START1AJMP START1;****************;*int0中断子程序*;****************ADJUSTTIME1:NOPMOV KEYNUMT1 ,#00HMOV TH1 , #3CH ;T1置初值,进行100ms计时,用于调整时间MOV TL1 , #0B0HSETB ET1 ;开T1中断SETB PT1 ;设T1中断优先级最高SETB TR1 ;允许T1计时MOV STOREKEYNUMT1 , KEYNUMT1 ;存储当前次KEYNUMT1的值TIME1_1:ACALL DISPLAYMOV A , KEYNUMT1CJNE A , STOREKEYNUMT1,TIME1_2 ;若当前KEYNUMT1的值与上一次的值不等,则时间加1分,否则继续循环,等等至半分钟AJMP TIME1_3TIME1_2:MOV STOREKEYNUMT1 , KEYNUMT1 ;加1后存储当前的KEYNUMT1的值ACALL ADDBUFF0 ;分加1TIME1_3:JNB P3.2,TIME1_1 ;若p3.2已关,则退出增时,否则继续循环CLR ET1CLR PT1CLR TR1AJMP START1;********************;*****时间增1分******;********************ADDBUFF0:MOV A , MBUFF ; 若按键小于1s,则分增1ADD A , #1DA AMOV MBUFF , AANL A , #0FHMOV MBUFF1 , AMOV A , MBUFFSWAP AANL A , #0FHMOV MBUFF2 , AMOV A , MBUFFCJNE A , #60H , ADDBUFF1MOV MBUFF , #00HMOV MBUFF2 , #00HMOV MBUFF1 , #00HMOV A , HBUFF ;时增1ADD A , #1DA AMOV HBUFF , AANL A , #0FHMOV HBUFF1 , AMOV A , HBUFFSWAP AANL A , #0FHMOV HBUFF2 , AMOV A , HBUFFCJNE A , #24H , ADDBUFF1 ;若没到24小时,则不必初值置0MOV HBUFF , #00HMOV HBUFF2 , #00HMOV HBUFF1 , #00HADDBUFF1:RET;*********************************;*int1中断子程序******************;*********************************ADJUSTTIME2: NOPACALL DL100MSMOV C , P3.3JC TIME2_6 ;如果(P3.3按键<100ms以上) 则不做处理MOV KEYNUMT2 , #00H ;否则进入定闹设置MOV STOREKEYNUMT2 , KEYNUMT2 ;记录当前NUMT2的数据,以看下次有没改变TIME2_1:NOPMOV TH1 , #3CH ;T1置初值,进行100ms计时,用于调整时间MOV TL1 , #0B0HSETB ET1 ;开T1中断SETB PT1 ;设T1中断优先级最高SETB TR1 ;允许T1计时TIME2_2:ACALL ALARMDISPLAYMOV A , KEYNUMT2CJNE A , STOREKEYNUMT2 ,TIME2_3AJMP TIME2_4TIME2_3: MOV STOREKEYNUMT2 , KEYNUMT2MOV A , ALARMMBUFF ; 若按键小于1s,则分增1ADD A , #1DA AMOV ALARMMBUFF , AANL A , #0FHMOV ALARMMBUFF1 , AMOV A , ALARMMBUFFSWAP AANL A , #0FHMOV ALARMMBUFF2 , AMOV A , ALARMMBUFFCJNE A , #60H , TIME2_4MOV ALARMMBUFF , #00HMOV ALARMMBUFF2 , #00HMOV ALARMMBUFF1 , #00HMOV A , ALARMHBUFF ;时增1ADD A , #1DA AMOV ALARMHBUFF , AANL A , #0FHMOV ALARMHBUFF1 , AMOV A , ALARMHBUFFSWAP AANL A , #0FHMOV ALARMHBUFF2 , AMOV A , ALARMHBUFFCJNE A , #24H , TIME2_4 ;若没到24小时,则初值不必置0MOV ALARMHBUFF , #00HMOV ALARMHBUFF2 , #00HMOV ALARMHBUFF1 , #00HTIME2_4:NOPJNB P3.3,TIME2_2 ;若按键已经未按,则退出循环CLR ET1CLR TR1MOV KEYNUMT2 , #00HMOV NUMT2 , #00HMOV R2 , #10 ; 直到p3.3 20s钟内都是未按,此时复原数据,即退出设置TIME2_7:MOV R1 , #200TIME2_5:ACALL ALARMDISPLAYACALL DL1MSJNB P3.3 , TIME2_1DJNZ R1 , TIME2_5DJNZ R2 , TIME2_7TIME2_6:CLR ET1CLR PT1CLR TR1LJMP START1;***********************************;**T1中断子程序*********************;***********************************INTERT1:NOPMOV TH1 , #3CH ;T1置初值,进行100ms计时,用于调整时间MOV TL1 , #0B0HPUSH ACCPUSH PSWCLR ET0CLR ET1 ;关T1中断MOV A , NUMT1INC AMOV NUMT1 , A ;中断一次则相应的增加NUMT1CJNE A , #5 , INTERT1NEXT ;每中断五次,即半秒,都增加KEYNUMT1MOV A ,KEYNUMT1INC AMOV KEYNUMT1 , AMOV NUMT1 , #00H ;NUMT1已经是5了,则处理过KEYNUMT1后,重置NUMT1 INTERT1NEXT:NOPMOV A , NUMT2 ;中断一次则相应的增加NUMT1INC AMOV NUMT2 , ACJNE A, #5,ENDINTERT1 ;每中断五次,即半秒,都增加KEYNUMT1MOV A , KEYNUMT2INC AMOV KEYNUMT2 , AMOV NUMT2 , #00H ;NUMT1已经是5了,则处理过KEYNUMT1后,重置NUMT1 ENDINTERT1: SETB ET1SETB ET0POP ACCPOP PSWRETI;**************;** 整点报时 **;**************ZDBS: MOV A , MBUFF ;在整点时,响半秒 JNZ ZDBSENDMOV A , SBUFFCJNE A , #3CH , ZDBSENDCLR P3.2ACALL DL0FIVESETB P3.2ZDBSEND:RET;**************;**定闹显示子程序**;**************ALARMDISPLAY: MOV P1 ,#0FFH ;使时的十位亮 MOV A , ALARMHBUFF2MOVC A , @A+DPTRSETB ACC.7MOV P1 , ACLR P3.0ACALL DL1MSSETB P3.0MOV A , ALARMHBUFF1 ;使时的个位亮 MOVC A , @A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.1ACALL DL1MSSETB P3.1MOV A ,ALARMMBUFF2 ;使分的十位亮MOVC A , @A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.4ACALL DL1MSSETB P3.4MOV A , ALARMMBUFF1 ;使时的个位亮MOVC A , @A+DPTRSETB ACC.7MOV P1,ACLR P3.5ACALL DL1MSSETB P3.5RET;********************************;**晚上显示子程序****************;******************************** ;降低显示的占空比,数码管进入节能NIGHTDISPLAY: NOPMOV P1 ,#0FFHMOV A , HBUFF2MOVC A , @A+DPTRSETB ACC.7MOV P1 , ACLR P3.0ACALL DL1MS ;亮1msSETB P3.0ACALL DL1MSACALL DL1MS ;暗2msMOV A , HBUFF1MOVC A , @A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.1ACALL DL1MSSETB P3.1ACALL DL1MSACALL DL1MSMOV A ,MBUFF2MOVC A , @A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.4ACALL DL1MSSETB P3.4ACALL DL1MSACALL DL1MSMOV A , MBUFF1MOVC A , @A+DPTRSETB ACC.7MOV P1,ACLR P3.5ACALL DL1MSSETB P3.5ACALL DL1MSACALL DL1MSRET;**************;**显示子程序**;**************DISPLAY: MOV P1 ,#0FFHMOV A , HBUFF2MOVC A , @A+DPTRSETB ACC.7MOV P1 , ACLR P3.0ACALL DL1MSSETB P3.0MOV A , HBUFF1MOVC A , @A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.1ACALL DL1MSSETB P3.1MOV A ,MBUFF2MOVC A , @A+DPTRMOV C , DPMOV ACC.7 , CMOV P1 , ACLR P3.4ACALL DL1MSSETB P3.4MOV A , MBUFF1MOVC A , @A+DPTRSETB ACC.7MOV P1,ACLR P3.5ACALL DL1MSSETB P3.5RETTAB: DB 88H,0BBH,94H,91H,0A3H ; 0 1 2 3 4 DB 0C1H,0C0H,9BH,80H,81H ; 5 6 7 8 9;**************;***延时程序***;**************DL1MS: MOV R6 , #20 ;延时1msDL11: MOV R7 , #25DL12: DJNZ R7 , DL12DJNZ R6 , DL11RETDL100MS:MOV R6 , #200 ;延时100msDL100MS1:MOV R7 , #250DL100MS2:DJNZ R7 , DL100MS2DJNZ R6 , DL100MS1RETDL11S: MOV R5 , #10DL1S0: MOV R6 , #200 ;延时1s 10*250*200DL1S1: MOV R7 , #250DL1S2: DJNZ R7 , DL1S2DJNZ R6 , DL1S1DJNZ R5 , DL1S0RETDL0FIVE:MOV R5 , #5DL0: MOV R6 , #100 ;延时0.5sDL1: MOV R7 , #250DL2: DJNZ R7 , DL2DJNZ R6 , DL1DJNZ R5 , DL0RET;**************;*T0中断子程序*;**************INTERT0:PUSH ACCPUSH PSWCLR ET0 ;关T0中断MOV A , SBUFFCJNE A ,#028H, SET1MOV R4 , #0DCH ;后四十秒的初值SET1: DJNZ NUM , ENDINTT0 ;若还没到1s,则退出该次中断 MOV NUM , #8 ;设置NUM初值CPL DPDJNZ SBUFF , ENDINTT0 ; 若还没到60s,则退出该次中断MOV SBUFF , #03CHMOV R4 , #0DBH ;前20秒的初值ACALL ADDBUFF0ENDINTT0: MOV A , NUMCJNE A , #04H , ENDT0OUT ;0.5秒的时候dp取反 CPL DPENDT0OUT:POP PSWPOP ACCSETB ET0RETIEND。
纯手工打造摇摆LED时钟
纯手工打造摇摆LED时钟来源:网友推荐作者:周正华字号:[大中小]看到市场上正在流行的时尚商品——摇摆LED 时钟,感觉非常新颖独特,正在玩单片机的我,激起了自己也想DIY 一个的冲动。
不就是一个流水灯吗?有什么难的?!于是,一个单片机项目就这样开始了。
然而动手以后才知道问题并非想象那样简单,因没有任何现成的资料,机械的、电子的和编程的问题一大堆,一个一个需要自己来解决。
经历二十多天的苦战和无数次的修改与调试,作品终于完成,基本达到预先要求。
现将制作资料整理出来,与广大DIY 爱好者分享。
一. 整体方案本制作是根据视觉暂留原理, 让一排8 只LED作往复运动, 在空中呈现八个字符的显示屏,可显示数字或英文字符。
开机后先显示“Welcome!”欢迎字符(见图1), 再进入时钟显示状态。
显示屏同时显示“时” 、“分” 、“秒”信息,用“:”分隔(见图2)。
图1 开机画面图2 运行状态显示分“正常运行”、“调分”和“调时” 三种状态。
当处于调整状态时,调整的项会闪现,以便识别。
为此,设置三个调整按键,一个为“状态键”,一个为“加法键”,一个为“减法键”。
(见图3)图3 按键的设置图4 音圈电机组件摇棒的动力部分采用从废旧硬盘拆下的音圈电机(见图4),驱动采用直流电机驱动方式。
结构方面,将音圈电机直接安装在万用板上,将万用板的四周用四根螺柱与一透明有机板结合成一体,构成支撑摇棒底座。
(见图5, 图6)。
图5 万用板与有机板构成底座图6 底座侧面二. 实作要点1.主板的结构布局见图7。
图7 主板布局图8 摇棒上的LED2.LED 的焊接,将LED 两脚跨接在电路板两端的方式进行焊接。
使LED 紧密排列在一起。
3.摇棒上的LED 与主板上的信号用柔性排线连接,音圈电机供电占2 位,LED 信号传输占9 位,所以至少要11 位的排线。
(见图9)图9 排线与拉簧图10 拉簧4.为保持摇棒的平衡, 在摇棒接近旋转轴的两端加装两只拉簧,这两只拉簧的规格尽量保持一致,弹性强弱要适中,最好可多找几种规格的试试。
数字电子钟
引言数字电子钟是采用数字电路实现对时,分,秒数字显示的计时装置。
数字钟是人们生活中不可少的用品,随处可见,如车站,码头,剧院,办公室等公众场合,可以说给人们的生活,工作,娱乐带来不少方便,又因为数字集成电路的发展采用了先进的石英技术,使数字钟具有走时准确,性能稳定,携带方便等优点。
虽然现在市场上又现成的数字钟集成电路芯片卖,但这里所写的自制电子钟可以满足一些特殊需要,列如可以随意设置时,分,秒的输出,改变显示数字的大小等。
又因为现在科技使得集成电路技术发展迅速,尤其是中规模集成电路技术的发展,使电子钟变得更加体积小,省电,计时准确,因此,在这里设计制作一个数字电子钟有着一定的意义,同时也兼顾了我们在学校所学的数字电路知识。
关键词:数字电子钟走时准确设计制作目录述论一.数字电路基本组成框图二.组成部分及各部分作用2.1 单元电路2.1.1 振荡电路2.1.2 时分秒显示电路2.1.3 译码显示电路2.1. 4 校时电路2.2 进制电路2.3 基本逻辑门电路三.电子钟触发器四.脉冲信号的产生五.调试六.结论七.参考文献述论多功能数字电子钟是由晶体振荡器、计数器、译码和数码显示电路、校时电路等组成。
该电子钟可以满足使用者的一些特殊要求,输出方式灵活,如可以随意设置时、分、秒的输出,改变显示数字的大小等等。
并且由于集成电路技术的发展,特别是MOS集成电路技术的发展,使数字电子钟具有体积小、耗电省、计时准确、性能稳定、维护方便等优点。
此次设计运用了学院中所学的数电、模电等知识,利用元器件等工作原理,制成了具有校时功能的数字电子钟。
电路主要采用中规模CMOS集成电路.本系统的设计电路由脉冲逻辑电路模块、时钟脉冲模块、电源模块、时钟译码显示电路模块、校时模块等部分组成。
采用电池作电源,采用低功耗的CMOS芯片及液晶显示器,有效的解决了功耗问题,能更好地为人们的生活带来便利。
一数字电子钟的基本组成框图二组成部分及各部分作用数字钟是一个将‚时‛、‚分‛、‚秒’’显示于人的视觉器官的计时装置。
60s旋转时钟课程设计
60s旋转时钟课程设计一、课程目标知识目标:1. 学生能理解时钟的基本构造和旋转原理,掌握60秒旋转一周的时钟运行规律。
2. 学生能够运用所学知识,解释时钟指针运动与时间变化之间的关系。
3. 学生理解时钟的时间单位(时、分、秒)及其换算关系。
技能目标:1. 学生通过制作简易的60秒旋转时钟模型,提高动手操作能力和问题解决能力。
2. 学生能够运用数学知识,进行时钟指针角度的计算。
3. 学生通过小组合作,培养沟通协调能力和团队合作精神。
情感态度价值观目标:1. 学生培养对时间观念的重视,养成珍惜时间的好习惯。
2. 学生在探索时钟旋转原理的过程中,激发对数学和科学的好奇心和求知欲。
3. 学生通过学习时钟的制作,体会工匠精神,培养精益求精的态度。
课程性质:本课程为综合实践活动课程,结合数学、科学和工艺制作等多学科内容。
学生特点:五年级学生具有一定的数学基础、动手能力和合作意识。
教学要求:注重理论与实践相结合,鼓励学生动手实践、自主探索和合作交流,提高学生的综合素养。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 介绍时钟的基本结构,包括时针、分针、秒针的构造及其功能。
2. 讲解时钟的旋转原理,重点阐述秒针60秒旋转一周的运行规律。
3. 结合数学知识,引导学生学习时钟指针角度的计算方法。
4. 利用教材相关章节,组织学生进行时钟时间单位换算的练习。
5. 开展实践活动,指导学生制作简易的60秒旋转时钟模型。
6. 通过小组合作,让学生在实践中探索和解决时钟制作过程中遇到的问题。
7. 结合工艺制作课程,教授学生使用工具和材料,培养动手操作能力。
教学内容安排和进度:第一课时:介绍时钟的基本结构,学习旋转原理。
第二课时:学习时钟指针角度计算,进行时间单位换算练习。
第三课时:实践活动,制作简易60秒旋转时钟模型。
第四课时:小组合作,解决时钟制作过程中的问题,总结经验。
教学内容关联教材章节:数学:《角的度量》、《时间单位换算》科学:《简单机械》工艺制作:《模型设计与制作》教学内容确保科学性和系统性,注重理论与实践相结合,提高学生的综合运用能力。
