久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

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

我的C語言嵌套匯編哪有問題?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:328334 發(fā)表于 2018-11-27 19:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "reg52.h"
#include<intrins.h>        
sbit beep=P1^5;
void del(void)
{
#pragma asm
del3:mov r5,#100
del2:mov r6,#100
del1:mov r7,#25
del0:nop
            nop
                        djnz r7,del0
                        djnz r6,del1
                        djnz r5,del2
#pragma endasm
}
void main()
{
while(1)
{
  beep=~beep;
         del(void);
}
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:155507 發(fā)表于 2018-11-27 19:42 | 只看該作者
使用C51進(jìn)行單片機(jī)編程是事半功倍的事,但是很多算法上以及編譯上的問題,往往使用ASM代碼更為方便又高效。但不知什么原因,Keil在實(shí)現(xiàn)C51夾雜ASM代碼比SDCC麻煩很多,方法如下:
預(yù)處理指令 #pragma asm 開始ASM代碼
預(yù)處理指令 #pragma endasm 結(jié)束ASM代碼

如果就這樣直接編譯的話,會(huì)出現(xiàn)以下錯(cuò)誤:
error C272: 'asm/endasm' requires src-control to be active
解決方法:在 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:328334 發(fā)表于 2018-11-27 19:44 | 只看該作者
我嵌套其他匯編完全沒問題,就是精準(zhǔn)延時(shí)的特別難弄
回復(fù)

使用道具 舉報(bào)

地板
ID:119159 發(fā)表于 2018-11-27 20:20 | 只看該作者
    選中 Project  窗口中的C  文件,比如CX1.C,并右鍵,選擇“Options  for  ...”,點(diǎn)擊右邊的“Generate Assembler SRC File”和“Assemble SRC File”,使復(fù)選框的打鉤由灰色變成黑色狀態(tài)(雙擊即可);
build的時(shí)候需要在SOURCE GROUP 1中插入相關(guān)的LIB庫文件

最后一行
del();
回復(fù)

使用道具 舉報(bào)

5#
ID:434498 發(fā)表于 2018-11-27 20:32 | 只看該作者
程序還行,nice
回復(fù)

使用道具 舉報(bào)

6#
ID:401564 發(fā)表于 2018-11-28 08:16 | 只看該作者
不過是延時(shí),你還不如看編譯之后匯編代碼來改,只要C可以正確編譯,都是可以看到對(duì)應(yīng)函數(shù)的匯編代碼,然后可以根據(jù)匯編代碼來修改延時(shí)時(shí)長
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情精品久久久久 | 91在线观| 国产视频二区 | 国产精品久久久久久久久久 | 日本字幕在线观看 | 99精品电影 | 欧美精品久久久久 | 国产乱码精品一区二区三区忘忧草 | 国产一区二区在线视频 | av影音资源| 亚洲一区中文字幕 | 久久久www成人免费无遮挡大片 | 精品久久电影 | 中文字幕1区2区3区 日韩在线视频免费观看 | www.久草.com | 国产成人综合在线 | 精品一二三区在线观看 | 亚洲国产成人av好男人在线观看 | 欧美久操网 | 韩日一区 | 欧美精品一区二区蜜桃 | 草久在线 | 亚洲国产一区二区视频 | 日韩欧美手机在线 | 亚洲国产成人精品久久 | 成人在线视频免费播放 | 日韩在线免费 | 欧美一区不卡 | 欧美激情啪啪 | 欧美精品91 | 日本欧美大片 | 一本久久a久久精品亚洲 | 欧美不卡在线 | 日本精品视频 | 国产精品久久久久久 | 中文字幕人成人 | 亚洲精品成人av | 91在线免费视频 | 日本高清视频在线播放 | 羞羞的视频在线观看 | 日韩欧美中文在线 |