急求助:一个关于单片机遥控开关的问题
时间:10-02
整理:3721RD
点击:
想实现一个遥控开关系统,做到当发射源发出一个信号时,接收器接受信号,解码并且当匹配时对某个IO口实现输出高电平。
我的接线和程序是这样的:
发射——————
接收————————
但是测试的时候接通接受电路,蜂鸣器没有断断续续地响而是一直响,要不然就不响。
求助:这是怎么回事啊?是不是我线接错了?!
后天交稿急求!感谢指导!
我的接线和程序是这样的:
发射——————
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit dataout = P2^0;
- void delay(uint t)
- {
- uchar i;
- while(t--)
- {for(i = 0;i<100;i++);}
- }
- void timerinit()
- {
- PCON &= 0x7f;
- SCON = 0x50;
- TMOD |= 0x20;
- TL1 = 0xe8;
- TH1 = 0xe8;
- TR1 = 1;
- EA = 1;
- ES =1;
- ET1 = 0;
- }
- void main(){
- uint i;
- timerinit();
- while(1)
- {
- delay(1000);
- for(i =0;i<5;i++)
- {
- SBUF = 0xf0;
- while(TI ==0);
- TI = 0;
- }
- }
- }
接收————————
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit ring = P2^0;
- void timerinit()
- {
- PCON &= 0x7f;
- SCON = 0x50;
- TMOD &= 0x0f;
- TMOD |= 0x20;
- TL1 = 0xe8;
- TH1 = 0xe8;
- TR1 = 1;
- EA =1;
- ES =1;
- ET1 =0;
- }
- void delay(uint t)
- {
- uchar i;
- while(t--)
- {for(i=0;i<100;i++);}
- }
- void main()
- {
- timerinit();
- while(1){};
- }
- void ser() interrupt 4
- {
- static uchar dat;
- if(RI)
- {
- RI = 0;
- dat = SBUF;
- }
- if(dat ==0xf0)
- {
- REN =0;
- delay(200);
- ring = ~ring;
- dat = 0;
- REN =1;
- }
- }
但是测试的时候接通接受电路,蜂鸣器没有断断续续地响而是一直响,要不然就不响。
求助:这是怎么回事啊?是不是我线接错了?!
后天交稿急求!感谢指导!
自己用完美的20字符华丽地顶上起- -
收到之后没有保持?~
你这程序看着是串口通讯的啊?