利用單片機串行工作方式三做出的1主機+2從機通信系統。通過KEY1,KEY2分別讓主機對子機發送數據。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (11.88 KB, 下載次數: 44)
下載附件
2017-11-25 05:22 上傳
0.png (17.83 KB, 下載次數: 66)
下載附件
2017-11-25 05:22 上傳
0.png (15 KB, 下載次數: 57)
下載附件
2017-11-25 05:22 上傳
單片機主機源程序如下(從機源碼請下載附件):
- #include <reg51.h>
- #define uchar unsigned char
- #define NODE1_ADDR 1
- #define NODE2_ADDR 2
- uchar KeyValue = 0;
- uchar code str[]="0123456789ABCDEF";
- uchar pointer_1=0,pointer_2=0;
- void delay(uchar time){
- uchar i,j;
- for(i=0;i<130;i++)
- for(j=0;j<time;j++);
- }
- void proc_key(uchar node_number){
- delay(200);
- SCON=0xc0;
- TMOD=0x20;
- TH1=TL1=0xfd;
- TR1=1;
- TB8=1;
- SBUF=node_number;
- while(TI==0);
- TI=0;
- TB8=0;
- switch(node_number){
- case 1:{
- SBUF=str[pointer_1++];
- if(pointer_1>=16)pointer_1=0;
- break;
- }
- case 2:{
- SBUF=str[pointer_2++];
- if(pointer_2>=16)pointer_2=0;
- break;
- }
- default:break;
- while(TI==0);
- TI==0;
- }
- }
- void main(){
- while(1){
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
1 2主從式通信系統.rar
(69.37 KB, 下載次數: 102)
2017-11-24 13:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|