基于单片机的时钟控制器设计课程设计报告论文.docx

上传人:b****2 文档编号:18637009 上传时间:2023-08-24 格式:DOCX 页数:24 大小:290.45KB
下载 相关 举报
基于单片机的时钟控制器设计课程设计报告论文.docx_第1页
第1页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第2页
第2页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第3页
第3页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第4页
第4页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第5页
第5页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第6页
第6页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第7页
第7页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第8页
第8页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第9页
第9页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第10页
第10页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第11页
第11页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第12页
第12页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第13页
第13页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第14页
第14页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第15页
第15页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第16页
第16页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第17页
第17页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第18页
第18页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第19页
第19页 / 共24页
基于单片机的时钟控制器设计课程设计报告论文.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的时钟控制器设计课程设计报告论文.docx

《基于单片机的时钟控制器设计课程设计报告论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的时钟控制器设计课程设计报告论文.docx(24页珍藏版)》请在冰点文库上搜索。

基于单片机的时钟控制器设计课程设计报告论文.docx

基于单片机的时钟控制器设计课程设计报告论文

单片机原理与应用技术课程设计报告

 

基于单片机控制的时钟控制器

 

专业班级:

_电气XX班___

姓  名:

_____XXX_____

时间:

2013/11/25~12/15

指导教师:

XXXXXXX

 

2013年12月11日

基于单片机控制的时钟控制器课程设计任务书

1。

设计目的与要求

设计出一个基于单片机控制的时钟控制器。

通过向单片机输入不同的指令可以实现24小时制时钟的基本显示和连续的调时,调分和调秒的功能,同时又扩展了整点报时功能。

该电路硬件较为简单、计时精度高、可控性好,可以随时调整和设定时间,并且调时间的误差小,操作简单、通用性强。

矚慫润厲钐瘗睞枥庑赖。

(1)基本功能

<1>、显示:

可以显示时、分和秒

<2>、调时功能:

时(0-24)、分和秒(0-60)可以连续可调

(2)性能:

时间日误差<2秒

(3)扩展功能

<1>.增加整点报时功能

<2>.增加闹钟任意设定功能

2.设计内容

(1)画出电路原理图,正确使用逻辑关系;

(2)确定元器件及元件参数;

(3)进行电路模拟仿真;

(4)SCH文件生成与打印输出;

3.编写设计报告

写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩

在规定时间内,完成叙述并回答问题。

 

摘要1

1.引言1

2.设计目的和要求1

3.总体设计方案1

3.1方案设计要求1

3.2方案设计与论证1

3.3整体设计框图2

3.4系统设计流程图2

4.设计原理分析3

4.1外接晶振电路3

4.2复位电路3

4.3数码管显示电路3

4.4键盘控制电路4

4.5Proteus仿真电路4

4.6单片机程序的编写5

4.7电路的检测5

4.8CAD电路的连接及PCB电路布线并做出电路板5

4.9软件与硬件的调试5

5.总结与体会5

6.附录5

6.1CAD电路连接图5

6.2PCB电路布线图6

6.3时钟控制器参考源程序6

7.参考文献13

 

基于单片机控制的时钟控制器

班级:

电气115班姓名:

赵传阳

摘要:

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点。

本次设计的时钟控制器是以单片机(AT89C51)为核心,结合相关的元器件(3个2位共阳数码管,一个发光二极管和一个蜂鸣器)和应用程序(在Proteus软件和KEIL编译软件),构成相应的应用系统。

聞創沟燴鐺險爱氇谴净。

关键词:

单片机AT89C51共阳数码管发光二极管蜂鸣器Proteus软件KEIL编译软件中断残骛楼諍锩瀨濟溆塹籟。

1.引言

随着科技的发展,电子技术得到了飞速的发展,尤其是单片机的应用更为普遍。

单片机的应用已深入众多技术领域,从军事、工业到家庭日常生活,单片机因体积小、功能强、价格低廉而得到广泛应用。

在此基础上,越来越多各式各样的时钟也逐渐走进我们的生活,它们设计精巧、方便、耐用、美观,深得各领域的厚爱。

随着科技的进步,基于单片机控制的时钟控制器的出现则打破了人们对时钟的传统概念,因为数字时钟不仅可以通过数字直观地显示出时间,还可以定时发出各种声、光、电信号,以启动各种设备实现实时控制、时间顺序控制。

该课程设计既有一般时钟的基本显示和调整功能,同时又增加了整点报时功能,复位功能及实时时钟控制功能。

酽锕极額閉镇桧猪訣锥。

2.设计目的与要求

设计出一个基于单片机控制的时钟控制器。

通过向单片机输入不同的指令可以实现24小时制时钟的基本显示和连续的调时,调分和调秒的功能,同时又扩展了整点报时功能。

该电路硬件较为简单、计时精度高、可控性好,可以随时调整和设定时间,并且调时间的误差小,操作简单、通用性强。

彈贸摄尔霁毙攬砖卤庑。

在一个单片机应用系统中,时钟有两方面的含义:

一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。

謀荞抟箧飆鐸怼类蒋薔。

本文主要介绍用单片机为核心部件的时钟控制器,本设计由单片机AT89C51芯片和3个两位一体的共阳极的数码管为核心,辅以必要的电路,构成了一个单片机时钟控制器。

厦礴恳蹒骈時盡继價骚。

基本要求:

1.显示:

可以显示时、分和秒

2.调时功能:

时(0-24)、分和秒(0-60)可以连续可调并进行校准

3.能够完成时间的显示、定时闹钟、整点报时及复位功能

3.总体设计方案

3.1.方案设计要求

设计制作一个时钟控制器,要求能实现基本走时,并以数字形式显示时、分、秒,采用24小时制,能实现校时、校分连续可调、整点报时功能、复位功能以及闹钟任意设定功能。

茕桢广鳓鯡选块网羈泪。

3.2方案设计与论证

方案一:

采用各种纯数字芯片实现数字时钟的设计。

优点:

各个模块功能清晰,电路易于理解实现。

缺点:

各个模块功能已定不能进行智能化调整,整体电路太庞大。

鹅娅尽損鹌惨歷茏鴛賴。

方案二:

采用FPGA模块用硬件语言实现功能。

优点:

运算速度快,走时精度高,算法简单。

缺点:

成本高,大材小用。

籟丛妈羥为贍偾蛏练淨。

方案三:

采用单片机最小系统实现功能。

优点:

电路简单,能通过程序进行随机调整并扩展功能,成本低,易于实现。

缺点:

走时有一定的误差。

預頌圣鉉儐歲龈讶骅籴。

经过综合考虑成本问题以及电路实现问题,选择第三种方案实现设计要求。

3.3整体设计框图

整体设计框图如图1所示:

图1整体设计框图

3.4系统设计流程图

设计流程图如2图所示:

图2系统设计流程图

4.设计原理分析

4.1外接晶振电路

晶振连接电路图如图3,以12MHZ晶振为基准。

图3外接晶振电路连接图

XTAL1、XTAL2:

XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。

晶振的频率可以在1MHz-24MHz内选择,一般选用12MHZ晶振,电容取30PF左右。

渗釤呛俨匀谔鱉调硯錦。

4.2复位电路

常用复位电路图如图4:

图4复位电路连接图

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引:

脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。

铙誅卧泻噦圣骋贶頂廡。

4.3数码管显示电路

二位一体共阳极数码管电路连接图如图5,以PNP三极管为驱动。

图5数码管显示电路连接图

4.4键盘控制电路

键盘控制电路如图6。

图6时钟按键控制电路图

通过S1、S2、S3和S4四个按键,对时间进行修改和闹钟的设置,S0控制闹钟的启动和停止。

按下S4键显示闹钟,松开后显示时间;按下S1键进入时间修改模式,再按S1键时间的时加1,按S3分加1,调整结束后按下S4恢复正常显示;按下S2键进入闹钟修改模式,再按S3键闹钟的时加1,按S3分加1,调整结束后按下S4恢复正常显示。

在按键按下和放开时会出现抖动现象。

通过延时程序,可以进行去抖动设计。

擁締凤袜备訊顎轮烂蔷。

4.5Proteus仿真电路

整体电路连接图如图7:

图7整体电路连接图

4.6单片机程序的编写

用KEIL编译软件进行程序的设计、编译并生成可执行文件。

4.7电路的检测

电路连接完毕后,应用单片机程序烧录工具进行程序烧录,然后单击运行按钮进行仿真,检测电路是否有误。

4.8CAD电路的连接及PCB电路布线并做出电路板

待仿真电路检测无误后,则通过CAD软件进行电路图的连接并对元件进行封装,确定无误后生成PCB图进行电路的布线,之后做出电路板进行元件的焊接。

贓熱俣阃歲匱阊邺镓騷。

4.9软件与硬件的调试

单片机应用系统的调试包括硬件和软件两部分,但是它们并不能完全分开。

一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软件或硬件故障。

坛摶乡囂忏蒌鍥铃氈淚。

软件调试是指用仿真软件进行仿真调试,验证系统的各项功能;硬件调试即软件调试成功后,将程序下载至AT89C51芯片中,用焊接好的电路来进行各项功能的验证与检测。

蜡變黲癟報伥铉锚鈰赘。

需要特别注意的是软件调试与硬件调试的差异,软件调试只是初步的估测,硬件的调试才是最真实的。

5总结与体会

经过三周的实习设计,我设计的时钟控制器实现了它最基本功能,三个星期的紧张实习,让我获益非浅,更加熟练的掌握了Proteus软件、KEIL软件及CAD软件的应用,使我看到了自己专业知识的浅薄与不足。

通过本次的课程设计,我对单片机这门课程有了更深的了解,单片机课程设计则是人生课程,我学到了很多课堂上无法学到的东西,懂得了学习的不容易,在以后的学习中我会更加努力的去学习和研究,以取得更好的成绩。

買鲷鴯譖昙膚遙闫撷凄。

6.附录

6.1CAD电路连线图如图8。

图8CAD电路连接图

6.2PCB电路布线图如图9。

图9PCB布线电路图(注:

未连线的端口用外接线连接)

6.3时钟控制器参考源程序

使用keil软件编写源程序

ORG0000H

LJMPSTART

ORG000BH

LJMPTIME

;********初始化*********

START:

MOVSP,#50H

MOV20H,#00H;定义秒

MOV21H,#00H;定义分

MOV22H,#00H;定义时

MOV23H,#01H;定义闹钟分钟

MOV24H,#01H;定义闹钟小时

MOV25H,#00H

MOV26H,#01H

MOV30H,#00H;BCDSECOND

MOV31H,#00H

MOV32H,#00H;BCDMINUTE

MOV33H,#00H

MOV34H,#00H;BCDHOUR

MOV35H,#00H

MOV36H,#01H

MOV37H,#00H

MOV38H,#01H

MOV39H,#00H

MOV50H,#00H;按键次数

MOVTMOD,#01H;16位计数器

MOVTH0,#03CH;赋初值

MOVTL0,#0B0H

MOVIE,#87H;中断允许

SETBTR0;启动T0

MOVR2,#14H

MOVP2,#0FFH

;*********主程序**********

MAIN:

JBP1.4,GB

LCALLTIMEPRO;调用闹钟判断

GB:

LCALLDISPLAY1;调用时间显示

JBP1.3,M1;P1.3=1时转移S4没有按下

LCALLSETTIME;调用SETTIME调时子程序

LJMPMAIN

M1:

JBP1.2,M2;P1g.2=1时转移   S3綾镝鯛駕櫬鹕踪韦辚糴。

LCALLSETATIME;调用SETATIME子程序

LJMPMAIN

M2:

JBP1.0,M4;P1.0=1时转移S1

LCALLLOOKATIME;调用LOOKATIME显示闹钟子程序

M4:

LJMPMAIN

;*********延时子程序********

DELAY:

MOVR4,#030H

DL00:

MOVR5,#0FFH

DL11:

MOVR6,#9H

DL12:

DJNZR6,DL12

DJNZR5,DL11

DJNZR4,DL00

RET

;***********时间调整*******

SETTIME:

;设置时间

L0:

LCALLDISPLAY1

MM1:

JBP1.3,L1;P1.3=1时转移

MOVC,P1.3

JCMM1

LCALLDELAY1;延时

JCMM1

MSTOP1:

MOVC,P1.3;P1.3为0时转移

JNCMSTOP1

LCALLDELAY1;延时

MOVA,50H

INC50H

CJNEA,#00H,HJ1

LJMPL0

HJ1:

MOVC,P1.3

JNCMSTOP1

INC22H;小时自加一

MOVA,22H

CJNEA,#18H,GO12;小时计数循环 

MOV22H,#00H;复位

MOV34H,#00H

MOV35H,#00H

LJMPL0

L1:

JBP1.1,L2;P1.1=1时转移

MOVC,P1.1

JCL1

LCALLDELAY1;延时

JCL1

MSTOP2:

MOVC,P1.1;P1.1=0时转移

JNCMSTOP2

LCALLDELAY1;延时

MOVC,P1.1

JNCMSTOP2

INC21H;分钟加一

MOVA,21H

CJNEA,#3CH,GO11;分钟计数循环

MOV21H,#00H;复位

MOV32H,#00H

MOV33H,#00H

LJMPL0

GO11:

MOVB,#0AH

DIVAB

MOV32H,B;将A的低4位存入32单元

MOV33H,A;将A的高4位存入33单元

LJMPL0

GO12:

MOVB,#0AH

DIVAB

MOV34H,B;将A的低4位存入34单元

MOV35H,A;将A的高4位存入35单元

LJMPL0

L2:

JBP1.0,L0;P1.0=1时转移

MOVC,P1.0

JCL2

LCALLDELAY1;延时

MOVC,P1.0

JCL2

STOP1:

MOVC,P1.0;P1.0=0时转移

JNCSTOP1

LCALLDELAY1;延时

MOVC,P1.0

JNCSTOP1

MOV50H,#00H

LJMPMAIN

;*******设置闹钟*******

SETATIME:

LCALLDISPLAY2;调用DISPLAY2显示闹钟

N0:

LCALLDISPLAY2

MM2:

JBP1.2,N1;P1.2=1时转移

MOVC,P1.2

JCMM2

LCALLDELAY1;延时

JCMM2

MSTOP3:

MOVC,P1.2;P1.2=0时转移

JNCMSTOP3

LCALLDELAY1;延时

MOVA,50H

INC50H

CJNEA,#00H,HJ2

LJMPN0

HJ2:

MOVC,P1.2

JNCMSTOP3

INC24H;小时加一

MOVA,24H

CJNEA,#24,GO22;小时计数循环

MOV24H,#00H;复位

MOV38H,#00H

MOV39H,#00H

LJMPN0

N1:

JBP1.1,N2;P1.1=1时转移

MOVC,P1.1

JCN1

LCALLDELAY1;延时

JCN1

MSTOP4:

MOVC,P1.1;P1.1=0时转移

JNCMSTOP4

LCALLDELAY1;延时

MOVC,P1.1

JNCMSTOP4

INC23H;分钟加一

MOVA,23H

CJNEA,#60,GO21;分钟计数循环

MOV23H,#00H;复位

MOV36H,#00H

MOV37H,#00H

LJMPN0

GO21:

MOVB,#0AH

DIVAB

MOV36H,B;将A的低4位存入36单元

MOV37H,A;将A的高4位存入37单元

LJMPN0

GO22:

MOVB,#0AH

DIVAB

MOV38H,B;将A的低4位存入38单元

MOV39H,A;将A的高4位存入39单元

LJMPN0

N2:

JBP1.0,N0;P1.0=1时转移

MOVC,P1.0

JCN2

LCALLDELAY1;延时

MOVC,P1.0

JCN2

STOP2:

MOVC,P1.0

JNCSTOP2

LCALLDELAY1

MOVC,P1.0

JNCSTOP2

MOV50H,#00H

LJMPMAIN

;*******闹钟判断*****************

TIMEPRO:

MOVA,21H

MOVB,23H

CJNEA,B,BK;判断定时闹钟的分钟

MOVA,22H

MOVB,24H

CJNEA,B,BK;判断定时闹钟的小时

SETB25H.0

MOVC,25H.0

LCALLTIMEOUT;调用TIMEOUT

BK:

RET

;**************喇叭报警*****************

TIMEOUT:

X1:

LCALLBZ;调用喇叭响应程序

CLR25H.0;调用喇叭响应程序结束

LCALLDELAY;延时

CLR25H.0

LJMPDISPLAY1

BZ:

MOVC,25H.1

MOVP1.6,C

CLRP1.7

MOVR7,#0FFH;喇叭响应时间

T2:

MOVR6,#0FFH

T3:

DJNZR6,T3

DJNZR7,T2

SETBP1.7

RET

;*************显示闹钟时间************

LOOKATIME:

LCALLDISPLAY2

MM:

JNBP1.0,LOOKATIME

LCALLDELAY1

LJMPMAIN

DELAY1:

MOVR4,#14H;时间延时

DL001:

MOVR5,#0FFH

DL111:

DJNZR5,DL111

DJNZR4,DL001

RET

;***********定时**************

TIME:

PUSHACC;保护现场

PUSHPSW

MOVTH0,#03CH;初值

MOVTL0,#0B0H

DJNZR2,RET0

MOVR2,#14H

MOVA,20H

CPL25H.1

CLRC

INCA;秒自加一

CJNEA,#3CH,GO1;秒计数循环

MOV20H,#0;复位

MOV30H,#0

MOV31H,#0

MOVA,21H

INCA;分钟自加一

CJNEA,#3CH,GO2;分钟计数循环

MOV21H,#0H;复位

MOV32H,#0

MOV33H,#0

MOVA,22H

INCA;小时自加一

CJNEA,#18H,GO3;小时计数循环

MOV22H,#00H;复位

MOV34H,#0

MOV35H,#0

AJMPRET0

GO1:

MOV20H,A

MOVB,#0AH

DIVAB

MOV31H,A;将A的低4位存入31单元

MOV30H,B;将A的高4位存入30单元

AJMPRET0

GO2:

MOV21H,A

MOVB,#0AH

DIVAB

MOV33H,A;将A的低4位存入33单元

MOV32H,B;将A的高4位存入32单元

AJMPRET0

GO3:

MOV22H,A

MOVB,#0AH

DIVAB

MOV35H,A;将A的低4位存入35单元

MOV34H,B;将A的高4位存入34单元

AJMPRET0

RET0:

POPPSW;恢复现场

POPACC

RETI

;********显示子程序**********

DISPLAY1:

MOVR0,#30H

MOVR3,#0FEH

MOVA,R3

PLAY1:

MOVP2,A

MOVA,@R0;取要显示的数据

MOVDPTR,#DSEG1;指向字形段码首地址

MOVCA,@A+DPTR

CJNER0,#34H,PA

ORLA,#80H

PA:

CJNER0,#32H,PB

ORLA,#80H

PB:

CPLA;查表取字形段码

MOVP0,A;指向P0口

LCALLDL1

MOVP2,#0FFH

MOVA,R3;判断是否显示到最低位

RLA;左移一位

JNBACC.6,LD1

INCR0;缓冲器地址加一

MOVR3,A

LJMPPLAY1

LD1:

RET

DISPLAY2:

PUSHACC;保护现场

PUSHPSW

MOVR0,#36H

MOVR3,#0FBH

MOVA,R3

PLAY2:

MOVP2,A

MOVA,@R0;取要显示的数据

MOVDPTR,#DSEG1;指向字形段码首地址

MOVCA,@A+DPTR

CJNER0,#38H,PP

ORLA,#80H

PP:

CPLA;查表取字形段码

MOVP0,A;指向P0口

LCALLDL1;调用DL1

MOVP2,#0FFH

MOVA,R3;判断是否显示到最低位

RLA;左移一位

JNBACC.6,LD2

INCR0;缓冲器地址加一

MOVR3,A

LJMPPLAY2;调用PLAY2

LD2:

POPPSW

POPACC;恢复现场

RET

;******DELAY*******

DL1:

MOVR7,#20H

DL:

MOVR6,#20H

DL6:

DJNZR6,$

DJNZR7,DL

RET

DSEG1:

DB3FH,06H,5BH,4FH,66H;七段码表

DB6DH,7DH,07H,7FH,6FH

END

7.参考文献

[1].王建校,杨建国.51系列单片机及C51程序设计.北京:

科学出版社,2002.

[2].吴金戊,沈庆阳等.8051单片机实践与应用.北京:

清华大学出版社,2002.

[3].李建忠.单片机原理及应用(第二版).西安:

西安电子科技大学出版社,2008.2.

[4].张毅刚.新编MCS-51单片机应用设计(第3版).哈尔滨:

哈尔滨工业大学出版社,2006.10.驅踬髏彦浃绥譎饴憂锦。

[5].李学礼.基于Proteus的8051单片机实例教程.电子工业出版社出版时间,2008.6.猫虿驢绘燈鮒诛髅貺庑。

[6].XX文库:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2