|
PC»úÄÚ²¿8253¼ÆÊ±Æ÷±à³Ì (CÓïÑÔDOS³ÌÐò)
|
|
££Ñ§Ï°±Ê¼Ç
|
1.¶ÁȡʵʱʱÖÓ²¢ÉèÖÃDOSϵͳʱ¼äµÄ³ÌÐò(µ±ÏµÍ³Ê±¼ä±»ÆÆ»µÊ±ÓÃ)
¡¡¡¡read_rtc_time()
¡¡¡¡¡¡{
¡¡¡¡¡¡unsigned char cl,ch,dh;
¡¡¡¡¡¡struct time timept;
¡¡¡¡¡¡_AH=2;
¡¡¡¡¡¡geninterrupt(0x1a);
¡¡¡¡¡¡ch=_CH;
¡¡¡¡¡¡cl=_CL;
¡¡¡¡¡¡dh=_DH;
¡¡¡¡¡¡timept.ti_hour=10*(ch>>4)+(ch&0x0f);
¡¡¡¡¡¡timept.ti_min=10*(cl>>4)+(cl&0x0f);
¡¡¡¡¡¡timept.ti_sec=10*(dh>>4)+(dh&0x0f);
¡¡¡¡¡¡timept.ti_hund=0;
¡¡¡¡¡¡settime(&timept);
¡¡¡¡¡¡}
2. ¸Ä±ä¡¢»Ö¸´PC»úÄÚ²¿¼ÆÊ±Æ÷ͨµÀ0(µØÖ·40H)²úÉúµÄÖÐ¶ÏÆµÂʵijÌÐò
¡¡set_timer(int freq)//freqÊÇÐÂÉèÖÃµÄÆµÂÊ,ƵÂʸĺó£¬DOSϵͳʱ¼ä½«Ê§×¼
¡¡¡¡{
¡¡¡¡disable();//½ûÖ¹ÖжϲúÉú
¡¡¡¡outportb(0x43,0x36);//½«8253µÄÃüÁî×Ö×éÉèÖÃΪ0x36(ͨµÀ0,·½Ê½3,ÏȵÍ×Ö½Ú)
¡¡¡¡outportb(0x40,1193180/freq%256);//ÏÈÍùͨµÀ0ËͳöƵÂʵĵÍ×Ö½Ú
¡¡¡¡outportb(0x40,1193180/freq/256);//ºóÍùͨµÀ0ËͳöƵÂʵĸß×Ö½Ú
¡¡¡¡enable();//ÔÊÐíÖжϲúÉú,ƵÂÊΪfreq
¡¡¡¡}
¡¡restore(void)
¡¡¡¡{
¡¡¡¡disable();
¡¡¡¡outportb(0x43,0x36);
¡¡¡¡outportb(0x40,0);
¡¡¡¡outportb(0x40,0);//ͨµÀ£°Öã°(65536)±íʾÊä³öµÄ£¨Öжϣ©ÆµÂÊΪ1193180/65536=18.2
¡¡¡¡»Ö¸´¼ÆÊ±ÖжϷþÎñ³ÌÐòÏòÁ¿(Èô¸ü¸Ä¹ý);
¡¡¡¡enable();//ÔÊÐíÖжϲúÉú,ƵÂÊΪ18.2
¡¡¡¡¶ÁȡʵʱʱÖÓ²¢ÉèÖÃDOSϵͳʱ¼ä;
¡¡¡¡}
3. ±£´æ¡¢»Ö¸´PC»úÄÚ²¿¼ÆÊ±ÖжϷþÎñ³ÌÐòÏòÁ¿µØÖ·µÄÓï¾ä
¡¡void interrupt (*old_isr)(void);
¡¡old_isr=getvect(0x08);
¡¡......;
¡¡setvect(0x08,old_isr);
4. ÓÃPC¼ÆÊ±Æ÷ÖжϷ½Ê½Éè¼ÆµÄʱ¼äÑÓ³Ùº¯Êýdelay_ms()
¡¡//¶¨ÒåÈ«³Ì±äÁ¿ºÍµØÖ·
¡¡int ¼ÆÊýÖµ;
¡¡void interrupt(*old_isr)(void);//ÓÃÀ´±£´æÔ¼ÆÊ±ÖжϷþÎñ³ÌÐòÏòÁ¿µØÖ·
¡¡//¶¨ÒåмÆÊ±ÖжϷþÎñ³ÌÐò
¡¡void interrupt мÆÊ±ÖжϷþÎñ³ÌÐòÃû(void)
¡¡¡¡{
¡¡¡¡¼ÆÊýÖµ++;
¡¡¡¡outportb(0x20,0x20);//ËͳöÖжϳÌÐòÖ´ÐнáÊøÐźŸøÖжϿØÖÆÆ÷8259
¡¡¡¡}
¡¡//¶¨Òåʱ¼äÑÓ³Ùº¯Êý
¡¡delay_ms(int ms)
¡¡¡¡{
¡¡¡¡¼ÆÊýÖµ=0;
¡¡¡¡old_isr=getvect(0x08);//±£´æÔ¼ÆÊ±ÖжϷþÎñ³ÌÐòÏòÁ¿µØÖ·
¡¡¡¡setvect(0x08,мÆÊ±ÖжϷþÎñ³ÌÐòÃû);//É趨мÆÊ±ÖжϷþÎñ³ÌÐòÏòÁ¿µØÖ·
¡¡¡¡set_timer(1000);//ÉèÖüÆÊ±Æ÷ÖжϲúÉúƵÂÊΪ1000
¡¡¡¡while(1)
¡¡¡¡¡¡if(¼ÆÊýÖµ==ms)
¡¡¡¡¡¡¡¡break;
¡¡¡¡»Ö¸´ÔÖжϲúÉúƵÂʲ¢»Ö¸´Ô¼ÆÊ±ÖжϷþÎñ³ÌÐòÏòÁ¿µØÖ·ºÍÖØÐÂÉèÖÃʱ¼ä;
¡¡¡¡}
5. CÓïÑÔ¿ØÖÆ8253ʹÀ®°È·¢ÉùµÄ³ÌÐò(ʹÓÃ8253ͨµÀ2)
(1)ÉèÖÃI/OͨµÀµØÖ·61HµÄλ0ºÍλ1¾ùΪ1
¡¡unsigned char b;
¡¡b=inportb(0x61);
¡¡b=|0x03;
¡¡outportb(0x61,b);
(2)ÈüÆÊ±Æ÷²úÉú1000HZµÄ·½²¨ÐźŴÓͨµÀ2Êä³ö
¡¡outportb(0x43,0xb6);//ÃüÁî×Ö×é;ͨµÀ2;·½Ê½3;ÏÈË͵Í×Ö½Úºó¸ß×Ö½Ú;
¡¡outportb(0x42,1193%256);//¼ÆÊýֵΪ1193;ÏÈË͵Í×Ö½Ú;ͨµÀ2;
¡¡outportb(0x42,1193/256);//¼ÆÊýֵΪ1193;ºóË͸ß×Ö½Ú;ͨµÀ2;
(3)ÑÓʱ
¡¡delay(1000);
(4)¹Ø±ÕÀ®°È£¬ÉèÖÃλ0ºÍλ1¾ùΪ0
¡¡b=inportb(0x61);
¡¡b&=0xfc;
¡¡outportb(0x61,b);
6. CÓïÑÔ¿ØÖÆI/O 61HµÄλ1ʹÀ®°È·¢ÉùµÄ³ÌÐò£¨¹Ø±Õ8253£©
¡¡(1)¹Ø±Õ8253
¡¡¡¡unsigned char b;
¡¡¡¡b=inportb(0x61);
¡¡¡¡b&=0xfe;
¡¡¡¡outportb(0x61,b);
¡¡(2)±ä»¯I/OͨµÀµØÖ·61HµÄλ1²úÉúÉùÒô
¡¡¡¡for(i=0;i<500;i++)
¡¡¡¡¡¡{
¡¡¡¡¡¡b=inportb(0x61);
¡¡¡¡¡¡b^=0x02;//λ1×÷·´Ïò±ä»¯£º1->0,0->1,....
¡¡¡¡¡¡outportb(0x61,b);
¡¡¡¡¡¡delay(5);
¡¡¡¡¡¡}
¸½1.¶à¹¦Äܿɱà³Ì¼ÆÊ±¼ÆÊýоƬ8253£¨×î¸ß¹¤×÷ƵÂÊ2.6MHZ£©
(1)Òý½Åͼ
¡¡¡¡¡¡¡¡¡¡8253
¡¡¡¡¡¡©³©¥©·©³©¥©·
¡¡ D7 ©Ì1 ©»©¿24©Ç VCC
¡¡ D6 ©Ì2¡¡¡¡ 23©Ç WR
¡¡ D5 ©Ì3¡¡¡¡ 22©Ç RD
¡¡ D4 ©Ì4¡¡¡¡ 21©Ç CS
¡¡ D3 ©Ì5¡¡¡¡ 20©Ç A1
¡¡ D2 ©Ì6¡¡¡¡ 19©Ç A0
¡¡ D1 ©Ì7¡¡¡¡ 18©Ç CLK2
¡¡ D0 ©Ì8¡¡¡¡ 17©Ç OUT2
¡¡CLK0©Ì9¡¡¡¡ 16©Ç GATE2
¡¡OUT0©Ì10¡¡¡¡15©Ç CLK1
GATE0 ©Ì11¡¡¡¡14©Ç GATE1
¡¡GND ©Ì12¡¡¡¡13©Ç OUT1
¡¡¡¡¡¡©»©¥©¥©¥©¥©¿
(2)Òý½ÅÐźÅ˵Ã÷
¡¡¡¡CLK0¡¢CLK1¡¢CLK2£¨¼ÆÊýÆ÷¹¤×÷Âö³åÊäÈ룩£ºÊäÈëÓá£ÈýÌõÄÚ²¿¼ÆÊýÂö³åÊäÈ룬ÔÚÂö³åµÄ¸ºÑØ£¨Ï½µÑØ£©Ê±»áʹ¼õÒ»¼ÆÊýÆ÷ÿ´Î¼ÆÊýÖµ¼õÒ»¡£
¡¡¡¡GATE0¡¢GATE1¡¢GATE2£¨ ÃÅ¿ØÐźţ©£ºÊäÈëÓá£ÒÀ²Ù×÷ģʽ²»Í¬£¬¿É·ÖΪÕýÑØ´¥·¢»ò¸ßµçλÓÐЧ¡£Æô¶¯ºó¼ÆÊ±Æ÷ÄÚº¬Öµ½«ÔÚÿһ¸öʱÖÓ¹ýÈ¥ºóµÝ¼õ¡£
¡¡¡¡OUT0¡¢OUT1¡¢OUT2£¨Êä³öÏߣ©£»Êä³öÓá£3×é¼ÆÊ±Æ÷¼ÆÊý½áÊøÊ±£¬Óɸ÷×ÔµÄÊä³öÏßÊä³öÐźţ¬ÔÚ¼ÆÊ±Æ÷Æô¶¯Óë¼ÆÊý½áÊøÊ±£¬Êä³öÏߵĵçλ±ä»¯Çé¿öÓë²Ù×÷ģʽÓйء£
(3)¹¤×÷ÐźÅ
¡¡¡¡©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥
¡¡¡¡ A1¡¡ A0¡¡ RD¡¡ WR¡¡ CS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶¯×÷
¡¡¡¡©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥
¡¡¡¡¡¡0¡¡¡¡0¡¡¡¡0¡¡¡¡1¡¡¡¡0¡¡¡¡¡¡¡¡¼ÆÊýÆ÷0µÄÄÚÈÝ -> CPU
¡¡¡¡¡¡0¡¡¡¡1¡¡¡¡0¡¡¡¡1¡¡¡¡0¡¡¡¡¡¡¡¡¼ÆÊýÆ÷1µÄÄÚÈÝ -> CPU
¡¡¡¡¡¡1¡¡¡¡0¡¡¡¡0¡¡¡¡1¡¡¡¡0¡¡¡¡¡¡¡¡¼ÆÊýÆ÷2µÄÄÚÈÝ -> CPU
¡¡¡¡¡¡1¡¡¡¡1¡¡¡¡0¡¡¡¡1¡¡¡¡0¡¡¡¡¡¡¡¡²»²Ù×÷
¡¡¡¡¡¡0¡¡¡¡0¡¡¡¡1¡¡¡¡0¡¡¡¡0¡¡¡¡¡¡¡¡CPUÊý¾Ý -> ¼ÆÊýÆ÷0÷0
¡¡¡¡¡¡0¡¡¡¡1¡¡¡¡1¡¡¡¡0¡¡¡¡0¡¡¡¡¡¡¡¡CPUÊý¾Ý -> ¼ÆÊýÆ÷1
¡¡¡¡¡¡1¡¡¡¡0¡¡¡¡1¡¡¡¡0¡¡¡¡0¡¡¡¡¡¡¡¡CPUÊý¾Ý -> ¼ÆÊýÆ÷2
¡¡¡¡¡¡1¡¡¡¡1¡¡¡¡1¡¡¡¡0¡¡¡¡0¡¡¡¡¿ØÖÆ×Ö×é->8253ÃüÁî¿ØÖÆ¼Ä´æÆ÷
¡¡¡¡¡¡X¡¡¡¡X¡¡¡¡X¡¡¡¡X¡¡¡¡1¡¡¡¡¡¡¡¡Êý¾ÝÏ߸ß×迹
¡¡¡¡¡¡X¡¡¡¡X¡¡¡¡1¡¡¡¡1¡¡¡¡0¡¡¡¡¡¡¡¡²»²Ù×÷
¡¡¡¡©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥
(4) ¹¤×÷·½Ê½É趨---ÓÿØÖÆ×Ö×éÉ趨
¡¡¡¡D7¡¡¡¡D6¡¡¡¡D5¡¡¡¡D4¡¡¡¡D3¡¡¡¡D2¡¡¡¡D1¡¡¡¡D0
©°¡ª©¤©Ð©¤¡ª©Ð¡ª©¤©Ð¡ª©¤©Ð¡ª©¤©Ð¡ª©¤©Ð¡ª©¤©Ð¡ª©¤©´
©¦SC1 ©¦SC0 ©¦RL1 ©¦RL0 ©¦ M2 ©¦ M1 ©¦ M0 ©¦BCD ©¦
©¸©¤¡ª©Ø¡ª©¤©Ø¡ª©¤©Ø¡ª©¤©Ø¡ª©¤©Ø¡ª©¤©Ø¡ª©¤©Ø¡ª©¤©¼
¡¡¡¡©¦¡¡¡¡©¦¡¡¡¡©¦¡¡¡¡©¦¡¡¡¡©¦¡¡¡¡©¦¡¡¡¡©¦¡¡¡¡©¦
¡¡¡¡©¸ ©Ð ©¼¡¡¡¡©¸ ©Ð ©¼¡¡¡¡©¸¡ª¡ª©à¡ª¡ª©¼¡¡¡¡©¦
¡¡ Ñ¡Ôñ¼ÆÊýÆ÷¡¡¡¡¡¡©¦¡¡¡¡¡¡¡¡¡¡¹¤×÷·½Ê½¡¡¡¡¼ÆÊý·½Ê½(16λ)
¡¡¡¡(00-11)¡¡¡¡¡¡¡¡©¦¡¡¡¡¡¡¡¡£¨000-101£©¡¡£¨0£º¶þ½øÖÆ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 1£º4λÊýµÄBCD¼ÆÊý£©
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©¦
¡¡¡¡00£ºËø¶¨¼ÆÊýÆ÷ÄÚµÄÖµ£¬ÓÉCPUÀ´¶ÁÈ¡¡£
¡¡¡¡01£º½ö¶ÁÈ¡/ÔØÈëµÍ×Ö½Ú×éÊý¾Ý¡£
¡¡¡¡10£º½ö¶ÁÈ¡/ÔØÈë¸ß×Ö½Ú×éÊý¾Ý¡£
¡¡¡¡11: ÏȶÁÈ¡/ÔØÈëµÍ×Ö½Ú×éÊý¾Ý,ÔÙ¸ß×Ö½Ú×é¡£
(5) 8253µÄ¹¤×÷·½Ê½0£¨¼ÆÊý½áÊøÊ±²úÉúÖжϣ©
¡¡1. µ±¿ØÖÆ×Ö×éдÈëºó£¬OUT³ÉΪµÍµçλ¡£
¡¡2. Ò»µ©Ð´Èë¼ÆÊýÖµºó£¬¼ÆÊýÆ÷ÒÀCLKµÄÊäÈëÂö³å£¨Ï½µÑØÊ±£©£¬×ö¼ÆÊýÖµµÝ¼õ¡£ÔÚ¼ÆÊýµÝ¼õµÄ¹ý³ÌÖУ¬ÈôGATE±äΪµÍµç룬¼ÆÊýÆ÷ÔÝÍ££¬ÄÚ²¿¼ÆÊýÖµ²»±ä£¬µÈGATE»Ö¸´Îª¸ßµçλʱ£¬¼ÆÊýÆ÷¼ÌÐø¹¤×÷¡£ÔÚ¼ÆÊýÖÐÈôÊäÈëеļÆÊýÖµ£¬»áÔÚÊäÈëµÚÒ»¸ö×Ö½Úʱ£¬ÔÝÍ£¹¤×÷£¬¶øÔÚÊäÈëµÚ¶þ¸ö×Ö½Úʱ£¬¼ÆÊýÆ÷»áʹÓÃеļÆÊýÖµ£¬¿ªÊ¼×÷¼ÆÊýµÝ¼õ¡£
¡¡3. µ±¼ÆÊýµ½0ʱ£¬OUTÒý½Å»áËͳö¸ßµç룬´ËÐźſÉÒÔ×÷Ò»°ãµÄÖжϿØÖÆÐźÅÓá£
(6)8253µÄ¹¤×÷·½Ê½1£¨¿É±à³ÌµÄµÍµçλµ¥Âö³å·¢ÉúÆ÷£¬Âö³å¿í¶ÈÓɼÆÊýÆ÷µÄÔØÈëÖµ¾ö¶¨£©
¡¡1. µ±¿ØÖÆ×Ö×éдÈëºó£¬OUT³ÉΪµÍµçλ¡£
¡¡2. µ±GATE±ä³É¸ßµç루ÉÏÉýÑØÊ±£©£¬ÔÚÏÂÒ»¸öCLKʱÖÓ¹ýºó£¬OUTÊä³ö½«½«³ÉΪµÍµçλ£¬Í¬Ê±ÓɼÆÊýÆ÷¿ªÊ¼×ö¼ÆÊýµÝ¼õµÄ¹¤×÷¡£ÔÚ¼ÆÊýµÝ¼õÖУ¬ÈôGATE²úÉúÉÏÉýÑØµÄ´¥·¢Ðźţ¬Ôò¼ÆÊýÆ÷»áÖØÐ¿ªÊ¼¼ÆÊý¡£ÔÚ¼ÆÊýÖУ¬ÈôÊäÈëеļÆÊýÖµ£¬²¢²»»áÓ°ÏìĿǰ¼ÆÊýÆ÷µÄ¹¤×÷£¬ÔÚÏÂÒ»´ÎÊÕµ½GATEµÄ´¥·¢ÐźÅʱ£¬²ÅʹÓÃеļÆÊýÖµ¡£
¡¡3. µ±¼ÆÊýµ½0ʱ£¬OUTתΪ¸ßµçλ¡£
(7) 8253µÄ¹¤×÷·½Ê½2(±ÈÀýʽÂö³å²úÉúÆ÷)
¡¡1. ÔÚÉ趨¹¤×÷·½Ê½ºó£¬Êä³öÒý½ÅOUT³ÉΪ¸ßµçλ¡£
¡¡2. Èô¼ÆÊýֵΪN,OUT»áÔÚ¼ÆÊýÆ÷µ¹¼ÆÊýµ½1ʱ£¨¼´¾¹ýN-1¸öCLKÂö³åºó£©½µÎªµÍµç룬ÔÚ1¸öÂö³åºóOUT±äΪ¸ßµçλ¡£OUTµÄת̬¾ùÊÇÔÚCLKÐźŵÄϽµÑØ´¦¡£
¡¡3. µ±¼ÆÊýֵΪ0ʱ£¬»á×Ô¶¯Öظ´»Øµ½ÔÀ´É趨µÄNÖµÔÙÖØ¸´µ¹¼ÆÊý¹¤×÷£¬Òò´Ë¿É²úÉúÁ¬ÐøµÄÂö³åÊä³ö£¬ÆäÐÅºÅÆµÂÊΪCLK³ýÒÔN¡£
¡¡4. ÈôGATEΪµÍµçλÔòÍ£Ö¹¼ÆÊý¹¤×÷¡£
(8) 8253µÄ¹¤×÷·½Ê½3£¨·½²¨²úÉúÆ÷£©
¡¡1. É趨¹¤×÷·½Ê½ºó£¬Êä³öÒý½ÅOUT³ÉΪ¸ßµçλ¡£ÔØÈë¼ÆÊ±Öµºó£¬ÈôGATEΪ¸ßµçλÔòÆô¶¯¼ÆÊýÆ÷¿ªÊ¼µ¹¼ÆÊý¡£
¡¡2. Èô¼ÆÊýÖµNΪżÊýʱ£¬ÔÚµ¹¼ÆÊý¹¤×÷ʱÿ´Î¼õ2,¼õµ½0ºóÔòOUTת̬¡£Èç´ËÑ»·£¬OUTÊä³öÁ¬Ðø·½²¨¡£
¡¡3. Èô¼ÆÊýֵΪµ¥Êý£¬ÔòÔÚµ¹¼ÆÊý¹¤×÷ʱµÚÒ»´Î¼õ1,¶øºóÿ´Î¼õ2£¬¼ÆÊýΪ0ʱÔòÓɸߵçλתµÍµç룬ÔÙ½«NÖµÖØÐÂÔØÈë¼ÆÊýÆ÷ÖУ¬¸ü¸Äµ¹Êý·½·¨£¬µÚÒ»´Î¼õ3,¶øºóÿ´Î¼õ2,¼ÆÊýΪ0ʱÔòÓɵ͵çλתΪ¸ßµçλ¡£Èç´ËÊä³öµÄ·½²¨²»¶Ô³Æ¡£
¡¡¡¡×¢£ºÈô³õÖµÔØÈë0,ÔòÏ൱ÓÚ65536£¨PC»úÄÚ²¿¼ÆÊ±Æ÷µÄÇé¿ö£©¡£
(9) 8253µÄ¹¤×÷·½Ê½4£¨Èí¼þ´¥·¢·½Ê½£©
¡¡1.É趨¹¤×÷·½Ê½ºó£¬OUT³ÉΪ¸ßµçλ¡£
¡¡2.ÔØÈë¼ÆÊýÖµºó£¬¼ÆÊ±Æ÷×÷µ¹¼ÆÊý¹¤×÷£¬0ʱÓÉOUTÒý½ÅËͳöÒ»¸öCLKÂö³åµÄµÍµçλÐźţ¬ÔÙת±äΪ¸ßµçλ£¬Ò»Ö±µÈ´ýÔÙÊäÈëеļÆÊýÖµ×÷ΪÈí¼þ´¥·¢¼ÆÊ±Êý¡£
¡¡3.ÔÚµ¹ÊýÆÚ¼ä£¬ÈôÔØÈëеļÆÊýÖµ£¬Ôò¼ÆÊ±Æ÷ÔÚÏÂÒ»¸öCLKʱÖÓºó£¬ÒÔеļÆÊýÖµµ¹Êý¡£
¡¡4.¼ÆÊ±µÄ¹¤×÷ÔÚGATEÐźÅΪ¸ßµçλʱ²ÅÓÐЧ¡£
(10) 8253µÄ¹¤×÷·½Ê½5£¨Ó²¼þ´¥·¢·½Ê½£©
¡¡1.É趨¹¤×÷·½Ê½ºó£¬OUT³ÉΪ¸ßµçλ¡£
¡¡2.ÔØÈë¼ÆÊýÖµºó£¬±ØÐèµÈGATEÒý½ÅÓÉÍⲿËÍÈëÒ»¸öÉÏÉýÑØµÄ´¥·¢Ðźźó²Å¿ªÊ¼×öµ¹Êý£¬µ½0ʱ£¬OUTËͳöÒ»¸öCLKÂö³åµÄµÍµçλÐźţ¬ÔÙתΪ¸ßµçλ¡£
¡¡3.µ¹Êý¹ý³ÌÖÐÈôÓÉGATE²úÉúÁíÒ»´¥·¢Ðźţ¬Ôò¼ÆÊýÖµºó»Øµ½ÔÏÈËùÔØÈëµÄ¼ÆÊýÖµÖØÐ¿ªÊ¼¼ÆÊý¡£
¡¡4.ÔÚµ¹Êý¹ý³ÌÖÐÈôÔØÈëеļÆÊýÖµ£¬»áÔÚÏ´δ¥·¢ÐźŲúÉúÊ±ÖØÐÂ×÷Ϊ¼ÆÊýÖµÓá£
(11) 8253½Ó¿Úµç·¼°¿ØÖÆÈí¼þÉè¼Æ
¡¡¡¡¡¡¡¡¡¡¡¡8253(Óë¶à·ÒëÂëµç·ÏàÁ¬)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©³©¥©¥©¥©¥©·
¡¡¡¡¡¡¡¡¡¡°Ë¡¡D0 ©Ì8¡¡¡¡¡¡9©Ç CLK0 <-----ʱÖÓ
¡¡¡¡¡¡¡¡¡¡Ìõ¡¡D1 ©Ì7¡¡¡¡ 11©Ç G0¡¡ <-----+5V¡¡¡¡ ͨµÀ£°
¡¡¡¡¡¡¡¡¡¡Êý¡¡D2 ©Ì6¡¡¡¡ 10©Ç OUT0 ----->Êä³ö
¡¡¡¡¡¡¡¡¡¡¾Ý¡¡D3 ©Ì5¡¡¡¡¡¡ ©§
¡¡¡¡¡¡¡¡¡¡Ïß¡¡D4 ©Ì4¡¡¡¡ 15©Ç CLK1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡D5 ©Ì3¡¡¡¡ 14©Ç G1¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ͨµÀ£±
¡¡¡¡¡¡¡¡¡¡¡¡¡¡D6 ©Ì2¡¡¡¡ 13©Ç OUT1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡D7 ©Ì1¡¡¡¡¡¡ ©§
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©§¡¡¡¡¡¡¡¡©§
¡¡¡¡¡¡¡¡RD(IOR)¡¡©Ì22¡¡¡¡18©Ç CLK2
¡¡¡¡¡¡¡¡WR(IOW)¡¡©Ì23¡¡¡¡16©Ç G2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ͨµÀ£²
¡¡µØÖ·ÏßµÍ2λA0¡¡©Ì19¡¡¡¡17©Ç OUT2
¡¡¡¡¡¡¡¡¡¡¡¡ A1¡¡©Ì20¡¡¡¡¡¡©§
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©§¡¡¡¡¡¡¡¡©§
¡¡CS(µØÖ·ÏßÊä³ö) ©Ì21¡¡¡¡¡¡©§
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©»©¥©¥©¥©¥©¿
¡¡¡¡Àý£ºÈôCS½ÓµÄµØÖ·ÏßÊä³öΪ0x308-0x30b¡£µ±ÍùµØÖ·0x30b(ʵ¼ÊÊǵØÖ·0x308-0x30b¡£A0=1,A1=1,˵Ã÷ÊÇ¿ØÖÆ×Ö×é)ËÍÊý¾Ý0x36,ÔòÑ¡ÔñÁ˼ÆÊýÆ÷0,ÏȶÁдµÍ×Ö½Úºó¶Áд¸ß×Ö½Ú£¬¹¤×÷·½Ê½Îª3,¶þ½øÖÆ·½Ê½¼ÆÊý¡£´ËʱÍùµØÖ·0x308ÏȺóÊäËÍ1790%256ºÍ1790/256±íʾÍù¼ÆÊýÆ÷0ÖÐдÈë1790,ÏÈдµÄÊǵÍ8룬ºóд¸ß8λ¡£ÈôÔÚCLK0ÊäÈë1.79MHZµÄ¹¤×÷ʱÖÓ£¬ÔòÔÚOUT0Êä³ö1000HZµÄ·½²¨Ðźš£¼ÆÊýÆ÷0µÄÄÚ²¿¼ÆÊýÖµ¶ÁÈ¡·½·¨ÊÇÏÈÍùµØÖ·0x30b(ʵ¼ÊÉÏÊÇ0x308-0x30b,A0=1ºÍA1=1±íʾÊÇ¿ØÖÆ×Ö×é)ËÍ0x06,±íʾѡ¶¨¼ÆÊýÆ÷0,Ëø¶¨£¬¹¤×÷·½Ê½Îª3£¬È»ºó¾Í¿ÉÒÔÏȶÁÈ¡¼ÆÊýÆ÷0¼ÆÊýÖµµÄµÍ×Ö½Ú£¬ÔÙ¶ÁÈë¸ß×Ö½Ú¡£
¸½2. PCÄÚ²¿8253µÄÓÃ;
¡¡¡¡Í¨µÀ0ÓÃ×÷ϵͳ¼ÆÊ±Æ÷,ÆäÃÅ¿ØÐźŽÓÖÁ¸ßµç룬Êä³ö½ÓϵͳÖжϿØÖÆÆ÷8259µÄIRQ0ÊäÈ룬BIOSÉ趨Ϊ·½Ê½3·½²¨²úÉúÆ÷£¬ÆµÂÊΪ18.2£¨1193180/65536£©¡£Í¨µÀ1ÓÃÔÚDRAMµÄ´æ´¢Æ÷¸üУ¬BIOSÉ趨Æä¹¤×÷ÓÚ·½Ê½2×÷±ÈÂʲúÉúÆ÷Óã¬Ã¿15΢Ãë²úÉúÒ»´Î´æ´¢Æ÷Ë¢ÐÂÐźš£Í¨µÀ2ÓÃÔÚÀ®°È·¢Éù¿ØÖÆ¡£
¸½3. PCÄÚ²¿À®°ÈÇý¶¯µç·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©°¡ª¡ª¡ª¡ª©´
¡¡¡¡¡¡¡¡ λ0 ¡ª¡ª©ÈG2¡¡8253©¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡ +5V
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©¦Í¨µÀ2¡¡ ©¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡©¦
¡¡¡¡¡¡ I/OµØÖ·¡¡ ©¸¡ª©Ð¡ª¡ª©¼¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡©¦
¡¡¡¡¡¡¡¡61H¡¡¡¡¡¡¡¡¡¡©¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡õ À®°È
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©¦©°¡ª¡ª©´¡¡¡¡¡¡¡¡¡¡ c¡¡©¦
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©¸©È¡¡¡¡©¦¡¡¡¡¡¡¡¡©°¡ª©Ð©¼
¡¡¡¡¡¡¡¡ λ1 ¡ª¡ª¡ª¡ª¡ª©È¡¡¡¡©À¡ª¡ª¡õ¡ª©È¡¡©¦Èý¼¶¹Ü(NPN)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ©¸¡ª¡ª©¼¡¡¡¡¡¡ b©¸¡ª©Ø©´
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡e µØÏß
¡¡¡¡Î»0ÓÃ×÷8253ͨµÀ2µÄÆô¶¯¿ØÖÆ£¬µ±Î»0=1ʱ£¬Í¨µÀ2Êä³öÌØ¶¨ÆµÂʵķ½²¨ÐźÅÇý¶¯À®°È¡£Î»1ÊÇÀ®°ÈµÄÊä³öÇý¶¯Î»¡£µ±Î»0ºÍλ1¾ùΪ1ʱÀ®°È·¢Éù¡£
¡¡¡¡¸÷ͨµÀµÄ¹¤×÷Âö³åƵÂÊΪ1.193MHZ¡£
¡¡¡¡ÄÚ²¿¼ÆÊ±Æ÷I/OµØÖ·Îª40H-43H¡£(¼ÆÊ±Æ÷ÃüÁî¼Ä´æÆ÷µØÖ·43H,ͨµÀ2µØÖ·42H)
|
| |
|