经典51内容,通过51单片机分别控制甲机和已机
其中一种的程序
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar a,b;
- uchar discode1[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- void delayms(uint ms)
- {
- uint i;
- while(ms--)
- {
- for(i=0;i<120;i++);
- }
- }
- void int0() interrupt 0
- {
- delayms(10);
- if(INT0==0)
- {
- if(a>=15)a=0;
- }
- }
- void LED(void)
- {
- P0= ~ discode1[b];
- }
- void send(uchar state)
- {
- SBUF=state;
- while(TI==0);
- TI=0;
- }
- void serival(void)
- {
- b=SBUF;
- while(RI==0);
- RI=0;
- }
- void INT_init(void)
- {
- EX0=1;
- IT0=1;
- EA=1;
- }
- void SCON_init(void)
- {
- SCON=0x50;
- TMOD=0x20;
- PCON=0x00;
- TH1=0xFD;
- TL1=0xFD;
- TI=0;
- TR1=1;
- ES=1;
- }
- void main(void)
- { int i;
- i=a;
- SCON_init();
- INT_init();
- while(1)
- {
- send(i);
- serival();
- LED();
- if(INT0==0)
- {
- i++;
- if(i>15)i=0;
- while(INT0==0);
- }
- }
- }
复制代码
全部资料51hei下载地址:
双机通信.zip
(92.02 KB, 下载次数: 64)
|