Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
8051µ¥Æ¬»úµÄCÓïÑÔ±à³Ì
 
×÷Õߣºzy010101
  3547  次浏览      30
 2020-9-4
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½²½âÁË8051µÄCÓïÑÔ±à³Ì,¸ø³öÐÂÔöµÄÊý¾ÝÀàÐÍ, Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

8051µÄCÓïÑÔ±à³ÌºÍ´«Í³µÄCÓïÑÔ±à³ÌÊÇÀàËÆµÄ¡£µ±È»ÆäÖÐÓÐЩÊý¾ÝÀàÐÍÊDz»Ò»ÑùµÄ£¬ÎÒÃÇÖªµÀ8051Ö§³ÖÇ¿´óµÄλѰַÄÜÁ¦£¬Òò´Ë8051µÄCÓïÑÔ±à³ÌÔö¼ÓÁËһЩеÄÊý¾ÝÀàÐÍ£¬ÎªÁ˲»Ê¹µÄ8051µÄÄÜÁ¦±»ÀË·Ñ¡£ÏÂÃæ¸ø³öÐÂÔöµÄÊý¾ÝÀàÐÍ¡£

bit ¡ª¡ªÓÃÓÚ¶¨Òå1¸öλ±äÁ¿£¬ÓÃÓÚ8051µÄλѰַ¿Õ¼ä(½ö½öÏÞÓÚÄÚ²¿RAMµÄ20H¡ª¡ª2FHµÄ×ֽڿռ䣨00H¡ª¡ª7FHµÄλµØÖ·¿Õ¼ä£©).£¨²»µÃ²»Ëµ8051µÄµØÖ·Öصþ¸ãµÃÈ˺ܷ³£©

ÀýÈ磺bit flag = 0; ¶¨ÒåflagΪһ¸öλ±äÁ¿£¬²¢ÇÒ³õʼ»¯Îª0.

sbit ¡ª¡ªÓÃÓÚ¶¨ÒåÒ»¸öλ±äÁ¿£¬ÓÃÓÚ8051µÄÌØÊ⹦ÄܼĴæÆ÷£¨ÄÚ²¿RAMµÄ80H¡ª¡ªFFHµÄ×ֽڿռ䣩

ÀýÈ磺sbit CY = 0xD7;

sbit P0_0 = 0x80^0;

ÉÏÃæµÄbitºÍsbitÊÇÁ½ÖÖ²»Í¬µÄÊý¾ÝÀàÐÍ£¬bitÊÇÓÃÓÚ¸øÄ³Ò»Î»µØÖ·¸³Öµ£¬¶øsbitÊÇÓÃÓÚ¸øÄ³Ò»¸öÌØÊ⹦ÄܼĴæÆ÷µÄijһλµÄλµØÖ·ÆðÃû×Ö¡£

sfr ¡ª¡ªÓÃÓÚ¶¨ÒåÒ»¸öÌØÊ⹦ÄܼĴæÆ÷±äÁ¿¡£

ÀýÈ磺sfr PSW = 0xD0;

µ±ÓÐÁËÉÏÃæµÄ¶¨ÒԺ󣬿ÉÒÔÕâÑùÀ´Ê¹ÓÃPSWµÄÿһ룬ÀýÈ磺PSW^0;±íʾPSWµÄµÚ0룬¼´ÆæÅ¼Ð£ÑéλP¡£

sfr16 ¡ª¡ªÓÃÓÚ¶¨Òå16λµÄÌØÊ⹦ÄܼĴæÆ÷±äÁ¿¡£

ÀýÈ磺sfr16 DPTR = 0x82;

ͨ¹ýÉÏÃæÒýÈëµÄÊý¾ÝÀàÐÍ£¬Ê¹µÃ8051µÄCÓïÑÔ±à³Ì±äµÃºÍÆÕͨµÄCÓïÑÔ±à³Ì»ù±¾Ò»Ö¡£Ò²³ä·ÖÀûÓÃÁË8051µÄÌØµã¡£

ÏÖÔÚ£¬ÎÒÃǵļ¯³É¿ª·¢»·¾³¶¼ºÜÈËÐÔ»¯£¬°Ñ8051µÄÌØÊ⹦ÄܼĴæÆ÷£¬¿ÉÎ»Ñ°Ö·ÌØÊ⹦ÄܼĴæÆ÷µÄ¿ØÖÆÎ»¶¼¶¨ÒåÔÚÒ»¸öÃûΪreg51.hµÄÍ·ÎļþÀïÃæ¡£ÏÂÃæÎÒÃǸø³ö¸ÃÍ·ÎļþµÄÄÚÈÝ¡£

REG51.H
Header file for generic 80C51 and 80C31 microcontroller.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.


#ifndef __REG51_H__
#define __REG51_H__

/* BYTE Register */
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;


/* BIT Register */
/* PSW */
sbit CY = 0xD7;
sbit AC = 0xD6;
sbit F0 = 0xD5;
sbit RS1 = 0xD4;
sbit RS0 = 0xD3;
sbit OV = 0xD2;
sbit P = 0xD0;

/* TCON */
sbit TF1 = 0x8F;
sbit TR1 = 0x8E;
sbit TF0 = 0x8D;
sbit TR0 = 0x8C;
sbit IE1 = 0x8B;
sbit IT1 = 0x8A;
sbit IE0 = 0x89;
sbit IT0 = 0x88;

/* IE */
sbit EA = 0xAF;
sbit ES = 0xAC;
sbit ET1 = 0xAB;
sbit EX1 = 0xAA;
sbit ET0 = 0xA9;
sbit EX0 = 0xA8;

/* IP */
sbit PS = 0xBC;
sbit PT1 = 0xBB;
sbit PX1 = 0xBA;
sbit PT0 = 0xB9;
sbit PX0 = 0xB8;

/* P3 */
sbit RD = 0xB7;
sbit WR = 0xB6;
sbit T1 = 0xB5;
sbit T0 = 0xB4;
sbit INT1 = 0xB3;
sbit INT0 = 0xB2;
sbit TXD = 0xB1;
sbit RXD = 0xB0;

/* SCON */
sbit SM0 = 0x9F;
sbit SM1 = 0x9E;
sbit SM2 = 0x9D;
sbit REN = 0x9C;
sbit TB8 = 0x9B;
sbit RB8 = 0x9A;
sbit TI = 0x99;
sbit RI = 0x98;

#endif

8051µ¥Æ¬»úÓжàÖØ´æ´¢·½Ê½£¬ÄÚ²¿RAM£¬ÄÚ²¿ROM£¬ÍⲿRAM£¬ÍⲿROM¡£ÓÐʱºòÎÒÃÇÏ£ÍûÖªµÀ¸Ã±äÁ¿ÔÚÄĶù¡£

ÉÏÃæÕâÕÅ±í¸ø³öÁ˱äÁ¿£¬º¯ÊýµÈ±»·ÅÔÚ8051µÄÄǸö´æ´¢Çø¡£

ÀýÈ磺char code str[] = "hello world!";¶¨ÒåÒ»¸öÊý×飬±»·ÅÔÚROMÖС£

µ±È»ÁË£¬ÉÏÃæµÄ¶¨Ò巽ʽ»áµ¼ÖÂÔÚ·ÃÎʵÄʱºòËÙ¶ÈÊDz»Ò»ÑùµÄ£¬±ÈÈçdata¾Í±ÈxdataÒª¿ì¡£Èç¹ûÊý¾ÝÊÇ·ÅÔÚÍⲿRAMµÄ£¬¿ÉÒÔ¿¼ÂÇʹÓÃxdata»òÕßÊÇpdata¡£

Èç¹ûÍü¼ÇÉùÃ÷´æ´¢ÔÚÄĶù£¬8051»áĬÈÏÊÇsmallµÄ´æ´¢Ä£Ê½¡£¸Ãģʽ½«ËùÓÐÊý¾Ý·ÅÔÚÄÚ²¿RAMÖС£ÏêϸÇ뿴ϱí

ÔÚ³ÌÐòÖпÉÒÔͨ¹ý#programÀ´Ñ¡ÔñÉèÖÃÄÄÒ»ÖÖģʽ¡£·ñÔòĬÈÏÊÇsmall¡£

×îºó£¬»¹ÊÇҪ̸µ½¹ØÓÚÖ¸ÕëµÄÎÊÌ⣬8051µÄCÓïÑÔ±à³Ìʵ¼ÊÉÏ»¹ÊǺÜÏñ»ã±àÓïÑԵģ¬ÐèÒªÎÒÃǶÔÄÚ´æÇøÓò½øÐÐÖ±½Ó²Ù×÷¡£

Ö¸ÕëÔÚCÓïÑÔÀï±¾À´¾ÍºÜÁé»î£¬ÔÚÕâÀïÎÒÃÇ»¹ÊÇÒª¿´¿´Ö¸ÕëµÄ´æ´¢ÀàÐÍ¡£

ÀýÈ磺 int *xdata numptr = # Ö¸ÕëÖ¸ÏòintÀàÐ͵ÄÊý¾Ý£¬µ«Ëü±¾ÉíÊÇÔÚÍⲿRAMÖд洢×Å¡£

int data *xdata numptr = # Ö¸ÕëÖ¸Ïò´æ´¢ÔÚÄÚ²¿RAMÖеÄintÀàÐÍÊý¾Ý£¬Ö¸Õë±¾ÉíÔÚÍⲿRAMÖС£

»¹ÓÐÒ»µãºÜÖØÒª£¬CÓïÑÔµÄÊý¾ÝÀàÐÍÔÚ8051ÖÐÕ¼¾ÝµÄ´óС¡£

ÒÔÉϵĽá¹û±íÃ÷£º

charÀàÐÍÔÚ8051ÖÐÕ¼¾ÝÁË1¸ö×Ö½Ú

intÀàÐÍÔÚ8051ÖÐÕ¼¾ÝÁË2¸ö×Ö½Ú

floatÀàÐÍÔÚ8051ÖÐÕ¼¾ÝÁË4¸ö×Ö½Ú

doubleÀàÐÍÔÚ8051ÖÐÕ¼¾ÝÁË4×Ö½Ú

Ö¸ÕëÊÇ×îÓÐÒâ˼µÄÒ»¸ö¡£´ÓÉÏÃæµÄ½á¹ûÀ´¿´£¬Èç¹ûûÓÐÖ¸¶¨Ö¸ÕëËùÖ¸ÏòµÄÊý¾Ý´æ´¢ÔÚÄÄ¿é¶ù£¬ÔòÖ¸ÕëÔÚ8051ÖÐÕ¼¾Ý3×Ö½Ú¡£ÆäÖеÚÒ»¸ö×Ö½Ú´æ´¢ÁËËüËù¶ÔÓ¦µÄÊý¾ÝµÄ´æ´¢ÀàÐÍ

Èç¹ûÖ¸Ã÷ÁËÔÚÄÚ²¿RAM£¬ÔòÕ¼¾ÝÒ»¸ö×Ö½Ú£¬ÔÚÍⲿRAMÔòÊÇÕ¼ÓÃ2¸ö×Ö½Ú¡£

䶨ÒåÊý¾Ý´æ´¢ÀàÐ͵ÄÖ¸Õë±äÁ¿µÚ1×Ö½ÚÖеÄÊý¾ÝºÍÊý¾Ý´æ´¢ÀàÐ͵ĶÔÓ¦¹ØÏµ

 
   
3547 ´Îä¯ÀÀ       30
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
»ùÓÚFPGAµÄÒì¹¹¼ÆËãÔÚ¶àýÌåÖеÄÓ¦ÓÃ
ÉîÈëLinuxÄں˼ܹ¹¡ª¡ª¼ò½éÓë¸ÅÊö
LinuxÄÚºËϵͳ¼Ü¹¹½éÉÜ
dzÎöǶÈëʽCÓÅ»¯¼¼ÇÉ
½ø³Ì¼äͨÐÅ£¨IPC£©½éÉÜ
×îпγÌ
ǶÈëʽLinuxÇý¶¯¿ª·¢
´úÂëÕû½àÖ®µÀ-̬¶È¡¢¼¼ÒÕÓëϰ¹ß
ǶÈëʽÈí¼þ²âÊÔ
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
ǶÈëʽÈí¼þ¿É¿¿ÐÔÉè¼Æ
³É¹¦°¸Àý
ij¾ü¹¤Ëù ǶÈëʽÈí¼þ¼Ü¹¹
Öк½¹¤ÒµÄ³Ñо¿Ëù ǶÈëʽÈí¼þ¿ª·¢Ö¸ÄÏ
ij¹ìµÀ½»Í¨ ǶÈëʽÈí¼þ¸ß¼¶Éè¼ÆÊµ¼ù
ÉîÛÚ Ç¶ÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù
ijÆóÒµ »ùÓÚIPDµÄǶÈëʽÈí¼þ¿ª·¢