电子信息工程双机串行实验
1、理解单片机串行通信的基本概念、工作方式以及通信原理。
2、掌握单片机点对点串行通信应用系统的软硬件设计方法。
3、掌握单片机之间串行通信的调试方法。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg51.h>
- sbit key0=P1^0;
- sbit key1=P1^1;
- sbit key2=P1^2;
- sbit key3=P1^3;
- unsigned char keyscan()
- {
- unsigned char keyscan_num,temp;
- P1=0xff;
- temp=P1;
- if(~(temp&0xff))
- {
- if(key0==0)
- {
- keyscan_num=0;
- }
- else if(key1==0)
- {
- keyscan_num=1;
- }
- else if(key2==0)
- {
- keyscan_num=2;
- }
- else if(key3==0)
- {
- keyscan_num=3;
- }
- else
- {
- keyscan_num=1;
- }
- return keyscan_num;
- }
- }
- void spi_init1200()
- {
- SCON=0x50;
- PCON=0x80;
- TI=0;
- EA=1;
- ET1=1;
- TMOD=0x20;
- TH1=0xd0;
- TL1=0xd0;
- TR1=1;
- }
- void spi_init2400()
- {
- SCON=0x50;
- PCON=0x80;
- TI=0;
- EA=1;
- ET1=1;
- TMOD=0x20;
- TH1=0xe8;
- TL1=0xe8;
- TR1=1;
- }
- void spi_init4800()
- {
- SCON=0x50;
- PCON=0x80;
- TI=0;
- EA=1;
- ET1=1;
- TMOD=0x20;
- TH1=0xf4;
- TL1=0xf4;
- TR1=1;
- }
- void spi_init9600()
- {
- SCON=0x50;
- PCON=0x80;
- TI=0;
- EA=1;
- ET1=1;
- TMOD=0x20;
- TH1=0xfa;
- TL1=0xfa;
- TR1=1;
- }
- void spi_send(unsigned char ch)
- {
- SBUF=ch;
- while(TI==0);
- TI=0;
- }
- void main()
- {
- unsigned char key_press;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
双机串行.rar
(465.95 KB, 下载次数: 39)
|