關(guān)于reentrant的使用keil的官方論壇上有詳細(xì)的討論.AndyNeil(官方工程師)建議"Areyousurethatyoureallyneedtomakeeverythingreentrant?...AreadingoftheKeilappnotes&knowledgebasearticlesonthissubjectshowedthati
/*---------------------------------------------------------------------------------------------------Keil C51編寫的192*64液晶片驅(qū)動(dòng)程序,感謝很多網(wǎng)友提供了參考源程序,本程序是在網(wǎng)友們提供的程序基礎(chǔ)上改
1.第一種錯(cuò)誤信息***WARNING L15:MULTIPLE CALL TO SEGMENT SEGMENT:?PR?_WRITE_GMVLX1_REG?D_GMVLX1 CALLER1:?PR?VSYNC_INTERRUPT?MAIN CALLER2:?C_C51STARTUP該警告表示連接器發(fā)現(xiàn)有一個(gè)函數(shù)可能會(huì)被主函數(shù)和一
問(wèn)題: 我怎樣寫一個(gè)C程序回應(yīng)來(lái)自8051串行接口的字符?解答: 函數(shù)_getkey和putchar使用片內(nèi)串口來(lái)完成串行I/O。這些子程序包含在C51庫(kù)中,每個(gè)函數(shù)的源文件位于\\C51\\LIB目錄下。參見你的C51用戶手冊(cè)獲取更多關(guān)于這
本試驗(yàn)板設(shè)有四個(gè)按鍵,其功能分別為“啟動(dòng)/停止”“正轉(zhuǎn)/反轉(zhuǎn)”“速度-”“速度+”。定義P2口與試驗(yàn)板相接,低四位為驅(qū)動(dòng)信號(hào),高四位為四個(gè)按鍵口。自己原創(chuàng)的完整源程序
一. 指針變量的定義 指針變量定義與一般變量的定義類似,其形式如下: 數(shù)據(jù)類型 [存儲(chǔ)器類型1] * [存儲(chǔ)器類型2] 標(biāo)識(shí)符; [存儲(chǔ)器類型1] 表示被定義為基于存儲(chǔ)器的指針。無(wú)此選項(xiàng)時(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ǔ)言在開發(fā)
絕對(duì)位置變量變量可以在你的C程序中的絕對(duì)內(nèi)存地址位于源模塊使用_at_關(guān)鍵字。此功能的用法是:類型_memory_space_變量名_at_ 常數(shù);其中:memory_space是為變量的內(nèi)存空間。如果缺少聲明,默認(rèn)的存儲(chǔ)器空間使用。請(qǐng)參
說(shuō)明:SPI接口有一個(gè)特點(diǎn),即在時(shí)鐘SCK的上升沿打入數(shù)據(jù)MOSI,在下降沿讀入數(shù)據(jù)MISO.片選信號(hào)CS有正負(fù)區(qū)別.在硬件上MOSI與MISO是可以短路變?yōu)镾IO可讀寫IO的.故SPI可為(不包括CS)三線(SCK,MOSI,MISO)協(xié)議,兩線(SCK,SI
用一個(gè)外部中斷0檢測(cè)過(guò)零脈沖,然后用一個(gè)定時(shí)器產(chǎn)生一個(gè)脈沖即可。#include#define uint unsigned int /*宏定義*/#define uchar unsigned char /*宏定義*///#define Time_5ms (0x10000-5000) //fosc=12M#define Tim
因?yàn)樵趐rotues上沒(méi)有找到這款液晶屏幕,所以就不截圖了,經(jīng)過(guò)驗(yàn)證是對(duì)的。程序一:在液晶屏上顯示一個(gè)1//在液晶屏上顯示一個(gè)字符 #include #define uchar unsigned char #define uint unsigned int //端口設(shè)置
Data Storage Formats數(shù)據(jù)存儲(chǔ)格式這一部說(shuō)明可用的數(shù)據(jù)類型的存儲(chǔ)格式。Cx51提供了幾種數(shù)據(jù)存儲(chǔ)格式如下:Data Type Bits Bytes Value Rangebit 1 — 0 to 1signed char 8 1 -128 to +127unsigned char
C51中的浮點(diǎn)數(shù)采用IEEE-754標(biāo)準(zhǔn)來(lái)表示,存儲(chǔ)長(zhǎng)度為4個(gè)字節(jié),其中包含3個(gè)位域:數(shù)符,階碼和尾數(shù)。(1)1位數(shù)符位:D31(2)8位階碼:D30----D23(補(bǔ)碼形式存放),其中D30是符號(hào)位,與一般表示方法不同,它用1表示正
這是一個(gè)簡(jiǎn)單的紅外解碼程序,是針對(duì)9ms起始碼和4.5ms結(jié)束碼的紅外信號(hào)晶振用的是11.0592M的#include#includesfrp0=0x80;sfrp3=0xb0;sbitp32=p3^2;unsignedchardm,i,j,k;unsignedchardataa[4];//定義4個(gè)數(shù)組,用來(lái)
據(jù)說(shuō)是AT24C01-AT24C256通用源程序,但按照我的經(jīng)驗(yàn),這個(gè)源程序僅適合AT24C04-AT24C256。/*Sample:/*main(){.../*ReadMem(l,x,y);/*讀。l為本次訪問(wèn)的器件號(hào),在宏定義時(shí)分配不同芯片的不同器件號(hào),x為本次欲讀出的
//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);
The XBYTE macro accesses individual bytes in the external data memory of the 8051. You may use this macro in your programs as follows:#include /* Include Macro Definitions */...rval = XBYTE [0x0002];
18B20溫度計(jì),正負(fù)溫度顯示。最大99攝氏度。用萬(wàn)能板手工焊接。調(diào)試成功,正常顯示。共陽(yáng)數(shù)碼管由三極管驅(qū)動(dòng)。下面是C51程序,您一看就懂了:#include#include#defineuintunsignedint#defineucharunsignedcharucharc
Cx51編譯器中的預(yù)處理器處理源程序文件中的指令。Cx51支持所有的ANSI C指令。Directives指令預(yù)處理器指令前面不能有空格,并且必須加前綴‘#’如:#pragma#include #define DEBUG 1下面列出預(yù)處理器指信令