单片机课程设计键盘可调时钟.docx

上传人:b****6 文档编号:4693213 上传时间:2022-12-07 格式:DOCX 页数:14 大小:166.42KB
下载 相关 举报
单片机课程设计键盘可调时钟.docx_第1页
第1页 / 共14页
单片机课程设计键盘可调时钟.docx_第2页
第2页 / 共14页
单片机课程设计键盘可调时钟.docx_第3页
第3页 / 共14页
单片机课程设计键盘可调时钟.docx_第4页
第4页 / 共14页
单片机课程设计键盘可调时钟.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机课程设计键盘可调时钟.docx

《单片机课程设计键盘可调时钟.docx》由会员分享,可在线阅读,更多相关《单片机课程设计键盘可调时钟.docx(14页珍藏版)》请在冰豆网上搜索。

单片机课程设计键盘可调时钟.docx

单片机课程设计键盘可调时钟

单片机课程设计

题目:

键盘可调时钟

班级:

姓名:

学号:

指导教师:

设计时间:

2011年1月

评语:

 

成绩

目录

绪论3

1设计方案4

1.1总体方案设计4

1.2键盘模块4

1.3去抖动设计5

1.4显示模块5

1.5门电路设计5

2硬件设计6

2.1电路图6

3软件设计7

3.1主流程图7

3.2时间显示流程图7

3.3按键流程图8

3.4定时器中断程序9

总结10

绪论

随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。

常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。

单片机作为微型计算机发展的一个重要分支,以其高可靠性,高性能价格比,低电压,低功耗等优势,赢得了广泛的应用。

单片机已经成为衡量工业发展水平的标志之一,是产品更新换代,发展新技术,改造老产品的主要手段。

由于功能强大价格低廉,并且可以使用汇编语言或C语言开发程序软件,所以被广泛应用在工业控制上。

基于单片机课程的学习,本小组成员利用单片机实现时钟的显示,利用键盘和门电路控制时间的调整,在设计上采用硬件计数与软件计数相结合的方式,并且定时器T0采用了中断方式,优先级最高。

然后通过开关的闭合与关断来控制时钟的校正,采用二十四小时制计时。

充分利用单片机的资源和空间,较大限度的实现了功能。

在课程设计的过程中,我们发现了许多实际应用中所遇到的问题,在调试的过程中学到了更多的东西。

让我们充分的认识道学以致用的价值!

1设计方案

1.1总体方案设计

本方案完全用软件实现数字时钟。

原理为:

在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息,并通过程序控制扫描输出显示数据。

利用定时器0与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。

该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。

且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。

根据题目要求设计的总体框图,如图1:

如图1总体框图

1.2键盘模块

键盘是人与单片机打交道的主要设备,键盘有独立式键盘和矩阵键盘,考虑到时间误差的存在以及调整时间的方便性,再加上本设计所需按键较少,因此我们采用独立式键盘。

四个键盘接于P1口,用74ls21与门接于外部中断0,实现了调整时间的快速性,当四个键盘有中断发生,首先判断四个键哪个按下,向CPU发一个中断请求信号,然后调用相应的中断程序。

1.3去抖动设计

按键的读取容易引起误动作,为了保证键识别的准确,为此需要去抖动。

去抖动有硬件和软件两种方案。

方案一可采用硬件方法,加去抖动电路;方案二可采用软件去抖动的方法处理,在这里采用软件延时的方法来避开抖动,待信号稳定之后,再进行键扫描。

延时时间为20ms。

1.4显示模块

显示模块是本次单片机课程设计最核心的部分。

方案一:

采用LCD1602。

LCD1602为工业字符型液晶,能够同时显示16x02即32个字符。

其采用标准的16脚接口,该液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,所以可分容易的实现数字钟数码显示。

方案二:

采用LED共阴极数码管。

共阴数码管在应用时将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

基于以上分析,我们考虑到现实经济因素,所以选择了方案二。

时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。

流程图如图2:

1.5门电路设计

为了达到调整时间的快速性与准确性,采用中断方式,四个键盘采用与门芯片74LS21。

当四个键盘有一个按下后就会向CPU申请中断。

2硬件设计

2.1电路图

2.1Proteus仿真图

3软件设计

3.1主流程图

3.2时间显示流程图

3.3按键流程图

3.4定时器中断程序

总结

本次课程设计是用AT89C51单片机CPU及接口电路设计一个数字时钟,其核心部件是89C51,时钟的显示采用6个共阴极LED显示灯,四个开关方便的对秒、分、时分别调整,保证功能完善,工作可靠。

硬件方面:

独立式键盘可以消除时间误差的和方便时间的调整;显示电路采用LED动态显示方式,共阴极端由P2口线控制,分为段选线和位选线,利用人的视觉停留达到显示的效果,段选线控制字符选择,位选线控制显示位的亮或暗,从而简化串行口线的连接。

软件方面:

四个键盘输入与门74LS21,其输出用作中断信号,当四个键盘有一个键按下后就会向CPU申请中断,这样就可以提高CPU工作效率,达到调整时间的快速性与准确性;定时采用片内定时器定时,提高了电子时钟的准确度。

此时钟可以在以下几方面作调整,如:

整点报时,闹钟,显示电路可以采用点阵液晶显示模块(LCD),从而做成一个电子日历。

参考文献

[1]李华等编著,《单片机原理及应用》兰州大学出版社,2001

[2]李建忠编著,《单片机原理及应用》西安电子科技大学出版社,2008

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

[4]贾金铃等编著,《微型计算原理及应用》重庆大学出版社,2006

[5]吴清秀,周荷琴编著,《微型计算机原理与接口技术》中国科学技术大学出版社,2004

附录

参考软件:

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;

SETBEA;开中断

SETBET0;开T0中断

SETBTR0;记时开始

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;

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判断时用

PUSHB

PUSHACC

JBP1.0,ST2

LCALLDELAY111

JNBP1.0,$

LCALLDELAY111

DJNZR3,GO

MOVR3,#6

GO:

INC31H

MOVA,31H

CJNEA,#6,$+3

JNBP1.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,ST6;键盘4判断时用

LCALLDELAY111

JNBP1.3,$

LCALLDELAY111

INC36H

MOVA,36H

CJNEA,#24,JUMP1

MOV36H,#00H

JUMP1:

MOVA,36H

MOVB,#10

DIVAB

MOV34H,B

MOV35H,A

ST6:

POPACC;键盘中断返回

POPB

SETBEX0

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

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

当前位置:首页 > 初中教育 > 初中作文

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

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