请问我是谁的程序遍错在哪

51单片机程序出现问题。运行时候出现4个错误,可是我看了好几遍都没有发现错误。请问各位高手,错误在哪儿?
51单片机程序出现问题。运行时候出现4个错误,可是我看了好几遍都没有发现错误。请问各位高手,错误在哪儿?
ORG 0000HA_BIT EQU 20H ;用于存放南北十位数B_BIT EQU 21H ;用于存放南北十位数C_BIT EQU 22H ;用于存放东西十位数D_BIT EQU 23H ; 用于存放东西位数TEMP1 EQU 24H &;用于存放第一二南北状态要显示的时间TEMP2 EQU 25H &;用于存放第一二东西状态要显示的时间TEMP3 EQU 26H ;用于存放第三第四南北状态要显示的时间TEMP4 EQU 27H;用于存放第三第四南北状态要显示的时间LJMP MAINORG 0003H & & ;外部中断0入口LJMP INT0 & & ;跳转到外部0中断ORG 0013H & & ;外部中断1入口LJMP INT1 & & ;跳转到外部1中断INT0: MOV A,P1 & ;外部0中断&& & &PUSH ACC&& & &MOV A,P2 &;中断保护&& & &PUSH ACCMOV P1,#0FFH & &;清除先前状态MOV P2,#0FFHCLR P1.0CLR P1.4 & & &;南北通行,东西禁止通行CLR P1.6CLR P2.3JNB P3.2 ,$ &;判断是否还在中断状态POP ACCMOV P2,A & & ;返回中断前状态POP ACCMOV P1,ACCRETI & & & & &;中断返回INT1:MOV A,P1 &;外部1中断&& & PUSH ACC & ;中断保护&& & MOV A,P2&& & PUSH ACCMOV P1,#0FFH &;清除先前状态MOV P2,#0FFHCLR P1.2CLR P2.1CLR P1.3 & &;东西通行,南北禁止通行CLR P1.5JNB P3.3 ,$ &;判断是否还在中断状态POP ACCMOV P2,A & &;返回中断前状态POP ACCMOV P1,ARETI & & & & ;中断返回MAIN:ORG 0100H & & & &;初始情况MOV P1,#0FFHMOV P2,#0FFH & ;灭所有灯MOV TMOD,#55H &;计数方式方式1MOV IE,#85H & &;开中断MOV TEMP1,#20 ;MOV TEMP2,#25MOV TEMP3,#25MOV TEMP4,#20STAR:MOV P1,#0FFHMOV P2,#0FFH & ;灭所有灯MOV A,24H & &;将显示时间送ACJNE A,#20,T40T &;判断时间,选初始值T20T: & & & ;南北通行要显示的时间为20的计数器初始值CLR TF0 & ;清TF0CLR TF1 ;清TF1MOV TH1 ,#0FFH ;送20秒时的初始值MOV TL1 ,#0FCH ;在些设计20秒6辆为多车MOV TH0 ,#0FFHMOV TL0 ,#0FCHLJMP TEMP20 & ;跳到20秒T40T: & & ;南北通行要显示的时间为40的计数器初始值CLR TF0 ;清TF0CLR TF1 ;清TF1MOV TH1,#0FFH ;送40秒时的初始值MOV TL1 ,#0F8H ;在些设计40秒8辆为多车MOV TH0 ,#0FFHMOV TL0 ,#0F8HLJMP TEMP40 &;跳到40秒TEMP20: & & ;TEMP1=20情况SETB TR0 & &;开始计数SETB TR1CLR P1.2CLR P2.1 & &;南北通行,东西禁止通行CLR P1.3CLR P1.5MOV TEMP1,#20 &;南北要显示的时间,MOV TEMP2,#25 ;东西要显示的时间STLOP:ACALL DISPLAY1 & ;调用显示DEC TEMP1 & & &;时间够一秒显示时间减1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT ;若显示时间不为0保持现在状态LJMP STAR2 & & ;若显示时间为 0跳到第二状态NEXT: LJMP STLOPSTAR2: & & ;状态1SETB P1.2CLR P1.1 & &;南北黄灯,东西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 &;南北要显示的时间,MOV TEMP2,#05 ;东西要显示的时间,STLOP2:ACALL DISPLAY1 & ;调用显示DEC TEMP1 & & &;时间够一秒显示时间减1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT2 & ;若显示时间不为0保持现在状态JB TF1 ,T40 & & &;判断南北是否多车JB TF0 ,T40 & & & ;判断北南是否多车MOV TEMP1,#20 & &;少车下次显示时间为20秒LJMP STAR3 & & & ;跳到状态3T40:MOV TEMP1,#40 & &; 多车下次显示时间为40秒LJMP STAR3 & & & &;若显示时间为 0跳到第三状态NEXT2:LJMP STLOP2TEMP40:;TEM=40 程序SETB TR0 &; 开始计数SETB TR1CLR P1.2CLR P2.1 & &;南北通行,东西禁止通行CLR P1.3CLR P1.5MOV TEMP1,#40 &;南北要显示的时间,MOV TEMP2,#45 ;东西要显示的时间STLOP11:ACALL DISPLAY1 & ;调用显示DEC TEMP1 & & &;时间够一秒显示时间减1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT11 ;若显示时间不为0保持现在状态LJMP STAR22 & & ;若显示时间为 0跳到第二状态NEXT11: LJMP STLOP11STAR22: & & ;状态1SETB P1.2CLR P1.1 & &;南北黄灯,东西禁止通行SETB P1.3CLR P1.4MOV TEMP1,#05 &;南北要显示的时间,MOV TEMP2,#05 ;东西要显示的时间,STLOP22:ACALL DISPLAY1 & ;调用显示DEC TEMP1 & & &;时间够一秒显示时间减1DEC TEMP2MOV A,TEMP1CJNE A,#0,NEXT22 & ;若显示时间不为0保持现在状态JB TF1 ,T401 & & &; 判断是否多车JB TF0 ,T401MOV TEMP1,#20 &;少车下次显示时间为20秒LJMP STAR3T401:MOV TEMP1,#40 ;多车下次显示时间为40秒LJMP STAR3 & & & &;若显示时间为 0跳到第三状态NEXT22:LJMP STLOP22STAR3:MOV A,26HCJNE A,#25,T40T1 &;判断时间,选初始值T20T1: & & & ;南北通行要显示的时间为20的计数器初始值CLR TF0 & & & &; 清溢出位CLR TF1MOV TH1 ,#0FFH &; 给初值MOV TL1 ,#0FCHMOV TH0 ,#0FFHMOV TL0 ,#0FCHLJMP TEMP320T40T1: & & ;南北通行要显示的时间为40的计数器初始值CLR TF0 &;CLR TF1MOV TH1,#0FFH ;给初值MOV TL1 ,#0F8HMOV TH0 ,#0FFHMOV TL0 ,#0F8HLJMP TEMP340TEMP320:;状态三SETB TR1 & & &;南北停止计数SETB TR0 & & ;东西开始计数SETB P1.1 & &;东西通行,南北禁止通行CLR P1.0SETB P1.1CLR P1.0SETB P1.5CLR P1.6SETB P2.1CLR P2.3MOV TEMP3,#25 &;南北要显示的时间,MOV TEMP4,#20 ;东西要显示的时间,STLOP33:ACALL DISPLAY &;调用显示DEC TEMP3 & & & ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT33 &;若显示时间不为0保持现在状态LJMP STAR34 & & & ;若显示时间为 0跳到第四状态NEXT33:LJMP STLOP33STAR34: & & & & & ;状态四SETB P2.3CLR P2.2SETB P1.6 & & &;东西黄灯,南北禁止通行CLR P1.5MOV TEMP3,#05 & ;南北要显示的时间,MOV TEMP4,#05 & ;东西要显示的时间,STLOP34:ACALL DISPLAY &;调用显示DEC TEMP3 & & & ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT34 &;若显示时间不为0保持现在状态JB TF1 ,T402JB TF0 ,T402MOV TEMP3,#25LJMP START402:MOV TEMP3,#45LJMP STARNEXT34: & LJMP STLOP34TEMP340 :SETB TR1 & & &;南北停止计数SETB TR0 & & ;东西开始计数SETB P1.1 & &;东西通行,南北禁止通行CLR P1.0SETB P1.1CLR P1.0SETB P1.5CLR P1.6SETB P2.1CLR P2.3MOV TEMP3,#45 &;南北要显示的时间,MOV TEMP4,#40 ;东西要显示的时间,STLOP43:ACALL DISPLAY &;调用显示DEC TEMP3 & & & ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP4CJNE A,#0,NEXT43 &;若显示时间不为0保持现在状态LJMP STAR44 & & & ;若显示时间为 0跳到第四状态NEXT43:LJMP STLOP43STAR44: & & & & & ;状态四SETB P2.3CLR P2.2SETB P1.6 & & &;东西黄灯,南北禁止通行CLR P1.5MOV TEMP3,#05 & ;南北要显示的时间,MOV TEMP4,#05 & ;东西要显示的时间,STLOP44:ACALL DISPLAY &;调用显示DEC TEMP3 & & & ;时间够一秒显示时间减1DEC TEMP4MOV A,TEMP3CJNE A,#0,NEXT44 &;若显示时间不为0保持现在状态JB TF1 ,T403JB TF0 ,T403MOV TEMP3,#25LJMP START403:MOV TEMP3,#45&LJMP STARNEXT44: & LJMP STLOP44;显示DISPLAY1:MOV A,TEMP1 &;将南北要显示的数存放到AMOV B,#10 &;B=10DIV AB & & ;A除以B商存A,余数BMOV B_BIT,A ; 将A放到20HMOV A_BIT,B &;将B放到21HMOV A,TEMP2 ;将东西要显示的数存放到AMOV B,#10 & ;B=10DIV AB & & & ;A除以B商存A,余数BMOV C_BIT,A & ;将A放到22HMOV D_BIT,B & ;将B放到23HMOV DPTR ,#NUMT ;MOV R0,#2 & &;R0=2DPL11: MOV R1,#250 ;R1=250DPLOP1:MOV A,A_BIT ;将南北要显示的10位数送AMOVC A,@A+DPTR ;查表MOV P0,A & &;显示南北10位数CLR P2.7ACALL D1MS;延时1MSSETB P2.7 ;灭南北10位数MOV A,B_BIT &;将南北要显示的个位数送AMOVC A,@A+DPTR & ;查表MOV P0,A & &;显示南北个位数CLR P2.6ACALL D1MS ;延时1MSSETB P2.6 &;灭南北个位数MOV A,C_BIT &;将东西要显示的10位数送AMOVC A,@A+DPTR &;查表MOV P0,A & &;显示东西10位数CLR P2.5ACALL D1MS ;延时1MSSETB P2.5 & ;灭东西10位数MOV A,D_BIT &;将东西要显示的个位数送AMOVC A,@A+DPTR ;查表MOV P0,A & &;显示东西东西位数CLR P2.4ACALL D1MS ;延时1MSSETB P2.4 &;灭东西个位数DJNZ R1,DPLOP ;循环扫描DJNZ R0,DPL1RET & & ;等待1秒返回;显示DISPLAY:MOV A,TEMP3 &;将南北要显示的数存放到AMOV B,#10 &;B=10DIV AB & & ;A除以B商存A,余数BMOV B_BIT,A ; 将A放到20HMOV A_BIT,B &;将B放到21HMOV A,TEMP4 ;将东西要显示的数存放到AMOV B,#10 & ;B=10DIV AB & & & ;A除以B商存A,余数BMOV C_BIT,A & ;将A放到22HMOV D_BIT,B & ;将B放到23HMOV DPTR ,#NUMT ;MOV R0,#2 & &;R0=2DPL1: MOV R1,#250 ;R1=250DPLOP:MOV A,A_BIT ;将南北要显示的10位数送AMOVC A,@A+DPTR ;查表MOV P0,A & &;显示南北10位数CLR P2.7ACALL D1MS;延时1MSSETB P2.7 ;灭南北10位数MOV A,B_BIT &;将南北要显示的个位数送AMOVC A,@A+DPTR & ;查表MOV P0,A & &;显示南北个位数CLR P2.6ACALL D1MS ;延时1MSSETB P2.6 &;灭南北个位数MOV A,C_BIT &;将东西要显示的10位数送AMOVC A,@A+DPTR &;查表MOV P0,A & &;显示东西10位数CLR P2.5ACALL D1MS ;延时1MSSETB P2.5 & ;灭东西10位数MOV A,D_BIT &;将东西要显示的个位数送AMOVC A,@A+DPTR ;查表MOV P0,A & &;显示东西东西位数CLR P2.4ACALL D1MS ;延时1MSSETB P2.4 &;灭东西个位数DJNZ R1,DPLOP ;循环扫描DJNZ R0,DPL1RET & & ;等待1秒返回D1MS: MOV R7,#250 &;1MS延时程序DJNZ R7,$RET;1到10对应电路图数码管表NUMT: DB & &7EH,48H,67H,6BH,59H&& & &DB & &3BH,3FH,68H,7FH,7BHRETEND
不区分大小写匿名
重点下错误提示是什么
一条一条看 你这还不排列好 哪个也看不出来
两个中断出现错误!显示的是LJMP INT0和LJMP INT1!还有MOV A,P1也出现错误!还有个忘记了!前两个错误是显示为Segment type mismatch,后两个错误显示是符号已定义过!
INT0 INT1在头文件中都是已经定义过的 属于特殊位
你换个名应该没问题了 至于mov a,p1那个估计也是受这个影响才出现的
改完了编译下再看看
等待您来回答
编程领域专家请大家帮我看看这个c++小程序哪里错了?书上例题重新输入一遍,可是得不到正确结果,检查好几遍了…_百度知道
请大家帮我看看这个c++小程序哪里错了?书上例题重新输入一遍,可是得不到正确结果,检查好几遍了…
书上的一个例题,可是我把它输入后编译,总是得不到所要结果。题目~编程计算每天捕获的鱼的重量,这里假设每天最多捕获五条鱼,如果数组被填满或者输入了非数字输入,循环将结束。程序如下:#include &iostream&const int Max=5;int main(){   double fish[Max];  cout&&&Please enter the weights of your fish.\n&;  cout&&&You may enter up to &&&Max&&& fish &q to terminate&.\n&;  cout&&&fish #1: &;  int i=0;  while(i&Max && cin&&fish[i]){    if(++i&Max)
cout&&&fish #&&&i+1&&&: &;
double total=0.0;
for(int j=0;j&i;j++)
total+=fish[i];
cout&&&No fish\n&;
cout&&total / i&&&=average weight of &&&i&&& fish\n&;
cout&&&Done.\n&;
return 0;}
提问者采纳
for(int j=0;j&i;j++)
total+=fish[j];
其他类似问题
按默认排序
其他3条回答
total+=fish[i];这里面 i 应该是 j 才对。i 是5 ,fish[i]是没有值的。
total+=fish[ i ];改成total+=fish[ j ];
为什么要用++i呢!
小程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁各位帮我看看这个程序出错在哪?我按照书上检察了n遍了。
[问题点数:20分,结帖人chen1mao]
各位帮我看看这个程序出错在哪?我按照书上检察了n遍了。
[问题点数:20分,结帖人chen1mao]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。我想要达到单灯循环左移的效果,不知道程序那里出错了,希望高手帮帮我,差了好几遍,硬件上没问题。_百度知道
我想要达到单灯循环左移的效果,不知道程序那里出错了,希望高手帮帮我,差了好几遍,硬件上没问题。
for(j=125,i&lt,0,
delay(200),void main(){ uchar i,输入输出设置也没错,h&gt,
while(1) {
uchar leddata=0xfe,
led=(leddata&gt, for(,
} } }void delay(uchar i){ uchar j,
for(i=0,程序不知道那里出错了。,i++)
led=leddata,#define uchar unsigned char#define uint
unsigned int#define led P0void delay(uchar i),
delay(200),1)+1,
delay(200),8,j--)
,#include&lt,},i&gt,#include&lt,&gt,h&gt,intrins,reg52,j&gt,0,
提问者采纳
&lt,这一句改为leddata=(leddata&lt,这一句改为uchar
leddata=0x7f,1)+1,右移,1)+1,同时将led=(leddata&gt,其余不变。左移,将uchar
leddata=0xfe,1)+0x80,这一句改为leddata=(leddata&gt,&gt,1)+1,&gt,其余不变。,将 led=(leddata&gt,&gt,
采纳率100%
其他类似问题
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 我错了 的文章

 

随机推荐