基于单片机的电子时钟设计报告LCD显示.docx
- 文档编号:26048947
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:16
- 大小:109.06KB
基于单片机的电子时钟设计报告LCD显示.docx
《基于单片机的电子时钟设计报告LCD显示.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计报告LCD显示.docx(16页珍藏版)》请在冰豆网上搜索。
基于单片机的电子时钟设计报告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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 时钟 设计 报告 LCD 显示