定时计数器实验

上传人:工**** 文档编号:564754136 上传时间:2023-09-30 格式:DOCX 页数:14 大小:771.02KB
返回 下载 相关 举报
定时计数器实验_第1页
第1页 / 共14页
定时计数器实验_第2页
第2页 / 共14页
定时计数器实验_第3页
第3页 / 共14页
定时计数器实验_第4页
第4页 / 共14页
定时计数器实验_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《定时计数器实验》由会员分享,可在线阅读,更多相关《定时计数器实验(14页珍藏版)》请在金锄头文库上搜索。

1、实验五 定时/计数器实验一、实验目的1学习 8051 内部定时/计数器的工作原理及编程方法; 2掌握定时/计数器外扩中断的方法。二、实验原理8051单片机有2个16位的定时/计数器 淀时器0( T0 )和定时器1( T1 ) 它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数 和检测等场合。T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。 作计数器时,通过引脚T0( P3.4)和T1( P3.5 )对外部脉冲信号计数,当输 入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为 振荡频率的1/24。定时/计数器的结构:定时/计数器的实质是

2、加1计数器(16位),由高8位和低8位两个寄存器 组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON 是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。内部总线nMIMeiac0T28),则计算初值 X 的公式如下:X=M-要求的计数值(十六进制数)定时器初值的计算:在定时器模式下,计数器由单片机主脉冲fosc经12分频后计数。因此, 定时器定时初值计算公式:X=M-(要求的定时值)/(12/fosc)80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用 于设置其工作方式;TCON用于控制其启动和中断申请。 工作方式寄存器 TMOD:工作方式寄存

3、器TMOD用于设置定时/计数器的工作方式,低四 位 用于TO,高四位用于T1。其格式如下:5q4q32q1 口字节地址:89汕GATEC/TMlMOGATEC./tMlMOTMOD*GATE:门控位。GATE二0时,只要用软件使TCON中的TR0或TR1为1, 就可以启动定时/计数器工作;GATA二1时,要用软件使TR0或TR1为1, 同时外部中断弓I脚或也为高电平时,才能启动定时/计数器工作。即此时定时 器的启动条件,加上了或引脚为高电平这一条件。M1M0 :工作方式设置位。定时/计数器有四种工作方式,由M1M0进行0 MINO工作方式门说明003方式OP13位定时/计数器013方式216位

4、定时/计数器心10p方式加官位自动重装定时/计数器P11J方式茹TO分咸两个独的8位定时/计数器;n此方式停止计数门定时/忡数器工作方式设置表*控制寄存器TCONTCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查 询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1 或清 0,同硬件置 1 或清 0 的效果一样。TR1( TCON.6): T1运行控制位。TR1置1时,T1开始工作;TR1置0 时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器 的启动与停止

5、。TF0( TCON.5): T0溢出中断请求标志位,其功能与TF1类同。 TR0( TCON.4): T0运行控制位,其功能与TR1类同。三、实验电路图第一、三部分电路图:XFAJLIrarrn.iffiRirDAAis FU AViln rDAAI9 zau居 raiifiiTrs&i ALEPZfAID F 瓷3A1IPiSAISPaAli-FZ.TTAI5r IIHTZ ri.iirzEx r iz卜=5?边rn.inT.i TftiiTOr ; 3rauiirFpa.-kTDFI7第二部分电路图(加入一个脉冲计数的开关):ut -M . r LHHIH).TEO%.05 . unj-

6、Km CTEET-.Utn-Ktri CTEET-.04UTD-RtTi f cTEZh-.UTD-RtTi cTECh-.DE :LED-Bn11R1 .EIOR- -TEH-?KTWL1皿耐DKTflialauniiiCTTPQWJL303JPH5PUT柯 1pzura Ku曲 P?少HOP7JA11alj竝皿P0、RZAH-KiNEW?P砂議 KLIAHii vrsEc 聊卫P1J I上M9MJ6 MTF3 vrxn rajtmr raafTTF KI.P3SJT1 FQffiS- FJT顾-I支羞II亠门上卡vTEOeTEET-R2 .BIR- -Tea-fEEelanor. UTD-

7、RtTi cTECh-.R12-U?B t 匚 yiR11加 -TDfP- U2ftLdi-ATEfTV朋、实验设备微型计算机、单片机仿真器、实验仪、示波器(各一台); 实验连线(若干)。五、实验内容*由于汇编语言程序中已经做了相应的注释,c语言的编程原理与之相同不再做重复注释,请见谅。实验例程使8个发光二极管点亮,点亮时间间隔一秒,要求用定时器中断方式 产淀时器TO中断入口生延时。汇编语言代码:ORG0000HAJMPSTARTORG000BHAJMPT0INTORG0030HSTART:MOVMOVMOVMOVSETBSETBSETBMOVMOVMOVLOOP:CJNEMOV DECMOV

8、AJMP TOINT:MOVMOV DEC RETISP,#6OHTMOD,#O1HTLO,#OBOHTHO,#3CHETOEA TROA,#OFEHR1,#2OP1,AR1,#0丄OOPR1,#20AP1,ALOOPTH0,#3CH TL0,#0B0H R1;晶振为12兆赫资时,50ms溢出一次;启动定时器;定时器溢出20次为1秒;发光二极管低电平点亮,因此为记数加显示;定时器重新初始化;中断返回ENDC语言程序代码: #in clude #define TIMEINTOxOl #define TIMEH 0x3C #define TIMEL OxBOunsigned char DisNum

9、;DisNum=0xFE;t_count=20;TMOD=TIMEINT;TH0=TIMEH;TL0=TIMEL;ET0=1;EA=1;TR0=1;while(1) while(t_count!=0)P1二DisNum;t_coun t=20; DisNum-;将定时器TO设置成定时方式,由P1.0输出50%占空比的500Hz方波。 汇编语言代码:ORG 0000HAJMP STARTORG 000BHAJMP T0INTORG 0030HSTART:MOV SP#60HMOV TMOD,#01HMOV TL0,#18H;初始化TO定时器MOV TH0,#0FCHRETIENDC语言程序代码:

10、#include#define TIMEINTOxO1#define TIMEH OxOO#define TIMEL OxOO extern unsigned char t_count,flag;void timerO(void) interrupt 1 using 1TH0二TIMEH;TLO二TIMEL;flag二flag;mai n()flag = 1;TMOD二TIMEINT;TH0=TIMEH;TLO=TIMEL;ETO=1;EA=1;TRO=1; while(1)if(flag = =O)P1=Oxff;1,计数结果以二进制格式显示在8个发光二极管上。汇编语言代码:ORG 0000

11、HAJMPSTARTORG 000BHAJMPT0INTORG 0030HSTART:MOVSP,#60HMOVTMOD,#0DH;设置为计数状态MOVTL0,#0FFH;设置计数值为1时就溢出MOVTHO,#OFFHSETBET0;开中断SETBEASETBTR0;启动定时器MOVA,#0FFHMOVR1,#1;中断处理标志MOVP1,AOP.CJNER1,#0丄OOP;等待中断MOVR1,#1DECAMOVP1,A;计数显示AJMPLOOP.Nl.MOVTH0,#0FFHMOVTLO,#OFFHDECR1RETIENDC语言程序代码: #in clude #define TIMEINTOx

12、OD #define TIMEH OxFF #define TIMEL 0xFF exter n un sig ned char flag;main()unsigned char DisNum; DisNum=0xFF;TMOD=TIMEINT;TH0=TIMEH;TL0=TIMEL;ET0=1;EA=1;TR0=1;flag=1;P1=DisNum;while(1) if(flag = =O)flag = 1;DisNum-; P1二DisNum;con ti nue;void timerO(void) interrupt 1 using 1THO二TIMEH;TLO二TIMEL; flag=0;使用T0、T1两个定时器分别控制从P10输出波形的高、低电平的宽度。MOVSP,#60HMOVTMOD,#11HMOVTL0,#00HMOVTH0,#00HMOVTL1,#00HMOVTH1,#00HSETBET0SETBET1SETBEAMOVR1,#0SETBTR0LOOP 上CJNER1,#1,SECONDMOVP1,#OFFHAJMPRETURNSECOND:MOVP1,#0FE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号