单片机串行口的应用.ppt
串行口的应用,单片机应用技术,目录,引言,1,串行通信介绍,2,串行通信应用,3,思考,4,CONTENTS,作业,5,小结,6,1.引言,串行通信的思考,串行口一次传输一个bit,并行口一次传输一个byte,谁快?使用串行口的场合越来越多,使用并行口场合越来越少,为什么?并行口快要被串行口完全取代,而消失了!并行端口的最后一块版图打印机端口,逐渐被USB与Ethernet并吞。,低成本!,简单!,1.引言,与外设的接口,2.串行通信介绍,3.应用体验-串行通信在排队呼叫系统中的应用,3.应用体验-串行通信在排队呼叫系统中的应用,3.应用体验-串行通信在排队呼叫系统中的应用,3.应用体验-串行通信在排队呼叫系统中的应用,设置UART 工作模式设置波特率运行UART中断,设置SCON寄存器中模式选择位设置PCON寄存器中SMOD加倍位设置TMOD寄存器中模式选择位置位TR1启动定时器置位ES 运行串行口中断,串口初始化步骤,3.应用体验-串行通信在排队呼叫系统中的应用,头文件与宏定义,#include/包含reg51.h档 sbit key1=P20;sbit key2=P21;unsigned int num=0;,void delay(unsigned int z)unsigned int x,y;for(x=z;x0;x-)for(y=110;y0;y-);,发送端程序,3.应用体验-串行通信在排队呼叫系统中的应用,2023/3/22,主函数,main()/主程序开始 TMOD|=0 x20;/将Timer 1设定mode 2以产生波特率 PCON,T1 溢出率=fosc/12256(TH1),while(1)/while循环开始 if(key1=0|key2=0)delay(50);if(key1=0|key2=0)if(TI=1)/检查是否完成传出?TI=0;/TI=1时(传出完成),清除TI旗标 num=num+1;if(num=10)num=0;SBUF=num;/while循环结束/主程序结束,接收端程序,头文件与宏定义,#include/包含reg51.h档#define LED P0/定义LED位置#define DIP_SW P2/定义指拨开关位置 unsigned char code table=/共阳极0f数码管编码0 xc0,0 xf9,0 xa4,0 xb0,/030 x99,0 x92,0 x82,0 xf8,/470 x80,0 x90,0 x88,0 x83,/8b0 xc6,0 xa1,0 x86,0 x8e;/cf,3.应用体验-串行通信在排队呼叫系统中的应用,主函数,main()/主程序开始 TMOD|=0 x20;/将Timer 1设定mode 2以产生波特率 PCON/将所接收的资料输出到LED/while循环结束/主程序结束,在本实验里,采用约9600bps的波特率,怎样修改程序实现将波特率修改为4800 bps?,4.思考,在本实验里,两片采用mode 3,请试改以mode 1 或 mode 2,重新测试?,5.作业,串行通信工作原理 排队呼叫系统电路设计及编程,6.小结,Thank you!,