Chinaunix首页 | 论坛 | 博客
  • 博客访问: 948374
  • 博文数量: 175
  • 博客积分: 2788
  • 博客等级: 少校
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 12:25
个人简介

知之者不如好之,好之者不如乐之

文章分类

全部博文(175)

文章存档

2016年(1)

2015年(20)

2014年(8)

2013年(68)

2012年(16)

2011年(35)

2010年(1)

2008年(26)

分类: 嵌入式

2013-11-13 20:38:46

原文:#

格式:void 函数名()interrupt 中断号 using 工作组
{
    中断服务程序内容
}
  注意:中断不能返回任何值,所以前面是 void 后面是函数名,名字可以自己起,但不要与c语言的关键字相同;中断函数不带任何参数,所以 函数名后面的  () 内是 空的,中断号是指单片机的几个中断源的序号。这个序号是单片机识别不同中断的唯一标志。所以一定要写正确。

  后面的using 工作组 是指这个这个中断使用单片机内存中 4 个工作寄存器的哪一组,  c51 编译后会自动分配工作组,因此最后这句话我们通常省略不写。 c51 中断写法实例  
void T1-time() interrupt 3
{
  TH1=(65536-50000)/256;
  TL1=(65536-50000)%256;
}
  上面的意思是定时器  1 的中断服务程序,定时器  1  的中断服务序号是  3 ,因此我们要写成 interrupt 3 ,服务程序的内容是给 两个初值寄存器装入新值。。
  写中断前的准备
       1  TMOD 赋值  确定工作方式。T0  还是T1  的工作方式。
  2  计算初值  装入 TH0 TL0 或者  TH1 TL1
  3  中断方式时 ,对 IE 赋值,开放中断。
  4  使 TR0 和 TR1 置位,启动定时器/计数器  定时/计数。

阅读(1593) | 评论(0) | 转发(0) |
0

上一篇:C51的中断函数

下一篇:单片机C51的计数器

给主人留下些什么吧!~~