DELAY£º £»ÑÓʱ³ÌÐòÊ¡ÂÔ
END £»
Æß¡¢Éè¼ÆÌâ
1£®Ä³µ¥Æ¬»ú¿ØÖÆÏµÍ³ÓÐ8¸ö·¢¹â¶þ¼«¹Ü¡£ÊÔ»³ö89C51ÓëÍâÉèµÄÁ¬½Óͼ²¢±à³ÌʹËüÃÇÓÉ×óÏòÓÒÂÖÁ÷µãÁÁ¡£ ²Î¿¼ÊéµÚ144Ò³µÄ6-4 void main() {
unsigned char i,j; j=0x01; for(;;) {
P1=j;
For(i=0;i<254;i++) j=j*2;
if(j==0) j=0x01; } }
£²£®MCS-51ϵÁе¥Æ¬»ú´æ´¢Æ÷À©Õ¹£ºÊÔÓÃһƬ2764 EPROMºÍһƬ6264¾²Ì¬RAM·Ö±ðΪ8031À©Õ¹Íⲿ³ÌÐò´æ´¢Æ÷ºÍÍⲿÊý¾Ý´æ´¢Æ÷£¬ÊÔÓÃÈý×ÜÏ߽ṹ»³öÀ©Õ¹µç·ͼ£¬ËµÃ÷À©Õ¹µÄÈÝÁ¿£¬²¢Ð´³ö¸÷оƬµÄµØÖ··¶Î§¡£
0~1FFFH
3.ÔÚÁ½¸ö8051¼äÓÃģʽ2½øÐд®ÐÐͨÐÅ£¬A»ú²¢Ðвɼ¯Íⲿ¿ª¹ØµÄÊäÈ룬Ȼºó´®Ðд«Ê䏸B»ú£»B»ú½ÓÊÕºó²¢ÐÐÊä³ö¿ØÖÆLED·¢¹â¡£»³öÁ¬½ÓʾÒâͼ£¬Ð´³öÍêÕûµÄ³ÌÐò¡££¨¹² 15 ·Ö£©
´ð£º
·½Ê½2£ºÊDz¨ÌØÂʹ̶¨µÄ9λһ²½´«ËÍ£¬²»ÐèÒª³õʼ»¯¶¨Ê±Æ÷1
SCON:
D7SM0A»ú£º
D6SM1D5SM2D4REND3TB8D2RB8D1TID0RI
//´®¿Ú³õʼ»¯(·½Ê½2)
main() {
SCON=0x80 //10000000b while£¨1£© {
SBUF=P1; While(TI==0); TI=0; } }
B»ú£º main() {
SCON=0x90 //10010000b while£¨1£© {
if(RI==1) {
P1=SBUF; } RI=0; }
4¡¢½«8051ÍⲿÀ©Õ¹2K EPROM£¬Í¬Ê±À©Õ¹16K RAM×÷Êý¾Ý´æ´¢Æ÷£¬²ÉÓõÄ2716ÊÇ2KµÄEPROMоƬ£¬6264ÊÇ8KµÄRAMоƬ£¬74LS373ÊÇ8Î»Ëø´æÆ÷¡£Ç뻳öÁ¬½ÓʾÒâͼ¡£ÒªÇó»³ö8051µÄÊý¾Ý¡¢µØÖ·¡¢ ALE¡¢PSEN¡¢RD¡¢WRÐźţ»Ëø´æÆ÷µÄÊý¾ÝÈëD¡¢Êý¾Ý³öQ¡¢Ëø´æ¿ØÖÆG¡¢OE£»2716µÄA¡¢Êý¾ÝO¡¢Æ¬Ñ¡CE¡¢Êä³öʹÄÜOE£»6264µÄA¡¢D¡¢CE¡¢OE¡¢WE¡£×îºóд³ö¸÷ƬµÄµØÖ··¶Î§¡££¨¹² 12 ·Ö£©
Êý¾ÝÏß8¸ù´ÓP0Ö±½Óµ½2716µÄD¡¢Á½Æ¬6264µÄD£»
µØÖ·ÏßµÍ8λ´ÓP0¾Ëø´æÆ÷ºóµ½¸÷ƬÄÚµØÖ·¿Ú£¬¸ß8λ´ÓP2³ö0-2Èýλֱ½Óµ½2716µÄµØÖ·¿Ú£¬0-4Îåλֱ½Óµ½Á½Æ¬6264ÄÚ£¬
P2.,7½Ó2716µÄ/CE£¬ P2.5½ÓһƬ6264µÄ/CE£¬¾·ÇÃźó½ÓÁíһƬ6264£»
ALE½ÓËø´æÆ÷µÄG£¬Ëø´æÆ÷/OE½ÓµØ£¬/PSEN½Ó2716µÄ/OE£¬/WR½Ó6264µÄ/WE£¬/RD½Ó/OE¡£
2716£º7800H-7FFFH£¬6264£º0-1FFFH£¬2000H-3FFFH
5¡¢±àдһ¶Î×Ó³ÌÐò£¬½«¶þλѹËõµÄBCDÂëת»»Îª¶þ½øÖÆÊý£¬Èë¿Ú¡¢³ö¿Ú¾ùÊÇA¡£ÈôÊÇ·Ç·¨µÄBCDÂ룬ÔòA·µ»ØÖµÎª255¡££¨¹²10·Ö£©
SUBP£º
MOV R1£¬A ANL A£¬ #0F0H SWAP A
CJNE A, #10, NEXT1 NEXT1£ºJNC ERROR
MOV B£¬ #10 MUL AB XCH A£¬ R1 ANL A£¬ #0FH
CJNE A£¬ #10£¬NEXT2 NEXT2£ºJNC ERROR