C单片机定时器及数码管控制实验报告.pdfVIP

C单片机定时器及数码管控制实验报告.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

C单片机定时器及数码管控制实验报告

一、实验目的:

1.理解单片机的定时器的工作原理和使用方法;

2.掌握单片机控制数码管显示的方法;

3.综合运用单片机定时器和数码管控制来实现对时间的计时功能。

二、实验器材:

1.STC89C52单片机开发板;

2.4位数码管;

3.相关电源电缆;

4.相关串口连接线;

5.PC机。

三、实验原理:

1.定时器的工作原理:

定时器是单片机中的一个重要模块,它可以用来产生一定时间间隔的

定时中断。在STC89C52单片机中,有两个可编程定时器,分别是Timer0

和Timer1、定时器的工作方式有两种:定时器工作模式和计数器工作模

式。通过设定定时器的工作模式、预分频系数以及计数初值,可以实现定

时中断。

2.数码管的控制原理:

数码管是一种常见的数码显示器材,一般由多个LED组成,通过对

LED的开关控制来实现不同数字的显示。使用单片机控制数码管可以实现

数字的动态显示。通常使用行扫描和列驱动两种方法来控制数码管的显示。

在本实验中,我们使用列驱动的方法来控制数码管的显示。

3.单片机定时器和数码管控制实验的原理流程:

(1)初始化定时器设置,包括设定工作模式、预分频系数和计数初

值。

(2)初始化数码管连接引脚,并将引脚置为输出状态。

(3)在定时器中断中,通过改变数码管显示的值来实现时间的动态

显示。

四、实验步骤:

1.硬件连线

将STC89C52单片机开发板上的P0口连接到4位数码管的输入口,共

7根线。其中6根线对应4位数码管的6个段输入,另外1根线连接到4

位数码管的控制端,用于控制数码管的选通位。

2.软件编程

(1)定义头文件和端口变量

#includereg52.h

#defineuintunsignedint

#defineucharunsignedchar

sbitDIG1=P0^0;//数码管第1位

sbitDIG2=P0^1;//数码管第2位

sbitDIG3=P0^2;//数码管第3位

sbitDIG4=P0^3;//数码管第4位

sbitDULA=P0^4;//数码管段选

sbitWELA=P0^5;//数码管位选

ucharcodeledData[16]={//共阳数码管动态显示数值表,

共16个字符

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

(2)初始化函数

voidInit_Timer0(void)//初始化定时器0

TMOD,=0x01;//设定为定时器模式,工作模式1

TH0=0xfc;//给定初值,定时1ms

TL0=0x18;

ET0=1;//打开定时器0中断

TR0=1;//启动定时器0

voidInit_Timer1(void)//初始化定时器1

TMOD,=0x10;//设定为定时器模式,工作模式1

TH1=0xf8;//给定初值,定时10ms

TL1=0xcc;

ET1=1;//打开定时器1中断

TR1=1;//启动定时器1

(3)定时器中断函数

voidTimer0Interrupt(interrupt1//计时定时器中断函数

staticucharcount=0;

TH0=0xfc;

TL0=0x18;

count++;

if(count=1000)//1秒到

count=0;

LED_Place=0;//置位数码管位置

Digit_Index++;//下一个要显示的数字

if(Digit

您可能关注的文档

文档评论(0)

135****5548 + 关注
官方认证
文档贡献者

各类考试卷、真题卷

认证主体社旗县兴中文具店(个体工商户)
IP属地宁夏
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档