这个单片机C程序错在哪里?为什么错误指在中断函数?

#include "reg52.h"
#define unchar unsigned char
#define unit unsigned int
unit a,numbdu,numbwe;
sbit dula=P2^6;
sbit wela=P2^7;
unchar code tabledu[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
unchar code tablewe[]=
{0xfe,0xfd,0xf7,0xef,0xdf};
void main()
{ a=0;
numbdu=0;
numbwe=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while (1)
{
if(a==10)
{a=0;
numbdu++;
if(numbdu==7)
numbdu=0;
dula=1;
P0=tabledu[numbdu];
dula=0;

wela=1;
P0=tablewe[numbwe];
wela=0;
numbwe++;
if(numbwe==7)
numbwe=0;
}
}
void timer() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
a++;
}

花括号不配对,你在 void timer() interrupt 1 前插入一空行,打上 }
温馨提示:内容为网友见解,仅供参考
无其他回答

请问这个单片机的C程序的错在哪里?编译不了。 SHIJIAN.C(4): e...
]="MCU-STUDY-BOSRD"第一:这是话句,后面应跟分号。第二:数组的元素应用{}包起来。第三:如果用数组,字符串应分开写,如unchar code table[ ]={'w','e','l','c','o','m','e','!'};如果想用字符串请用unchar code *table="welcome!";第四:你的两个数组名称一样了。

单片机调试的时候出错了 求大神
就这个程序而言,就纯在这几个错误,只要是有错误就无法编译成功 错误一、按键检测函数内,赋值语句被你写成判断语句了,如下图这里 就是说多写了一个等于号,并且这几个按键的检测部分否存在此错误,另外还有第一行的if判断语句也要使用方括号 错误二、中断函数部分,在中断内不能使用局部变量的声明...

C语言单片机程序 初学大家帮忙看看错在哪里了 #include <reg51.h...
程序百分百没问题,可能是编译的有问题,你 用的是keil编译的吗? 建议你多重新编译一下, 也有可能是你烧写程序的时候 数据传输的过程中出错了,校验出错 一般是传输过程中某个或者某些bit或者byte出错 建议你重新编译 重新下载烧写试试, 单片机这东西就是经常出些小问题,有时候我们买的开发板或者有...

51单片机进入中断函数后首先应该关此中断,但是我这个关了中断后后面的...
C51采用的是C89标准,函数内一旦有实体语句之后就不能再声明变量了。你应当将第42行代码挪到变量声明之后,也就是第47行的位置。百度嫌我字数不够

51单片机C程序,这个程序为什么进不了中断函数
主要的问题是,程序入流水一样“流走”了,你需要将程序留在里面执行,C的话加一个死循环 while(1);汇编的话加一条原地踏步语句:SJMP include<reg52.h> unsigned char LED;void main(){ TMOD=0x01;TH0=(65536-50000)\/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;LED=0xfe;} void ...

单片机C语言中断问题
你有个地方没弄清楚。单片机执行的是机器码,机器码对应的是汇编指令。而C语言表述的句子,会编译成若干汇编指令。就是说没有C指令这一说,以51举例,_nop_()对应汇编的NOP,但是一个简单的a*b,编译后可能长度就有好几百字节。每条指令执行的周期不同。有些只要一个周期,有些需要几个周期。中断...

51单片机C程序出现这个错误,求教怎么改
1、查一下你的程序开头有没有加入单片机的.h头文件 2、如果加了,进入这个头文件查找是不是有CMOD的定义 3、如果查找不到CMOD,建议查找单片机数据手册,找到CMOD对应的地址,再回到.h头文件中查找这个地址是不是已经被定义,它定义的是什么你就用什么。上面的办法比较麻烦,最简单的是,重新找一个...

51单片机中断函数在哪里放置?
中断函数不用在主函数中调用,只要中断事件发生,单片机自己主动会调到中断函数中。两个中断函数指向同一个interrupt的时候,编译就会报错了。

以下单片机c语言程序为什么无法进入中断。
中断使能位都没有置一,怎么可能进入中断服务函数

51单片机,这个程序错在哪里呢?编译器总提示C(32): error C141: syntax...
main函数的while循环里面,调用函数你还给参数加个类型,这是语法错误。

相似回答
大家正在搜