基于单片机的电子时钟设计报告LCD显示.docx

上传人:b****3 文档编号:11273343 上传时间:2023-05-30 格式:DOCX 页数:16 大小:109.06KB
下载 相关 举报
基于单片机的电子时钟设计报告LCD显示.docx_第1页
第1页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第2页
第2页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第3页
第3页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第4页
第4页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第5页
第5页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第6页
第6页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第7页
第7页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第8页
第8页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第9页
第9页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第10页
第10页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第11页
第11页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第12页
第12页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第13页
第13页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第14页
第14页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第15页
第15页 / 共16页
基于单片机的电子时钟设计报告LCD显示.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的电子时钟设计报告LCD显示.docx

《基于单片机的电子时钟设计报告LCD显示.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计报告LCD显示.docx(16页珍藏版)》请在冰点文库上搜索。

基于单片机的电子时钟设计报告LCD显示.docx

基于单片机的电子时钟设计报告LCD显示

单片机原理及应用课程设计任务书

题目:

电子时钟(LCD显示)

1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:

使用字符型LCD显示器显示当前时间。

显示格式为“时时:

分分:

秒秒”。

用3个功能键操作来设置当前时间。

功能键K1~K4功能下。

K1—设置小时。

K2—设置分钟。

K3—设置秒。

程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:

59:

00”,然后开始计时。

2、工作原理

本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。

3、参考电路

硬件设计电路图如下图所示:

硬件电路原理图

单片机原理及应用课程设计任务书

题目:

电子时钟(LCD显示)

1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:

使用字符型LCD显示器显示当前时间。

显示格式为“时时:

分分:

秒秒”。

用3个功能键操作来设置当前时间。

功能键K1~K4功能下。

K1—设置小时。

K2—设置分钟。

K3—设置秒。

程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:

59:

00”,然后开始计时。

2、工作原理

本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。

3、参考电路

硬件设计电路图如下图所示:

硬件电路原理图

基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的

1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。

2)、使用字符型LCD显示器显示当前时间。

显示格式为“时时:

分分:

秒秒”。

3)、用3个功能键操作来设置当前时间。

4)、熟悉掌握proteus编成软件以及keil软件的使用

二、本设计原理

本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。

该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。

由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。

该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。

三、硬件设计原理(电路)

 

硬件电路原理图

 

四、软件设计(流程图)

 

五、仿真结果与结论

5.仿真结果与结论

初始运行显示效果如下:

用按键调节时分秒从而设置时间:

 

结论:

采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。

根据仿真结果可知该编程及硬件电路符合要求。

 

附录

程序设计如下:

KM1BITP1.0

KM2BITP1.1

KM3BITP1.2

RSEQUP2.0

RWEQUP2.1

EEQUP2.2

IN_0EQUP0

SECLEQU40H;秒低位

SECHEQU41H;秒高位

MH1EQU42H;冒号

MINLEQU43H;分低位

MINHEQU44H;分高位

MH2EQU45H;冒号

HOURLEQU46H;时低位

HOURHEQU47H;时高位

ORG0000H

AJMPMAIN

ORG000BH

AJMPINTT_0

MAIN:

MOVR2,#20

ACALLINIT_LCD;初始化液晶

MOVR5,#00H

MOVIN_0,#84H;写入显示起始地址(第一行第五个位置)

ACALLENABLE

MOVTH0,#3CH;50MS

MOVTL0,#0B0H

MOVTMOD,#01H

ACALLSJCZ

SETBEA

SETBET0

SETBTR0

LCALLA1

START1:

LCALLWDATA1

LCALLWDATA2

AJMPSTART1

;*******控制键*******

A1:

LCALLWDATA2

LCALLWDATA1

JNBKM1,S1

JNBKM2,S2

JNBKM3,S3

AJMPA1

;*****调整小时*****

S1:

LCALLDELAYL

JBKM1,A1

MOVA,HOURH

CJNEA,#02H,ST1

MOVA,HOURL

CJNEA,#03H,ST2

MOVHOURH,#00H

MOVHOURL,#00H

AJMPJ1

ST1:

MOVA,HOURL

CJNEA,#09H,ST2

INCHOURH

MOVHOURL,#00H

AJMPJ1

ST2:

INCHOURL

AJMPJ1

J1:

JBKM1,S1

LCALLWDATA1

AJMPJ1

;*****调整分钟*****

S2:

LCALLDELAYL

JBKM2,A1

MOVA,MINH

CJNEA,#05H,ST3

MOVA,MINL

CJNEA,#09H,ST4

MOVMINH,#00H

MOVMINL,#00H

AJMPJ2

ST3:

MOVA,MINL

CJNEA,#09H,ST4

INCMINH

MOVMINL,#00H

AJMPJ2

ST4:

INCMINL

AJMPJ2

J2:

JBKM2,S2

LCALLWDATA1

AJMPJ2

;*****调整秒*****

S3:

LCALLDELAYL

JBKM3,A1

MOVA,SECH

CJNEA,#05H,ST5

MOVA,SECL

CJNEA,#09H,ST6

MOVSECH,#00H

MOVSECL,#00H

AJMPJ3

ST5:

MOVA,SECL

CJNEA,#09H,ST6

INCSECH

MOVSECL,#00H

AJMPJ3

ST6:

INCSECL

AJMPJ3

J3:

JBKM3,S3

LCALLWDATA1

AJMPJ3

;****设定显示初值***

SJCZ:

MOV40H,#0;显示初值是23:

59:

00

MOV41H,#0

MOV42H,#10

MOV43H,#9

MOV44H,#5

MOV45H,#10

MOV46H,#3

MOV47H,#2

RET

INTT_0:

PUSHPSW

PUSHACC;T0定时器中断

MOVTL0,#0B0H;送定时初值

MOVTH0,#3CH

DJNZR2,TT

MOVR2,#20

INCSECL;秒记数,到60S就清0

MOVA,SECL

CJNEA,#0AH,TT

INCSECH

MOVSECL,#00H

MOVA,SECH

CJNEA,#06H,TT

MOVSECH,#00H

INCMINL;分记数,到60分请0

MOVA,MINL

CJNEA,#0AH,TT

MOVMINL,#00H

INCMINH

MOVA,MINH

CJNEA,#06H,TT

MOVMINH,#00H

INCHOURL;时记数,到24时清0

MOVA,HOURL

CJNEA,#04H,TT2

MOVA,HOURH

CJNEA,#02H,TT1

MOVHOURL,#00H

MOVHOURH,#00H

AJMPTT

TT2:

CJNEA,#0AH,TT

MOVHOURL,#00H

INCHOURH

AJMPTT

TT1:

CJNEA,#02H,TT

MOVHOURL,#00H

MOVHOURH,#00H

AJMPTT

TT:

POPACC

POPPSW

RETI

;****液晶初始化****

INIT_LCD:

ACALLDELAYL;延时,等待LCD完成电源的启动

MOVIN_0,#01H;清屏并光标复位

ACALLENABLE

MOVIN_0,#38H;设置显示模式:

8位2行5x7点阵

ACALLENABLE

MOVIN_0,#0CH;显示器开、光标关、光标不闪烁

ACALLENABLE

MOVIN_0,#06H;文字不动,光标自动右移

ACALLENABLE

MOVIN_0,#0C0H;写入显示起始地址(第二行第一个位置)

ACALLENABLE

RET

;****写数据程序****

WDATA1:

MOVIN_0,#84H;写入显示起始地址(第一行第五个位置)

ACALLENABLE

MOVR1,#08H

MOVR0,#47H

WDATA_1:

MOVA,@R0

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVIN_0,A;写入数据

SETBRS

CLRRW

CLRE

ACALLCHECKBUSY

SETBE;忙检测

DECR0

DJNZR1,WDATA_1

MOVR1,#08H

RET

WDATA2:

MOVIN_0,#0C0H;写入显示起始地址(第二行第一个位置)

ACALLENABLE

MOVR1,#10H

MOVR0,#00H

MOVDPTR,#TAB

WDATA_2:

MOVA,R0

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVIN_0,A;写入数据

SETBRS

CLRRW

CLRE

ACALLCHECKBUSY

SETBE;忙检测

INCR0

DJNZR1,WDATA_2

MOVR1,#08H

RET

;****显示符号表****

TABLE:

DB30H,31H,32H,33H,34H,35H;012345

DB36H,37H,38H,39H,3AH,80H,2EH;6789:

空格.

TAB:

DB"MADEINCHINA"

;******写指令****

ENABLE:

CLRRS;写入控制命令的子程序

CLRRW

CLRE

ACALLCHECKBUSY

SETBE

RET

CHECKBUSY:

MOVIN_0,#0FFH;判断液晶显示器是否忙的子程序

CLRRS

SETBRW

CLRE

NOP

SETBE

JBP0.7,CHECKBUSY;如果P0.7为高电平表示忙就循环等待

RET

DELAYL:

MOVR7,#100;延时程序

D1:

MOVR6,#200

DJNZR6,$

DJNZR7,D1

RET

END

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

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

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

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