一、实验目的
1、了解定时器/
计数器的工作方式和工作原理。
2、掌握定时器/计数器的初值计算。
3、学会使用定时器/计数器。
二、实验仪器
Keil软件,Protus软件
三、实验内容
1、假设系统时钟频率采用12MHz,要在P1.0引脚上输出一个周期为2ms的方波。
1)初值计算
方波的周期用定时器T0来确定,采用方式1,16位定时方式。单片机时钟频率频为12MHz,产生周期为2ms的方波,则定时器初始值应为:
1-61s110 机器周期 = 1212MHZ216-X110110
X64536
fc18H-6-3
2)程序
ORG
RESET:AJMP
ORG
AJMP
ORG
MAIN: MOV
MOV
ACALL
HERE: AJMP
PT0M0:MOV
MOV
SETB
SETB
SETB
RET
IT0P: MOV
MOV
CPL
0000H MAIN 00BH IT0P 0100H SP,#60H ;设置堆栈指针 TMOD,#01H ;设T0为定时器1工作方式 PT0M0 HERE ;原地跳转,等待中断 TL0,#18H ;T0赋初值低8位 TH0,#0fcH ;初值高8位 ET0 ;允许T0中断 EA ;开总中断 TR0 ;启动T0中断 TL0,#18H TH0,#0fcH P1.0 ;T0中断服务子程序 ;P1.0的状态取反
四、实验结果
一、实验目的
1、了解定时器/
计数器的工作方式和工作原理。
2、掌握定时器/计数器的初值计算。
3、学会使用定时器/计数器。
二、实验仪器
Keil软件,Protus软件
三、实验内容
1、假设系统时钟频率采用12MHz,要在P1.0引脚上输出一个周期为2ms的方波。
1)初值计算
方波的周期用定时器T0来确定,采用方式1,16位定时方式。单片机时钟频率频为12MHz,产生周期为2ms的方波,则定时器初始值应为:
1-61s110 机器周期 = 1212MHZ216-X110110
X64536
fc18H-6-3
2)程序
ORG
RESET:AJMP
ORG
AJMP
ORG
MAIN: MOV
MOV
ACALL
HERE: AJMP
PT0M0:MOV
MOV
SETB
SETB
SETB
RET
IT0P: MOV
MOV
CPL
0000H MAIN 00BH IT0P 0100H SP,#60H ;设置堆栈指针 TMOD,#01H ;设T0为定时器1工作方式 PT0M0 HERE ;原地跳转,等待中断 TL0,#18H ;T0赋初值低8位 TH0,#0fcH ;初值高8位 ET0 ;允许T0中断 EA ;开总中断 TR0 ;启动T0中断 TL0,#18H TH0,#0fcH P1.0 ;T0中断服务子程序 ;P1.0的状态取反
四、实验结果