為什麼51晶元無法編譯
❶ 51程序,編譯不過去
變數精簡一下,不要都用全局變數,能用局部的就定義成局部,並且盡量定義成idata。有些布爾量定義的使用不要用位元組,要定義到BIT區,還有函數嵌套不要太多層。實在不行,你把程序發出來,大家看看。
❷ 51單片機小程序C語言編譯不通過,找不到原因
code是一個定義的前綴,也就是告訴你現在定義的數據是放在程序存儲區。
ckcon我在c8051f系列單片機裡面見過,是定時器的時鍾源的配置寄存器
至於你的第三個問題,我還是菜鳥,沒有做過
❸ 按照51單片機視頻上寫的程序,一模一樣為什麼還是編譯不了
這么短的程序,錯誤的地方確實多了點。
一,main函數前面的delay函數聲明後面沒有分號,
二,把for循環里的逗號全部改為分號。
這樣之後編譯應該就通過了。
❹ 51單片機程序錯誤,無法編譯怎麼搞好STC15F
#include <intrins.h>
添加這個頭文件就可以了。因為你用到了
_nop_();
_nop_();這個叫內嵌匯編
❺ 在線等~~~~51單片機無法編譯問題
把STARTUP.A51文件去掉再匯編試試。
❻ 在51單片機編程時,為什麼在編寫程序後再次進行編譯就出現:target not created
是因為你沒有編譯就直接連接了,這個意思是目標(.HEX)文件沒有創建,肯定是你的程序有錯誤!
不信你再編譯一下,看否是有錯誤提示·!
❼ 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單片機出編譯出錯,錯在哪裡
用 ^ 定義位是不能用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單片機上的DS302時無法使用定時器中斷呢,無法編譯成功。
用51單片機使用DS1302計時,可以同時使用定時器中斷,並不影響編譯。你編譯不成功,是程序有錯誤,與使用DS1302,使用定時器都無關,程序中有錯,要按編譯提示查找錯誤。
❿ 51單片機匯編,編譯無法通過,UNDEFINED SYMBOL (PASS-2)
你都沒有指明單片機的起始運行地址,比如開頭應該是這樣的
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TT0
ORG 0023H
LJMP RXIO
ORG 0030H
MAIN: CLR B485 ; 禁止發送
。。。。。。