片单机原理与应用电子时钟设计.docx

上传人:b****5 文档编号:28011670 上传时间:2023-07-07 格式:DOCX 页数:23 大小:122.54KB
下载 相关 举报
片单机原理与应用电子时钟设计.docx_第1页
第1页 / 共23页
片单机原理与应用电子时钟设计.docx_第2页
第2页 / 共23页
片单机原理与应用电子时钟设计.docx_第3页
第3页 / 共23页
片单机原理与应用电子时钟设计.docx_第4页
第4页 / 共23页
片单机原理与应用电子时钟设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

片单机原理与应用电子时钟设计.docx

《片单机原理与应用电子时钟设计.docx》由会员分享,可在线阅读,更多相关《片单机原理与应用电子时钟设计.docx(23页珍藏版)》请在冰豆网上搜索。

片单机原理与应用电子时钟设计.docx

片单机原理与应用电子时钟设计

课程设计

课程名称单片机原理与应用

课题名称电子时钟设计

专业

班级

学号

姓名

指导教师_

2013年6月21日

设计内容与设计要求

一、设计内容:

本课题以单片机为核心,利用其定时器和6位数码管,设计一个电子时钟。

要求有以下功能:

1、开机时,显示00:

00:

00的时间开始计时;

2、要求有秒,分,时的调节。

3、具有复位功能。

二、设计要求:

1)确定系统设计方案;

2)进行系统的硬件设计;

3)完成必要的参数计算与元器件选择;

4)完成应用程序设计;

5)进行单元电路及应用程序的调试;

6)写出使用说明书

主要设计条件

1、MCS-51单片机实验操作台1台;

2、PC机及单片机调试软件;

3、单片机应用系统板1套;

4、制作工具1套;

5、系统设计所需的元器件。

说明书格式

1.课程设计任务书

2.目录

3.说明书内容

1)课题的设计要求、目的、意义

2)系统总体方案选择与说明

3)系统结构框图与工作原理

4)各单元硬件设计说明及计算方法

5)软件设计与说明(包括流程图)

6)调试结果与必要的调试说明

7)使用说明

8)程序清单

9)总结

10)参考文献

附录

附录A系统原理图

附录B程序清单

进度安排

设计时间为两周

第一周

星期一、上午:

布置课题任务,讲课及课题介绍

下午:

借阅有关资料,总体方案讨论

星期二、确定总体设计方案

星期三、硬件模块方案设计

星期四、软件模块方案设计

星期五、各硬件模块设计

第二周

星期一、各硬件模块设计

星期二、各软件模块设计

星期三、各软件模块设计

星期四、写说明书

星期五、上午:

写说明书,整理资料

下午:

交设计资料,答辩

参考文献

[1]王迎旭编.《单片机原理与应用》[M].机械工业出版社,2003

[2]李军,刘君华编.《AVR单片机的特点及其应用》[J].测控技术,2002

[3]黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社,2004

[4]刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社,2003

[5]李慧编.《基于FPGA的电子万年历设计》[J].微计算机信息,2010

摘要

单片计算机即单片微型计算机。

由RAM,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。

本设计主要设计了一个基于AT89C51单片机的电子时钟。

并在数码管上显示相应的时间。

并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。

应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。

该方法仿真效果真实、准63确,节省了硬件资源。

关键字:

单片机;子时钟;键盘控制。

第1章概述

1.1单片机简介

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。

从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。

1.2单片机的特点

(1)高集成度,体积小,高可靠性

单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。

芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。

单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。

(2)控制功能强

为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:

分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。

(3)低电压,低功耗,便于生产便携式产品

为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。

(4)易扩展

片内具有计算机正常运行所必需的部件。

芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。

(5)优异的性能价格比

单片机的性能极高。

为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。

单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。

由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。

第2章系统方案总体设计

2.1系统方案设定

本设计用STC89C52单片机为核心,其功能主要有软件来实现,以及独立键盘加LED数码管显示,所以降低了硬件电路的复杂性,也相应的降低了其成本。

根据设计要求,总电路分为键盘接口电路、复位电路、LED显示电路、三个部分。

其中键盘接口电路采用独立键盘,分别实现对时钟,分钟,秒钟的加一功能。

时钟电路,在本系统中采用单片机定时功能实现时钟计时;复位电路中给给RST引脚连续输入2个机器周期(即24个时钟振荡周期)以上高电平,就可完成初始化操作;显示电路采用8段6位LED显示管显示时间,其中前两位显示小时,中间两位显示分钟,后两位显示秒钟,时,分,秒间通过小数点“.”显示。

电路的总体设计框架如图2-1:

图2-1总体设计

2.2AT89C52概述

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

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的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

2.3数码管显示工作原理

数码管是一种把多个LED显示段集成在一起的显示设备。

有两种类型,一种是共阳型,一种是共阴型。

共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。

共阴型就是把多个LED显示段的阴极接在一起,即为公共商。

阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。

通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP是小数点位段。

而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。

数码管显示方法可分为静态显示和动态显示两种。

静态显示就是数码管的8段输入及其公共端电平一直有效。

动态显示的原理是,各个数码管的相同段连接在一起,共同占用8位段引管线;每位数码管的阳极连在一起组成公共端。

利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。

第3章硬件设计

3.1键盘电路设计

该设计只用了一个键盘,但实现的功能却是比较完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。

当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。

达到时间调节的目的。

选择的多功能按键如图3-1所示。

图3-1控制键

3.2复位电路的设计

可靠的复位电路是保证单片机正常运行的关键因素。

将RST引脚连续输入2个机器周期(即24个时钟振荡期间)以上高电平,即可以完成单片机的初始化操作。

本设计采用按钮复位方式。

复位电路设计图3-2所示:

图3-2复位电路设计图

3.3时间显示电路的设计

LED数码管显示方式有静态显示方式和动态显示方式两种。

静态显示方式虽然占用CPU较少,接口简单,但其硬件电路比较复杂,成本较高,所以本设计中采用动态显示方式。

动态显示方式是指轮流电量各位LED数码管,利用定时扫描的方式轮流点亮各位数码管。

LED公用一个8位的I/O,即P0口,3位LED的位选线通过74LS138输出,来选中对应的LED数码管,由于采用的是8位LED数码管显示,所以前两位LED显示“时针”,中间两位显示“分针”,后面两位显示秒针间隔有横杠显示“—”。

同时可通过按键切换到跑表模式,然后还有闹钟模块,通过按键来切换显示模式,同时还可通过对应的按键对其进行时间设定。

对于三个显示直接的切换,可通过按键自由切换。

时间显示电路如图3-3所示:

图3-3显示电路

 

3.4硬件各接口资源分配

AT89C51共有I/O口共32个,实验所用开发板各类I/O采用开放式管理,可有由户自定义使用,本设计需要用到的I/O口及分配如表3-4所示:

 

P0口

P0.0

LED数码管A段

P3口

P3.0

LED数码管W1位选端

P0.1

LED数码管B段

P3.1

LED数码管W2位选端

P0.2

LED数码管C段

P3.2

LED数码管W3位选端

P0.3

LED数码管D段

P3.3

LED数码管W4位选端

P0.4

LED数码管E段

P3.4

LED数码管W5位选端

P0.5

LED数码管F段

P3.5

LED数码管W6位选端

P0.6

LED数码管G段

P3.6

LED数码管W7位选端

P0.7

LED数码管DP段

P3.7

LED数码管W8位选端

P1口

P1.0

矩阵键盘的S1列选端

P1.1

矩阵键盘的S2列选端

P1.2

矩阵键盘的S3列选端

表3-4接口表

第4章系统软件设计

4.1主程序设计

主程序循环中扫描是否有键按下,如有键按下,则做出相应的功能处理,同时扫描显示时间数据。

若无按键,则继续执行时钟显示函数。

主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。

 

图4-1主程序流程图

按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按,时就加1;如果没有按下,就把时间显示出来。

图4-2按键处理流程图

 

4.2时钟定时器T0中断设计

本设计采用中断子程序。

定时时间为50ms,当连续中断20次时,即为一秒,此时秒加一;当秒值为60时,分钟加一,同时秒清零。

计数器TO中断服务程序流程如图4-2所示:

图4-2计数器TO中断服务程序流程图

第5章调试结果和调试说明

通过proteus7.7SP2仿真,开始后数码管可以正常显示时间,分别按秒分时键可进行加一调整。

按复位键可以复位回到最初状态。

调试过程的截图如下:

总结

经过近两个星期的努力,我的单片机电子时钟课程设计终于完成了。

在这两周的课程设计中,我有过不知所措的茫然,有过废寝忘食的专注,有过无从下手的苦恼,也有过豁然开朗的喜悦。

功夫不负有心人,我所设计的电子时钟在老师和同学的帮助下在理论上基本达到了课程设计上的要求,但要运用在实际生活中还有很很多需要改善的地方。

在本次设计的过程中,我发现很多的问题,也学到了很多知识与技巧。

这次设计让我有了长足的进步,真正实现了对单片机硬件与软件的兼顾与融会贯通。

也对C51编程有了跟一步的加深和了解。

在这次课程设计中,感谢同组同学的鼓励与配合。

通过本次课程设计,我认识到了自己的许多缺点和不足,体会到了实践是检验真理的唯一标准以及实践出真知的道理。

在此我忠心的感谢学校给我们提供的这次课程设计的机会;同时也要感谢李老师对我电子时钟设计的指导和很多同学对我的帮助;在这次课程设计中由于我们现在所学知识还不能满足课程设计的要求,所以我们在图书馆查阅了大量的资料,所以也应该感谢学校给我们提供了大量图书。

由于本人水平有限,加之时间比较仓促,课程设计中错误和不妥之处,在所难免,殷切希望同学们,给予批评指正。

参考文献

[1]王迎旭编.《单片机原理与应用》[M].机械工业出版社,2003

[2]李军,刘君华编.《AVR单片机的特点及其应用》[J].测控技术,2002

[3]黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社,2004

[4]刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社,2003

[5]李慧编.《基于FPGA的电子万年历设计》[J].微计算机信息,2010

 

附录

附录A系统电路原理图

附录B系统程序清单

S_SETBITP1.0;数字钟秒控制位

M_SETBITP1.1;分钟控制位

H_SETBITP1.2;小时控制位

SECONDEQU30H

MINUTEEQU31H

HOUREQU32H

TCNTEQU34H

ORG00H

SJMPSTART

ORG0BH

LJMPINT_T0

START:

MOVDPTR,#TABLE

MOVHOUR,#0;初始化

MOVMINUTE,#0

MOVSECOND,#0

MOVTCNT,#0

MOVTMOD,#01H

MOVTH0,#(65536-50000)/256;定时50毫秒

MOVTL0,#(65536-50000)MOD256

MOVIE,#82H

SETBTR0

;****************************************************

;判断是否有控制键按下,是哪一个键按下

A1:

LCALLDISPLAY

JNBS_SET,S1

JNBM_SET,S2

JNBH_SET,S3

LJMPA1

S1:

LCALLDELAY;去抖动

JBS_SET,A1

INCSECOND;秒值加1

MOVA,SECOND

CJNEA,#60,J0;判断是否加到60秒

MOVSECOND,#0

LJMPK1

S2:

LCALLDELAY

JBM_SET,A1

K1:

INCMINUTE;分钟值加1

MOVA,MINUTE

CJNEA,#60,J1;判断是否加到60分

MOVMINUTE,#0

LJMPK2

S3:

LCALLDELAY

JBH_SET,A1

K2:

INCHOUR;小时值加1

MOVA,HOUR

CJNEA,#24,J2;判断是否加到24小时

MOVHOUR,#0

MOVMINUTE,#0

MOVSECOND,#0

LJMPA1

;****************************************************

;等待按键抬起

J0:

JBS_SET,A1

LCALLDISPLAY

SJMPJ0

J1:

JBM_SET,A1

LCALLDISPLAY

SJMPJ1

J2:

JBH_SET,A1

LCALLDISPLAY

SJMPJ2

;***********************************************

;定时器中断服务程序,对秒,分钟和小时的计数

INT_T0:

MOVTH0,#(65536-50000)/256

MOVTL0,#(65536-50000)MOD256

INCTCNT

MOVA,TCNT

CJNEA,#20,RETUNE;计时1秒

INCSECOND

MOVTCNT,#0

MOVA,SECOND

CJNEA,#60,RETUNE

INCMINUTE

MOVSECOND,#0

MOVA,MINUTE

CJNEA,#60,RETUNE

INCHOUR

MOVMINUTE,#0

MOVA,HOUR

CJNEA,#24,RETUNE

MOVHOUR,#0

MOVMINUTE,#0

MOVSECOND,#0

MOVTCNT,#0

RETUNE:

RETI

;******************************************

;显示控制子程序

DISPLAY:

MOVA,SECOND;显示秒

MOVB,#10

DIVAB

CLRP3.6

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.6

MOVA,B

CLRP3.7

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.7

CLRP3.5

MOVP0,#40H;显示分隔符

LCALLDELA

SETBP3.5

MOVA,MINUTE;显示分钟

MOVB,#10

DIVAB

CLRP3.3

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.3

MOVA,B

CLRP3.4

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.4

CLRP3.2

MOVP0,#40H;显示分隔符

LCALLDELAY

SETBP3.2

MOVA,HOUR;显示小时

MOVB,#10

DIVAB

CLRP3.0

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.0

MOVA,B

CLRP3.1

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.1

RET

TABLE:

DB3FH,06H,5BH,4FH,66H

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

DELAY:

MOVR6,#10

D1:

MOVR7,#250

DJNZR7,$

DJNZR6,D1

RET

END

电气信息学院课程设计评分表

项目

评价

及格

设计方案合理性与创造性(10%)

开发板焊接及其调试完成情况*(10%)

硬件设计或软件编程完成情况(20%)

硬件测试或软件调试结果*(10%)

设计说明书质量(20%)

答辩情况(10%)

完成任务情况(10%)

独立工作能力(10%)

出勤情况(10%)

综合评分

指导教师签名:

________________

日期:

________________

注:

表中标*号项目是硬件制作或软件编程类课题必填内容;

此表装订在课程设计说明书的最后一页。

课程设计说明书装订顺序:

封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。

目录

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

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1