单片机课程设计电子时钟.docx

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

单片机课程设计电子时钟.docx

《单片机课程设计电子时钟.docx》由会员分享,可在线阅读,更多相关《单片机课程设计电子时钟.docx(27页珍藏版)》请在冰点文库上搜索。

单片机课程设计电子时钟.docx

单片机课程设计电子时钟

摘要

 

围绕电子钟系统的设计与开发工作进行研究和实践,详细介绍了电子钟系统的整体结构、硬件设计、软件设计,系统方案以及其的开发和具体实现。

介绍一种基于在系统可编程技术和C51编译器配有集成开发的新型电子钟的设计方法,阐述了其工作原理和软硬件设计。

在硬件上,用KEIL公司的C51大规模集成芯片对其外围电路进行集成,用1片8051实现了几十片分离元件才能实现的功能,几乎将整个系统下载于同一芯片中,实现了所谓的片上系统,从而大大简化了系统结构,增强了系统的可靠性和性价比。

该电子钟特别适用于家庭、办公大楼、公共场所等。

关键词电子钟;单片机;硬件设计;软件设计

 

ABSTRACT

Aroundtheelectronicclocksystemdesignanddevelopmentofthestudyandpractice,detailstheelectronicclocksystemoverall,hardwaredesign,softwaredesign,systemsolutionsaswellasthedevelopmentandimplementation.Introductionofanewtechnologybasedonin-systemprogrammingandC51compilerequippedwithanintegrateddevelopmentofnewelectronicclockdesignmethod,explainshowitworksandsoftwareandhardwaredesign.InthehardwarecompanieswithKEILC51large-scaleintegratedcircuitchiponitssurrounding,tointegrate1tablet8051implementationofscoresoftabletsseparationcomponentstoimplementfunctionality,almosttheentiresystemfordownloadonthesamechip,implementationoftheso-calledSOC,therebygreatlysimplifiessystemstructure,enhancessystemreliabilityandhighperformance/priceratio.Theelectronicclockisparticularlyrelevantforhome,officebuildingsandpublicplace,etc.

Keywordselectronicclock;single-chip;hardware;softwaredesign

 

目录

1系统总体设计方案4

1.1设计课题任务4

1.2功能要求说明4

1.3总体方案介绍及工作原理4

2硬件系统的设计5

2.1系统各功能模块介绍5

2.1.1AT89S52控制模块5

2.1.2键盘功能模块5

2.1.3数码管显示模块5

2.2系统电路图6

2.3系统的元器件清单6

3软件系统的设计7

3.1使用单片机资源介绍7

3.2软件系统各功能模块介绍7

3.2.1独立式键盘模块7

3.2.2数码管显示模块7

3.3软件系统程序流程框图8

3.4软件系统的程序8

4系统的仿真分析及结论9

4.1系统设计的使用说明9

4.2系统设计的仿真结果9

4.3设计体会9

4.4教学建议10

参考文献11

致谢12

附录一13

附录二23

附录三

1系统总体设计方案

1.1设计课题任务

设计一个具有特定功能的电子钟。

1.2功能要求说明

(1)、显示和控制(左端显示P.);

(2)、显示P.按下S0,然后开始运行;

(3)、时分秒之间用“-”分割;

(4)、运行时按下S0键进入调整时钟状态;再按一次恢复运行;

(5)、按S0键进入调整状态,按S3调秒,S2调分,S1调时,按下一次加一,调整完毕后按S0键返回运行状态。

1.3总体方案介绍及工作原理

电子钟的总体功能原理是以AT89S52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,单片机实时的去执行相应的功能。

在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。

CPU控制原理图如图1.1所示。

四位键盘

AT89S52

八位数码管

图1.1CPU控制原理图

 

2硬件系统的设计

 

2.1系统各功能模块介绍

2.1.1AT89S52控制模块

考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、数码管的显示控制,定时器应用等,我们选择了学习过的AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。

AT89S52  主要性能与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器,1000次擦写周期,全静态操作:

0Hz~33Hz 三级加密程序存储器   32个可编程I/O口线  、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

    AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

2.1.2键盘功能模块

根据系统的基本的要求,基于时间的观看和设定等功能,采用由四个键构成的独立式键盘分别接在AT89S52单片机的P1.0-P1.3,非常的方便,同时相对于独立式键盘大大节省了空间,在软件的设计时带来了极大的方便,使程序简易明了,可读性强。

本次设计中,四个键分别定义为S0键、S1键、S2键和S3键,对应着时间显示与控制,时控制,分控制,秒控制,各键功能单一,互不影响,操作起来十分的清晰与方便。

2.1.3数码管显示模块

显示模块要具有显示时分秒的功能,共需要八位数码管。

数码管的八个位控口接在AT89S52单片机的P2口线上,从左到右顺序连接,段控制线接在AT89S52单片机的P0口线上,从低位到高位对应连接.再由于数码管的本身显示亮度不够,所以一般都会在其位控和段控口前加上一定的驱动电路,本次设计中采用三极管作为驱动。

本次采用的数码管型号为LD-5461BS。

2.2系统电路图

PCB图见附录

(2).总原理图见附录(3)

2.3系统的元器件清单

本系统中所用到的元件如表2.1所示。

表2.1系统元器件表

器件

型号

数量

器件

型号

数量

单片机

AT89S52

1个

按键

普通

4个

晶振

12MHZ

1个

开关

6脚双路

2个

电容

22μF,33pF

1个,2个

数码管

CPS05641B

8个

电阻

普通

若干

下载接口

10针接口

1个

蜂鸣器

脉冲式

1个

单排针

普通

若干

3软件系统的设计

 

3.1使用单片机资源介绍

P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a

P2.7---P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

8个按键S0至S7分别依次接在P1.0至P1.7口线

XTAL1、XTAL2:

晶振输入

RST:

复位输入

片内资源主要为:

定时器/计数器T0,定时器/计数器T1,定时器中断0,通用寄存器前三组,

3.2软件系统各功能模块介绍

3.2.1独立式键盘模块

独立式键盘软件设计通过在主程序中调用子程序KEY去执行键盘扫描和调用子程序KEYCHULI去执行相应的功能,单片机P1口在复位后保持高电平,当键按下相应口线为低电平,此时CPU做初期判断,之后延时12ms,确定为按键后等待键松,之后执行子程序。

达到通过键功能程序的分支执行相应的程序段,完成对应的操作。

3.2.2数码管显示模块

数码管显示是通过调用子程序XS来实现的,由于数码管的显示要求有实时性,所以在执行其他的程序的时候依然要经常调用显示子程序XS。

数码管的段控由CPU改变P0口相应位电平来实现,为实现不同的显示功能,设置了不同的显示缓冲单元,通过控制标志位控制。

数码管的位控由CPU改变P2口相应位电平来实现,基于人的视觉延迟性,通过从右到左的循环保证所有数码管都被点亮。

 

3.3软件系统程序流程框图

软件系统的流程框图如图3.1

N

Y

 

图3.1系统程序流程框图

3.4软件系统的程序

软件系统的程序如附录一。

4系统的仿真分析及结论

 

4.1系统设计的使用说明

在Proteus上画好原理图,检查无误后再通电,主要在数码管上左端显示P.,按下S0键以后进入时间运行状态。

其后按下不同的键进入不同的功能,其具体的操作步骤是:

按S1键调时,按S2键调分,按S3键调秒,若此时按下S0键则会返回进入时钟运行状态。

4.2系统设计的仿真结果

仿真主要针对是对独立式盘和数码管,在按键盘不同的键值的时,显示正确的显示信息,仿真的结果如图4.1所示。

 

图4.1时钟显示

4.3设计体会

电子技术的快速发展,使一些新型电子器件和集成芯片应用越来越广泛,电子系统的功能越来越强大,印刷电路板越来越复杂和精密。

单片机的应用使得我们对各种电路变得模块化,集成化,电子设计自动化(ElectronicsDesignAutomates,即EDA)工具的集成设计环境,电子设计软件Protel软件等的运用使得电子设计电路更加方便,而我做为电子信息工程专业的学生,应该熟练掌握各种电路编辑软件,在这次的设计中我深刻的体会到电子产品的快乐,当我们看到显示屏上正确的显示出现时,好开心,这意味着我们的设计成功了,几十天的努力方案设计,和实践工作我们从中熟练各种电子的技术和强大,并不断地总结经验。

这次课设对我们来说非常重要,也是我们最满意的一次,好的开头是成功的第一步,只有经历过,才会懂得过程的重要性。

4.4教学建议

号召同学们购买实验板,强化单片机实训,随着单片机学习的深入,渐渐的就涌入出一批对单片机兴趣很强的学生,单纯的仿真和一周才二次的试验课已不能满足学生对单片机强烈的兴趣,因此花点钱买试验版式个明智的选择!

老师应该给我们学生多一些布置课外的实物制作课题,指导我们多做实践练习,从而能更好的理解理论知识,让学生从操作的过程中学到一些经验。

这样,我们就会涉取很多课本以外的知识,这就是理论应该去实际化。

 

参考文献

 

[1]马忠梅,单片机的C语言Windows环境编程宝典[M],北京:

北京航空航天大学出版社,2003.6

MaMei,MCUc-languageWindowsenvironmentprogrammingBible[M],Beijing:

BeihangUniversityPress,2003.6

[2]李光飞,单片机C程序设计指导[M],北京:

北京航空航天大学出版社,2003.01

LiFei,MCUCProgrammingGuide[M],Beijing:

BeihangUniversityPress,2003.01

[3]李光飞,单片机课程设计实例指导[M],北京:

北京航空航天大学出版社,2004.9

LiFei,MCUDesignGuide[M],Beijing:

BeihangUniversityPress,2004.9

[4]何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:

北京航空航天大学出版社,1990.1

HeLi-minauthoring.MCS-51seriessingle-chipapplicationsystemdesignsystemconfigurationandinterfacetechnology[M]Beijing:

BeihangUniversityPress,1990.1

 

致谢

 

对于这次课程设计的顺利完成,我首先要感谢宋绍民副教授,是他上课细心的给我讲解了许多关于AT89S52、独立式键盘、数码管显示相关的知识,并在设计过程中所遇到的难题都给了非常重要的意见,本次设计能够有较好的主体框架也得益于宋绍民副教授的指导,导师渊博的知识、严谨的治学态度、崇高的敬业精神与为人师表的风范,使我受益匪浅,在此,谨向宋教授表示我最衷心的感谢。

同时,在我的实际作品的制作过程之中,得到的学校许多的同学的热情的指导和详细的说明。

此外,在实际程序的编写的过程之中得到了练习和提升,在遇到许多的不解困难的时候,自己班里的同学也给我提供的最详细的解答,没有以上的每一个人的帮助,我的单片机课程设计很难顺利的完成,在此,我对于在我的设计和制作的过程中给予我帮助的每一个人一并表示感谢。

 

附录一

;**********************************************************************:

;项目名称:

数字电子钟的设计

;项目功能要求:

(1)显示系统提示符“P.”;

;

(2)“P.”显示5秒后,自动运行电子钟。

;(3)定义4个功能键:

分别为电子钟启动键/停止键;调时键;调分键;调秒键。

在系统提示符状态下,只有按启动键/停止键才能开启电子钟,

;电子钟进入运行状态;再次按下启动键/停止键,电子钟进入调整状态,此时,调时、调分、调秒键才可以工作。

调整结束后,按下启动键/停止键,

;电子钟由调整状态返回运行状态,紧跟着以调整以后的时间运行。

时间是24小时制,显示范围0到23小时,0到59分,0到59秒。

时、分、秒之间自设分隔符。

;

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

;堆栈栈底7FH;

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

;LED数码管显示器设定;

;P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a

;P2.7---P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

;显示缓冲区设定从左至右依次为7FH,7EH,7DH,7CH,7BH,7AH,79H,78H(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

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

;独立式键盘设定;

;8个按键S2至S9分别依次接在P1.0至P1.7口线;

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

;子程序;

;XS(数码管显示子程序)

;DL(1毫秒延时子程序,晶振频率12MHz)

;KEY(键扫子程序)

;KEYCHULI(P1口数据处理子程序)

;DAAD1(加1子程序)

;CLR0(清零子程序)

;SXH(送显缓子程序)

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

;常数表格;

;TAB1(共阳数码管字型代码表)

;TAB0(系统提示符P.字型代码序号表)

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

;中断服务程序;

;TC0(50ms定时器0以中断方式1进行中断)

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

;键功能程序;

;S0GN:

开启/停止计时、进入调时状态

;S1GN:

调时

;S2GN:

调分

;S3GN:

调秒

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

;数据存储器变量及常量单元定义;

;30H字节单元:

十进制数秒各位数非压缩型BCD码

;31H字节单元:

十进制数秒十位数非压缩型BCD码

;32H字节单元:

十进制数分各位数非压缩型BCD码

;33H字节单元:

十进制数分十位数非压缩型BCD码

;34H字节单元:

十进制数时位数非压缩型BCD码

;35H字节单元:

十进制数时十位数非压缩型BCD码

;36H字节单元:

十进制数间隔符非压缩型BCD码

;37H字节单元:

十进制数间隔符非压缩型BCD码

;20H字节单元:

十六进制数键值

;40H字节单元:

十六进制数存放余数

;50H字节单元:

十六进制数存放定时50ms循环次数1

;51H字节单元:

十六进制数存放定时50ms循环次数2

;78H-7FH字节单元:

显示缓存区

;21H.0位单元:

布尔量定时器TC0时间到否标志位

;

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

;伪指令定义区

SECGEEQU30H

SECSHIEQU31H

MINGEEQU32H

MINSHIEQU33H

HOURGEEQU34H

HOURSHIEQU35H

JIANGE1EQU36H

JIANGE2EQU37H

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

;系统起始程序区

ORG0000H

START:

LJMPMAIN

ORG000BH

LJMPTC0

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

;系统监控程序区

ORG0030H

MAIN:

MOVSP,#7FH;堆栈初始化

MOVPSW,#00H;通用寄存器第0组

MOVR0,#20H

MOVR7,#96

QL:

MOV@R0,#00H

INCR0

DJNZR7,QL;清零

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H;送定时50ms的初值

MOV51H,#40

SETBEA

SETBET0

;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

;显示系统提示符“P.”

SDZ:

MOVDPTR,#TAB0

MOVR5,#08H

MOVR0,#78H;显示缓存区首地址

AA:

CLRA

MOVCA,@A+DPTR

MOV@R0,A

INCR0

INCDPTR

DJNZR5,AA;将序号送往显示缓存区

LCALLXS;调用显示程序

;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

;键盘控制指令:

JP:

LCALLXS

LCALLKEY

JB20H.0,S0GN;S0:

开启/停止、调时、恢复

JB20H.1,S1GN;S1:

调时

JB20H.2,BT0;S2:

调分

JB20H.3,BT1;S3:

调秒

LJMPJP

BT0:

LJMPS2GN

BT1:

LJMPS3GN

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

;键功能区

;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\S0键功能程序\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

S0GN:

INC40H

MOVA,40H;开辟2EH字节单元存放按键次数

MOVB,#2

DIVAB

MOVA,B

MOVR3,B

CJNEA,#1,LOOP0

LJMPS0GN_1;功能1:

“P.”显示2秒后开启电子钟

LOOP0:

CJNEA,#0,JP

LJMPS0GN_2;功能2:

进入调时状态,并使LED7闪烁

;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\第一次按下S0进入“P.”显示2s,并开启电子钟\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

S0GN_1:

MOVA,51H

CJNEA,#0,XP0

LJMPJSK

XP0:

MOVDPTR,#TAB0

MOVR5,#08H

M

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

当前位置:首页 > 医药卫生 > 基础医学

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

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