实验七 定时器实验
(一)实验要求
由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次.P1口的P1.0-P1.7分别接八个发光二极管.要求编写程序模拟一时序控制装置.开机后第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒钟L4,L6亮,第四秒钟L5,L7亮,第五秒L0,L2,L4,L6亮,第六秒钟L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L0,L2亮,然后L1,L3亮……一直循环下去.
(二)实验目的
1.学习8031内部计数器的使用和编程方法.
2.进一步掌握中断处理程序的编程方法.
(三)实验电路及连线
图8-14 发光二极管连线图
P1.0—P1.7接L0—L7.
(四)实验说明
1.关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置.内部计数器在单片机中主要有定时器和计数器两个功能.
2.内部计数器用作定时器时,是对机器周期计数.每个机器周期的长度是12个振荡器周期.因为实验系统的晶振是11.0592MHz,所以定时常数的设置可按以下方法计算:
机器周期=12÷11.0592MHz=1.0857μS
(65536-定时常数)*1.0857μS=50mS
定时常数=4C00H
3.定时器的有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON.TMOD用于设置定时器/计数器的工作方式0—3,并确定用于定时还是用于计数.TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等.
4.在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断.
(五)实验框图
实验示例程序见T1LED.ASM,程序框图如下.
图8-15 定时器实验程序流程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。