最近和一位8051都老前輩接觸51單片機(jī)(接觸arm之后返璞歸真??不過(guò),51是個(gè)好東西),我用keilC寫(xiě)了一個(gè)test,他用匯編(他的匯編功力的是恐怖),我c生成的hex,經(jīng)過(guò)反匯編之后對(duì)比兩個(gè)程序,發(fā)現(xiàn)c生產(chǎn)的hex冗
keil的“Edit”-“Configuration”里有一個(gè)“Encoding”設(shè)置,當(dāng)該設(shè)置是“Encoding in ANSI”時(shí),keil里的中文就是用兩個(gè)位來(lái)表示的,這個(gè)時(shí)候把keil中的中文字拷貝出去就會(huì)亂碼。所以把該設(shè)置改為“Chinese GB2312
keil的信號(hào)函數(shù)用于模擬和測(cè)試串行IO,模擬IO,端口通訊等重復(fù)發(fā)生的外部事件。信號(hào)函數(shù)以關(guān)鍵字signal開(kāi)頭。在函數(shù)中必須調(diào)用twatch用于延時(shí),不然keil會(huì)陷入死循環(huán)。twatch函數(shù)的參數(shù)表示要延時(shí)的CPU執(zhí)行周期,比如
對(duì)于函數(shù)的自變量、局部變量和全局變量聲明如果沒(méi)有指定內(nèi)存類型,則內(nèi)存模式將成為內(nèi)定的內(nèi)存類型。如果指定了內(nèi)存類型的變量,則不理會(huì)內(nèi)存模式,完全有所指定的內(nèi)存類型為主。SMALL模式:小模式 所有的變量,局部
題外話:編譯環(huán)境選擇推薦對(duì)于剛剛接觸ARM裸機(jī)編程的各位,我要特別的進(jìn)行提醒一下,就是關(guān)于編譯環(huán)境的選擇問(wèn)題。目前主流的有ADS+AXD,KEIL FOR ARM,IAR FOR ARM三種,我開(kāi)始使用的ADS+AXD進(jìn)行學(xué)習(xí),
dScope for Windows使用詳解第一節(jié) 概述1. 主窗口(MainFRAMe Window)可設(shè)置其它各種調(diào)試窗口,設(shè)置斷點(diǎn)、觀察點(diǎn),修改地址空間,加載文件等等;2. 調(diào)試窗口(DEBUG Window)支持用戶程序的各種顯示方式,可連續(xù)運(yùn)行
/*---------------------------------------------------------------------------------------------------Keil C51編寫(xiě)的192*64液晶片驅(qū)動(dòng)程序,感謝很多網(wǎng)友提供了參考源程序,本程序是在網(wǎng)友們提供的程序基礎(chǔ)上改
使用mdk編程,假如有一個(gè)有用的函數(shù)你定義了但是沒(méi)有顯式的調(diào)用,mdk在默認(rèn)方式下,將會(huì)把這個(gè)函數(shù)從整個(gè)程序總刪除掉,以節(jié)省ROM.比如,你在ROM的0x00002000處定位了一個(gè)函數(shù),假設(shè)為void test(void),然后使用函數(shù)指針來(lái)調(diào)
在使用KEIL的時(shí)候,我們習(xí)慣上在一個(gè).c的文件中把自己要寫(xiě)的東西按照自己思路的順序進(jìn)行順序書(shū)寫(xiě)。這樣是很普遍的寫(xiě)法,當(dāng)程序比較短的時(shí)候比如幾十行或者一百多行,是沒(méi)有什么問(wèn)題的。但是當(dāng)程序很長(zhǎng)的時(shí)候,比
用定時(shí)器延時(shí),有時(shí)候顯得有點(diǎn)麻煩,我們不如考慮軟件精確延時(shí),軟件延時(shí)無(wú)非就是利用for或while多重循環(huán)。以前用到延時(shí)函數(shù)時(shí),都是從網(wǎng)上下載別人寫(xiě)好的延時(shí)子程序。延時(shí)5ms,400ms,1s,……,這些延時(shí)函數(shù)的函數(shù)名中
主要介紹Keil C51的預(yù)處理方法如宏定義、常用的預(yù)處理指令及文件包含指令,C51編譯庫(kù)的選擇及代碼優(yōu)化原理,C51與匯編混合編程的方法與實(shí)現(xiàn)以及超過(guò)64KB空間的地址分頁(yè)方法的C51實(shí)現(xiàn)。教學(xué)目標(biāo) 1.了解Keil C5
C語(yǔ)言是當(dāng)前舉世公認(rèn)的高效簡(jiǎn)潔而又非常貼近硬件的編程語(yǔ)言之一。將C語(yǔ)言向單片機(jī)MCS-51上的移植始于2O世紀(jì)8O年代的中后期,經(jīng)過(guò)近1O年的發(fā)展,C語(yǔ)言克服了產(chǎn)生代碼過(guò)長(zhǎng)、運(yùn)行速度較慢的缺點(diǎn),并且由于C語(yǔ)言在開(kāi)發(fā)
調(diào)了半天的磁石電話程序, 由于一些原因?qū)е铝苏{(diào)試進(jìn)度慢, 發(fā)現(xiàn)問(wèn)題的不及時(shí):1. keil MDK的版本問(wèn)題, 使用C8051調(diào)試器調(diào)試時(shí), 會(huì)彈出窗口說(shuō)仿真模式, code只能小于2K的限制. 但是使用download可以下載燒
絕對(duì)位置變量變量可以在你的C程序中的絕對(duì)內(nèi)存地址位于源模塊使用_at_關(guān)鍵字。此功能的用法是:類型_memory_space_變量名_at_ 常數(shù);其中:memory_space是為變量的內(nèi)存空間。如果缺少聲明,默認(rèn)的存儲(chǔ)器空間使用。請(qǐng)參
1 、用資源中的STLink文件替換 C:\\Keil\\ARM\\STLink, 記得備份原來(lái)的文件,2、C:\\Keil\\TOOLS.INI改成如下的[UV2]ORGANIZATION="cs2c"NAME="jianzhong","cui"EMAIL="cjzswust@gmail.com"ARMSEL=1BOOK0=UV4\\RELEASE_NO
//1. CTYPE.Hbit isalnum(char c);bit isalpha(char c);bit iscntrl(char c);bit isdigit(char c);bit isgraph(char c);bit islower(char c);bit isprint(char c);bit ispunct(char c);bit isspace(char c);
今天寫(xiě)把自己的一個(gè)程序改成多文件后出現(xiàn)了下面的一個(gè)報(bào)警:not in formal parameter list找了半天也沒(méi)有解決問(wèn)題,后來(lái)在網(wǎng)上找到別人解決同樣問(wèn)題的方法.他是頭文件一個(gè)函數(shù)聲明時(shí)落了個(gè)分號(hào)造成的,我立刻檢查自己的
有關(guān)c51調(diào)用匯編的方法已經(jīng)有很多帖子講到,但是一般只講要點(diǎn),很少有對(duì)整個(gè)過(guò)程作詳細(xì)描述,對(duì)于初學(xué)者是不夠的,這里筆者通過(guò)一個(gè)簡(jiǎn)單例子對(duì)這個(gè)過(guò)程進(jìn)行描述,希望能對(duì)初學(xué)者有所幫助。幾年來(lái),在這個(gè)論壇里筆者得
KeilC51庫(kù)函數(shù)KeilC51庫(kù)函數(shù)參考C51強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于其豐富的可直接調(diào)用的庫(kù)函數(shù),多使用庫(kù)函數(shù)使程序代碼簡(jiǎn)單,結(jié)構(gòu)清晰,易于調(diào)試和維護(hù),下面介紹C51的庫(kù)函數(shù)系統(tǒng)。第一節(jié)本征庫(kù)函數(shù)(intrins
NSIC中,通過(guò)函數(shù)指針調(diào)用的函數(shù)的參數(shù)的個(gè)數(shù)沒(méi)有限制,但是KeilC對(duì)此有限制,至多3個(gè)參數(shù)。因?yàn)?,KeilC編譯時(shí),無(wú)法通過(guò)函數(shù)指針找到該函數(shù)的局部數(shù)據(jù)段,也就無(wú)法通過(guò)局部數(shù)據(jù)段傳遞參數(shù),只能通過(guò)寄存器傳遞參數(shù),