è¿æ¯åºäºSTC12C5A60S2 åçæºç¼åçç¨åºï¼åºè¯¥ä¹å
¼å®¹51åçæºãè¿éåªæ¯ä¸²å£çæ¶åï¼åæ°ç 管æ¾ç¤ºï¼ç±äºæçæ°ç å¯è½åä½ çä¸ä¸æ ·æ以éè¦æ´æ¹ã
#include<stc.h>
#define uchar unsigned char
#define uint unsigned int
//unsigned char code dofly[16]={0,0x3f,0x79,0x5e,0x07,0x7f,0x6f,0x39,0x66,0x6d,0x7d,0x7c,0x06,0x5b,0x4f,0x77};
unsigned char code dofly[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
sbit LED=P1^2;
sbit duan=P1^0; //æ°ç 管端ç 使è½ç«¯
sbit wei=P1^1;//æ°ç 管ä½ç 使è½ç«¯
uchar flag,a;
void init();
void main()
{
duan=0;
P0=0x55;
duan=1;
wei=0;
init();
while(1)
{
if(flag==1)
{
ES=0; //å½è¿å
¥ä¸æåï¼æä¸æå
³é
flag=0; //ææ è®°ä½æ¸
é¶
SBUF=a; //æAçå¼åéåºå»
while(!TI); //çå¾
æ°æ®åéå®ï¼å¦æ没æåéå®ä¼ä¸ç´çå¾
ãå½æ¶å°æåéæ°æ®TIä¼ç±ç¡¬ä»¶èªå¨ç½®1ã
TI=0; //æTIæ¸
é¶
ES=1; //æå¼ä¸²å£
}
}
}
void init() //串å£å¯åå¨ç设置
{
TMOD=0x20; //设置å®æ¶å¨1çå·¥ä½æ¨¡å¼2
TH1=0xfd; //æ³¢ç¹çåå¼
TL1=0xfd; //æ³¢ç¹çåå¼
TR1=1; //æå¼å®æ¶å¨
REN=1; //串å£å
许ä½
SM0=0; //éè¿è®¾ç½®SM0åSM1å®ä¹ä¸²å£å·¥ä½æ¹å¼1
SM1=1; //éè¿è®¾ç½®SM0åSM1å®ä¹ä¸²å£å·¥ä½æ¹å¼1
EA=1; //æå¼æ»å®æ¶å¨
ES=1; //æå¼ä¸²å£ä¸æ
ET1=0;
}
void ser() interrupt 4 //串å£ä¸æ
{
RI=0; //å
³éä¸æ请æ±ï¼è½¯ä»¶æä¸æ请æ±æ¸
é¶
a=SBUF; //Aæ¥æ¶æ°æ®
P0=a; //让æ°ç 管æ¾ç¤ºæ¶å°çæ°æ®
flag=1; //æ è®°ä½
}
é¦å
ä½ æ³æ³æ¯ä¸æ£ç¡®çï¼ADçå¼ä¸è½ç´æ¥ç»æ°ç»ï¼uchar a[8]ï¼åºè¯¥å
èµç»ä¸ä¸ªåéAD_ DATA
åéåºè¯¥æ¯SBUF=AD_DATA ï¼è¿æ¡è¯å¥æ¯æADåéçå¼èµç»SBUF串å£å¯åå¨ã
å»ºè®®ä½ å
æ串å£è°è¯åºæ¥å¨ä½å
¶ä»çã
追é®æè¯è¿äºï¼ä¸æ¯ä½ 说çé£ä¸ªç¼æ
ï¼æèªå·±æäºä¸ä¸å¯ä»¥å®ç°æ°ç»çè¿åäºï¼è¿æ¯è°¢è°¢ä½ å