定时器试验报告_第1页
定时器试验报告_第2页
定时器试验报告_第3页
定时器试验报告_第4页
定时器试验报告_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子信息工程学系实验报告成 绩:指导教师(签名)课程名称:单片机原理及接口应用实验项目名称:51定时器实验实验时间:2011.12.16班级:姓名:学号:一、实验目的:熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解 51单片机中定时、计数的概念,熟悉 51单 片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时 /计数的工作过程,掌握定时/计数器在C51中的设置与程 序的书写格式以及使用方法。二、实验环境:软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件三、实验原理:1、51单片机定时计数器的基本情况8051型有两个十六位定时/计数

2、器T0、T1,有四种工作方式。MCS 51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD ;加法计数寄存器 TH0、TH1 (高八位);TL0、TL1 (低八位);定时/计数到标志TF0、TF1 (中断控制寄存器 TCON )定时/计数器启停控制位 TR0、TR1 (TCON )定时/计数器中断允许位 ET0、ET1 (中断允许寄存IE )定时/计数器中断优先级控制位 PT0、PT1 (中断优IP)2、51单片机的相关寄存器设置 方式控制寄存器TMOD:D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0TMOD的低四位为T0的方式字,高四

3、位为 T1的方式字。TMOD不能位寻址,必须整体赋值。TMOD各位的含义如下:1.工作方式选择位 M1、M0M1、M0的状态决定定时器的工作方式:M1M0功 能 说 明00方式0,为13位的定时/计数器01方式1,为16位的定时/计数器10方式2,为常数自动重装入的 8位定时/计数器11方式3,T0分为两个8位定时/计数器,T1在该方式时停止3、51单片机定时器的工作过程(逻辑)方式一 方式1:当M1M0=01时,定时器工作于方式 1。中断T1工作于方式1时,由 定时方式1,计数初值为a.TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。若 T1工作于 晶振频率为12MHz,则T1从

4、计数初值计数到溢出的定时时间为 t =( 216- a) (S。4、51单片机的编程使用MCS 51单片机的定时/计数器的步骤是: 4.1 .设定TMOD,确定:工作状态(用作定时器/计数器);工作方式; 控制方式。女口: T1用于定时器、方式1, T0用于计数器、方式2,均用软件控制。则 TMOD的值应为:0001 0110, 即 0x16。4.2设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。P1296MHz8MHz10MHz12MHz

5、方式016.384ms12.288ms9.83ms8.192ms方式1131.072ms98.304ms78.643ms65.536ms方式20.512ms0.384ms0.307ms0.256ms计数初值的计算方法如下,设晶振频率为fosc,则定时/计数器计数频率为fosc/12,定时/计数器的计数总次数T_all在方式0、方式1和方式2时分别为213 = 8192、216 = 65536和28 = 256,定时间隔为 T,计数 初值为a,则有T = 12 x (T_all - a)/fosca = T_all T x fosc/12a = - Tx fosc/12 (注意单位)THx =

6、a / 256 ;TLx = a % 256 ;4.3.确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断:ET0 = 1 ;EA = 1 ;还需要编写中断服务函数:void T0_srv (void) interrupt 1 using 1TL0 = a % 256 ;TH0 = a / 256 ;中断服务程序段 4.4.启动定时器:TR0 (TR1) = 1。四、实验内容过程及结果分析:利用protues仿真软件设计一个可以显示秒表时间的显示电路。利用实验板上的一位led数码管做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所

7、定时间为1s。刚开始led数码管显示9,每过一秒数码管显示值减一,当显示到0时返回9,依此反复。然后设计 00-59的两位秒表显示程序。(1)实现个位秒表,9-0用protues 进行流水灯的仿真需要的元件有AT89C51 CAR BUTTON LED-BLUE RES CRYSTAL画出仿真图Protues工RP1仿真图使用keil仿真软件编写程序和使用c51编写并进行调试。仿真结果如下图所示DPGBCDEFC DP仿真结果图程序:#include<reg51.h>unsigned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

8、0x7f,0x6f,;unsigned char a;void time() interrupt 3unsigned char i=0;TH1=-50000/256;void delay(char z)TL1=-50000%256;char x,y;a+;for(x=z;x>0;x_)if(a=10)for(y=123;y>0;y-);a=0;P2=0xfe;main()P0=tab9-i;TMOD=0x10;i+;TH1=-50000/256;if(i=10)TL1=-50000%256;i=0;EA=1;ET1=1;TR1=1;while(1);(2)实现两位秒表,00-59使

9、用keil仿真软件编写程序和使用c51编写并进行调试。仿真结果如下图所示fiBCDCFG DP4 23巧6为58口呂匚DEFG DP1S3A5E7宕仿真结果图程序:#include<reg51.h>unsigned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,;unsigned char a;EA=1;ET1=1;TR 1=1;unsigned char i=0;while(1)P2=0xfe;void delay(char z)P0=tabi/10;char x,y;for(x=z;x>0;x_)delay(5);P2=0xfd;for(y=123;y>0;y-);main()P0=tabi%10; delay(5);TMOD=0x10; TH1=-50000/256;void time() interrupt 3TL1=-50000%256;TH1=-50000/256;TL1=-50000%256;i+;a+;if(i=60)if(a=10)i=0;a=0;五

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论