找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3666|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机定时器实验例程

[复制链接]
跳转到指定楼层
楼主
ID:206822 发表于 2017-6-1 19:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include <reg52.h>
#include <intrins.h>
#define FOSC 11059200L //晶振设置,默认使用11.0592M Hz
//#define FOSC 12000000L //晶振设置,使用12M Hz
//#define FOSC 24000000L //晶振设置,使用24M Hz
#define TIME_MS 10 //设定定时时间 ms ,在11.0592M晶振下,不易超过60ms
//IO接口定义
sbit LED = P1^0;
//全局变量定义
unsigned char count=0;
/*******************************************************************************
* 函 数 名 :Delayms
* 函数功能 :实现 ms级的延时
* 输    入 :ms
* 输    出 :无
*******************************************************************************/
void Delayms(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
#if FOSC == 11059200L
  for(j=0;j<114;j++);
#elif FOSC == 12000000L
   for(j=0;j<123;j++);
#elif FOSC == 24000000L
  for(j=0;j<249;j++);
#else
  for(j=0;j<114;j++);
#endif
}
/*******************************************************************************
* 函 数 名 :Timer0Init
* 函数功能 :定时器0初始化
* 输    入 :无
* 输    出 :无
*******************************************************************************/
void Timer0Init()
{
TMOD=0x01; //设置定时器0工作方式为1
TH0=(65536-FOSC/12/1000*TIME_MS)/256;
TL0=(65536-FOSC/12/1000*TIME_MS)%256;
ET0=1; //开启定时器0中断
TR0=1; //开启定时器
EA=1;  //打开总中断
}
/*******************************************************************************
* 函 数 名 :main
* 函数功能 :主函数
* 输    入 :无
* 输    出 :无
*******************************************************************************/
void main()
{
Timer0Init();

while(1)
{
}
}
/*******************************************************************************
* 函 数 名 :Timer0Int
* 函数功能 :定时器0中断函数 , 每隔TIME_MS ms进入
* 输    入 :无
* 输    出 :无
*******************************************************************************/
void Timer0Int() interrupt 1
{
TH0=(65536-FOSC/12/1000*TIME_MS)/256;
TL0=(65536-FOSC/12/1000*TIME_MS)%256;
count++;
if(count == 100)//1s
{
  LED = !LED;//LED灯闪速
  count = 0;
}
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表