基于单片机的电子时钟设计报告(LCD显示)
更新时间:2023-09-15 08:41:02 阅读量: 资格考试认证 文档下载
单片机原理及应用课程设计任务书
题目:电子时钟(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分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路)
硬件电路原理图
四、软件设计(流程图)
LCD显示 设置T0为方式1 设中断次数为20 清计时单元 开中断 启动T0 调用显示子程序 按键程序 调用按键显示子程序 时钟主程序流程
保护现场 (46H)+1 (46H) N 设置计数初值(46H)=4? N (47H)=2? 1S到? (40H)+1 (40H) N (40H)=10? 0 (46H) (0) (47H) 0 (40H) (46H)+1 (46H) (41H)+1 (41H) N (41H)=5? 0 (41H) 恢复现场 (43H)+1 (43H) N (43H)=10? 返回 (46H)=10? 0 (43H) 0 (46H) (44H)+1 (44H) N (44H)=5? (47)+1 (47) 0 (44H) 中断服务流程图
五、仿真结果与结论
5
.仿真结果与结论
初始运行显示效果如下 :
用按键调节时分秒从而设置时间:
结论:采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。根据仿真结果可知该编程及硬件电路符合要求。
附录
程序设计如下:
KM1 BIT P1.0 KM2 BIT P1.1 KM3 BIT P1.2 RS EQU P2.0 RW EQU P2.1 E EQU P2.2 IN_0 EQU P0
SECL EQU 40H SECH EQU 41H MH1 EQU 42H MINL EQU 43H MINH EQU 44H MH2 EQU 45H HOURL EQU 46H HOURH EQU 47H ORG 0000H AJMP MAIN ORG 000BH AJMP INTT_0 MAIN: MOV R2,#20
ACALL INIT_LCD MOV R5,#00H
MOV IN_0,#84H ACALL ENABLE
MOV TH0,#3CH MOV TL0,#0B0H MOV TMOD,#01H ACALL SJCZ SETB EA SETB ET0 SETB TR0 LCALL A1 START1: LCALL WDATA1 LCALL WDATA2 AJMP START1
;*******控制键******* ;秒低位 ;秒高位 ;冒号 ;分低位 ;分高位 ;冒号 ;时低位 ;时高位 ;初始化液晶 ;写入显示起始地址(第一行第五个位置) ;50MS
A1: LCALL WDATA2 LCALL WDATA1 JNB KM1,S1 JNB KM2,S2 JNB KM3,S3 AJMP A1 ;*****调整小时***** S1: LCALL DELAYL JB KM1,A1 MOV A,HOURH CJNE A,#02H,ST1 MOV A,HOURL CJNE A,#03H,ST2 MOV HOURH,#00H MOV HOURL,#00H AJMP J1
ST1: MOV A,HOURL CJNE A,#09H,ST2 INC HOURH MOV HOURL,#00H AJMP J1
ST2: INC HOURL AJMP J1 J1: JB KM1,S1 LCALL WDATA1 AJMP J1
;*****调整分钟***** S2: LCALL DELAYL JB KM2,A1 MOV A,MINH CJNE A,#05H,ST3 MOV A,MINL CJNE A,#09H,ST4 MOV MINH,#00H MOV MINL,#00H AJMP J2
ST3: MOV A,MINL CJNE A,#09H,ST4 INC MINH MOV MINL,#00H AJMP J2 ST4: INC MINL AJMP J2 J2: JB KM2,S2
LCALL WDATA1 AJMP J2 ;*****调整秒*****
S3: LCALL DELAYL JB KM3,A1 MOV A,SECH CJNE A,#05H,ST5 MOV A,SECL CJNE A,#09H,ST6 MOV SECH,#00H MOV SECL,#00H AJMP J3
ST5: MOV A,SECL CJNE A,#09H,ST6 INC SECH MOV SECL,#00H AJMP J3 ST6: INC SECL AJMP J3 J3: JB KM3,S3 LCALL WDATA1 AJMP J3 ;****设定显示初值*** SJCZ: MOV 40H,#0 MOV 41H,#0 MOV 42H,#10 MOV 43H,#9 MOV 44H,#5 MOV 45H,#10 MOV 46H,#3 MOV 47H,#2 RET
INTT_0: PUSH PSW PUSH ACC MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,TT MOV R2,#20
INC SECL MOV A,SECL CJNE A,#0AH,TT
INC SECH MOV SECL,#00H MOV A,SECH
;显示初值是 23:59:00 ;T0定时器中断 ;送定时初值 ;秒记数,到60S就清0
CJNE A,#06H,TT MOV SECH,#00H
INC MINL ;分记数,到60分请0 MOV A,MINL CJNE A,#0AH,TT MOV MINL,#00H INC MINH MOV A,MINH CJNE A,#06H,TT MOV MINH,#00H
INC HOURL MOV A,HOURL CJNE A,#04H,TT2 MOV A,HOURH CJNE A,#02H,TT1 MOV HOURL,#00H MOV HOURH,#00H AJMP TT
TT2: CJNE A,#0AH,TT MOV HOURL ,#00H INC HOURH AJMP TT
TT1: CJNE A,#02H,TT MOV HOURL,#00H MOV HOURH,#00H AJMP TT TT: POP ACC
POP PSW RETI
;****液晶初始化****
INIT_LCD:ACALL DELAYL MOV IN_0,#01H ACALL ENABLE
MOV IN_0,#38H ACALL ENABLE MOV IN_0,#0CH ACALL ENABLE
MOV IN_0,#06H ACALL ENABLE
MOV IN_0,#0C0H ACALL ENABLE RET
;****写数据程序****
WDATA1: MOV IN_0,#84H ;时记数,到24时清0 ;延时,等待LCD完成电源的启动 ;清屏并光标复位 ;设置显示模式:8位2行5x7点阵
;显示器开、光标关、光标不闪烁 ;文字不动,光标自动右移 ;写入显示起始地址(第二行第一个位置) ;写入显示起始地址(第一行第五个位置)
ACALL ENABLE MOV R1,#08H MOV R0,#47H WDATA_1: MOV A,@R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV IN_0,A ;写入数据 SETB RS CLR RW CLR E
ACALL CHECKBUSY
SETB E ; 忙检测 DEC R0
DJNZ R1,WDATA_1 MOV R1,#08H RET
WDATA2: MOV IN_0,#0C0H ;写入显示起始地址(第二行第一个位置) ACALL ENABLE MOV R1,#10H MOV R0,#00H MOV DPTR,#TAB WDATA_2: MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV IN_0,A ;写入数据 SETB RS CLR RW CLR E
ACALL CHECKBUSY
SETB E ;忙检测 INC R0
DJNZ R1,WDATA_2 MOV R1,#08H RET
;****显示符号表****
TABLE: DB 30H,31H,32H,33H,34H,35H ;0 1 2 3 4 5
DB 36H,37H,38H,39H,3AH,80H,2EH ;6 7 8 9 : 空格 . TAB: DB \ IN CHINA\ ;******写指令****
ENABLE: CLR RS ;写入控制命令的子程序 CLR RW CLR E
ACALL CHECKBUSY SETB E
RET
CHECKBUSY:MOV IN_0,#0FFH ;判断液晶显示器是否忙的子程序 CLR RS SETB RW CLR E NOP
SETB E
JB P0.7,CHECKBUSY ;如果P0.7为高电平表示忙就循环等待 RET
DELAYL: MOV R7,#100 D1: MOV R6,#200
DJNZ R6,$ DJNZ R7,D1 RET END
;延时程序
正在阅读:
地下停车场施工组织设计11-11
长寿地探秘贵州印江【金繁荣】07-17
美文赏析:素淡女子,灵魂生香03-21
郑州市城市集中供热规划05-01
一分钟可以干什么?作文400字02-05
物理实验二 冰的溶解热的测定06-14
晨星幼儿园2011学年第二学期行政会议会议纪要(一)07-19
作文“老和尚与小和尚”教学案06-30
- 梳理《史记》素材,为作文添彩
- 2012呼和浩特驾照模拟考试B2车型试题
- 关于全面推进施工现场标准化管理实施的通知(红头文件)
- 江西省房屋建筑和市政基础设施工程施工招标文件范本
- 律师与公证制度第2阶段练习题
- 2019-2020年最新人教版PEP初三英语九年级上册精编单元练习unit6训练测试卷内含听力文件及听力原文
- 小升初数学模拟试卷(十四) 北京版 Word版,含答案
- 认识创新思维特点 探讨创新教育方法-精选教育文档
- 00266 自考 社会心理学一(复习题大全)
- 多媒体在语文教学中的运用效果
- 派出所派出所教导员述职报告
- 低压电工作业考试B
- 18秋福建师范大学《管理心理学》在线作业一4
- 中国铝业公司职工违规违纪处分暂行规定
- 13建筑力学复习题(答案)
- 2008年新密市师德征文获奖名单 - 图文
- 保安员培训考试题库(附答案)
- 银川市贺兰一中一模试卷
- 2011—2017年新课标全国卷2文科数学试题分类汇编 - 1.集合
- 湖北省襄阳市第五中学届高三生物五月模拟考试试题一
- 单片机
- 时钟
- 基于
- 报告
- 显示
- 设计
- 电子
- LCD
- 兔业
- 2019年河北省中考数学总复习(课件+练习)选择填空限时练01
- 全国青少年科技创新大赛成绩查询汇总 - 图文
- 材料力学练习
- 浮力经典练习题带答案 - 图文
- 实验一 典型环节的模拟研究
- 2017-2018学年度第二学期学校工作计划
- 实验一小信号调谐(单调谐)放大器实验指导
- 证券投资学名词解释
- 幼儿园优秀教案50篇
- 2016-2021年医药中间体专用锌粉产业市场发展及前景预测研究报告
- 中国工笔花鸟课程教案
- 电机与电力拖动实验指导书天煌实验1
- 2017-2022年中国沙发市场发展趋势研究报告(目录) - 图文
- 招标评标程序和评标方法
- 2018届哈师大附中高三第三次模拟考试数学(理)试题
- 用相声演绎中国文化试题及答案讲解
- 建立沁河源头生态功能保护区的必要性和意义
- 园区小学数学教师解题能力竞赛试卷
- 周必荣《合同签订及履行过程中的法律风险防范》