AT89C51电子时钟电路图和程序介绍

出处:bbstom时间:2011-09-03

  AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机

        AT89C51电子时钟电路图和程序

  一、功能

  ①开机时,显示12:00:00的时间开始计时;
  ②P0.0/AD0控制“秒”的调整,每按加1秒;
  ③P0.1/AD1控制“分”的调整,每按加1分;
  ④P0.2/AD2控制“时”的调整,每按加1个小时。

  二、系统板上硬件连线

  ①把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;
  ②把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;
  ③把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;

  三、汇编源程序

  SECOND EQU 30H
  MINITE EQU 31H
  HOUR EQU 32H
  HOURK BIT P0.0
  MINITEK BIT P0.1
  SECONDK BIT P0.2
  DISPBUF EQU 40H
  DISPBIT EQU 48H
  T2SCNTA EQU 49H
  T2SCNTB EQU 4AH
  TEMP EQU 4BH
  ORG 00H
  LJMP START
  ORG 0BH
  LJMP INT_T0
  START: MOV SECOND,#00H
  MOV MINITE,#00H
  MOV HOUR,#12
  MOV DISPBIT,#00H
  MOV T2SCNTA,#00H
  MOV T2SCNTB,#00H
  MOV TEMP,#0FEH
  LCALL DISP
  MOV TMOD,#01H
  MOV TH0,#(65536-2000) / 256
  MOV TL0,#(65536-2000) MOD 256
  SETB TR0
  SETB ET0
  SETB EA
  WT: JB SECONDK,NK1
  LCALL DELY10MS
  JB SECONDK,NK1
  INC SECOND
  MOV A,SECOND
  CJNE A,#60,NS60
  MOV SECOND,#00H
  NS60: LCALL DISP
  JNB SECONDK,$
  NK1: JB MINITEK,NK2
  LCALL DELY10MS
  JB MINITEK,NK2
  INC MINITE
  MOV A,MINITE
  CJNE A,#60,NM60
  MOV MINITE,#00H
  NM60: LCALL DISP
  JNB MINITEK,$
  NK2: JB HOURK,NK3
  LCALL DELY10MS
  JB HOURK,NK3
  INC HOUR
  MOV A,HOUR
  CJNE A,#24,NH24
  MOV HOUR,#00H
  NH24: LCALL DISP
  JNB HOURK,$
  NK3: LJMP WT
  DELY10MS:
  MOV R6,#10
  D1: MOV R7,#248
  DJNZ R7,$
  DJNZ R6,D1
  RET
  DISP:
  MOV A,#DISPBUF
  ADD A,#8
  DEC A
  MOV R1,A
  MOV A,HOUR
  MOV B,#10
  DIV AB
  MOV @R1,A
  DEC R1
  MOV A,B
  MOV @R1,A
  DEC R1
  MOV A,#10
  MOV@R1,A
  DEC R1
  MOV A,MINITE
  MOV B,#10
  DIV AB
  MOV @R1,A
  DEC R1
  MOV A,B
  MOV @R1,A
  DEC R1
  MOV A,#10
  MOV@R1,A
  DEC R1
  MOV A,SECOND
  MOV B,#10
  DIV AB
  MOV @R1,A
  DEC R1
  MOV A,B
  MOV @R1,A
  DEC R1
  RET
  INT_T0:
  MOV TH0,#(65536-2000) / 256
  MOV TL0,#(65536-2000) MOD 256
  MOV A,#DISPBUF
  ADD A,DISPBIT
  MOV R0,A
  MOV A,@R0
  MOV DPTR,#TABLE
  MOVC A,@A+DPTR
  MOV P1,A
  MOV A,DISPBIT
  MOV DPTR,#TAB
  MOVC A,@A+DPTR
  MOV P3,A
  INC DISPBIT
  MOV A,DISPBIT
  CJNE A,#08H,KNA
  MOV DISPBIT,#00H
  KNA: INC T2SCNTA
  MOV A,T2SCNTA
  CJNE A,#100,DONE
  MOV T2SCNTA,#00H
  INC T2SCNTB
  MOV A,T2SCNTB
  CJNE A,#05H,DONE
  MOV T2SCNTB,#00H
  INC SECOND
  MOV A,SECOND
  CJNE A,#60,NEXT
  MOV SECOND,#00H
  INC MINITE
  MOV A,MINITE
  CJNE A,#60,NEXT
  MOV MINITE,#00H
  INC HOUR
  MOV A,HOUR
  CJNE A,#24,NEXT
  MOV HOUR,#00H
  NEXT: LCALL DISP
  DONE: RETI
  TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H
  TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
  END



  
上一篇:采用PIC16C54制作的计数器
下一篇:基于PIC单片机控制的电话小总机

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关电路图