ÕªÒª£ºËæ×Ž»Í¨µÄ²»¶Ï·¢Õ¹ºÍ½»Í¨Ö¸»ÓµÄÐèÒª£¬½»Í¨µÆµÄ¿ØÖÆÖ¸»Óϵͳ×ÔʼÖÁÖÕ¶¼ÏÔµÃÓÈÎªÖØÒª¡£±¾¿ÎÌâÖ¼ÔÚÉè¼ÆÒ»ÖÖ½»Í¨µÆ¿ØÖÆÖ¸»Óϵͳ£¬ÒÔʵÏÖ¶Ô½»Í¨µÄÓÐЧ¿ØÖÆ¡£ÔÚÊ®×Ö·¿Ú£¬µ±Äϱ±·½ÏòºìµÆÁÁ£¬¶«Î÷·½Î÷Â̵ÆÁÁʱ£¬Äϱ±·½Ïò³µÁ¾½ûֹͨÐУ¬¶«Î÷·½ÏòÔÊÐíͨÐУ»·´Ö®£¬Äϱ±·½ÏòÔÊÐí³µÁ¾Í¨ÐУ¬¶«Î÷·½Ïò½ûÖ¹³µÁ¾Í¨ÐС£µ±·¢ÉúΣ¼±Çé¿öʱ£¬¿ÉʹËùÓз¿ÚºìµÆµãÁÁ£¬½ûÖ¹ËùÓгµÁ¾Í¨ÐС£
±¾ÏµÍ³Ê¹ÓÃ8255¿É±à³Ì½Ó¿Ú½øÐÐÊý¾ÝµÄÊäÈëÊä³ö£¬Ê¹ÓÃ8253¿É±à³Ì¼ÆÊ±Æ÷½øÐÐÑÓʱ¡£Í¨¹ý±¾¿Î³ÌÉè¼Æ£¬¿É¼ÓÉî¶Ô΢»úÔÀíÓë½Ó¿Ú¼¼ÊõµÄ½øÒ»²½Àí½â¡£ ¹Ø¼ü´Ê£º½»Í¨µÆ »ã±àÓïÑÔ 8255 8253
KEY WORDS£º the Traffic Lights AssemblyLanguage 8255 8253
1ÈÎÎñ¼°ÒªÇó
1.1¿Î³ÌÉè¼ÆÈÎÎñ
ͨ¹ý¿ª·ÅʵÑéÊÒ£¬Ñ§ÉúÓÐÐËȤµØ´´Ôì×Ô¼ºµÄÉè¼Æ¿ÎÌ⣬²¢ÔÚʵÑéÖнøÐÐÍêÉÆ£¬Ê¹Ñ§ÉúÄÜ×ÛºÏÔËÓÃ΢»úÔÀíÓë½Ó¿Ú¼¼Êõ¡¢Êý×ֵ緡¢»ã±àÓïÑÔ³ÌÐòÉè¼ÆµÈ¿Î³Ìѧµ½µÄ֪ʶ£¬ÕÆÎÕ΢ÐͼÆËã»ú½Ó¿ÚµÄ·½·¨ºÍÔÀí£¬¾ß±¸Ò»¶¨µÄ΢»úÓ¦Óÿª·¢µÄʵ¼ùÄÜÁ¦£¬¼ÓÉî¶ÔÀíÂۿγ̵ÄÀí½â¡£ Ìá¸ß»ã±àÓïÑÔ±à³ÌÄÜÁ¦¼°¶Ô½Ó¿ÚµÈÓ²¼þµÄÀí½â·ÖÎöÄÜÁ¦ºÍÉè¼Æ½Ó¿Úµç·µÄÄÜÁ¦¡£Ìá¸ßʵ¼ùÄÜÁ¦£¬ÅàÑø¶ÀÁ¢¹¤×÷ºÍ´´ÐÂ˼άµÄÄÜÁ¦£¬È¡µÃÉè¼ÆÓëµ÷ÊÔµÄʵ¼ù¾Ñé¡£ 1.2¿Î³ÌÉè¼ÆÒªÇó
ÀûÓá°Î¢»úʵÑéϵͳ¡±µÄ8255¿É±à³Ì½Ó¿ÚµÄA¿Ú(PA7-PA0)¡¢B¿Ú(PB7-PB0)¡¢C¿Ú(PC7-PC0)¿ØÖÆ·¢¹â¶þ¼¶¹Ü£¨ºì¡¢Â̵ƣ©µÄL1-L8ºÍ¿ª¹ØKK1- KK2,ʹ·¢¹â¶þ¼¶¹Ü°´ÕÕÊ®×Ö·¿Ú½»Í¨µÆµÄ¹æÂɽ»Ìæ·¢¹â£¬Ä£Ä⽻ͨÐźŵƵŤ×÷¡£ ? ·¢¹â¶þ¼¶¹Ü(LED) ÏÔʾµç·
8¸öLED L1-L8,4¸öºìµÆ¡¢4¸öÂÌµÆ L=0 LEDÁÁ; L= LEDÃð
? ¿ª¹Ø¶Ô½»Í¨µÆµÄ¿ØÖÆ
¢Ù¿ª¹ØKK2=0 ºìµÆ½ÔÁÁ£»¿ª¹ØKK2=1 Â̵ƽÔÁÁ
¢Ú¿ª¹ØKK1=0 Æô¶¯½»Í¨µÆµÄÁÁÃ𣻿ª¹ØKK1=1Í£Ö¹½»Í¨µÆµÄÁÁÃð£¨ËùÓз¢¹â¶þ¼¶¹Ü½ÔÃ𣩠? ½»Í¨µÆÁÁÃð¹æÂɲο¼
¢ÙÄϱ±·½ÏòÂ̵ÆÁÁ¡¢¶«Î÷·½ÏòºìµÆÁÁ20Ãë ¢ÚÄϱ±·½ÏòºìµÆÁÁ¡¢¶«Î÷·½ÏòÂ̵ÆÁÁ20Ãë ÖØ¸´ÉÏÊö¹ý³Ì
×¢£º20Ã붨ʱÓÉ8253¿ØÖÆ
2×ÜÌåÉè¼ÆË¼Ïë
2.1ϵͳÔÀíͼʾ
CPU ½Ó¿Ú 8255 ÍâÉè L1-L8 ·¢¹â¶þ»ú¹Ü ÍâÉè KK1-KK2 ¿ª¹Ø
(PA PB PC) L 2.2»ù±¾¹¤×÷ÔÀí˵Ã÷
´Ë·½°¸ÊÇͨ¹ý²¢ÐнӿÚоƬ8255AºÍ8086¼ÆËã»úµÄÓ²¼þÁ¬½Ó£¬ÒÔ¼°Í¨¹ý8253ÑÓʱµÄ·½·¨£¬À´ÊµÏÖÊ®×Ö·¿Ú½»Í¨µÆµÄÄ£Äâ¿ØÖÆ¡£
±¾¿ÎÌâµÄÉè¼Æ¿Éͨ¹ýʵÑéÆ½Ì¨ÉϵÄһЩ¹¦ÄÜÄ£¿éµç·×é³É£¬ÓÉÓÚ¸÷Ä£¿éµç·ÄÚ²¿ÒѾÁ¬½Ó£¬Óû§ÔÚʹÓÃʱֻҪÉè¼ÆÄ£¿é¼äµç·µÄÁ¬½Ó£¬Òò´Ë£¬Ó²¼þµç·µÄÉè¼Æ¼°ÊµÏÖÏà¶Ô¼òµ¥¡£ 2.3 8255µÄ¹¤×÷ÔÀí
2.3.1 8255AµÄÄÚ²¿½á¹¹
£¨1)Êý¾Ý×ÜÏß»º³åÆ÷:ÕâÊÇÒ»¸öË«ÏòÈý̬µÄ8λÊý¾Ý»º³åÆ÷£¬ËüÊÇ8255AÓë΢»úϵͳÊý¾Ý×ÜÏߵĽӿڡ£ÊäÈëÊä³öµÄÊý¾Ý¡¢CPUÊä³öµÄ¿ØÖÆ×ÖÒÔ¼°CPUÊäÈëµÄ״̬ÐÅÏ¢¶¼ÊÇͨ¹ýÕâ¸ö»º³åÆ÷´«Ë͵ġ£
£¨2)Èý¸ö¶Ë¿ÚA£¬BºÍC:A¶Ë¿Ú°üº¬Ò»¸ö8λÊý¾ÝÊä³öËø´æÆ÷ºÍ»º³åÆ÷£¬Ò»¸ö8λÊý¾ÝÊäÈëËø´æÆ÷¡£B¶Ë¿Ú°üº¬Ò»¸ö8λÊý¾ÝÊäÈë/Êä³öËø´æÆ÷ºÍ»º³åÆ÷£¬Ò»¸ö8λÊý¾ÝÊäÈ뻺³åÆ÷¡£C¶Ë¿Ú°üº¬Ò»¸ö8λÊý¾ÝÊä³öËø´æÆ÷ºÍ»º³åÆ÷£¬Ò»¸ö8λÊý¾ÝÊäÈ뻺³åÆ÷(ÊäÈëûÓÐËø´æÆ÷)¡£ £¨3) A×éºÍB×é¿ØÖÆµç·:ÕâÊÇÁ½×é¸ù¾ÝCPUÊä³öµÄ¿ØÖÆ×Ö¿ØÖÆ8255¹¤×÷·½Ê½µÄµç·£¬ËüÃǶÔÓÚCPU¶øÑÔ£¬¹²ÓÃÒ»¸ö¶Ë¿ÚµØÖ·ÏàͬµÄ¿ØÖÆ×ּĴæÆ÷£¬½ÓÊÕCPUÊä³öµÄÒ»×Ö½Ú·½Ê½¿ØÖÆ×Ö»ò¶ÔC¿Ú°´Î»¸´Î»×ÖÃüÁî¡£·½Ê½¿ØÖÆ×ֵĸß5λ¾ö¶¨A×éµÄ¹¤×÷·½Ê½£¬µÍ3λ¾ö¶¨B×éµÄ¹¤×÷·½Ê½¡£¶ÔC¿Ú°´Î»¸´Î»ÃüÁî×ֿɶÔC¿ÚµÄÿһλʵÏÖÖÃλ»ò¸´Î»¡£A×é¿ØÖÆµç·¿ØÖÆA¿ÚºÍC¿ÚÉϰ벿£¬B×é¿ØÖÆµç·¿ØÖÆB¿ÚºÍC¿Úϰ벿¡£
£¨4)¶Áд¿ØÖÆÂß¼:ÓÃÀ´¿ØÖưÑCPUÊä³öµÄ¿ØÖÆ×Ö»òÊý¾ÝËÍÖÁÏàÓ¦¶Ë¿Ú£¬Ò²ÓÉËüÀ´¿ØÖưÑ״̬ÐÅÏ¢»òÊäÈëÊý¾Ýͨ¹ýÏàÓ¦µÄ¶Ë¿ÚË͵½CPU¡£ 2.3.2 8255µÄ¹¤×÷·½Ê½
·½Ê½0---»ù±¾ÊäÈëÊä³ö·½Ê½£»·½Ê½1---ѡͨÊäÈëÊä³ö·½Ê½£» ·½Ê½2---Ë«ÏòѡͨÊäÈëÊä³ö·½Ê½¡£ 2.3.3 8255µÄÒý½ÅÐźÅ
8255AµÄÒý½ÅÈçͼ7.5Ëùʾ£¬·ÖΪÊý¾ÝÏß¡¢µØÖ·Ïß¡¢¶Á/д¿ØÖÆÏß¡¢ÊäÈë/Êä³ö¶Ë¿ÚÏߺ͵çÔ´Ïß¡£
D7¡«D0£¨data bus£©£ºÈý̬¡¢Ë«ÏòÊý¾ÝÏߣ¬ÓëCPUÊý¾Ý×ÜÏßÁ¬½Ó£¬ÓÃÀ´´«ËÍÊý¾Ý¡£ £¨chip select£©£ºÆ¬Ñ¡ÐźÅÏߣ¬µÍµçƽÓÐЧʱ£¬Ð¾Æ¬±»Ñ¡ÖС£ A1, A0£¨port address£©£ºµØÖ·Ïߣ¬ÓÃÀ´Ñ¡ÔñÄÚ²¿¶Ë¿Ú¡£ £¨read£©£º¶Á³öÐźÅÏߣ¬µÍµçƽÓÐЧʱ£¬ÔÊÐíÊý¾Ý¶Á³ö¡£ £¨write£©£ºÐ´ÈëÐźÅÏߣ¬µÍµçƽÓÐЧʱ£¬ÔÊÐíÊý¾ÝдÈë¡£
+5V
RESET£¨reset)£º¸´Î»ÐźÅÏߣ¬¸ßµçƽÓÐЧʱ£¬½«ËùÓÐÄÚ²¿¼Ä´æÆ÷£¨°üÀ¨¿ØÖƼĴæÆ÷£©Çå0¡£ PA7¡«PA0£¨port A£©£ºA¿ÚÊäÈë/Êä³öÐźÅÏß¡£ PB7¡«PB0£¨port B£©£ºB¿ÚÊäÈë/Êä³öÐźÅÏß¡£ PC7¡«PC0£¨port C£©£ºC¿ÚÊäÈë/Êä³öÐźÅÏß¡£ VCC£º£«5VµçÔ´¡£ GND£ºµçÔ´µØÏß¡£ 2.4 8253µÄ¹¤×÷ÔÀí
8253Êǿɱà³ÌµÄ¼ÆÊýÆ÷/¶¨Ê±Æ÷,ÆäÄÚ²¿ÓÐÈý¸ö¶ÀÁ¢µÄ16λ¼ÆÊýÆ÷/¶¨Ê±Æ÷ͨµÀ,ÿ¸ö¼ÆÊýÆ÷ͨµÀ¾ù¿É°´6ÖÖ²»Í¬µÄ·½Ê½¹¤×÷,²¢ÇÒ¶¼¿ÉÒÔ°´¶þ½øÖÆ»òÊ®½øÖƼÆÊý¡£ÆäCLK0¡«CLK2ÊǼÆÊýÆ÷0¡«2µÄʱÖÓÂö³åÊäÈë¶Ë, GATE0¡«GATE2ÊÇÃÅ¿ØÂö³åÊäÈë¶Ë, OUT0¡«OUT2ÊÇÊä³ö¶Ë¡£
3Ó²¼þÉè¼Æ
3.1Ó²¼þÉè¼ÆË¼Â·
±¾ÏµÍ³¹²ÊµÏÖÁ½¸ö¹¦ÄÜ£¬·Ö±ðÊÇ¢Ù¿ª¹ØKK2=0 ºìµÆ½ÔÁÁ£»¿ª¹ØKK2=1 Â̵ƽÔÁÁ¢Ú¿ª¹ØKK1=0 Æô¶¯½»Í¨µÆµÄÁÁÃ𣻿ª¹ØKK1=1Í£Ö¹½»Í¨µÆµÄÁÁÃð£¨ËùÓз¢¹â¶þ¼¶¹Ü½ÔÃ𣩡£¿ÉÀûÓÿª¹ØKK3À´¿ØÖÆÁ½¸ö¹¦ÄÜ£¬KK3=1£¬ÊµÏÖ¹¦ÄÜ¢Ù£»KK3=0£¬ÊµÏÖ¹¦ÄÜ¢Ú 3.2Ó²¼þÁ¬Ïßͼ
PA0-PA7 +5V CS1 CS0 CLK4 KK1 KK2 KK3 PA0-PA7 PC0 PC1 PC2 PC3 8255CS CS8253 GATE2 8253CLK2 OUT2 8253 8255
3.3ʵ¼ÊÓ²¼þÁ¬Ïßͼ
4Èí¼þÉè¼Æ
4.1Ô´³ÌÐò¼°³ÌÐò¹¦ÄÜ
data segment;ÉèÖÃÊý¾Ý¶Î£¬Óö˿ںŴúÌæµØÖ· porta equ 04b0h portb equ 04b2h portc equ 04b4h ptcon8255 equ 04b6h port0 equ 04a0h port1 equ 04a2h port2 equ 04a4h ptcon8253 equ 04a6h data ends;Êý¾Ý¶ÎÉèÖÃÍê±Ï
assume cs:code
code segment public
org 100h;³ÌÐò´Ó100h´¦¿ªÊ¼Ö´ÐÐ
start:mov dx,ptcon8255;³õʼ»¯8255£¬·½Ê½0£¬A¿ÚÊä³ö£¬C¿ÚµÍ4λÊäÈë mov al,81h out dx,al
putin1:mov dx,porta
mov al,01010101b;ºìµÆ½ÔÁÁ£¬Â̵ƽÔÃð