电子计时器的设计.docx

上传人:b****3 文档编号:4217615 上传时间:2023-05-06 格式:DOCX 页数:19 大小:231.12KB
下载 相关 举报
电子计时器的设计.docx_第1页
第1页 / 共19页
电子计时器的设计.docx_第2页
第2页 / 共19页
电子计时器的设计.docx_第3页
第3页 / 共19页
电子计时器的设计.docx_第4页
第4页 / 共19页
电子计时器的设计.docx_第5页
第5页 / 共19页
电子计时器的设计.docx_第6页
第6页 / 共19页
电子计时器的设计.docx_第7页
第7页 / 共19页
电子计时器的设计.docx_第8页
第8页 / 共19页
电子计时器的设计.docx_第9页
第9页 / 共19页
电子计时器的设计.docx_第10页
第10页 / 共19页
电子计时器的设计.docx_第11页
第11页 / 共19页
电子计时器的设计.docx_第12页
第12页 / 共19页
电子计时器的设计.docx_第13页
第13页 / 共19页
电子计时器的设计.docx_第14页
第14页 / 共19页
电子计时器的设计.docx_第15页
第15页 / 共19页
电子计时器的设计.docx_第16页
第16页 / 共19页
电子计时器的设计.docx_第17页
第17页 / 共19页
电子计时器的设计.docx_第18页
第18页 / 共19页
电子计时器的设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电子计时器的设计.docx

《电子计时器的设计.docx》由会员分享,可在线阅读,更多相关《电子计时器的设计.docx(19页珍藏版)》请在冰点文库上搜索。

电子计时器的设计.docx

电子计时器的设计

电子计时器的设计

一、设计内容

用AT89C51单片机及接口电路设计一个电子计时器.

二、设计要求

1.系统硬件设计:

根据任务要求,完成单片机最小系统及其扩展设计,组成功能完整的系统.

2.系统软件设计:

根据数字电子计时器功能,完成控制软件的编写与调试,并对数码显示进行控制.

3.基本功能说明:

(1).上电时自动点亮数码管.

(2).设置一个控制按键“START”,按下该按键,则时钟以秒为单位开始计时,显示及时范围为:

00:

00:

00—23:

59:

59.

(3).运行状态下可通过控制按键“PAUSE”使时钟暂停,同时显示已计时数值,此后,若按下继续运行按钮“CONTINUE”,则计时器继续计时.

(4).按下复位按钮“CLEAR”,时钟复位(清零),并进入下一次计时状态.

(5).具备校时功能,其中:

HOURG---校正小时个位显示

MINS---校正分钟十位显示

MING---校正分钟个位显示

SECS---校正秒钟十位显示

三.设备及工作环境

(1)硬件:

计算机一台.

(2)软件:

Windows操作系统、单片机编译软件KEILUVISION,仿真软件PROTEUS7.4

四.设计思路

电子计时器主要由AT89C51、显示模块、控制模块和计时运算模块四大部分组成.其中控制模块和计时运算模块主要对时、分、秒的数值显示和调整进行操作,并且秒计算到60时,自动清零并向分进1;分计算到60时,自动清零并向时进1;时计算到24时,自动清零.这样,就形成了循环计时,显示模块主要用来显示当前计数值。

A89C51是整个设计的核心,主要用来产生定时中断,传输数据和控制各个部件工作.

五.1.整体功能说明

在LED数码管上能实现数字计时器的时、分、秒显示,并能对时、分、秒进行加1校对和清零.通过控制键控制计时器的开始,暂停,继续和清零.并且开机时时钟时从00:

00:

00开始计时的,到23:

59:

59时再回到00:

00:

00.

2.模块功能说明

(1)AT89C51简介,如下图所示

①TMOD定时器/计数器方式寄存器

定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址.TMOD的格式如下图所示.

②TCON定时器/计数器控制寄存器

TCON在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)为88H--8FH,由于有位地址,十分便于进行位操作,如下图

③定时器/计数器的初始化:

  由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作.初始货的步骤一般如下:

1、确定工作方式(即对TMOD赋值);

2、预置定时或计数的初值;

3、根据需要开放定时器/计数器的中断(直接对IE位赋值);

4、启动定时器/计数器.

(2)按键电路及74LS21

由八个开关和两个与门(74LS21)以及与89C51引脚连线构成,主要完成对计时的启动,清零,暂停,继续和对小时,分钟,秒进行调整.

 

(3)74HC02

两个74HC02主要用来控制74HC373工作.其中,U5.A通过P2.7和P3.6(/WR)引脚控制U3工作.U5.B通过P2.6和P3.6(/WR)引脚控制U2工作.

(4)74HC373,如下图

74HC373为三态输出八D锁存器,74HC373的输入端D0-D7可直接与总线相连.当三态允许控制端OE为低电平时,Q0-Q7为正常逻辑状态,可用来驱动负载或总线.当OE为高电平时,Q0-Q7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响.当锁存允许端LE为高电平时,Q端随D端改变而改变.当LE为低电平时,Q端被锁存在已建立的数据电平.

(5)LED数码管

7SEG-MPX6-CC是7段6位共阴级数码管,DP为小数点,位码(1-6)应轮流通低电位,段码控制数码管的显示:

0-b,1-g,2-a,3-f,4-c,5-e,6-h,7-d.共阴极LED数码管,它是将发光二极管的阴极(负极)短接后作为公共阴极.当驱动信号为高电平才能发光.

(6)系统总体原理图

 

3.系统使用说明

START(P1.7)键:

用来启动计时;

CONTINUE(P1.6)键:

计时暂停后用来继续计时.

CLEAR(P1.5)键:

对时、分、秒各单元进行清零.

PAUSE(P1.4)键:

用来暂停当前计时.

HOUR(P1.3)键:

对时进行加1运算.

MINS(P1.2)键:

对分单元的十位进行加1运算.

MING(P1.1)键:

对分单元的个位进行加1运算.

SECS(P1.0)键:

对秒单元的十位进行加1运算.

六.设计框图

 

七.程序流程图

1.主程序流程图

 

2.时钟显示程序流程图

 

3.外部中断处理流程图

 

八.源程序清单

ORG0000H

AJMPSTART;短转移

ORG0003H

LJMPST1;长转移

ORG000BH

AJMPTT0

ORG0030H

START:

MOV30H,#00H;秒个位内存单元

MOV31H,#00H;秒十位内存单元

MOV32H,#00H;分个位内存单元

MOV33H,#00H;分十位内存单元

MOV34H,#00H;时个位内存单元

MOV35H,#00H;时十位内存单元

MOVTMOD,#01H;定时器T0,工作方式1,

MOVTH0,#3CH;定时50MS

MOVTL0,#0B0H

MOVR0,#30H;指针指向显示单元

MOVR5,#0FEH;选中秒个位

MOVR1,#20

MOV36H,#00H;时位键盘判断时用

MOVR3,#6;秒十位判断时用

MOVR2,#6;分十位判断时用

MOVR4,#10;秒个位判断时用

MOV40H,#10;分个位判断时用

MOVIE,#81H;外部中断0中断允许

MAIN:

LCALLDIS

LJMPMAIN

;显示子程序

DIS:

MOVA,R5;先位码

MOVDPTR,#7FFFH;位码选择p2.7

MOVX@DPTR,A

MOVA,@R0;再段码,取显示数据

MOVDPTR,#TAB;表地址

MOVCA,@A+DPTR;查表,取出字型码

MOVDPTR,#0bFFFH;段码选择p2.6

;显示小数点

CJNER0,#32H,GO111;小数点选择(R0)=/=32H转移

ORLA,#80H

GO111:

CJNER0,#34H,MIN

ORLA,#80H

MIN:

MOVX@DPTR,A;送出去显示

LCALLDELAY;1MS延时

LCALLDELAY

LCALLDELAY

INCR0;修改指针指向下一显示单元

MOVA,R5;也可写为XCHA,R5

JNBACC.5,LH;判断显示完否?

RLA;也可写为XCHR5,A

MOVR5,A

AJMPENR;返回循环显示

LH:

MOVR0,#30H;重新定义显示指针

MOVR5,#0FEH;重设位码,形成循环ACC.0-ACC.3

ENR:

RET

;定时中断

TT0:

MOVTH0,#3CH

MOVTL0,#0B0H

DJNZR1,FANHUI;判断1秒到否?

未到跳转

MOVR1,#20

INC30H;秒个位加一

DJNZR4,FANHUI;判断10秒到否?

未到跳转,判断秒个位满否

MOVR4,#10;计时未到装初值

MOV30H,#00H;计时到则清零

INC31H;秒计时到,分个位加1(进位)

DJNZR3,FANHUI

MOVR3,#6

MOV31H,#00H

INC32H

DJNZ40H,FANHUI

MOV40H,#10

MOV32H,#00H;分个位计时到则清零

INC33H

DJNZR2,FANHUI

MOVR2,#6

MOV33H,#00H

INC36H;时位判断时用

MOVA,36H

CJNEA,#24,JUMP;时位计时不满则转移,若满则清零

MOV36H,#00H

JUMP:

MOVA,36H

MOVB,#10

DIVAB

MOV34H,B

MOV35H,A;显示时位

FANHUI:

RETI

;*键盘处理程序

ST1:

CLREX0;键盘1(校秒十位)判断时用,禁止外部中断0中断

PUSHB

PUSHACC

JBP1.0,ST2;若P1.0接通则调用延时去抖动子程序;若未通则跳转到下一控制位

LCALLDELAY111

JNBP1.0,$

LCALLDELAY111

DJNZR3,GO;计时未满则转移

MOVR3,#6;倒计时满(计数值满)则赋初值

GO:

INC31H;秒个位满则秒十位加一进位

MOVA,31H

CJNEA,#6,$+3;判读秒十位满否

JNBP1.0,$;P1.0为0则执行该指令,等待

JCST2

MOV31H,#00H

MOVA,31H

ST2:

JBP1.1,ST3;键盘2判断时用(校分个位)

LCALLDELAY111

JNBP1.1,$

LCALLDELAY111

DJNZ40H,GO1

MOV40H,#10

GO1:

INC32H

MOVA,32H

CJNEA,#10,$+3

JNBP1.1,$

JCST3

MOV32H,#00H

MOVA,32H

ST3:

JBP1.2,ST4;键盘3判断时用(校分十位)

LCALLDELAY111

JNBP1.2,$

LCALLDELAY111

DJNZR2,GO2

MOVR2,#6

GO2:

INC33H

MOVA,33H

CJNEA,#6,$+3

JNBP1.2,$

JCST4

MOV33H,#00H

MOVA,33H

ST4:

JBP1.3,ST5;键盘4判断时用(校时)

LCALLDELAY111

JNBP1.3,$

LCALLDELAY111

INC36H

MOVA,36H

CJNEA,#24,JUMP1

MOV36H,#00H

JUMP1:

MOVA,36H

MOVB,#10

DIVAB

MOV34H,B

MOV35H,A

ST5:

JBp1.4,ST6;(键PAUSE)

LCALLDELAY111

JNBP1.4,$

LCALLDELAY111

CLRTR0;定时器T0停止运行

ST6:

JBP1.5,ST7;(键CLEAR)

LCALLDELAY111

JNBP1.5,$

LCALLDELAY111

MOV30H,#00H;秒单元清零

MOV31H,#00H

MOV32H,#00H;分单元清零

MOV33H,#00H

MOV34H,#00H;时清零

MOV35H,#00H

LCALLDIS;调用显示子程序

LJMPTT0;跳转到定时中断子程序

ST7:

JBP1.6,ST8;(键CONTINUE)

LCALLDELAY111

JNBP1.6,$

LCALLDELAY111

SETBTR0;启动T0运行控制位(START)

ST8:

JBP1.7,ST9

LCALLDELAY111

JNBP1.7,$

LCALLDELAY111

SETBET0;开T0中断(T0溢出中断允许位)

SETBTR0;计时开始

ST9:

POPACC;键盘中断返回

POPB

SETBEX0;允许外部中断0中断

RETI

;延时1MS子程序

DELAY:

MOVR7,#02H

DE1:

MOVR6,#0FEH

DE2:

DJNZR6,DE2

DJNZR7,DE1

RET

;键盘延时消抖程序

DELAY111:

MOV50H,#2

DE1111:

MOV51H,#255

DJNZ51H,$

DJNZ50H,DE1111

RET

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H

END

九.系统软件调试

1.在软件KEILUVISION2中新建工程,设置晶振及其他条件,编译调试,生成“123.HEX”文件,并保存于桌面.

2.在PROTEUS7.4仿真软件中绘制系统原理图

3.装载“桌面\123.HEX”文件.

4.全速运行验证系统工作过程,检查设计要求的各个功能是否实现

十.系统仿真结果扫描图

十一.设计总结

本次课程设计是用80C51单片机、各种芯片及接口电路设计一个电子计时器,经过认真地查找资料与编写程序以及调试程序,结果满足设计要求,验证无误.

从开始设计到仿真实现,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战。

在此期间,我学到了很多知识也有很多感受,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

在设计过程中,通过针对性地查找资料,了解了些电子方面的资料,既增长了自己见识,补充对AT89C51有了一个全面的认识,在此基础上结合以前所学的专业知识,这次知识贯穿到一起,对电子专业有了一个更全面的认识!

总之这次毕业设计让我把理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合等方面全面的培养学生的全面素质。

这些在我今后的学习和工作当中都会有很大的帮助。

十二.参考文献

[1]李朝清.单片机原理与接口技术.北京航空航天大学出版社。

2005.10

[2]耿永刚.单片机与接口应用技术.华东师范大学出版社.2008.04

[3]胡汉才编著.单片机原理及其接口技术.清华大学出版社.2004.

[4]孙涵芳.MCS-51系列单片机原理及应用.北京航空航天大学出版社.1996-4.

[5]黄正谨.综合电子设计与实践[M].东南大学出版社.2002-3.

[6]李华.MCS-51系列单片机实用接口技术.北京航空航天大学出版社.1993.5.

[7]梅丽凤,王艳秋,汪毓铎.单片机原理及接口技术.清华大学出版社.2003.5.

[8]何立民.单片机应用系统设计.北京航空航天大学出版社.2002.

 

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

当前位置:首页 > 表格模板 > 合同协议

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

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