Æß¡¢ÐĵÃÌå»á
´Ë´Î¹ØÓÚ¡°ÑªÑ¹ÐźŲɼ¯ÏµÍ³Éè¼Æ¡±µÄ¿Î³ÌÉè¼Æ£¬ÎÒÃÇ´ÓÈÎÎñ·ÖÅä¡¢²éÔÄ×ÊÁÏ¡¢×î³õµÄ·½°¸Éè¼Æ¡¢Êý¾Ý´¦Àíµ½×îºóµÄ»Í¼¡¢·ÂÕæ¡£ÔÚÕâΪÆÚ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
¶¨Ê±ÖжÏ×Ó³ÌÐò