|
各位大神請(qǐng)看下這個(gè)程序哪里出問題了,一直接收不到數(shù)據(jù),需要實(shí)現(xiàn)下面這個(gè)功能
1.PNG (59.92 KB, 下載次數(shù): 72)
下載附件
2017-6-10 17:02 上傳
2.PNG (71.2 KB, 下載次數(shù): 81)
下載附件
2017-6-10 17:02 上傳
- #include <AT89X51.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar trdata[]={0xaa,0x01,0x03,0x0f,0x00,0x05};
- uchar rece;
- uchar j;
- //uchar code trdata1[]={'R','I','C','H','M','C','U',0x0d,0x0a,0x00};
- uchar flag=1;
- void delay1ms(uint i)
- {
- uchar j;
- while(i--)
- {
- for(j=0;j<115;j++) //1ms基準(zhǔn)延時(shí)程序
- {
- ;
- }
- }
- }
- main()
- {
- uchar i;
- SCON= 0x50; //串口方式允許接收
- //SM0=0;
- //SM1=1;
- //REN=0;
- PCON= 0x00; //SMOD=0
- TMOD= 0x20; //定時(shí)器1定時(shí)方式2
- TH1= 0xfd; //11.0592M 9600波特率
- TL1= 0xfd;
- TR1= 1; //啟動(dòng)定時(shí)器
- EA=1;
- while(1)
- {
- if(flag==1){
- ES=0;
- i=0;
- while(trdata[i]!=0x05)
- {
- P0=trdata[i];
- SBUF=trdata[i];
- while(!TI);
- TI=0;
- i++;
- delay1ms(1000);
- }
- if(i>4)
- {
- flag=0;
- ES=1;
- }
- }
- }
- }
- void INT_UartRcv(void) interrupt 4
- {
- if(RI==1){
- RI=0;
- rece=SBUF;
- P0=0xff;
- j++;
- delay1ms(100);
- // bulb=1;
- // bulb1=1;
- if(j>12){
- flag=1;
- j=0;
- ES=0;
- }
- }
- }
復(fù)制代碼 |
|