Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Keil C51 vs ±ê×¼C

ÉîÈëÀí½â²¢Ó¦ÓÃC51¶Ô±ê×¼ANSICµÄÀ©Õ¹ÊÇѧϰC51µÄ¹Ø¼üÖ®Ò»¡£ÒòΪ´ó¶àÊýÀ©Õ¹¹¦Äܶ¼ÊÇÖ±½ÓÕë¶Ô8051ϵÁÐCPUÓ²¼þµÄ¡£´óÖÂÓÐÒÔÏÂ8 Àࣺ 8051´æ´¢ÀàÐͼ°´æ´¢ÇøÓòl;  ´æ´¢Ä£Ê½l´æ´¢Æ÷ÀàÐÍÉùÃ÷l±äÁ¿ÀàÐÍÉùÃ÷l λ±äÁ¿ÓëλѰַl  ÌØÊ⹦ÄܼĴæÆ÷(SFR)l C51Ö¸Õël  º¯ÊýÊôÐÔ¾ßÌå˵Ã÷ÈçÏÂ(8031ΪȱʡCPU)¡£
µÚÒ»½Ú Keil C51À©Õ¹¹Ø¼ü×Ö
C51 V4.0°æ±¾ÓÐÒÔÏÂÀ©Õ¹¹Ø¼ü×Ö(¹²19¸ö)£º_at_ ;  idata;  sfr16;  alien;  interrupt;  smallbdata;  large;  _task_;  Code;  bit;  pdatausing;  reentrant xdata;  compact sbit;  data; sfr
µÚ¶þ½Ú ÄÚ´æÇøÓò(Memory Areas)£º
1. Pragram Area£º
ÓÉCode˵Ã÷¿ÉÓжà´ï64kBytesµÄ³ÌÐò´æ´¢Æ÷
2. Internal Data Memory
ÄÚ²¿Êý¾Ý´æ´¢Æ÷¿ÉÓÃÒÔϹؼü×Ö˵Ã÷£ºdata£ºÖ±½ÓÑ°Ö·Çø£¬ÎªÄÚ²¿RAMµÄµÍ128 ×Ö½Ú  00H¡«7FH£¬idata£º¼ä½ÓÑ°Ö·Çø£¬°üÀ¨Õû¸öÄÚ²¿RAMÇø 00H¡«FFH£¬bdata£º¿ÉÎ»Ñ°Ö·Çø£¬20H¡«2FH
3. External Data Memory
ÍⲿRAMÊÓʹÓÃÇé¿ö¿ÉÓÉÒÔϹؼü×Ö±êʶ£ºxdata£º¿ÉÖ¸¶¨¶à´ï64KBµÄÍⲿֱ½ÓÑ°Ö·Çø£¬µØÖ··¶Î§0000H¡«0FFFFHpdata£ºÄÜ·ÃÎÊ1Ò³(25bBytes)µÄÍⲿRAM£¬Ö÷ÒªÓÃÓÚ½ô´Õģʽ(Compact Model)¡£
4. Speciac Function Register Memory
8051Ìṩ128BytesµÄSFRÑ°Ö·Çø£¬ÕâÇøÓò¿ÉλѰ Ö·¡¢×Ö½ÚѰַ»ò×ÖѰַ£¬ÓÃÒÔ¿ØÖƶ¨Ê±Æ÷¡¢¼ÆÊýÆ÷¡¢´®¿Ú¡¢I/O¼°ÆäËü²¿¼þ£¬¿ÉÓÉÒÔϼ¸Öֹؼü×Ö˵Ã÷£ºsfr£º×Ö½ÚѰַ ±ÈÈç sfr P0=0x80;ΪPO¿ÚµØÖ·Îª80H£¬£½;ºóH¡«FFHÖ®¼äµÄ³£Êý¡£sfr16£º×ÖѰַ£¬Èçsfr16 T2=0xcc;Ö¸¶¨Timer2¿ÚµØÖ·T2L=0xcc T2H=0xCDsbit£ºÎ»Ñ°Ö·£¬Èçsbit EA=0xAF;Ö¸¶¨µÚ0xAFλΪEA£¬¼´ÖжÏÔÊÐí»¹¿ÉÒÔÓÐÈç϶¨Òå·½·¨£ºsbit 0V=PSW^2£»(¶¨Òå0VΪPSWµÄµÚ2λ)sbit  0V£½0XDO^2£»(ͬÉÏ)»òbit 0V-£½0xD2(ͬÉÏ)¡£
µÚÈý½Ú ´æ´¢Ä£Ê½
´æ´¢Ä£Ê½¾ö¶¨ÁËûÓÐÃ÷È·Ö¸¶¨´æ´¢ÀàÐ͵ıäÁ¿£¬º¯Êý²ÎÊýµÈµÄȱʡ´æ´¢ÇøÓò£¬¹²ÈýÖÖ£º
1. Smallģʽ
ËùÓÐȱʡ±äÁ¿²ÎÊý¾ù×°ÈëÄÚ²¿RAM£¬ÓŵãÊÇ·ÃÎÊËٶȿ죬ȱµãÊǿռäÓÐÏÞ£¬Ö»ÊÊÓÃÓÚС³ÌÐò¡£
2. Compactģʽ
ËùÓÐȱʡ±äÁ¿¾ùλÓÚÍⲿRAMÇøµÄÒ»Ò³(256Bytes)£¬¾ßÌåÄÄÒ»Ò³¿ÉÓÉP2¿ÚÖ¸¶¨£¬ÔÚSTARTUP.A51ÎļþÖÐ˵Ã÷£¬Ò²¿ÉÓÃpdataÖ¸¶¨£¬ÓŵãÊǿռä½ÏSmallΪ¿íÔ£ËٶȽÏSmallÂý£¬½ÏlargeÒª¿ì£¬ÊÇÒ»ÖÖÖмä״̬¡£
3. largeģʽ
ËùÓÐȱʡ±äÁ¿¿É·ÅÔÚ¶à´ï64KBµÄÍⲿRAMÇø£¬ÓŵãÊǿռä´ó£¬¿É´æ±äÁ¿¶à£¬È±µãÊÇËٶȽÏÂý¡£Ì


Ïà¹ØÎĵµ£º

ANSI C——¿É±ä²ÎÊý


¡¾Ô­ÐÍ¡¿
      type fun( type arg1, type arg2, ...
);
¡¾ÃèÊö¡¿
       Ö÷ÒªÓÃÔÚ²ÎÊý¸öÊý²»È·¶¨µÄº¯ÊýÖУ¬ÀýÈ磺printfº¯Êý¡£
¡¾Ê¹Ó÷½·¨¡¿
²Î¿¼£ºglib/manual/Add.c
#include <stdarg.h>
#include <stdio.h>
int add_em_up (int coun ......

ECLIPSE ¿ª·¢ C/C++ ¹¤³Ì

  ×î½üÒ»¸öÅóÓÑ×¼±¸°ÑC´úÂëÔÚECLIPSEÉϱàÒ룬ÒÔǰһֱ¸ãµÄJAVA£¬Ò²ÖªµÀECLIPSEÖ§³ÖC¹¤³Ì£¬µ«ÊÇ×Ô¼º´ÓÀ´Ã»¸ã¹ý£¬ËùÒÔ¾Í×Ô¼ºÏÈ´ÓÍøÂçÉÏÕÒ×ÊÁÏ£¬Ö÷Òª·½·¨ÈçÏÂ
1¡¢°²×°JDKºÍEclipse
ÕâÀï¾Í²»¶à˵£¬¾ßÌåÇë¼û£ºhttp://blog.chinaunix.net/u/16292/showart_223309.html
Îҵݲװ»·¾³ÊÇjdk1.5£¬eclipse3.2.1
2¡¢°²×°C++µÄE ......

cºê¶¨ÒåµÄ¼¼ÇÉ×ܽá


1,·ÀÖ¹Ò»¸öÍ·Îļþ±»Öظ´°üº¬
#ifndef COMDEF_H
#define COMDEF_H
//Í·ÎļþÄÚÈÝ
#endif
2,ÖØÐ¶¨ÒåһЩÀàÐÍ,·ÀÖ¹ÓÉÓÚ¸÷ÖÖÆ½Ì¨ºÍ±àÒëÆ÷µÄ²»Í¬,¶ø²úÉúµÄÀàÐÍ×Ö½ÚÊý²îÒì,·½±ãÒÆÖ²¡£
typedef unsigned char      boolean;     /* Boolean value type. */
typedef ......

½«Win32 C/C++Ó¦ÓóÌÐòÇ¨ÒÆµ½Linux

±¾ÎĵÄÄÚÈÝÊÇ Win32 API£¨ÌرðÊǽø³Ì¡¢Ï̺߳͹²ÏíÄÚ´æ·þÎñ£©µ½ POWER ÉÏ Linux µÄÓ³Éä¡£±¾ÎÄ¿ÉÒÔ°ïÖúÄúÈ·¶¨ÄÄÖÖÓ³Éä·þÎñ×îÊʺÏÄúµÄÐèÒª¡£×÷ÕßÏòÄúÏêϸ½éÉÜÁËËûÔÚÒÆÖ² Win32 C/C++ Ó¦ÓóÌÐòʱÓöµ½µÄ API Ó³Éä¡£
¸ÅÊö
Óкܶ෽ʽ¿ÉÒÔ½« Win32 C/C++ Ó¦ÓóÌÐòÒÆÖ²ºÍÇ¨ÒÆµ½ pSeries ƽ̨¡£Äú¿ÉÒÔʹÓÃÃâ·ÑÈí¼þ»òÕßµÚÈý·½¹¤¾ßÀ´ ......

C/C++ÓïÑÔÖÐStaticµÄ×÷ÓÃÏêÊö

ÔÚCÓïÑÔÖУ¬staticµÄ×ÖÃæÒâ˼ºÜÈÝÒ×°ÑÎÒÃǵ¼ÈëÆç;£¬ÆäʵËüµÄ×÷ÓÃÓÐÈýÌõ¡£
£¨1£©ÏÈÀ´½éÉÜËüµÄµÚÒ»ÌõÒ²ÊÇ×îÖØÒªµÄÒ»Ìõ£ºÒþ²Ø¡£
µ±ÎÒÃÇͬʱ±àÒë¶à¸öÎļþʱ£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ¡£ÎªÀí½âÕâ¾ä»°£¬ÎÒ¾ÙÀýÀ´ËµÃ÷¡£ÎÒÃÇҪͬʱ±àÒëÁ½¸öÔ´Îļþ£¬Ò»¸öÊÇa.c£¬ÁíÒ»¸öÊÇmain.c¡£
ÏÂÃæÊÇa.cµÄÄÚÈÝ
ch ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ