定时器c语言程序52,52单片机定时器2使用C语言程序(12页)-原创力文档

实用标准文案

52 单片机定时器 2 使用 (C 语言程序 )

水寒 8051 1,128 views 0 Comments 发表评论

本文是关于 52 单片机定时器计数器 2 做为普通的 16 位自动重装定时器使

用,类似于定时器计数器 0 和定时器计数器 1 工作在方式 1 下。以下程序在 Keil

2 和 Keil 3 下调时通过,下载在本校的实验板上达到预期效果。 AT89C52 及其

以上、AT89S52 及其以上、 STC89C52 及其以上测试正常运行。

源代码:

view source

print?

00

/***********************************************************

1

00

程序功能: 52 系列单片机定时器计数器 2 使用

2

00

程序设计:燕山大学 鲁信琼

3

00 晶振选择: 24MHz, 如果晶振不匹配,请修改延时函数参数; P2^6 口接数

4 码管段选控制位 ; P2^7 口接数码管位选控制位 ; P1^7 口作为测试指示灯

00

本实验注意事项:

5

精彩文档

实用标准文案

00

1. 定时器 2 的中断使能为 IE^6 位,也就是 ET2; 中断服务程序标号为 5 。

6

2. 定时器 2 工作在 16 为自动重装模式下, 不需要在中断服务程序中重新赋

00

初值,在程序初始化的时候我们应该给 RCAP2L 和 RCAP2H 赋值,TH2 和

7

TL2 将会在中断产生时自动使 TH2=RCAP2H ,TL2=RCAP2L 。

3. 定时器 2 的中断标志位 TF2 不能够由硬件清零,所以要在中断服务程序

00

中将其清零,为了使定时尽量准确,我们常在终端服务程序中第一步就使

8

TF2=0 。

4. 使定时器 2 产生中断的有两个中断源, 如果 EXEN2( 定时器 2 外部使能标

00 志)置 1 的话,使定时器 2 进入中断的有可能是定时器 2 计数溢出,也可能

9 是捕获到 T2EX(单片机 P1^1 口)有负跳变,所以需要在中断服务程序中判断

EXF2 是否为 1。

01

0

01 承接 51 单片机、 PIC 单片机程序、 VB/VC++ 上位机程序、电子产品软硬件

1 设计开发工作

01

2

01

EMail: xqlu(at)ysu.net.cn QQ: 9790335

3

01 ***********************************************************/

精彩文档

实用标准文案

4

01

5

01 #includ

6 e

01

#include

7

01 #define uchar unsigned

8 char

01

#define uint unsigned int

9

02

#define LED_DATA P0

0

02 sbit

1 DULA=P2^6;

02 sbit

2 WELA=P2^7;

02

sbit LED=P1^7;

3

02

uchar timer2_ctr,num;

4

精彩文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值