定时计数器应用实验
- 格式: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
实验总结