单片机串行通信实验报告.docxVIP

  • 358
  • 0
  • 约7.33千字
  • 约 18页
  • 2019-09-27 发布于广东
  • 举报
实验六串行通信 实验报告 班级: 学号: 姓名: 教师: 一、双机通信 由两套单片机试验装置(两个实验小组)共同完成该实验。我们U1为卬机,U2为乙机。 甲机发送木机(学生木人)学号后8位给乙机,乙机接收该8位数据,并显示在8位数码管上。 电路如图1所示。 要求串行通信方式为方式1,波特率为2400bit/s,不加倍,单片机外部晶振频率为 11.0592Mo 实验电路图: U117 XTM11 - XTAUPOO/ADD PO 1/AO1 P0 2/A02 P0 3/ACDP0 4/AD4P0 5/AD5P0 7/AD7P2 gP2 1//6 P2 2/A10P2 3/A11 P2 4/A12 P2O/A13 刃SMP2 U1 17 XTM1 1 - XTAU POO/ADD PO 1/AO1 P0 2/A02 P0 3/ACD P0 4/AD4 P0 5/AD5 P0 7/AD7 P2 g P2 1//6 P2 2/A10 P2 3/A11 P2 4/A12 P2O/A13 刃SM P2 UM Ttx| R3D/RXD P3 1/TXD W 34nH P3TO RO VT1 R37/WJ XTM1 RD 0/00 XTAU FO 1/AO1 F0 2/AO2 F0 3/AO3 RST PD4/AOI F0 5/A05 PDO/AOO AL£ FIO 削」 PI 2 PU PI 4 PI 0 pie Pl ? F2 1/2 F2 2/AI0 P2.3/AII F2-VA12 P2 5/AI3 F2S/AM F27/AI5 F) 1/TXD R3 J/IRTT ? 5/TI R3 7/1? I; 12 1、c源程序清单 甲机(U1)代码: #includeSTC12C5A60s2.h #define uchar unsigned char void delay(uchar i); void send(uchar temp); void init(void); void mdin(void) { initO; delay(200); wh i1e(1) { send (,,); send(l); send (2); send (1); send (3); send (2); send (2); send (3); send (1); void init (void) {SCON=0x40;TMOD void init (void) { SCON=0x40; TMOD二0x20; THl=0xf4; TL1二0xf4; //串口模式1 //Tl工作模式2 //波特率2400 只发送不接收 PCON=0x00; PCON=0x00; //不加倍 SMOD=O TI=0; TR1=1;// TR1=1; //开定时屮断 /*** **** **发送函数 **********/ void send(uchar temp) { SBUE=tcmp; while(TI==0); TI=0; delay(50); void delay(uchar i) unsigned int j; for (i; i0; i―) for(j=0;j100;j++); 乙机(U2)代码: #includeSTC12C5A60s2.h #dcfine uchar unsignod char #define uint unsigned int void init(void); void delay(uchar t); void xianshi (void); uchar code distable [] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; //共阴数码管段码 uchar code wi [] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; uchar tab [9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; uchar i=0,temp; uint a, b, c, d, e, f, g, h; void main() { init (); while(l) { xianshi (); /////////////初始化/////////////// void init (void) PCON =0x00; //不加倍SMOD=O SCON =0x50; //设置串口方式1且允许串口接收 TMOD =0x20; 〃设置T1为方式2 TH1 二 :0xf4; TL1 = :0xf4; //设置波特率2400 TRI = :1; 〃开启定吋器1 ES = 1; //允许串行口中断 EA =

文档评论(0)

1亿VIP精品文档

相关文档