找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3123|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

我的C語(yǔ)言嵌套延時(shí)為啥無(wú)法運(yùn)行

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:328334 發(fā)表于 2018-11-27 19:57 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
20黑幣
我嵌套其他匯編程序完全沒問題,但是一嵌套精準(zhǔn)延時(shí),程序就無(wú)法運(yùn)行,請(qǐng)教各位大哥
#include "reg52.h"
#include<intrins.h>       
sbit beep=P1^5;
void del()
{
  #pragma asm
                DEL3:MOV R0,#10
                DEL2:MOV R1,#100
                DEL1:MOV R2,#25
          DEL0:NOP
               NOP
               DJNZ R2,DEL0
               DJNZ R1,DEL1
               DJNZ R0,DEL2
        #pragma endasm
}
void main()
{
while(1)
{
   beep=~beep;
         del();
}
}

無(wú)標(biāo)題.jpg (207.23 KB, 下載次數(shù): 48)

無(wú)標(biāo)題.jpg

最佳答案

查看完整內(nèi)容

解決方法:在 Files Toolbar 中選中當(dāng)前C51文件,點(diǎn)右鍵查看文件選項(xiàng),將 Generate Assembler SRC File 與 Assemble SRC File 的勾選由灰色變?yōu)楹谏,即使這兩項(xiàng)有效! 這時(shí)進(jìn)行編譯沒有問題,但是Link時(shí)產(chǎn)生了兩個(gè)警告: *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL 解決方法是需要在 Source Group 中添加一個(gè) LIB 文件,根據(jù)專案的內(nèi)容不同有所區(qū)別: C51S.LIB - ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

來(lái)自 2#
ID:119159 發(fā)表于 2018-11-27 22:21 | 只看該作者

需要添加一個(gè)庫(kù)文件,具體看圖
回復(fù)

使用道具 舉報(bào)

板凳
ID:432823 發(fā)表于 2018-11-27 19:57 | 只看該作者
解決方法:在 Files Toolbar 中選中當(dāng)前C51文件,點(diǎn)右鍵查看文件選項(xiàng),將 Generate Assembler SRC File 與 Assemble SRC File 的勾選由灰色變?yōu)楹谏,即使這兩項(xiàng)有效!
這時(shí)進(jìn)行編譯沒有問題,但是Link時(shí)產(chǎn)生了兩個(gè)警告:
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
解決方法是需要在 Source Group 中添加一個(gè) LIB 文件,根據(jù)專案的內(nèi)容不同有所區(qū)別:
C51S.LIB - 沒有浮點(diǎn)運(yùn)算的 Small model
C51C.LIB - 沒有浮點(diǎn)運(yùn)算的 Compact model
C51L.LIB - 沒有浮點(diǎn)運(yùn)算的 Large model
C51FPS.LIB - 帶浮點(diǎn)運(yùn)算的 Small model
C51FPC.LIB - 帶浮點(diǎn)運(yùn)算的 Compact model
C51FPL.LIB - 帶浮點(diǎn)運(yùn)算的 Large model
LIB 方件在 Keil 安裝目錄下的 /C51/LIB/ 目錄中。
回復(fù)

使用道具 舉報(bào)

地板
ID:424598 發(fā)表于 2018-11-27 22:54 來(lái)自手機(jī) | 只看該作者
看提示信息,0錯(cuò)誤啊,1警告,沒關(guān)系。如果是沒生成hex文件,你要在設(shè)置里勾選一下,編譯生成hex
回復(fù)

使用道具 舉報(bào)

5#
ID:328334 發(fā)表于 2018-11-28 08:47 來(lái)自手機(jī) | 只看該作者
ssk7793 發(fā)表于 2018-11-27 22:54
看提示信息,0錯(cuò)誤啊,1警告,沒關(guān)系。如果是沒生成hex文件,你要在設(shè)置里勾選一下,編譯生成hex

hex生成了,但是在開發(fā)板上無(wú)法運(yùn)行,而且我如果在主函數(shù)里不調(diào)用這個(gè)函數(shù),也運(yùn)行不出想要的結(jié)果
回復(fù)

使用道具 舉報(bào)

6#
ID:432823 發(fā)表于 2018-11-28 08:48 | 只看該作者
選擇.c文件右擊,選中options for ……
回復(fù)

使用道具 舉報(bào)

7#
ID:432823 發(fā)表于 2018-11-28 08:50 | 只看該作者
1選擇.c文件右擊,選中options for ……  2、進(jìn)入界面->選擇Generate Assembler SRC File 和 Assemble SRC File 兩個(gè)選項(xiàng),注意一定要是勾選為黑色(不是灰色) -> 點(diǎn)擊確定3 解決方法是需要在 Source Group 中添加一個(gè) LIB 文件,根據(jù)專案的內(nèi)容不同有所區(qū)別: C51S.LIB - 沒有浮點(diǎn)運(yùn)算的 Small model C51C.LIB - 沒有浮點(diǎn)運(yùn)算的 Compact model C51L.LIB - 沒有浮點(diǎn)運(yùn)算的 Large model C51FPS.LIB - 帶浮點(diǎn)運(yùn)算的 Small model C51FPC.LIB - 帶浮點(diǎn)運(yùn)算的 Compact model C51FPL.LIB - 帶浮點(diǎn)運(yùn)算的 Large model LIB 方件在 Keil 安裝目錄下的 /C51/LIB/ 目錄中。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表