一、实验目的:
1、学习定时器编程方法。浙江癌症村
2、学习计数器编程方法。
二、实验仪器设备
计算机一台、单片机在线系统一套(AY—MPU89S51E)
三、实验电路:
四、实验内容:
1、T0做定时器,在P1.0输出一个周期为2秒的方波信号;
3、在数码管上显示脉冲个数;
五、实验步骤:
3、程序输入到编程软件Keilc51中。
3、编译下载程序到系统实验板上的单片机中。
4、分析调试记录的内容和结果,出程序中可能出错的地方,然后修改程序,继续调试、记录、分析,直到调试成功。 实验电路:
程序流程图:
程序代码:
GEWEI EQU 21H
SHIWEI EQU 22H
BAIWEI EQU 23H
SCANLED BIT 01H
SCANLED1 BIT 02H
ORG 0000H
AJMP MAIN
朗文交互
ORG 000BH
AJMP TIMER
ORG 0100H
MAIN:MOV P1,#0FFH
MOV SP,#5FH
MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
MOV TH1,#00H
MOV TL1,#00H
MOV 30H,#00H
MOV TMOD,#01100001B
SETB EA
SETB ET0
MOV TCON,#01010000B
LOOP: MOV A,TL1
MOV B,#100
DIV AB
MOV BAIWEI,A
MOV A,B
CPL SCANLED1
JB SCANLED1,S0
MOV B,#10
DIV AB
MOV SHIWEI,A
MOV GEWEI,B
CPL SCANLED
JB SCANLED,S1
AJMP S2
S0:MOV P2,#01111111B秒的定义
MOV A,BAIWEI
AJMP FIND
S1:MOV P2,#10111111B
MOV A,SHIWEI
AJMP FIND
上海电大网上课堂 S2:MOV P2,#11011111B
MOV A,GEWEI
AJMP FIND
FIND: MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
LJMP LOOP
田野又是青纱帐
TIMER:PUSH Acc
PUSH PSW
INC 30H
MOV A,30H
CJNE A,#20,L1
CPL P1.0
MOV 30H,#00H
L1:MOV TH0,#HIGH(65536-50000)
MOV TL0,#LOW(65536-50000)
POP PSW
POP Acc
RETI
河北唐山一中
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
END