电子钟程序及原理图

基于51单片机电子钟设计

利用如图所示电路,设计一个电子钟,要求如下:

1)显示内容:时-分-秒

2)具有闹铃设定功能、时间调整功能

3)具有按键设置功能

一、显示内容

显示时间:用六位7段数码管

闹铃提示:用8个发光二极管

设置提示:用8个发光二极管

二、按键功能

P3.2——功能设置键;

P3.3——显示区切换键;

P3.4——“+”键;

P3.5——“-”键。

设置提示显示要求:

1)正常显示状态,8个发光二极管全灭;

2)时间调整状态,P1.7亮;

3)闹铃设定状态,P1.7和P1.6亮。

显示时间要求:

1)显示 时-分-秒,分三个显示区。

功能设置键K1是一个多功能键:

按第一次,进入时间调整状态

按第二次,进入闹铃设定状态

按第三次,退出设置状态,时钟正常显示。

备注:其他键在K1退出设置状态时无效。

显示区切换键K2:

在设置状态,用于切换不同的显示区,每按一次,将切换一次。

“+”键K3:在设置状态,用于对相应的显示区数字进行累加,每按一次,数字加1。

“-”键K4:在设置状态,用于对相应的显示区数字进行自减,每按一次,数字减1。 程序:

K1 BIT P3.2

K2 BIT P3.3

K3 BIT P3.4

K4 BIT P3.5

L1 BIT P1.7

L2 BIT P1.6

KEZT EQU 30H

HOUR EQU 31H

MINU EQU 32H

SECO EQU 33H

NHOU EQU 34H

NMIN EQU 35H

K2ZT EQU 36H

TIME EQU 37H

ORG 0000H

AJMP START

ORG 000BH

AJMP DINGSHI

ORG 100H

START: ACALL RESET

LOOP: ACALL KEYSET

ACALL DISPLAY

ACALL ZHISHI

AJMP LOOP

;**************************************

DINGSHI: MOV TH0,#3CH

MOV TL0,#0B0H

INC TIME

MOV A,TIME

CJNE A,#20,DINGEND

MOV TIME,#0

INC SECO

MOV A,SECO

CJNE A,#60,DINGEND

INC MINU

MOV SECO,#0

MOV A,MINU

CJNE A,#60,DINGEND

INC HOUR

MOV MINU,#0

MOV A,HOUR

CJNE A,#24,DINGEND

MOV HOUR,#0

DINGEND: RETI

;****************************************

RESET: MOV TMOD,#01H ;T0工作在方式1,12MHZ

MOV TH0,#3CH

MOV TL0,#0B0H

SETB EA

SETB ET0

MOV HOUR,#23

MOV MINU,#59

MOV SECO,#58

MOV NHOU,#12

MOV NMIN,#0

MOV KEZT,#0

MOV K2ZT,#0

MOV TIME,#0

CLR F0

;*********************************************

KEYSET:

; 判定K1

SETB K1

JB K1,KK1 ;K1=1 LOOP

CALL DELAY20MS ;软件防抖

JB K1,KK1

KS1: JNB K1,$

CALL DELAY20MS ; 软件防抖

JNB K1,KS1

INC KEZT

SETB F0

MOV A,KEZT

CJNE A,#3,KK1

CLR F0

MOV KEZT,#0

SETB TR0

KK1: JNB F0,KEEND

CLR TR0

ACALL KEYGN

KEEND: RET

;*********************************

KEYGN:

; 判定K2

SETB K2

JB K2,KK2 ;K2=1 LOOP

CALL DELAY20MS ;软件防抖

JB K2,KK2

KS2: JNB K2,$

CALL DELAY20MS ; 软件防抖

JNB K2,KS2

INC K2ZT

MOV A,K2ZT

CJNE A,#3,KK2

MOV K2ZT,#0

; 判定K3

KK2: SETB K3

JB K3,KK3 ;K3=1 LOOP

CALL DELAY20MS ;软件防抖

JB K3,KK3

KS3: JNB K3,$

CALL DELAY20MS ; 软件防抖

JNB K3,KS3

MOV A,KEZT

CJNE A,#1,KSS1

MOV R7,K2ZT

MOV HOUR,#0

KHOU: AJMP KK3

K3S1: CJNE R7,#1,K3S2

INC MINU

MOV R6,MINU

CJNE R6,#60,KMIN

MOV MINU,#0

KMIN: AJMP KK3

K3S2: INC SECO

MOV R6,SECO

CJNE R6,#60,KSEC

MOV SECO,#0

KSEC: AJMP KK3

; 对闹铃设定

KSS1: CJNE A,#2,KK3

MOV R7,K2ZT

CJNE R7,#0,K3SS1

INC NHOU

MOV R6,NHOU

CJNE R6,#24,KNU

MOV NHOU,#0

KNU: AJMP KK3

K3SS1: CJNE R7,#1,KK3

INC NMIN

MOV R6,NMIN

CJNE R6,#60,KK3

MOV NMIN,#0

; 判定K4

KK3: SETB K4

JB K4,KYEND ;K4=1 LOOP

CALL DELAY20MS ;软件防抖

JB K4,KYEND

KS4: JNB K4,$

CALL DELAY20MS ; 软件防抖

JNB K4,KS4

MOV A,KEZT

CJNE A,#1,KSS3

MOV R7,K2ZT

CJNE R7,#0,K4SS1

DEC HOUR

MOV R6,HOUR

CJNE R6,#0FFH,K4HO

MOV HOUR,#23

K4HO: AJMP KYEND

K4SS1: CJNE R7,#1,K4SS2

K4MI: AJMP KYEND

K4SS2: DEC SECO

MOV R6,SECO

CJNE R6,#0FFH,K4SE

MOV SECO,#59

K4SE: AJMP KYEND

; 对闹铃设定

KSS3: CJNE A,#2,KYEND

MOV R7,K2ZT

CJNE R7,#0,K4SSS1

DEC NHOU

MOV R6,NHOU

CJNE R6,#0FFH,K4NH

MOV NHOU,#23

K4NH: AJMP KYEND

K4SSS1: CJNE R7,#1,KYEND

DEC NMIN

MOV R6,NMIN

CJNE R6,#0FFH,KYEND

MOV NMIN,#59

KYEND: RET

;********************************************

ZHISHI:

MOV A,KEZT

CJNE A,#1,LOOP1

CLR L1

SETB L2

AJMP LOOP3

LOOP1: CJNE A,#2,LOOP2

CLR L1

CLR L2

AJMP LOOP3

LOOP2: SETB L1

SETB L2

LOOP3: RET

;********************************************

DISPLAY: ACALL SHUZHUAN

MOV R3,#0

MOV DPTR,#LED_DM

MOV R2,#07FH

JB F0,DI1

MOV R0,#TIM

AJMP DI3

DI1: MOV A,KEZT

CJNE A,#1,DI2

MOV R0,#TIM

MOVC A,@A+DPTR

MOV P0,A

MOV A,R2

RR A

MOV R2,A

ACALL DELAY

INC R0

INC R3

CJNE R3,#6H,DI3

RET

;********************************************

SHUZHUAN: MOV R0,#TIM

MOV A,HOUR

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

INC R0

MOV A,MINU

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

INC R0

MOV A,SECO

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

;***********************

MOV R0,#NTIM

MOV A,NHOU

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

INC R0

MOV A,NMIN

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,#0

RET

;*******************************************

DELAY: MOV R7,#20

D1: MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

;********************************************

; 软件防抖程序

DELAY20MS: MOV R7,#100

D21: MOV R6,#100

DJNZ R6,$

DJNZ R7,D21

RET

LED_PX: DB 0feH,0fdH,0fbH,0f7H,0efH,0dfH,0bfH,7fH LED_DM: DB 0c0H,0F9H,0A4H,0B0H,99H;0-4

DB 92H,82H,0F8H,80H,90H;5-9

DB 88H,83H,0C6H,0A1H,86H;A,b,C,d,E

DB 8EH,0FFH,0CH,89H,7FH,0BFH ;F,空格,P,H,.,- END

基于51单片机电子钟设计

利用如图所示电路,设计一个电子钟,要求如下:

1)显示内容:时-分-秒

2)具有闹铃设定功能、时间调整功能

3)具有按键设置功能

一、显示内容

显示时间:用六位7段数码管

闹铃提示:用8个发光二极管

设置提示:用8个发光二极管

二、按键功能

P3.2——功能设置键;

P3.3——显示区切换键;

P3.4——“+”键;

P3.5——“-”键。

设置提示显示要求:

1)正常显示状态,8个发光二极管全灭;

2)时间调整状态,P1.7亮;

3)闹铃设定状态,P1.7和P1.6亮。

显示时间要求:

1)显示 时-分-秒,分三个显示区。

功能设置键K1是一个多功能键:

按第一次,进入时间调整状态

按第二次,进入闹铃设定状态

按第三次,退出设置状态,时钟正常显示。

备注:其他键在K1退出设置状态时无效。

显示区切换键K2:

在设置状态,用于切换不同的显示区,每按一次,将切换一次。

“+”键K3:在设置状态,用于对相应的显示区数字进行累加,每按一次,数字加1。

“-”键K4:在设置状态,用于对相应的显示区数字进行自减,每按一次,数字减1。 程序:

K1 BIT P3.2

K2 BIT P3.3

K3 BIT P3.4

K4 BIT P3.5

L1 BIT P1.7

L2 BIT P1.6

KEZT EQU 30H

HOUR EQU 31H

MINU EQU 32H

SECO EQU 33H

NHOU EQU 34H

NMIN EQU 35H

K2ZT EQU 36H

TIME EQU 37H

ORG 0000H

AJMP START

ORG 000BH

AJMP DINGSHI

ORG 100H

START: ACALL RESET

LOOP: ACALL KEYSET

ACALL DISPLAY

ACALL ZHISHI

AJMP LOOP

;**************************************

DINGSHI: MOV TH0,#3CH

MOV TL0,#0B0H

INC TIME

MOV A,TIME

CJNE A,#20,DINGEND

MOV TIME,#0

INC SECO

MOV A,SECO

CJNE A,#60,DINGEND

INC MINU

MOV SECO,#0

MOV A,MINU

CJNE A,#60,DINGEND

INC HOUR

MOV MINU,#0

MOV A,HOUR

CJNE A,#24,DINGEND

MOV HOUR,#0

DINGEND: RETI

;****************************************

RESET: MOV TMOD,#01H ;T0工作在方式1,12MHZ

MOV TH0,#3CH

MOV TL0,#0B0H

SETB EA

SETB ET0

MOV HOUR,#23

MOV MINU,#59

MOV SECO,#58

MOV NHOU,#12

MOV NMIN,#0

MOV KEZT,#0

MOV K2ZT,#0

MOV TIME,#0

CLR F0

;*********************************************

KEYSET:

; 判定K1

SETB K1

JB K1,KK1 ;K1=1 LOOP

CALL DELAY20MS ;软件防抖

JB K1,KK1

KS1: JNB K1,$

CALL DELAY20MS ; 软件防抖

JNB K1,KS1

INC KEZT

SETB F0

MOV A,KEZT

CJNE A,#3,KK1

CLR F0

MOV KEZT,#0

SETB TR0

KK1: JNB F0,KEEND

CLR TR0

ACALL KEYGN

KEEND: RET

;*********************************

KEYGN:

; 判定K2

SETB K2

JB K2,KK2 ;K2=1 LOOP

CALL DELAY20MS ;软件防抖

JB K2,KK2

KS2: JNB K2,$

CALL DELAY20MS ; 软件防抖

JNB K2,KS2

INC K2ZT

MOV A,K2ZT

CJNE A,#3,KK2

MOV K2ZT,#0

; 判定K3

KK2: SETB K3

JB K3,KK3 ;K3=1 LOOP

CALL DELAY20MS ;软件防抖

JB K3,KK3

KS3: JNB K3,$

CALL DELAY20MS ; 软件防抖

JNB K3,KS3

MOV A,KEZT

CJNE A,#1,KSS1

MOV R7,K2ZT

MOV HOUR,#0

KHOU: AJMP KK3

K3S1: CJNE R7,#1,K3S2

INC MINU

MOV R6,MINU

CJNE R6,#60,KMIN

MOV MINU,#0

KMIN: AJMP KK3

K3S2: INC SECO

MOV R6,SECO

CJNE R6,#60,KSEC

MOV SECO,#0

KSEC: AJMP KK3

; 对闹铃设定

KSS1: CJNE A,#2,KK3

MOV R7,K2ZT

CJNE R7,#0,K3SS1

INC NHOU

MOV R6,NHOU

CJNE R6,#24,KNU

MOV NHOU,#0

KNU: AJMP KK3

K3SS1: CJNE R7,#1,KK3

INC NMIN

MOV R6,NMIN

CJNE R6,#60,KK3

MOV NMIN,#0

; 判定K4

KK3: SETB K4

JB K4,KYEND ;K4=1 LOOP

CALL DELAY20MS ;软件防抖

JB K4,KYEND

KS4: JNB K4,$

CALL DELAY20MS ; 软件防抖

JNB K4,KS4

MOV A,KEZT

CJNE A,#1,KSS3

MOV R7,K2ZT

CJNE R7,#0,K4SS1

DEC HOUR

MOV R6,HOUR

CJNE R6,#0FFH,K4HO

MOV HOUR,#23

K4HO: AJMP KYEND

K4SS1: CJNE R7,#1,K4SS2

K4MI: AJMP KYEND

K4SS2: DEC SECO

MOV R6,SECO

CJNE R6,#0FFH,K4SE

MOV SECO,#59

K4SE: AJMP KYEND

; 对闹铃设定

KSS3: CJNE A,#2,KYEND

MOV R7,K2ZT

CJNE R7,#0,K4SSS1

DEC NHOU

MOV R6,NHOU

CJNE R6,#0FFH,K4NH

MOV NHOU,#23

K4NH: AJMP KYEND

K4SSS1: CJNE R7,#1,KYEND

DEC NMIN

MOV R6,NMIN

CJNE R6,#0FFH,KYEND

MOV NMIN,#59

KYEND: RET

;********************************************

ZHISHI:

MOV A,KEZT

CJNE A,#1,LOOP1

CLR L1

SETB L2

AJMP LOOP3

LOOP1: CJNE A,#2,LOOP2

CLR L1

CLR L2

AJMP LOOP3

LOOP2: SETB L1

SETB L2

LOOP3: RET

;********************************************

DISPLAY: ACALL SHUZHUAN

MOV R3,#0

MOV DPTR,#LED_DM

MOV R2,#07FH

JB F0,DI1

MOV R0,#TIM

AJMP DI3

DI1: MOV A,KEZT

CJNE A,#1,DI2

MOV R0,#TIM

MOVC A,@A+DPTR

MOV P0,A

MOV A,R2

RR A

MOV R2,A

ACALL DELAY

INC R0

INC R3

CJNE R3,#6H,DI3

RET

;********************************************

SHUZHUAN: MOV R0,#TIM

MOV A,HOUR

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

INC R0

MOV A,MINU

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

INC R0

MOV A,SECO

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

;***********************

MOV R0,#NTIM

MOV A,NHOU

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,B

INC R0

MOV A,NMIN

MOV B,#10

DIV AB

MOV @R0,A

INC R0

MOV @R0,#0

RET

;*******************************************

DELAY: MOV R7,#20

D1: MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

;********************************************

; 软件防抖程序

DELAY20MS: MOV R7,#100

D21: MOV R6,#100

DJNZ R6,$

DJNZ R7,D21

RET

LED_PX: DB 0feH,0fdH,0fbH,0f7H,0efH,0dfH,0bfH,7fH LED_DM: DB 0c0H,0F9H,0A4H,0B0H,99H;0-4

DB 92H,82H,0F8H,80H,90H;5-9

DB 88H,83H,0C6H,0A1H,86H;A,b,C,d,E

DB 8EH,0FFH,0CH,89H,7FH,0BFH ;F,空格,P,H,.,- END


相关文章

  • 电工电子专业所学课程
  • 电工电子所学课程 培养目标编辑 以终身教育.素质教育.个性教育为基点,培养德.智.体全面发展,知识.能力.素质协调发展,能独立地分析和解决问题,适应"电气工程及自动化"领域的各项工作,并在计算机应用技术方面有专长的宽厚型 ...查看


  • 2015年电子科技大学硕士研究生复试科目
  • 复试科目 说明:1.考试大纲详见电子科技大学研招网"考试大纲",参考书目详见电子科技大学研招网"参考书目",仅供参 考,研究生招生办公室不提供,也可参考内容与之相近的其他书目. 2.复试科目如未特别说 ...查看


  • 计算机科学与技术专业 主要课程
  • 计算机科学与技术专业 03023001 高等数学 Higher Mathematics [192-11-1.2] 内容提要:作为本专业的重要基础课程,内容以微积分.中值定理.不定积分.定积分及其应用,多元 函数微分法及其应用.重积分.曲线积 ...查看


  • 纺织工程系
  • 纺织工程系 纺织工程 主要课程:高等数学.大学英语.大学物理.计算机应用基础.机械设计基础.电工电子.纺织材料学.纺纱学.织造学.针织学.染整工艺学.非织造技术:纺纱工艺与质量控制.织造工艺与质量控制.纺织CAD.织物组织与结构.纺织厂设计 ...查看


  • 电子信息工程2
  • 子信息工程专业 04023001 高等数学 Advanced Mathematics [192-10-1.2] 内容提要:高等数学是高等学校理工科专业的一门必修的重要基础课.通过这门课程的学习,使学生系统地获得函数.极限.连续.一元函数微积 ...查看


  • 专业课考试科目
  • 北京工业大学 421自动控制原理 复试:1.电子技术2.计算机原理 北京航空航天大学 [双控]432控制理论综合或433控制工程综合 [检测]433控制工程综合或436检测技术综合 [系统]431自动控制原理或451材料力学或841概率与数 ...查看


  • 电子信息工程课程
  • 六.课程简介 课号:CS01001 课程名称(中文):计算机文化基础 课程名称(英文):Fundamentals of Computer Culture 学时:10/30 学分:1 开课学期:秋 预修课程:无 适用对象和学科方向:全校性公共 ...查看


  • 电气自动化考研方向
  • 电机 与电器 电力系统 高低压绝缘技术 电力电子 电工理论与新技术 就这5个 了 考数一 和电路 其实也不难的 看你考什么学校了 建议考电力系统 电气工程及自动化专业考研要考哪些专业课? 初试多为 电路 或电路与数字电子技术 复试多为 电机 ...查看


  • 电气工程及自动化专业考研学校科目
  • 电气工程及自动化专业考研学校科目 2008年03月21日 星期五 20:29 北京工业大学 421自动控制原理 复试:1.电子技术 2.计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工程综合 [检测] 433控制工程 ...查看


  • 电子与信息技术1
  • 中等职业学校 电子与信息技术专业课程设置 一.招生对象与学制 本专业招收初中毕业生或具有同等学力者,学制3-4年. 二.培养目标与业务范围 (一) 培养目标 本专业培养与我国社会主义现代化建设要求相适应,在德.智.体.美等方面全面发展,具有 ...查看


热门内容