小车定时运行实验

单片机实验

27人已加入

描述

小车定时运行实验
一、实验目的
实现定时和延时是单片机的基本应用之一。在前面的实验中延时均采用循环执行程序
的软件延时的方法,在延时过程中单片机不能执行其他程序,效率低。使用单片机定时器
实现定时和延时可以解决此问题。本实验要求使用定时器实现小车的定时运行。通过实验
应掌握以下知识点:
1.掌握定时器相关特殊功能寄存器的设置方法。
2.掌握使用定时器实现较长时间延时的方法。
3.掌握定时中断的使用和定时中断程序的调试方法。
二、实验预备知识
1.定时计数器的设置
P89V51RD2 单片机中四个定时/计数器,分别为T0、T1、T2 及看门狗定时器。在本
实验中只要求掌握T0、T1 的使用。它们通过特殊功能寄存器的设置能定义为定时器或计
数器,其工作模式有4 种可选。在使用定时/计数器的程序种,必须对定时器的相关特殊功
能寄存器进行设置,必须设置的特殊功能寄存器有:
TMOD:定时/计数器工作方式寄存器,用于定义定时/计数器的工作方式,通过设置
该寄存器可以定义 T0 和T1 的工作模式,包括定时还是计数、工作方式等。
IE:中断控制,可以允许或禁止定时/计数器中断。
TL0、TH0、TL1、TH1:定时/计数器初值寄存器,用于设定定时/计数器的初值。
TCON:该寄存器中的TR0、TR1 控制T0、T1 的起动和停止,置“1”时定时器起动,
置“0”时停止。
2.定时器初值的确定
定时器/计数器工作于定时模式时,其输入脉冲频率为振荡频率的1/12。实验电路板上
单片机的时钟振荡频率为12MHz,因此定时器输入脉冲频率为1MHz,周期为1uS。定时器
从初值开始对脉冲信号计数,当计数结果超过FFFFH(工作于方式1 时,工作方式不同该
值为FFFFH、FFH 或1FFFH)时定时器益出。因此定时器直接能产生的定时时间为:
T=(FFFFH-初值)×1uS
定时器初值按照以上公式计算,例如用定时器T0 定时500uS,定时器工作于方式1,
初值的计算方式如下:
(FFFFH-X)×1uS=500uS
X=FFFFH-500=FE0BH
所以,TL0=0BH、TH0=FEH
当初值为0 时,定时时间最长,T=65535uS。
3.长时间定时的方法
在实际应用中,经常需要较长时间的定时,因此定时器直接定时就不能满足要求。要得到更长时间的定时,需采用多次定时的方法。例如要定时1S,就让定时器定时50mS,
连续20 次就可以产生1S 的定时。程序示例如下:
主程序
ORG 0000H
SJMP MAIN
ORG 000BH
SJMP T0INT
ORG 0030H
MAIN: MOV SP ,#63H ;设置堆栈指针。
MOV TMOD ,#01H ;T0 工作于定时,工作方式1。
MOV TH0 ,#3CH ;定时器初值,根据50mS 计算。
MOV TL0 ,#0AFH
MOV IE ,#82H ;允许T0 中断。
MOV R1,#20 ;设定中断次数。
SETB TR0 ;起动定时器T0 。
……
LOOP: DJNZ R1 ,LOOP ;延时1S
……
中断程序:
T0INT:MOV TH0 ,#3CH ;赋定时器初值。
MOV TL0 ,#0AFH
DEC R1
RETI
END
思考:①程序中为什么出现的三个ORG 语句?各有何作用?
②为什么主程序中赋初值后在中断程序中还要赋初值?如果中断程序中不赋初
值会有什么现象?
4.定时中断程序的调试方法
定时器在起动以后,会自动工作,在定时器起动后,不适宜采用采用单步运行调试程
序,尤其是对中断服务程序的调试。要调试定时中断程序,应在中断程序内设置断点,程
序在断点处停止后可以采用单步运行调试程序。为了防止其他中断影响程序调试,可以在
中断程序开始的地方临时加入关中断和停止定时器的指令,在程序调试完成后在取消。
三、实验内容
1.使用定时器产生延时,使小车前进5 秒,停止5 秒,循环往复。
2.在中断程序开始处设置断点,在程序在断点处停止后记录SP、PC 等特殊功能寄存
器的值,并分析原因。
四、扩展内容

1.编程使小车原地旋转,顺时针转5 秒反时针转5 秒,通过声音检测电路产生中断
使小车停止。其中的5 秒延时使用定时器产生。
2.使用定时器产生延时,使小车前进5 秒,停止3 秒,然后左转1 秒,再右转2 秒,
最后停止。
3.编写程序要求采用定时中断使发光二极管D2 每2 秒闪烁1 次(亮1.5 秒,灭0.5
秒),但发光二极管的闪烁程序必须在中断程序中实现
五、思考题
1.要求定时器单次定时时间,为1000uS 可以采用定时器的那种工作方式。
2.比较循环程序延时与定时器延时的特点,分析它们的使用场合。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分