这程序,汗!
不说规范和内容,直接说语法错误吧
1.
不能PUSH
R7,也不能PUSH
A。对A压栈要用PUSH
ACC。
若要对R0-R7压栈,可以用MOV
A,R7
再PUSH
ACC。弹出时,
可以用POP
ACC再MOV
R7,ACC
当然,也可以直接压R7的地址,比如:PUSH
07H(BANK
0),但这样可读性很差。
2.你那儿的T1和TI是不一样的。建议,不要取一些无意义的标号,混乱不堪。
② 51 单片机 汇编 编译错误
DAT:DB 54H, F6H, 1BH, 20H,04H,C1H中逗号必须是半角字符,当十六进制数首位不是数字时,前面要加0。
要这样:DAT:DB 54H,0F6H,1BH, 20H,04H,0C1H
CLR R6; CLR R7是指令应用错误,你不能对R0-R7直接清零。
要这样:MOV R6,#0,MOV R7,#0或者CLR A,MOV R6,A;MOV R7,A
③ 51单片机程序编译完后为什么还是显示错误,工程什么的都已经建立好了。
工程什么的都已经建立好了,只一个起步,不代表什么的。
51单片机程序编译完后为什么还是显示错误,这不可能,只要有错误,编译就不会完成的。
你程序有错误,不等于编译一遍就对了,不找错误,就是编译一百遍也没有用。
④ 51单片机,这个程序错在哪里呢编译器总提示C(32): error C141: syntax error near 'u8'
main函数的while循环里面,调用函数你还给参数加个类型,这是语法错误。
⑤ 51单片机编译出错
函数声明void delay;是错误的,应该是void delay();,你少了括号,所以你程序的11,13,17,22行的错误都指向这个函数。
⑥ 51单片机出编译出错,错在哪里
用 ^ 定义位是不能用define的需要改成sbit
直接用define就相当于P3^(5=0);常量不能给常量赋值,所以就会报错
#define LCM_RS P3^5
#define LCM_E P3^4
改成
sbit LCM_RS= P3^5;
sbit LCM_E = P3^4;
sbit LCM_RW = P3^1;
即可
⑦ 51单片机 keil软件编译时出错 Text1.asm(7): error A45: UNDEFINED SYMBOL (PASS-2)
你编辑的程序开头位置出错了,应该如下
ORG 0000H
LJMP MAIN
ORG 0030H ; 主程序入口
MAIN: SETB P2.6 ; 置无线发射模块为发射状态
CLR P1.0 ; P1.0口置0
MOV A,P2
JNB ACC.4,PR1
以下雷同
⑧ Keil 51编译问题! 用Keil 51编译程序时,出现警告: MISSING DEVICE(SECURITY KEY NOT FOUND) 不知道怎
LL TO SEGMENT
这个问题必须注意,可能引起程序冲突,假设你用于自动化领域,则可能导致信号产生尖峰。 产生这一警告的一个根源是:你在主循环里调用了一个函数(如aaa),而在中断服务函数里,你用调用了这个函数(如aaa)。这样当主循环运行到该函数中是,一旦产生中断,则在中断里又再次调用该函数!这时,很可能出错! 避免这种情况的方法很多:如,在进中断的时候置需调用该函数的标志,而在主循环中调用该函数
你可以在中断函数设置标志 FLAG_Display = 1;
在主函数里判断这个标志:
if(FLAG_Display)
ValueDisplay();
更新后,清除显示标志: FLAG_Display = 0;
⑨ 51单片机工程程序都做好了,编译出错
程序中for语句是圆括号,你却用了大括号
这处
while (1)
{
for (i=0;i<4;i++)//这是圆括号
{
for (j=0;j<4;j++)//这是圆括号
⑩ C51编译时提示出错,但我怎么也找不出错在哪里了
你前面加了头文件(*.h)没有?
我加了个main函数,编译之后 是没有错误的啊
error C141: syntax error near 'void'可能是函数前后少了"{"或者"}",你应该仔细检查一下的
还有,error C202: 'TempCyc': undefined identifier这一句错误可能是在main函数中也使用了TempCyc,而没有在主函数中定义,这个变量在void Delay5Ms(void)中只是局部变量
#include "reg52.h"
void Delay5Ms(void)
{
unsigned int TempCyc;
TempCyc=5552;
while(TempCyc--);
}
//******400ms延时******
void Delay400Ms(void)
{
unsigned char TempCycA=5;
unsigned int TempCycB;
while(TempCycA--)
{
TempCycB=7269;
while(TempCycB--);
}
}
void main()
{
while(1)
{
Delay5Ms();
Delay400Ms();
}
}