打印

求助,定时器中断跑马灯程序出错,但查不出问题

[复制链接]
2122|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hoyas|  楼主 | 2007-7-31 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下:

#define uchar unsigned char
#include<reg52.h>

char j=100;         //中断的次数;
bit ldelay=0;

void main(void)
{   
  uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};
  uchar ledi;
  TMOD=0x01;      //初使化定时器,设定定时器0,模式1
  EA=1;
  ET0=1;
  TH0=0xd8;       // 定时10ms。(65536-N)*1us=10ms    N=55536=D8F0H
  TL0=0xf0;
  TR0=1;
  while(1)
{
    if(ldelay)  //发现有时间溢出标记,进入处理 
  { 
   ldelay=0;  //清除标记 
   P1=ledp[ledi]; //读出一个值送到 P1 口 
   ledi++;  //指向下一个 
   if(ledi==4)
   ledi=0; //到了最后一个灯就换到第一个 
   }        
}
     
void timer0(void) interrupt 1
{
  TH0=0xd8;
  TL0=0xf0;
  --j;             
  if(j<=0)         
  {
    ldelay=1;
    j=100;
  }
}

编绎出错提示:MAIN.C(29):error c141:syntax error near 'void'
         MAIN.C(29):warning c206: 'timer0':missing function-prototype

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

13

帖子

0

粉丝