keil cÓïÑÔ±à³Ì³£¼û´íÎó·ÖÎöÒªµã ÏÂÔØ±¾ÎÄ

±íʾΪxxxx,µÚһλ¶¼ÊÇ1Â¸ÉÂﻹҪ±íʾѽ£¿¿ÉÒÔ½«Ð¡ÊýµãÇ°ÃæµÄ1Ê¡ÂÔ£¬ËùÒÔ23bitµÄβÊý²¿·Ö£¬¿ÉÒÔ±íʾµÄ¾«¶ÈÈ´±ä³ÉÁË24bit£¬µÀÀí¾ÍÊÇÔÚÕâÀÄÇ24bitÄܾ«È·µ½Ð¡Êýµãºó¼¸Î»ÄØ£¬ÎÒÃÇÖªµÀ9µÄ¶þ½øÖƱíʾΪ1001£¬ËùÒÔ4bitÄܾ«È·Ê®½øÖÆÖеÄ1λСÊýµã£¬24bit¾ÍÄÜʹfloatÄܾ«È·µ½Ð¡Êýµãºó6룬¶ø¶ÔÓÚÖ¸Êý²¿·Ö£¬ÒòΪָÊý¿ÉÕý¿É¸º£¬8λµÄÖ¸ÊýλÄܱíʾµÄÖ¸Êý·¶Î§¾ÍÓ¦¸ÃΪ:-127-128ÁË£¬ËùÒÔÖ¸Êý²¿·ÖµÄ´æ´¢²ÉÓÃÒÆÎ»´æ´¢£¬´æ´¢µÄÊý¾ÝΪԪÊý¾Ý+127£¬ÏÂÃæ¾Í¿´¿´8.25ºÍ120.5ÔÚÄÚ´æÖÐÕæÕýµÄ´æ´¢·½Ê½¡£

Ê×ÏÈ¿´ÏÂ8.25£¬Óöþ½øÖƵĿÆÑ§¼ÆÊý·¨±íʾΪ:1.0001*

°´ÕÕÉÏÃæµÄ´æ´¢·½Ê½£¬·ûºÅλΪ:0£¬±íʾΪÕý£¬Ö¸ÊýλΪ:3+127=130 ,λÊý²¿·ÖΪ,¹Ê8.25µÄ´æ´¢·½Ê½ÈçÏÂͼËùʾ:

¶øµ¥¾«¶È¸¡µãÊý120.5µÄ´æ´¢·½Ê½ÈçÏÂͼËùʾ:

ÄÇôÈç¹û¸ø³öÄÚ´æÖÐÒ»¶ÎÊý¾Ý£¬²¢ÇÒ¸æËßÄãÊǵ¥¾«¶È´æ´¢µÄ»°£¬ÄãÈçºÎÖªµÀ¸ÃÊý¾ÝµÄÊ®½øÖÆÊýֵĨ£¿Æäʵ¾ÍÊǶÔÉÏÃæµÄ·´Íƹý³Ì£¬±ÈÈç¸ø³öÈçÏÂÄÚ´æÊý¾Ý£º

0100001011101101000000000000£¬Ê×ÏÈÎÒÃÇÏÖ½«¸ÃÊý¾Ý·Ö¶Î£¬0 10000 0101 110 1101 0000 0000 0000 0000£¬ÔÚÄÚ´æÖеĴ洢¾ÍΪÏÂͼËùʾ£º

¸ù¾ÝÎÒÃǵļÆË㷽ʽ£¬¿ÉÒÔ¼ÆËã³ö£¬ÕâÑùÒ»×éÊý¾Ý±íʾΪ:1.1101101*=120.5 ¶øË«¾«¶È¸¡µãÊýµÄ´æ´¢ºÍµ¥¾«¶ÈµÄ´æ´¢´óͬСÒ죬²»Í¬µÄÊÇÖ¸Êý²¿·ÖºÍβÊý²¿·ÖµÄλÊý¡£ËùÒÔÕâÀï²»ÔÙÏêϸµÄ½éÉÜË«¾«¶ÈµÄ´æ´¢·½Ê½ÁË£¬Ö»½«120.5µÄ×îºó´æ´¢·½Ê½Í¼¸ø³ö£¬´ó¼Ò¿ÉÒÔ×ÐϸÏëÏëΪºÎÊÇÕâÑù×ÓµÄ

ÏÂÃæÎÒ¾ÍÕâ¸ö»ù´¡ÖªÊ¶µãÀ´½â¾öÒ»¸öÎÒÃǵÄÒ»¸öÒÉ»ó£¬Çë¿´ÏÂÃæÒ»¶Î³ÌÐò£¬×¢Òâ¹Û²ìÊä³ö½á¹û )); ));

float f = 2.2f;

double d = (double)f;

Console.WriteLine(d.ToString(\ f = 2.25f; d = (double)f;

Console.WriteLine(d.ToString(\

¿ÉÄÜÊä³öµÄ½á¹ûÈôó¼ÒÒɻ󲻽⣬µ¥¾«¶ÈµÄ2.2ת»»ÎªË«¾«¶Èºó£¬¾«È·µ½Ð¡Êýµãºó13λºó±äΪÁË2.2000000476837£¬¶øµ¥¾«¶ÈµÄ2.25ת»»ÎªË«¾«¶Èºó£¬±äΪÁË2.2500000000000£¬ÎªºÎ2.2ÔÚת»»ºóµÄÊýÖµ¸ü¸ÄÁ˶ø2.25ȴûÓиü¸ÄÄØ£¿ºÜÆæ¹Ö°É£¿Æäʵͨ¹ýÉÏÃæ¹ØÓÚÁ½ÖÖ´æ´¢½á¹ûµÄ½éÉÜ£¬ÎÒÃÇÒѾ­´ó¸ÅÄÜÕÒµ½´ð°¸¡£Ê×ÏÈÎÒÃÇ¿´¿´2.25µÄµ¥¾«¶È´æ´¢·½Ê½£¬ºÜ¼òµ¥ 0 1000 0001 001 0000 0000 0000 0000 0000,¶ø2.25µÄË«¾«¶È±íʾΪ:0 100 0000 0001 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000,ÕâÑù2.25ÔÚ½øÐÐÇ¿ÖÆ×ª»»µÄʱºò£¬ÊýÖµÊDz»»á±äµÄ£¬¶øÎÒÃÇÔÙ¿´¿´2.2ÄØ£¬2.2ÓÿÆÑ§¼ÆÊý·¨±íʾӦ¸ÃΪ£º½«Ê®½øÖƵÄСÊýת»»Îª¶þ½øÖƵÄСÊýµÄ·½·¨Îª½«Ð¡Êý*2£¬È¡ÕûÊý²¿·Ö£¬ËùÒÔ0.282=0.4£¬ËùÒÔ¶þ½øÖÆÐ¡ÊýµÚһλΪ0.4µÄÕûÊý²¿·Ö0£¬0.4¡Á2=0.8£¬µÚ¶þλΪ0,0.8*2=1.6,µÚÈýλΪ1£¬0.6¡Á2 = 1.2£¬µÚËÄλΪ1£¬0.2*2=0.4£¬µÚÎåλΪ0£¬ÕâÑùÓÀÔ¶Ò²²»¿ÉÄܳ˵½=1.0£¬µÃµ½µÄ¶þ½øÖÆÊÇÒ»¸öÎÞÏÞÑ­»·µÄÅÅÁÐ 00110011001100110011... ,¶ÔÓÚµ¥¾«¶ÈÊý¾ÝÀ´Ëµ£¬Î²ÊýÖ»Äܱíʾ24bitµÄ¾«¶È£¬ËùÒÔ2.2µÄfloat´æ´¢Îª:

µ«ÊÇÕâÑù´æ´¢·½Ê½£¬»»Ëã³ÉÊ®½øÖƵÄÖµ£¬È´²»»áÊÇ2.2µÄ£¬Ó¦ÎªÊ®½øÖÆÔÚת»»Îª¶þ½øÖƵÄʱºò¿ÉÄܻ᲻׼ȷ£¬Èç2.2£¬¶ødoubleÀàÐ͵ÄÊý¾ÝÒ²´æÔÚͬÑùµÄÎÊÌ⣬ËùÒÔÔÚ¸¡µãÊý±íʾÖлá²úÉúЩÐíµÄÎó²î£¬ÔÚµ¥¾«¶Èת»»ÎªË«¾«¶ÈµÄʱºò£¬Ò²»á´æÔÚÎó²îµÄÎÊÌ⣬¶ÔÓÚÄܹ»Óöþ½øÖƱíʾµÄÊ®½øÖÆÊý¾Ý£¬Èç2.25£¬Õâ¸öÎó²î¾Í»á²»´æÔÚ£¬ËùÒÔ»á³öÏÖÉÏÃæ±È½ÏÆæ¹ÖµÄÊä³ö½á¹û Èý¡¢xdata idata pdata data

DATA: ¹Ì¶¨Ö¸Ç°Ãæ0x00-0x7fµÄ128¸öRAM,¿ÉÒÔÓÃaccÖ±½Ó¶ÁдµÄ,ËÙ¶È×î¿ì,Éú³ÉµÄ´úÂëÒ²×îС¡£

IDATA:¹Ì¶¨Ö¸Ç°Ãæ0x00-0xffµÄ256¸öRAM,ÆäÖÐǰ128ºÍdATaµÄ128ÍêÈ«Ïàͬ,Ö»ÊÇÒòΪ·ÃÎʵķ½Ê½²»Í¬¡£

IDATAÊÇÓÃÀàËÆCÖеÄÖ¸Õ뷽ʽ·ÃÎʵġ£»ã±àÖеÄÓï¾äΪ£ºmox ACC,@Rx.(²»ÖØÒªµÄ²¹³ä£ºcÖÐIDATA×öÖ¸ÕëʽµÄ·ÃÎÊЧ¹ûºÜºÃ)

XDATA: ÍⲿÀ©Õ¹RAM,Ò»°ãÖ¸Íⲿ0x0000-0xffff¿Õ¼ä,ÓÃDPTR·ÃÎÊ¡£

PDATA: ÍⲿÀ©Õ¹RAMµÄµÍ256¸ö×Ö½Ú,µØÖ·³öÏÖÔÚA0-A7µÄÉÏʱ¶Áд,ÓÃmovx ACC,@Rx¶Áд¡£Õâ¸ö±È½ÏÌØÊâ,¶øÇÒC51ºÃÏóÓжԴËBUG, ½¨ÒéÉÙÓᣵ«Ò²ÓÐËûµÄÓŵã,¾ßÌåÓ÷¨ÊôÓÚÖм¶ÎÊÌâ,ÕâÀï²»Ìá¡£

STARTUP.A51 µÄ×÷ÓÃ,ºÍ»ã±àÒ»Ñù,ÔÚCÖж¨ÒåµÄÄÇЩ±äÁ¿ºÍÊý×éµÄ³õʼ»¯¾ÍÔÚSTARTUP.A51ÖнøÐÐ,Èç¹ûÄãÔÚ¶¨ÒåÈ«¾Ö±äÁ¿Ê±´øÓÐÊýÖµ,Èçunsigned char dATa xxx=\ÄÇSTARTUP.A51ÖоͻáÓÐÏà¹ØµÄ¸³Öµ¡£Èç¹ûûÓÐ=100, STARTUP.A51¾Í»á°ÑËûÇå0¡££¨STARTUP.A51==±äÁ¿µÄ³õʼ»¯£©¡£ ÕâЩ³õʼ»¯Íê±Ïºó,»¹»áÉèÖÃSPÖ¸Õë¡£¶Ô·Ç±äÁ¿ÇøÓò, Èç¶ÑÕ»Çø,½«²»»áÓи³Öµ»òÇåÁ㶯×÷¡£ÓÐÈËϲ»¶¸ÄSTARTUP.A51ΪÁËÂú×ã×Ô¼ºÒ»Ð©Ï뵱ȻµÄ°®ºÃ,ÕâÊDz»±ØÒªµÄ,ÓпÉÄÜ´íÎóµÄ¡£±ÈÈçµôµç±£»¤µÄʱºòÏë±£´æÒ»Ð©±äÁ¿, µ«¸ÄSTARTUP.A51À´ÊµÏÖÊǺܱ¿µÄ·½·¨,ʵ¼ÊÖ»ÒªÀûÓ÷DZäÁ¿ÇøÓòµÄÌØÐÔ,¶¨ÒåÒ»¸öÖ¸Õë±äÁ¿Ö¸Ïò¶ÑÕ»µÍ²¿£º0xff´¦¾Í¿ÉʵÏÖ¡£, Ϊʲô»¹ÒªÈ¥¸Ä? ¿ÉÒÔÕâô˵£ºÈκÎʱºò¶¼¿ÉÒÔ²»ÐèÒª¸ÄSTARTUP.A51,Èç¹ûÄãÃ÷°×ËüµÄÌØÐÔ¡£

bitÊÇÔÚÄÚ²¿Êý¾Ý´æ´¢¿Õ¼äÖÐ 20H .. 2FH ÇøÓòÖÐÒ»¸öλµÄµØÖ·£¬ÕâÔÚDATAµÄ20HÒÔºóÒÔ×Ö½ÚÐÎʽ³öÏÖ£¬¿É»¥Ïà²ÎÕÕ¡£ÁíÍâ¼ÓÉÏ 8051 ¿ÉѰַ µÄSFR£¬µ«¸Õ¸ÕÊÔ¹ý£¬Ö»ÊÇ00H--7FHÆð×÷Óã¬Ò²¾ÍÊÇ˵µ±Êý¾ÝÓб仯ʱÑÕÉ«±äºì£¬ÒÔºóµÄ´Ó80Hµ½--FFH¾Í²»ÊÇÎ»Ñ°Ö·ÇøÁË£¬ÊÇλѰַµÄÌØÊâ¼Ä´æ Æ÷£¬ÈçÉæ¼°µ½ÁË¿ÉλѰַµÄÄÇ11¸öµ±È»»áÓз´Ó¦¡£¸´Î»ºó£¬³ÌÐò¼ÆÊýÆ÷PCµÄÄÚÈÝΪ0000H£¬ÄÚ²¿RAM¸÷µ¥ÔªµÄÖµ²»È·¶¨¡£¸÷¹¦ÄܼĴæÆ÷µÄ¸´Î»ÖµÈçÏ£º¶ÑÕ»Ö¸ÕëSPµÄ¸´Î»ÖµÎª07H£¬ÀÛ¼ÓÆ÷ACC¡¢¼Ä´æÆ÷BµÄ¸´Î»ÖµÎª00H£¬Êý¾ÝÖ¸ÕëDPTRµÄ¸´Î»ÖµÎª0000H£¬¶øp0¡¢p1¡¢p2¡¢p3Ëĸö¿ÚµÄ¸´Î»ÖµÎª0FFH¡£ÆäËûSFRÈçPSW¡¢TCON¡¢TMOD¡¢TL0¡¢TH0¡¢TL1¡¢TH1µÄ¸´Î»ÖµÒ²Îª00H¡£

waveÖÐÊǵÍ128×ֽں͸ß128×Ö½Ú£¨0-7FH£©£¬µÍ128×Ö½ÚÊÇÆ¬ÄÚRAMÇø£¬¸ß128×Ö½Ú£¨80-FFH£©ÊÇSFR£¨ÌØÊ⹦ÄܼĴæÆ÷£©bitÔòÊÇλÓÚµÍ128×Ö½ÚµÄ20H .. 2FH ÇøÓò£¬¼´dataµÄ20H .. 2FH ÇøÓò

code ÊÇÔÚ 0000H .. 0FFFFH Ö®¼äµÄÒ»¸ö´úÂëµØÖ·¡£ ÎÒÓÃORG 5000H

TAB: DB 22H,3BH,43H,66H,5H,6DH,88Hºó£¬ CODE´Ó5000H¿ªÊ¼ÒÔºó±ä³ÉDB¸÷λ

DATAÊÇ ÔÚ 0 µ½ 127 Ö®¼äµÄÒ»¸öÊý¾Ý´æ´¢Æ÷µØÖ·£¬»òÕß¼Ó 128 .. 255 ·¶Î§ÄÚµÄÒ»¸öÌØÊ⹦ÄܼĴæÆ÷£¨SFR£©µØÖ·¡£Á½Õß·ÃÎʵķ½Ê½²»Í¬¡£Êµ¼ÊÉÏÓÉÓÚPSWµÄ¸´Î»ÉèÖÃPSW.3=RS0ºÍPSW.4=RS1½ÔΪ0£¬ËùÒÔͨÓù¤ ×÷¼Ä´æÆ÷Çø¾ÍÊǵÚ0Çø£¬ËùÒÔdataµÄ00--07H²¿·ÖÊÇÓë REGÀ¸ÖеÄR0--R7¶ÔÓ¦µÄ¡£ÒÔºóµÄÔò½ö´ú±íµÍ128×Ö½ÚµÄÄÚ²¿RAM¡£

IDATAÊÇ 0 to 255 ·¶Î§ÄÚµÄÒ»¸öIDATA´æ´¢Æ÷µØÖ·, IDATAÓëDATAÖØºÏµÍ128×Ö½Ú£¬Óеĵط½Ö»ÓÐDATA±íʾ256×Ö½ÚµÄÆ¬ÄÚRAM,

XDATA ÊÇ 0£­ 65535 ·¶Î§ÄÚµÄÒ»¸öXDATA ´æ´¢Æ÷µØÖ·¡£

Ö¸ÕëÀàÐÍºÍ´æ´¢ÇøµÄ¹ØÏµÏê½â Ò»¡¢´æ´¢ÀàÐÍÓë´æ´¢Çø¹ØÏµ data ---> ¿ÉѰַƬÄÚram bdata ---> ¿ÉλѰַµÄƬÄÚram

idata ---> ¿ÉѰַƬÄÚram£¬ÔÊÐí·ÃÎÊÈ«²¿ÄÚ²¿ram pdata ---> ·ÖҳѰַƬÍâram (MOVX @R0) (256 BYTE/Ò³) xdata ---> ¿ÉѰַƬÍâram (64k µØÖ··¶Î§FFFFH)

code ---> ³ÌÐò´æ´¢Çø (64k µØÖ··¶Î§),¶ÔÓ¦MOVC @DPTR

¶þ¡¢Ö¸ÕëÀàÐÍºÍ´æ´¢ÇøµÄ¹ØÏµ

¶Ô±äÁ¿½øÐÐÉùÃ÷ʱ¿ÉÒÔÖ¸¶¨±äÁ¿µÄ´æ´¢ÀàÐÍÈç:

uchar data xºÍdata uchar xÏàµÈ¼Û¶¼ÊÇÔÚÄÚramÇø·ÖÅäÒ»¸ö×ֽڵıäÁ¿¡£Í¬Ñù¶ÔÓÚÖ¸Õë±äÁ¿µÄÉùÃ÷£¬ÒòÉæ¼°µ½Ö¸Õë±äÁ¿±¾ÉíµÄ´æ´¢Î»ÖúÍÖ¸ÕëËùÖ¸ÏòµÄ´æ´¢ÇøÎ»Öò»Í¬¶ø½øÐÐÏàÓ¦µÄ´æ´¢ÇøÀàÐ͹ؼü×ÖµÄʹÓÃÈ磺 uchar xdata * data pstr

ÊÇÖ¸ÔÚÄÚramÇø·ÖÅäÒ»¸öÖ¸Õë±äÁ¿(\ºÅºóµÄdata¹Ø¼ü×ÖµÄ×÷ÓÃ)£¬¶øÇÒÕâ¸öÖ¸Õë±¾ÉíÖ¸ÏòxdataÇø(\ǰxdata¹Ø¼ü×ÖµÄ×÷ÓÃ)£¬¿ÉÄܳõѧC51ʱÓе㲻ºÃ¶®Ò²²»ºÃ¼Ç¡£Ã»¹ØÏµ£¬ÎÒÃÇÂíÉϾͿÉÒÔ¿´µ½¶ÔÓ¦¡°*¡±Ç°ºó²»Í¬µÄ¹Ø¼ü×ÖµÄʹÓÃÔÚ±àÒëʱ³öÏÖʲôÇé¿ö¡£

uchar xdata tmp[10]; //ÔÚÍâramÇø¿ª±Ù10¸ö×Ö½ÚµÄÄÚ´æ¿Õ¼ä£¬µØÖ·ÊÇÍâramµÄ0x0000£­0x0009 .µÚ1ÖÖÇé¿ö: uchar data * data pstr; pstr=\

Ê×ÏÈÒªÌáÐÑ´ó¼ÒÕâÑùµÄ´úÂëÊÇÓÐbugµÄ, Ëû²»ÄÜͨ¹ýÕâÖÖ·½Ê½ÕýÈ·µÄ·ÃÎʵ½tmp¿Õ¼ä¡£ Ϊʲô£¿ÎÒÃǰѱàÒëºó¿´µ½ÏÂÃæµÄ»ã±à´úÂ룺

MOV 0x08,#tmp(0x00) ;0x08ÊÇÖ¸ÕëpstrµÄ´æ´¢µØÖ·

¿´µ½ÁËÂ𣡱¾À´·ÃÎÊÍâramÐèÒª2 byteÀ´Ñ°Ö·64k¿Õ¼ä£¬µ«ÒòΪʹÓÃdata¹Ø¼ü×Ö(ÔÚ\ºÅǰµÄÄǸö)£¬ËùÒÔ°´KeilC±àÒë»·¾³À´Ëµ¾Í°ÑËû±àÒë³ÉÖ¸ÏòÄÚramµÄÖ¸Õë±äÁ¿ÁË£¬ÕâÒ²ÊdzõѧC51µÄÅóÓÑÃDz»Àí½â¸÷¸ö´æ´¢ÀàÐ͵Ĺؼü×Ö¶¨Òå¶øÔì³ÉµÄbug¡£ÌرðÊǵ±¹¤³ÌÖеÄĬÈÏµÄ´æ´¢ÇøÀàΪlargeʱ£¬ÓÖ°Ñtmp[10] ÉùÃ÷Ϊuchar tmp[10] ʱ£¬ÕâÑùµÄbugÊǺÜÒþÃØµÄ²»ÈÝÒ×±»·¢ÏÖ¡£ µÚ2ÖÖÇé¿ö:

uchar xdata * data pstr; pstr = tmp;

ÕâÖÖÇé¿öÊÇûÎÊÌâµÄ£¬ÕâÑùµÄʹÓ÷½·¨ÊÇÖ¸ÔÚÄÚram·ÖÅäÒ»¸öÖ¸Õë±äÁ¿(\ºÅºóµÄdata¹Ø¼ü×ÖµÄ×÷ÓÃ)£¬¶øÇÒÕâ¸öÖ¸Õë±¾ÉíÖ¸ÏòxdataÇø(\ǰxdata¹Ø¼ü×ÖµÄ×÷ÓÃ)¡£±àÒëºóµÄ»ã±à´úÂëÈçÏ¡£ MOV 0x08,#tmp(0x00) ;0x08ºÍ0x09ÊÇÔÚÄÚramÇø·ÖÅäµÄpstrÖ¸Õë±äÁ¿µØÖ·¿Õ¼ä