µç×ÓѪѹ¼ÆÂÛÎÄ(51µ¥Æ¬»ú°æ)½²½â

Æß¡¢ÐĵÃÌå»á

´Ë´Î¹ØÓÚ¡°ÑªÑ¹ÐźŲɼ¯ÏµÍ³Éè¼Æ¡±µÄ¿Î³ÌÉè¼Æ£¬ÎÒÃÇ´ÓÈÎÎñ·ÖÅä¡¢²éÔÄ×ÊÁÏ¡¢×î³õµÄ·½°¸Éè¼Æ¡¢Êý¾Ý´¦Àíµ½×îºóµÄ»­Í¼¡¢·ÂÕæ¡£ÔÚÕâΪÆÚ3ÖܵĹý³ÌÖУ¬ÎÒÃÇÿ¸ö×éÔ±¶¼ÊÕ»ñºÜ¶à¡£¶ÔÓÚѪѹ¼ÆµÄÔ­ÀíÓÐÁ˸ü¼ÓÉîÈëµÄÁ˽⣬¸üºÃµØÊìϤ²¢ÕÆÎÕÁËProtel DXPµÄ²Ù×÷¡£Õë¶Ôÿ¸ö¹ý³Ì¡¢Ã¿¸öϸ½Ú¶¼ÓÐÁ˸üÉîÈëµÄÌå»á¡£µ±È»Ò²ÈÃÎÒÃǸü¼ÓÇå³þµØ¿´µ½ÆäÖгöÏֵIJ»×ãÖ®´¦¡£ÔÚ»­Í¼·ÂÕæ¹ý³ÌÖгöÏÖÁËЩϸ½ÚÉϵÄСÎÊÌ⣬µ«ÊÇͨ¹ý´ó¼Ò²»ÑáÆä·³µØ¶à´ÎÐ޸ġ¢µ÷ÊÔ£¬×îÖÕ´ïµ½ÁËʵÑéÄ¿µÄ¡£

°Ë¡¢²Î¿¼ÎÄÏ×

[1] ÎâÓ½´ºÖ÷Éó.¿É±à³Ì¿ØÖÆÆ÷Ô­ÀíÓë³ÌÐòÉè¼Æ.´óÁ¬Àí¹¤³ö°æÉç.2009£» [2] ¹ù¼½Õä.µç×ÓѪѹ¼Æ¿É²»¿É¿¿.¸ßѪѹÔÓÖ¾[J].2005 [3] ϯµÂÑ«.ÏÖ´úµç×Ó¼¼Êõ,¸ßµÈ½ÌÓý³ö°æÉç,1999

[4] ÕÔС°².MCS-51µ¥Æ¬»úÔ­Àí¼°Ó¦ÓÃ.Ìì½ò´óѧ³ö°æÉç.2001

¾Å¡¢¸½Â¼

×ܵç·ͼ

13

·ÂÕæ×Üͼ

³ÌÐò±àÂë

#include

#define uint unsigned int #define uchar unsigned char #define ad0_7 P0 //ADÊý¾Ý¿Ú sbit A=P2^0; sbit start=P2^3; //ϽµÑØÆô¶¯ADת»»£¬ÉÏÉýÑØ¼Ä´æÆ÷ÇåÁ㣬ת»»¹ý³ÌΪµÍµç

14

ƽ

sbit clock=P2^4;

sbit EOC=P2^5; //ADת»»½áÊøÊä³ö¸ßµçƽ

sbit ALE=P2^6; //µØÖ·Ëø´æÔÊÐíµØÖ·ÊäÈë¶Ë£¬¸ßµçƽÓÐЧ sbit OE=P2^7; //¶ÁÊý¾Ý¿ØÖÆ£¬¸ßµçƽÓÐЧ sbit rs=P3^0; //¶¨ÒåÒº¾§ÏÔʾÆ÷¿ØÖÆ¶Ë¿Ú sbit rw=P3^1; sbit en=P3^2; sbit key=P3^3; sbit MT=P3^4;

uchar code table[17]={%uchar code table1[17]={%uchar code table2[13]={%uchar code table3[17]={%uchar data buf[9]; //ÓÃÓÚÊý×ÖÏÔʾ uint i;

int data_H,data_L,Sum,max;

void start_ad(); //Æô¶¯ADת»»×Ó³ÌÐò void delay(uchar time);

void write_com(uchar com); //дָÁÊý void write_data(uchar dat); //дÊý¾Ýº¯Êý void match();//Êý¾Ý·ÖÎö×Ó³ÌÐò void display(); //ÏÔʾ×Ó³ÌÐò void display1(); void main() {

TMOD=0X22; //¶¨Ê±Æ÷ÉèÖÃ

TH0=0XFF; //¶¨Ê±Æ÷0ÖóõÖµ 1us 500KHz TL0=0XFF;

EA=1; //¿ª×ÜÖжÏ

ET0=1; //¶¨Ê±Æ÷0ÖжϿªÆô TR0=1; //Æô¶¯¶¨Ê±0 MT=1; while(1) {match();} }

void delay(uchar time) //ÑÓʱ {

uint j;

for(;time>0;time--) for(j=0;j<125;j++); }

15

void write_com(uchar com) //дָÁÊý {

en=0; rs=0; P1=com; en=1; en=0; }

void write_data(uchar dat) //дÊý¾Ýº¯Êý {

en=0; rs=1; P1=dat; en=1; en=0; }

void time0(void) interrupt 1 using 1 //{

TH0=0XFF; //ÖØ¸³³õÖµ TL0=0XFF;

TR0=1; //ÖØÐÂÆô¶¯¶¨Ê±Æ÷ clock=!clock; }

void start_ad() //Æô¶¯ADת»»×Ó³ÌÐò {

//ͨµÀ0 A=0;

ALE=1; //ÔÊÐíµØÖ·ÊäÈë start=0; delay(1);

start=1; //ÉÏÉýÑØÊý¾ÝÇåÁã delay(1);

start=0; //ϽµÑØ¿ªÊ¼×ª»»

while(!EOC) //ת»»½áÊø¹Ø±ÕµØÖ·ÊäÈë¶Ë {}

ALE=0; //¶ÁÊý¾Ý

OE=1; //ÔÊÐí¶Á delay(1);

data_H=ad0_7; //°ÑÊý¾Ý´æµ½data_HÖÐ OE=0; //Í£Ö¹AD¶ÁÈ¡ //ͨµÀ1 A=1;

ALE=1; //ÔÊÐíµØÖ·ÊäÈë

16

¶¨Ê±ÖжÏ×Ó³ÌÐò

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)