数字电子时钟课题设计.docx
- 文档编号:11160585
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:20
- 大小:318.78KB
数字电子时钟课题设计.docx
《数字电子时钟课题设计.docx》由会员分享,可在线阅读,更多相关《数字电子时钟课题设计.docx(20页珍藏版)》请在冰豆网上搜索。
数字电子时钟课题设计
多功能电子时钟的设计
一、设计题目
本系统采用单片机AT89C51控制,以AT89C51为核心,它完成整个系统的信息处理及协调功能,本次设计我们选用ATMEL公司的AT89C51芯片,其功能强大,兼容性好,还支持软件选择的空间和掉电两种节电方式。
本设计的软件,硬件都采用模块化的设计方法,提高了设计的效率。
本次设计通过对一个实现定时、时钟显示、报时、闹钟、无线电控制等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。
系统由AT89C51、LED数码管、按键、三极管、74LS47、74LS138、VD5026、VD5027、电阻等组成。
能实现时钟时、分、秒的显示。
也具有时间设置、闹铃开和关设置、制式切换、无线控制。
文章后附有电路图、程序清单。
二、设计要求
单片机控制系统是整个控制系统的核心,它完成整个系统的信息处理及协调功能。
本次我们选用ATMEL公司的AT89C51芯片;其功能强大,兼容性好。
AT89C51是与8051兼容的CHMOS微控制器。
与CHMOS工艺的8051一样,支持软件选择的空闲和掉电两种节电方式。
在AT89C51的P2.0—P2.3是数码管的段选;P2.4—P2.6是数码管的位选。
P1.0和P1.1是发光二极管。
是显示制式切换后的工作制式.P1.2是蜂鸣器,作闹铃和准点报时用。
P0.0—P0.7是按键的判断输入口,是对时间调整\闹铃时间设置,和其他功能的区分。
三、设计的作用以及目的
该课题主要有两种方案:
一种是用数字电路通过硬件实现,另一种是用单片机通过软件编程实现。
在以上两种方案中:
第一种是直接采用的是数字电路,但是在外围电路和控制比较麻烦,需要比较多的器件来控制;第二种是采用软件来实现一些特定功能,硬件电路只需要一些显示部件和控制部件,其他的都是由软件来实现。
第一种一切都由硬件实现,几乎没有软件编程,但电路复杂、芯片多、后续制板及硬件调试麻烦而且成本高;第二种虽电路简单、芯片少、成本低,但编写程序相当复杂。
经过一番利弊的权衡及对今后电子业发展趋势的考量,最后敲定用单片机方案实现。
另外用单片机实现本设计也有两种可选的子方案:
第一种,用软件编程实现设计中的钟控功能;另一种则选用单片机加时钟芯片实现钟控功能。
在本次主要的是时间的设计,因此对时间的精度要求是比较高的,竟量是误差减少到最小值,但是为了更好的练习复习自己在以前所学习的编程能力,所以不采用单片机加时钟芯片的方案,直接用软件编程实现钟控功能。
总的来看,单片机已成为工控领域、尖端武器、日常生活中最广泛使用的计算机,且将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格方向发展,因此敲定用单片机加软编程方案符合今后电子业发展趋势;另外运用此方案既能将自己以前学过的模拟电路、数字电路、单片机、汇编语言、Protel99等知识结合实践进行一次全面的检测,又能为将来实际制作电路积累宝贵的经验。
四、元器件清单
表4-1元器件清单表
器件
数量/规格
单面覆铜板
1块
AT89C51单片机
1块
74LS47
1块
74LS138
2块
74LS148
1只
VD5026
1只
VB5027
1只
共阳数码管
8只
9012三极管
8只
按钮开关
18只
蜂鸣器
1只
电阻
10k,4.7k,100,8.2k,100k,200k
发光二极管LED
2只
电容器
10uf(1只),30pf(2只)
晶振
12M(1只)
接插件
8口(4副),2口(2副)
底座
6只
语音芯片
1只
芯片
6块
五、硬件和软件设计
5-1系统框图
5.1、硬件设计
5.1.1控制部分:
AT89C2051单片机
AT89C51单片机概述:
AT89C51单片机是国Atmel公司生产的采用高性能的静态89C2051设计,是一个低电压,高性能CHMOS8位单片机,片内含4kbytes的可反复擦写的只读Flash程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。
AT89C51是一个功能强大的单片机,但它只有40个引脚,32个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。
此外,由于器件采用了动态设计,可提供很宽的操作频率范围(频率0HZ~24MHZ)。
即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。
省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。
图5-2AT89C51时钟电路连接
在本设计中AT89C51的时钟电路采用内部时钟方式,此方式是在XTAL1和XTAL2两端跨接晶体或陶瓷谐振器。
在本设计中XTAL1和XTAL2两端跨接12MHz晶体振荡器,其发出的脉冲直接送入内部时钟电路。
本设计采用按键手动复位的按键电平复位 。
图5-389C2051外部复位电路设计
AT89C51在本设计中的I/O口应用:
AT89C51的P2.0~P2.3控制7448译码实现数码管段选;AT89C51的P2.4~P2.6控制74LS138实现数码管位选;AT89C51的P1.1P1.1控制AMPM显示;AT89C51的P1.2控制蜂鸣器实现闹钟的闹铃;AT89C51的P0连接按钮,用于输入校时、定时信号和停止信号。
5.1.2数码管显示部分
本设计中所涉及数码管皆采用共阴数码管,显示电路为动态扫描式显示。
图5-4数码管及显示电路选择
数码管显示位选:
AT89C51的P2.4~P2.6输出控制数码管位选,在本次设计的电路中,因为是使用的是共阴数码管,因此由AT89C51的P2.4~P2.6的输出控制74LS138,使之输出相应的端口为低电平,控制数码管点亮。
74ls138芯片简介:
图5-574LS138芯片
74ls138芯片是由非门,与门和与非门组成的3线—8线译码器,由A1,A2,A3三个端口输入的不同的信号,经过译码,输出端口输出相应的二进制数字。
现将输入与输出的对应关系图表示如下:
图5-6译码真值表
图5-7数码管位选原理
数码管段选AT89C51的P2.0~P2.3控制7448译码实现数码管段选,在本次设计的电路中,由于二级管使用的是共阴数码管,在输出的是要高电平。
在设计的时候,怕在芯片输出的电流信号过大,因此在输出的时候加了限流电阻,为保护数码管,防止烧坏。
图5-8数码管段选原理
5.1.3发光二极管电路
在本次设计电路之中,由于在内存的不足,因此在闹钟的秒脉冲有发光二极管来显示,当过一秒起点亮一次,由P1.1口输出,在其内部无上拉电阻,因此在其外部另接了10K上拉电阻,能够在起输出高电平的时候快速执行。
图5-9发光二极管
5.1.4闹钟设计
当设计的时间到达的时候,要驱动蜂鸣器,使其能够响起,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的高电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。
5.1.5按钮与开关部分
S1按钮:
秒加1键;S2按扭:
分加1键;S3按扭:
时加1键;S4按扭:
制式转换键;S5按扭:
闹钟停止键;S6按扭:
闹钟调整时间开关;S7按扭:
设置时间开关;S8按扭:
闹钟开关。
图5-10按键电路原理
5.1.6发射模块
八个按钮通过编码送入VD5026芯片,经过发射模块315M发射。
图5-11发射模块
5.1.7接收模块
通过接收模块接收,经74LS138解码送到VD5027,送到单片机的PO口进行控制。
图5-12接收模块
图5-13PCB图
5.2、软件设计
5.2.1程序原理概述
在程序设计这一环节,本次将其分为时钟中断程序、时钟显示程序、键盘程序、闹钟定时控制程序、闹钟响闹程序、音乐响闹程序、主程序、各程序衔接程序。
在以下几节中将根据实际各个部分的编程及调试顺序,依次介绍各程序的设计思想和流程。
5.2.2总的设计思想
在本次主要是使用的是数字闹钟,因此主要部分是数字钟的实现,因此要实现这样的功能必须要在硬件的电路上实现数字钟的实现,然后在此基础上逐步实现其他的功能,
数字电子钟的程序大概可以分为三个部分:
时钟主程序、时钟显示程序、时钟中断程序。
时钟主程就是对时钟的各个模块的实现。
时钟显示程序是将秒显示用发光二极管显示,每一秒点亮一次;将分个位、分十位、时个位、时十位数据存储单元的计时数据通过设置段选和位选、由74LS47段选译码,最后显示在相应的数码管上。
时钟中断程序则通过重设计时、1秒计时与时钟程序相结合实现秒个位、秒十位、分个位、分十位、时个位、时十位数据存储单元的数据按计时规则加1进位和清零,以配合时钟显示程序实现数字电子钟。
在实现数字电子钟的基础上,逐一添加调试键盘程序、闹钟定时程序,闹钟音乐程序,最后实现设计目标。
键盘程序就是通过软件扫描各按键状态来实现各按钮的功能。
5.2.3程序流程图
图5-14主代码流程框图
图5-15计时模块代码流程图
六、调试
在绘制好PCB以后,就用腐蚀液将不需要的铜泊进行腐蚀和打孔,然后用万用表检查线路的好坏,在进行腐蚀的时候,由于在腐蚀的时候是人工的,而且在用镊子摇PCB板的时候,将需要的线路给划伤,所以就被腐蚀液给腐蚀了,将无法复原,因此就必须在腐蚀完后用电烙铁将线路补好,再使用万用表检查以消除电路的短路与断路
七、心得体会
任何一个作品都不可能是完美的,这个作品也一样。
按照人类的习惯,电子钟的时和分之间,分和秒之间都应该有“:
”此符号,但在此设计中却没有达到这一点(要解决这个问题只需要将第三个和第五个LED数码管倒一下就行了);这个数字钟显示的亮暗度是无法调解的(需要在软件设计中加入一个分支程序);在位选和段选用的是独立连接式键盘,如果换作矩阵式键盘,可以使得接口线更加的节省,从而可以连接更加丰富的功能。
基于以上的不足,根据余老师在上课时的讲解,我虽然知道该在方面对其进行修改,但是具体实现起来还是有点困难的,我现在也终于明白了余老师的那句话——只要动手就能学到东西。
俗话说“好的开始是成功的一半”。
说起课程设计,我认为最重要的就是做好设计的预习,选一个自己有兴趣的题目。
其次,对老师的要求要一丝不苟的去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。
最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。
在学习态度方面,自从进入大学以后在这一方面我从不认为自己是懒惰的,但这次课程设计使我对学习态度有了重新的认识——勤奋不等于好结果,只有科学的方法加上汗水才能出成品啊!
对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工科专业的大学生,要求具备的首要素质绝对应该是严谨。
我们这次实习所遇到的多半问题多数都是由于我们不够严谨。
其次在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的——当考试结束,开始课程设计的时候,我有一种莫名的火气,天哪!
这可怎么办,时间这么紧,任务这么重,怎么可能完成!
可是生气归生气,课程设计还得在规定的时间内完成!
当我完成的时候,我简直不敢相信……
在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。
通过题目选择和设计电路的过程中,加强了我思考问题的完整性。
在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。
还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。
并且我们熟练掌握了有关器件的性能及测试方法。
再次感谢老师的严格要求而给了我这样一个机会,以此不仅培养了我书写论文的能力,更重要的是培养了我在面对需要重大紧急问题时的能力,课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。
八、参考文献
[1]商俊平,于洋,陈亮.基于SM8958C25的多接口复费率用电控制器设计[J].自动化技术与应用,2007
[2」杨金岩,郑应强,张振仁.8051单片机数据传输接口扩展技术与应用实例[M].第一版.北京:
人民邮电出版社,2005
[3]钟睿.单片机原理及应用开发技术[M].北京航空航天大学出版社,2001
[4]方大千.实用电子控制电路[M].北京:
国防工业出版社,2003
[5」廖日坤.cpld/fpga嵌入式应用开发技术白金手册[M].第一版,中国电力出版社,2005
[6]吴金戎,沈庆阳等,《8051单片机实践与应用》,清华大学出版社,2001
[7]
[8]夏路易,石宗义,《电路原理图与电路板设计教程》北京希望电子工业出版2002
[9]丁元杰、吴大伟.《单片微机实题集与实验指导书》[M].机械工业出版社,2004.P124~125.
[10]8051单片机实践与应用吴金戎.清华大学出版社.2001
附录一
附录二
k0bitp0.0
k1bitp0.1
k2bitp0.2
k3bitp0.3
k4bitp0.4
k5bitp0.5
k6bitp0.6
k7bitp0.7
xiaoshidata2ah
fengzhongdata2bh
miaodata2ch
org0000h
jmpstart
org000bh
jmptim0
start:
movsp,#70h;设置堆栈在70H
mov28h,#00;显示寄存器初值为12H
mov2ah,#12h
mov2bh,#00
mov2ch,#00
movtmod,#00000001b
movth0,#high(65536-4000)
movtl0,#low(65536-4000)
movie,#10000010b
movr4,#250
setbtr0
loop:
jbp0.0,n2
calldelay
mova,2ch
adda,#01h
daa
mov2ch,a
cjnea,#60h,n1
mov2ch,#00
n1:
jnbp0.0,$
calldelay
n2:
jbp0.1,n4
calldelay
mova,2bh
adda,#01h
daa
mov2bh,a
cjnea,#60h,n3
mov2bh,#00
n3:
jnbp0.1,$
calldelay
n4:
jbp0.2,loop
calldelay
mova,2ah
adda,#01
daa
mov2ah,a
cjnea,#24h,n5
mov2ah,#00
n5:
jnbp0.2,$
calldelay
jmploop
tim0:
movth0,#high(65536-4000)
movtl0,#low(65536-4000)
pushacc
pushpsw
djnzr4,x2
movr4,#250
callclock
calldisp
x2:
callsaomiao
poppsw
popacc
reti
saomiao:
movr0,#28h
inc@r0
cjne@r0,#6,x3
mov@r0,#0
x3:
mova,@r0
adda,#20h
movr1,a
mova,@r0
swapa
orla,@r1
movp2,a
ret
clock:
mova,2ch
adda,#1
daa
mov2ch,a
cjnea,#60h,x4
mov2ch,#00
mova,2bh
adda,#1
daa
mov2bh,a
cjnea,#60h,x4
mov2bh,#00
mova,2ah
adda,#1
daa
mov2ah,a
cjnea,#24h,x4
mov2ah,#00
x4:
ret
disp:
movr1,#20h
mova,2ch
movb,#10h
divab
mov@r1,b
incr1
mov@r1,a
incr1
mova,2bh
movb,#10h
divab
mov@r1,b
incr1
mov@r1,a
incr1
mova,2ah
movb,#10h
divab
mov@r1,b
incr1
mov@r1,a
ret
delay:
movr6,#60
d1:
movr7,#248
djnzr7,$
djnzr6,d1
ret
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子 时钟 课题 设计