单片机电子时钟设计.docx
- 文档编号:28208855
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:20
- 大小:106.42KB
单片机电子时钟设计.docx
《单片机电子时钟设计.docx》由会员分享,可在线阅读,更多相关《单片机电子时钟设计.docx(20页珍藏版)》请在冰豆网上搜索。
单片机电子时钟设计
武汉软件工程职业学院
2020级毕业设计
课落款称单片机电子时钟设计
学生姓名奚贵兵
学号
班级通信0801班
指导教师祝勋
光电子与通信工程系
完成时刻:
2020年4月11日
摘要………………………………………………………………………………3
一、前言………………………………………………………………………………3
二、电子时钟设计思路………………………………………………………4
设计的实施方案………………………………………………………………4
设计步骤论述…………………………………………………………………4
三、电路设计………………………………………………………………………5
电子时钟电路图……………………………………………………………5
模块设计………………………………………………………………………6
电源部份…………………………………………………………………6
复位部份…………………………………………………………………6
操纵部份…………………………………………………………………7
集成数码管………………………………………………………………7
四、元器件的选取与检测……………………………………………………9
元器件清单……………………………………………………………………9
元器件的检测…………………………………………………………………9
二极管…………………………………………………………………9
三极管…………………………………………………………………9
五、程序设计………………………………………………………………………10
程序……………………………………………………………………………10
单片机电子时钟设计
[摘要]
单片机又称单片微操纵器,它自20世纪70年代问世以来,就以其极高的性能价钱比,倍受人们的重视和关注,应用普遍、进展迅速。
因为单片机具有体积小、重量轻、功耗低、操纵功能强、抗干扰能力强、扩展灵活、价钱低廉、靠得住性高、利用方便等优势,因此取得了普遍的应用,在我国,最先利用单片机是在1982年,现在单片机已被应用于家用电器、办公自动化、航空航天、智能仪表、工业测控、电子产品、机电一体化、医用设备、专用设备的智能化治理和进程操纵等几乎各个领域,电子时钟确实是其典型的代表。
通过这次简易的电子时钟设计,进一步把握了如何利用接口电路进行硬件系统的设计,如何进行软件的设计,同时增强了学习爱好及动手能力。
在报告中,详细地记叙了整个设计进程的各个环节,其中的不足欢迎教师指出或给予更好的建议
关键词:
单片机电子时钟操纵
一、前言
时刻与咱们每一个人都有超级紧密的关系,每一个人都受到时刻的阻碍。
为了更好的利用咱们自己的时刻,咱们必需对时刻有一个气宇,因此产生了钟表。
钟表的进展是超级迅速的,从刚开始的机械式钟表到此刻普遍用到的数字式钟表. 即便此刻钟表千奇百怪,可是它们都只是完成一种功能——计时功能,只是工作原理不同而易。
在今世忙碌的工作与生活中,时刻与咱们每一个人息息相关.在一个单片机应用系统中,时钟有两个方面的含义:
一是指为保障系统正常工作的基础振荡按时信号,要紧由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定不时钟,即定不时刻,它通常有两中实现方式:
一是用专门的时钟芯片实现,在对时刻精度要求很高的情形下,通常采纳这种方式;二是用软件实现,即用单片机内部的可编程按时计数器来实现的,对时刻精度要求不高。
本文要紧介绍用单片机内部的按时计数器来实现电子时钟显示的方式,设计由单片机AT89C52芯片和四位一体数码管(LED)为核心,加上必要的电路,组成一个简易的电子时钟。
二、电子时钟设计思路
设计的实施方案
单片机中最重要的是四个P口,即P0、P一、P二、P3,咱们能够依照电路所要实现的功能,在硬件设计部份来选择P口的链接方式;软件部份就需要用到单片机编程,也确实是咱们熟知的汇编语言,利用Medwin等软件编写电路所要实现的功能及状态。
在本次电子时钟设计中,用到的是AT89C52单片机,用其来操纵四个集成的数码管,使数码管显示日、月、时、分,而且能够通过操纵键来进行时刻和日期的调整。
先是硬件部份,利用Protel软件画出硬件图,在PCB电路板上连接好各器件,检查并确信电路是不是正常,再是软件部份,依照硬件图,写出程序,其中要专门注意P口的连接,软件调试无误后,用USB接口将程序拷进单片机内,观看数码管是不是显示正常,通过操纵键检查其是不是有调时的功能。
设计步骤论述
一、电子时钟电路的搭建、所需元器件和电路板的焊接与检测。
二、常态下,LED显示的是时刻,当按下菜单键第一进入调整时刻,再按下菜单键进入日期调整,有两个开关用来调整,再按菜单键恢复显时,菜单键每按下一次,发光二极管就两一次,当日期显示开关按下时,LED显示日期,发光二极管一直亮,当按键抬起,LED恢复显时,二极管熄灭。
3、四个按键别离操纵菜单的选择、时刻和日期的调整、和时刻和日期的切换。
数据与代码转换,从—口输出位选码,即别离与数码管的com一、com二、com3、com4相连;从P0口输出段选码,即与数码管的a、b、c、d、e、f、g、dp脚相,利用到来操纵四个数码管的显示,—连接四个操纵键。
4、com一、com二、com3、com4别离接三极管的发射极,三极管的基极各接一个的电阻后再别离于—相连,三极管的集电极都接电源。
五、计时功能的实现与中断效劳程序,时刻的运行依托按时中断子程序对时钟单元数值进位调整来实现的。
按时计数器T0打开后,进入计时,满60秒后即为1分钟,分钟单位进位,60分钟到了后,时钟单元进位,24小时满后,天单元进位,如此依照进率,取得月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送到LED中显示出来,实现时钟计时功能。
六、用Medwin编写程序,拷入单片机观看LED是不是显示正常,不正常那么修改程序。
三、电路设计
电子时钟电路图
图3-1-1
模块设计
电源部份
如以下图3-2-1,从外部输入+5V的交流电,为单片机提供电源。
图3-2-1
复位部份
单片机复位有两种大体方式,即上电复位和按键复位,本次设计用的是按键复位(如图3-2-2),通过接通按钮开关,使单片机进入复位状态。
本次设计中单片机复位后显示0000。
图3-2-2
操纵部份
为了减少寄生电容,保证振荡器稳固靠得住地工作,在安装、焊接时钟电路时,晶振C一、电容C2和C3应尽可能地安装在单片机XTAL1和XTAL2引脚的周围。
如以下图3-2-3所示。
图3-2-3
集成数码管
以下图3-2-4为四位一体数码管的实物图,是将四个数码管集成在一路,其中四个数码管的a、b、c、d、e、f、g、dp别离集成在一路,利用各操纵端com一、com二、com3、com4(图3-1-5中别离为一、二、3、4脚)来操纵其工作,12个脚的散布图如以下图3-1-5。
图3-2-4
图3-2-5
图3-2-6
图3-2-6是四位一体数码管与三极管之间的连接图,因为本次设计用到的是共阳极的数码管和NPN型的三极管,因此三极管的发射极与数码管的操纵端相连,基极与电阻相连,集电极与电源相连。
A一、A二、A3、A4置高电平数码管才点亮。
四、元器件的选取与检测
元器件清单
一、AT89C52单片机(1块)。
二、四位一体集成数码管(1个),用来显示时刻和日期。
3、NPN型三极管(4个),别离与四个数码管的操纵脚相连。
4、电阻(9个),其中四个与三极管基极相连,四个做开关的上拉电阻,
一个用来复位。
五、1K电阻(1个),与发光二极管串联。
六、12M的晶体振荡器(1个)。
7、10uF的极限电容(1个)。
8、22pF的电容(2个),其作用是快速起振、稳固振荡频率、微调振荡频率。
九、开关(5个),四个用来调时,一个用来复位。
元器件的检测
二极管
在焊接电路板之前先得检测元器件的好坏,以下为二极管的检测方式:
将万用表的红表笔和黑表笔别离接在二极管的两个电极,假设测得的电阻值很小,那么黑表笔所接的电极为二极管的正极,红表笔所接的电极为二极管的负极。
假设测得的电阻值专门大那么相反。
三极管
将数字万用表的黑(红)表笔接到某个假定基极的引脚上,用红(黑)表笔前后接到其余两个引脚上,若是两次测得的电阻值都专门大(或都很小),即PN结反偏(或正偏)那么可确信假定基极是正确的,若是两次测得的阻值一大一小,那么可确信假定基极不是基极,从头假定另一个引脚为基极,重复上述测试,当基极确信后,将黑表笔接基极,红表笔别离接其他两个电极,假设两次测得的电阻值都较小,三极管为NPN型,然后再基极与假定集电极自检接一个100K的电阻,黑表笔接假定集电极,红表笔接假定发射极,测得一电阻值,将假定的集电极与假定的发射极对调,又测得一电阻值,比较两值的大小,可确信电阻值较小的那一次的假定是正确的,因为电阻值小,说明通过万用表的电流大,三极管处于放大状态,即知足发射结正偏,集电极结反偏。
五、程序设计
程序
电子时钟程序如下:
BZBIT01H;秒钟闪点操纵位
SET1BIT;菜单操纵位
SET2BIT;调分钟和日
SET3BIT;调小时和月
SET4BIT;时刻和日期的转换键
COM1BIT;数码管操纵位
COM2BIT
COM3BIT
COM4BIT
SECONDEQU29H
MINUTEEQU30H
HOUREQU31H
DAYEQU32H
MONTHEQU33H
TCNTEQU34H
MENUEQU35H
ORG0000H;程序入口地址
LJMPSTART;跳转到主程序
ORG000BH;按时计数器T0的入口地址
LJMPLOOP1
START:
MOVDPTR,#TABLE
MOVSECOND,#0;初始化
MOVMINUTE,#0
MOVHOUR,#0
MOVDAY,#0
MOVMONTH,#0
MOVTCNT,#0
MOVMENU,#0
MOVTMOD,#01H;选用按时计数器T0,第一种工作方式
MOVTH0,#3CH;按时50ms
MOVTL0,#0B0H
MOVIE,#82H;开中断
SETBTR0;开按时计数器
;************************************************************
;判定是不是有按键按下,是哪个按键按下
L1:
LCALLDISPLAY;调历时刻显示
SETB;将置1,灭灯
JNBSET1,K1;判定SET1是不是按下
JNBSET4,K2;判定SET2是不是按下
LJMPL1
K2:
CLR;将清零,将灯点亮
LCALLLOOP:
挪用日期的显示
JNBSET4,K2
SETB
LJMPL1
K1:
LCALLDELAY;挪用延时子程序
JBSET1,L1
INCMENU;将MENU加1
L101:
JBSET1,L11;去抖动
LCALLDISPLAY
LJMPL101
L11:
MOVA,MENU
CJNEA,#01,A1;判定按键按下的次数
LJMPL2
A1:
CJNEA,#02,A2
LJMPL3
A2:
MOVMENU,#0
LJMPL1
;**********************************************************
;分钟和小时的调整
L2:
CLR
LCALLDISPLAY;调历时刻显示
LCALLDELAY;挪用延时子程序
JNBSET1,K1
JBSET2,k3
SJMPD1
k3:
JBSET3,L2
SJMPD2
D1:
LCALLDISPLAY
LCALLDELAY
JBSET2,L2
INCMINUTE;SET2按下一次,分钟就加1
MOVA,MINUTE
CJNEA,#60,L22;判定分钟是不是到60
INCHOUR;小时加1
MOVMINUTE,#0
MOVSECOND,#0
L22:
LCALLDISPLAY
JNBSET2,L22
LJMPL2
D2:
LCALLDISPLAY
LCALLDELAY
JBSET3,L2
INCHOUR;SET3按下一次,小时加1
MOVA,HOUR
CJNEA,#24,L21;判定小时是不是到24
MOVHOUR,#0
L21:
LCALLDISPLAY
JNBSET3,L21
LJMPL2
;************************************************************
;日和月的调整
L3:
CLR
LCALLLOOP;挪用日期的显示
LCALLDELAY;挪用延时
JNBSET1,K101;判定开关是不是按下
JBSET2,K4
LJMPD3
K101:
LJMPK1
K4:
JBSET3,L3
SJMPD4
D3:
LCALLLOOP
LCALLDELAY
JBSET2,L3
INCDAY;天数加1
MOVA,DAY
CJNEA,#31,L32;判定天数是不是到31
INCMONTH
MOVDAY,#0;月份加1
LJMPL32
L32:
LCALLLOOP
JNBSET2,L32
LJMPL3
D4:
LCALLLOOP;挪用日期的显示
LCALLDELAY;挪用延时
JBSET3,L3
INCMONTH;月份加1
MOVA,MONTH
CJNEA,#13,L31;判定月份是不是到13
MOVMONTH,#1;12月事后显示1月
L31:
LCALLLOOP
JNBSET3,L31
LJMPL3
;**************************************************************
;按时计数器中断效劳,对秒、分钟、小时的计数
LOOP1:
MOVTH0,#3CH
MOVTL0,#0B0H
INCTCNT
MOVA,TCNT
CJNEA,#20,RETUNE;计时1s
CPLBZ;秒点的闪烁,1秒闪一次
INCSECOND;秒钟加1
MOVTCNT,#0
MOVA,SECOND
CJNEA,#60,RETUNE;判定秒钟是不是到60秒
INCMINUTE;分钟加1
MOVSECOND,#0
MOVA,MINUTE
CJNEA,#60,RETUNE;判定分钟是不是到60
INCHOUR;小时加1
MOVMINUTE,#0
MOVA,HOUR
CJNEA,#24,RETUNE;判定小时是不是到24
INCDAY;天数加1
MOVHOUR,#0;满一天,时分秒都清零
MOVMINUTE,#0
MOVSECOND,#0
MOVTCNT,#0
MOVA,DAY
CJNEA,#32,RETUNE;判定天数是不是到32
INCMONTH;月份加1
MOVDAY,#1
MOVA,MONTH
CJNEA,#13,RETUNE;判定月是不是到13
MOVMONTH,#1;满12月后回到1月
RETUNE:
RETI;中断返回
;**********************************************************
;显示操纵子程序,时刻的显示
DISPLAY:
MOVA,MINUTE;显示分钟
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVP0,A;显示分钟的十位
SETBCOM2;点亮第2个数码管
LCALLDELAY
CLRCOM2
MOVA,B
MOVCA,@A+DPTR
MOVP0,A;显示分钟的个位
SETBCOM1;点亮第1个数码管
LCALLDELAY
CLRCOM1
MOVA,HOUR;显示小时
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVP0,A;显示小时的十位
SETBCOM4;点亮第4个数码管
LCALLDELAY
CLRCOM4
MOVA,B
MOVCA,@A+DPTR
MOVP0,A;显示小时的个位
SETBCOM3;点亮第3个数码管
JBBZ,S1
CLR;秒点的闪烁
S1:
LCALLDELAY
SETB
CLRCOM3
RET;返回主程序
;************************************************************
;日期的显示
LOOP:
MOVA,DAY;显示日
MOVB,#10
DIVAB
MOVCA,@A+DPTR
SETBCOM2;点亮第2个数码管
MOVP0,A;显示日的十位
LCALLDELAY
CLRCOM2
MOVA,B
MOVCA,@A+DPTR
SETBCOM1;点亮第1个数码管
MOVP0,A;显示日的个位
LCALLDELAY
CLRCOM1
MOVA,MONTH;显示月
MOVB,#10
DIVAB
MOVCA,@A+DPTR
SETBCOM4;点亮第4个数码管
MOVP0,A;显示月的十位
LCALLDELAY
CLRCOM4
MOVA,B
MOVCA,@A+DPTR
SETBCOM3;点亮第3个数码管
MOVP0,A;显示月的个位
LCALLDELAY
CLRCOM3
RET;返回主程序
;************************************************************
;延时子程序
DELAY:
MOVR6,#10
D5:
MOVR7,#250
DJNZR7,$
DJNZR6,D5
RET
;************************************************************
;共阳数码管的字形显示编码
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
武汉软件工程职业学院毕业设计成绩鉴定表
姓名
奚贵兵
系部
光电子与通信工程系
专业
通信技术
班级
通信0801班
设计课题
单片机电子时钟设计
指导教师
祝勋
设
计
思
想
摘
要
单片机具有体积小、重量轻、功耗低、控制功能强、抗干扰能力强、扩展灵活、价格低廉、可靠性高、使用方便等优点,单片机已被应用于家用电器、办公自动化、航空航天、智能仪表、工业测控、电子产品、机电一体化、医用设备、专用设备的智能化管理以及过程控制等几乎各个领域,电子时钟就是其典型的代表。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能。
所以一个最简单的电路也要包括硬件和软件两个部分。
通过这次简易的电子时钟设计,进一步掌握了如何利用接口电路进行硬件系统的设计,如何进行软件的设计,同时增强了学习兴趣及动手能力。
在报告中,详细地记述了整个设计过程的各个环节,其中的不足欢迎老师指出或给予更好的建议。
设
计
鉴
定
设计鉴定意见:
设计鉴定等级:
指导教师签名:
答辩指导小组评定等级:
指导小组组长签名:
系盖章:
年月日
附:
1.毕业设计说明书(篇幅不得低于2000字);
2.设计作品及相关材料。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子 时钟 设计