定时计数器应用实验

  • 格式:doc
  • 大小:84.50 KB
  • 文档页数:8

1
实验四 定时/计数器实验
班级_____________ 姓名_____________ 学号______________
实验目的

1、熟练掌握定时/计数器的相关程序设计方法
2、掌握定时/计数器的相关应用
实验内容
1、电子钟设计实验:
根据电路图,完成一个电子钟的设计,要求数码管上显示时间格式为:
小时-分钟-秒。使用定时/计数器完成相关程序设计。
2、频率计设计实验:
根据电路图,在单片机P3.4输入一个方波信号,信号的频率小于250Hz,
请编写程序完成对这个信号的频率的测量,测量结果显示在数码管上。
实验原理及实验记录
1、实验内容1: 电子钟设计实验
(1)实验原理图

报告评分
单片机实验

2
(2)实验程序
ORG 0000H
AJMP START
ORG 0010H
AJMP T0INT

DAT EQU 30H
HORE EQU 40H
MIN EQU 41H
SEC EQU 42H
TIME EQU 43H

ORG 0100H
START:
MOV TMOD,#01H
MOV TH0,#HIGH(-50000)
MOV TL0, #LOW(-50000)
MOV TIME,#0
MOV HORE,#23
MOV MIN,#59
MOV SEC,#50

SETB TR0
SETB ET0
SETB EA

LOOP:
LCALL DISPLAY
AJMP LOOP

COUNTER:
MOV A,HORE
MOV B,#10
DIV AB
MOV DAT,A
MOV DAT+1,B

MOV A,MIN
MOV B,#10
DIV AB
MOV DAT+3,A
成都信息工程大学
3
MOV DAT+4,B
MOV A,SEC
MOV B,#10
DIV AB
MOV DAT+6,A
MOV DAT+7,B

MOV DAT+2,#16
MOV DAT+5,#16
RET
DISPLAY:
LCALL COUNTER
MOV R0,#DAT
MOV R1,#0

DLOOP:
MOV DPTR,#LEDCODE
MOV A,@R0
MOVC A,@A+DPTR
CPL A
MOV P0,A
SETB P1.3
CLR P1.3

MOV DPTR,#LEDPOSIT
MOV A,R1
MOVC A,@A+DPTR
CPL A
MOV P0,A
SETB P1.2
CLR P1.2

ACALL DELAY
MOV P0,#00H
SETB P1.2
CLR P1.2

INC R0
INC R1
CJNE R1,#8,DLOOP
单片机实验
4
MOV R0,DAT
MOV R1,#0
RET
DELAY:
MOV R7,#200
DJNZ R7,$
RET
T0INT:
PUSH ACC
PUSH PSW
MOV TH0,#HIGH(-50000)
MOV TL0, #LOW(-50000)

INC TIME
MOV A,TIME
CJNE A,#20,T0OUT

MOV TIME,#0
INC SEC
MOV A,SEC
CJNE A,#60,T0OUT

MOV SEC,#0
INC MIN
MOV A,MIN
CJNE A,#60,T0OUT

INC HORE
MOV MIN,#0
MOV A,HORE
CJNE A,#24,T0OUT

MOV HORE,#0
T0OUT:
POP PSW
POP ACC
RETI

LEDCODE:
DB 3FH, 06H, 5bH, 4fH, 66H, 6dH, 7dH, 07H
; 0 1 2 3 4 5 6 7
DB 7fH, 6fH, 77H, 7cH, 39H, 5eH, 79H, 71H, 40H
成都信息工程大学
5
; 8 9 A B C D E F -
LEDPOSIT:
DB 0FEH, 0FDH, 0FBH, 0F7H, 0EFH, 0DFH, 0BFH, 7FH
END

2、实验内容2: 2、 频率计设计实验:
(1)实验原理图

(2)实验程序
ORG 0000H
AJMP START

ORG 001BH
AJMP T0INT

DAT EQU 30H
TIME EQU 40H
NUM EQU 41H
单片机实验
6
ORG 0100H
START:
MOV TMOD, #15H
MOV TH1, #HIGH(-50000)
MOV TL0, #0
MOV TH0, #0
MOV TIME, #20
SETB TR0
SETB TR1
SETB ET1
SETB EA

LOOP:
CALL DISPLAY
AJMP LOOP

COUNTER:
MOV A, NUM
MOV B, #100
DIV AB
MOV DAT, A
MOV A, B
MOV B, #10
DIV AB ;
MOV DAT+1, A ;
MOV DAT+2, B ;
RET

DISPLAY:
LCALL COUNTER
MOV R0, #DAT
MOV R1, #1
DLOOP:
MOV DPTR, #LEDCODE
MOV A, @R0
MOVC A, @A+DPTR
MOV P0, A

MOV A, R1
MOV DPTR, #LEDPOSIT
成都信息工程大学
7
MOVC A, @A+DPTR
MOV P2, A

LCALL DELAY

MOV P2, #0FFH

INC R0
INC R1
CJNE R1, #4, DLOOP

OUT:
MOV R1, #1
MOV R0, #DAT
RET

DELAY:
DJNZ R7, $
RET

T0INT:
PUSH ACC
CLR TR0
MOV TH1, #HIGH(-50000)
MOV TL1, #LOW(-50000)
DJNZ TIME, INTOUT
MOV NUM, TL0
MOV TL0, #0
MOV TH0, #0
MOV TIME, #20

INTOUT:
POP ACC
SETB TR0
RETI

LEDCODE:
DB 3FH, 06H, 5bH, 4fH, 66H, 6dH, 7dH, 07H
; 0 1 2 3 4 5 6 7
单片机实验
8
DB 7fH, 6fH, 77H, 7cH, 39H, 5eH, 79H, 71H
; 8 9 A B C D E F

LEDPOSIT:
DB 0xfe,0xfd,0xfb,0xf7

END

实验总结