单片机实验报告(三)
姓名:赵苑珺
学号:090250129
实验五单片机定时/计数器实验
一、实验目的
1、了解单片机定时/计数器原理、工作方式选择;
2、了解单片机定时与计数器的工作过程;
3、了解单片机定时/计数器的程序设计方法。
二、实验内容
1、用定时、计数器控制图4-4 中的发光二极管,使其亮两秒,灭两秒,周而复始,设计该程序。
三、实验步骤
1、设T0 定时间隔为50ms(方式),当定时时间到后,将P1.7 的输出加到T1 端作计数脉冲,需要定时两次才构成一个完整的计数脉冲,因此T1 需计数20 次,才能完成2 秒的定时,如图4-4 所示两秒脉冲由P1.0 输出,定时波形如图4-5 所示。
2、定时/计数器的工作方式选择
命令寄存器TMOD
3、计算定时/计数器的初值
T0 为定时方式,设其初值为X,则:
得到补偿值X=4C00H
T1 为计数方式初值为256-10=246=ECH
4、定时/计数器的程序设计,参考程序如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:MOV P1,#00H
CLR P1.0
CLR P1.7
MOV TMOD,#61H ;设置寄存器TMOD
MOV TL1,#0ECH
MOV TH1,#0ECH ;装入初值
SETB TR1 ;开启定时器1,计数方式LOOP1:CPL P1.0 ;将P1.0取反
LOOP2:MOV TH0,#4CH
MOV TL0,#00H ;装入定时初值
SETB TR0 ;开启定时器0,定时方式LOOP3:JBC TF0,LOOP4 ;当定时器0定时结束时,跳转到LOOP4 SJMP LOOP3 并且清除标志位
LOOP4:CPL P1.7 ;将P1.7取反
JBC TF1,LOOP1 ;当计数器1计数结束后,跳转到LOOP1
并且清除标志位
AJMP LOOP2 ;若计数没结束,跳转到LOOP2,开始
END 下一轮计时
5、按设计好的电路,在实验装置上连好电路,其中采用双头线将P1.7 口与T1 相连,经检查无误后打开实验装置上的电源开关。
注意:检查后的电路应经老师的确认,打开实电源开关后,发现异常应立即关闭电源。
6、输入、调试、运行程序。
进入伟福集成开发环境,输入、汇编、运行程序。
程序运行后,观察、分析实验现象。
四、实验设备及仪器
1、单片机实验装置及开发系统一套;
2、PC 机一台。
五、思考题
1、单片机定时/计数器有几种工作方式?每种工作方式的特点是什么?
答:四种工作方式
方式0:13位定时器/计数器,TLx五位,THx八位。
方式1:16位定时器/计数器。
方式2:8位初值自动装填定时器/计数器。
当TL内定时/计数结束时,将TH内的值自动装入TL。
方式3:只适用于定时器/计数器T0,此时T1用来作串行口波特率发生器。
TL0使用T0的状态控制位,而TH0被固定为8位定时器,并使用T1的状态控制位TR1和TF1,同时
占用定时器T1的中断请求源TF1。
2、采用中断方式设计程序,完成上述实验。
答:ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0_INT
ORG 0100H
MAIN: MOV A,#0H
MOV TMOD,#61H
MOV TL1,#0ECH
MOV TH1,#0ECH
MOV TL0,#00H
MOV TH0,#4CH
MOV IE,#82H
SETB TR1
SETB TR0
LOOP1: CPL P1.0
LOOP2: JBC TF1,LOOP1
SJMP LOOP2
T0_INT: MOV TH0,#4CH
MOV TL0,#00H
CPL P1.7
RETI
END。