欢迎来到天天文库
浏览记录
ID:59361265
大小:46.13 KB
页数:5页
时间:2020-09-04
《单片机之间的双向通信Proteus仿真.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、仿真电路:仿真程序:甲机程序://----------甲机程序代码------------#include#defineuintunsignedint#defineucharunsignedcharsbitled1=P1^0;sbitled2=P1^3;sbitkey=P1^7;//------共阳极数码管段码---------ucharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};ucharnum;//---
2、---延时------voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}//------串行口发送函数------voidtransfer(ucharc){SBUF=c;while(TI==0);TI=0;}voidmain(){num=0;P0=0x00;SCON=0x50;//串行口工作在方式1,既可以发送数据,也可以接收数据TMOD=0x20;//定时器T1工作在方式2PCON=0x00;TH1=(256-253)/32;TL1=(256-2
3、53)%32;RI=0;TI=0;TR1=1;IE=0x90;//串行口中断打开while(1){if(key==0){while(key==0);num=(num+1)%4;}switch(num){case0:transfer('D');led1=1;led2=1;break;case1:transfer('A');led1=0;led2=1;break;case2:transfer('B');led1=1;led2=0;break;case3:transfer('C');led1=0;led2=0;break;/
4、/delay(100);}}}voidrecieve()interrupt4{if(RI==1){RI=0;P0=~table[SBUF];}}乙机程序://----------乙机程序代码------------#include#defineuintunsignedint#defineucharunsignedcharsbitled1=P1^0;sbitled2=P1^3;sbitkey=P1^7;ucharnum=10;voiddelay(uintz){uintx,y;for(x=z;x>0;x-
5、-)for(y=110;y>0;y--);}voidmain(){SCON=0x50;TMOD=0x20;PCON=0x00;TH1=(256-253)/32;TL1=(256-253)%32;RI=0;TI=0;TR1=1;IE=0x90;led1=led2=1;while(1){if(key==0){while(key==0);num=(num+1)%11;SBUF=num;while(TI==0);TI=0;}}}voidrecieve()interrupt4{if(RI==1){RI=0;switch(SBUF
6、){case'A':led1=0;led2=1;break;case'B':led1=1;led2=0;break;case'C':led1=0;led2=0;break;case'D':led1=1;led2=1;//delay(100);}}elseled1=led2=1;}
此文档下载收益归作者所有