基于单片机的电子时钟设计报告LCD显示Word文档下载推荐.docx
- 文档编号:14989515
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:14
- 大小:113.01KB
基于单片机的电子时钟设计报告LCD显示Word文档下载推荐.docx
《基于单片机的电子时钟设计报告LCD显示Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟设计报告LCD显示Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
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
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
ST2:
INCHOURL
AJMPJ1
J1:
JBKM1,S1
LCALLWDATA1
*****调整分钟*****
S2:
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
ST4:
INCMINL
AJMPJ2
J2:
JBKM2,S2
*****调整秒*****
S3:
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
ST6:
INCSECL
AJMPJ3
J3:
JBKM3,S3
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
INCSECL;
秒记数,到60S就清0
MOVA,SECL
CJNEA,#0AH,TT
INCSECH
MOVSECL,#00H
CJNEA,#06H,TT
MOVSECH,#00H
INCMINL;
分记数,到60分请0
MOVA,MINL
MOVMINL,#00H
INCMINH
MOVMINH,#00H
INCHOURL;
时记数,到24时清0
CJNEA,#04H,TT2
CJNEA,#02H,TT1
MOVHOURL,#00H
MOVHOURH,#00H
AJMPTT
TT2:
MOVHOURL,#00H
INCHOURH
TT1:
CJNEA,#02H,TT
TT:
POPACC
POPPSW
RETI
****液晶初始化****
INIT_LCD:
ACALLDELAYL;
延时,等待LCD完成电源的启动
MOVIN_0,#01H;
清屏并光标复位
ACALLENABLE
MOVIN_0,#38H;
设置显示模式:
8位2行5x7点阵
MOVIN_0,#0CH;
显示器开、光标关、光标不闪烁
MOVIN_0,#06H;
文字不动,光标自动右移
MOVIN_0,#0C0H;
写入显示起始地址(第二行第一个位置)
****写数据程序****
WDATA1:
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
WDATA2:
MOVR1,#10H
MOVR0,#00H
MOVDPTR,#TAB
WDATA_2:
MOVA,R0
MOVDPTR,#TAB
忙检测
INCR0
DJNZR1,WDATA_2
****显示符号表****
TABLE:
DB30H,31H,32H,33H,34H,35H;
012345
DB36H,37H,38H,39H,3AH,80H,2EH;
6789:
空格.
TAB:
DB"
MADEINCHINA"
******写指令****
ENABLE:
CLRRS;
写入控制命令的子程序
CLRRW
SETBE
CHECKBUSY:
MOVIN_0,#0FFH;
判断液晶显示器是否忙的子程序
CLRRS
SETBRW
NOP
JBP0.7,CHECKBUSY;
如果P0.7为高电平表示忙就循环等待
DELAYL:
MOVR7,#100;
延时程序
D1:
MOVR6,#200
DJNZR6,$
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 时钟 设计 报告 LCD 显示