欢迎来到天天文库
浏览记录
ID:50075230
大小:182.00 KB
页数:20页
时间:2020-03-03
《单片机串行通信设计与实现.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、项目七单片机串行通信设计与实现教学目的了解单片机串行通信的工作原理;掌握单片机串行通信的编程方法;掌握上位机与下位机串行通信的连接方法;掌握远程数据采集实现的方法。远程数据采集模拟量由电位器模拟产生;使用ADC0808/ADC0809模数转换器完成模数转换;下位机通过串行通信将转换结果传送到上位机;上位机将转换结果送到LED显示。远程数据采集电路远程数据采集程序数据发送端程序数据接收端程序CPU与外部通信CPU与外部通信的基本方式有两种:并行通信——数据的各位同时传送。串行通信——数据一位一位顺序
2、传送。串行通信方式单工通信半双工通信全双工通信同步通信异步通信异步通信和同步通信异步通信数据格式一般由1个起始位、7或8个数据位、1~2个停止位和一个校验位组成通信双方采用独立时钟,起始位触发双方同步时钟同步通信数据格式有多个数据组成,每帧有一个或两个同步字符作为起始位必须用一个时钟协调收发器,硬件较复杂串行通信模式单工方式单向传输半双工方式双向传输,同一时间只有一个方向传输全双工方式同时双向传输发送器接收器发送器/接收器发送器/接收器发送器/接收器发送器/接收器串行通信方式的特点通过单片机自带的
3、串行口进行通信每个时间单位传送一位信息每个字符(字节)的各位依次传送不管发送或接收数据是多少,最多需要2根线,一根用于发送,一根用于接收优点:传输线少,距离远,成本低串行通信波特率波特率的定义为每秒钟传送二进制数码的位数(亦称比特数),单位是bit/s,即位/秒。相互通信双方必须具有相同的波特率例如:数据传输速率是240字符/s,每个字符包含10位数,则波特率为2400波特。每位的传输时间定义为波特率的倒数。例如:波特率为1200bit/s的通信系统,其每位的传输时间应为:单片机串行接口结构框图S
4、BUFSBUF是串行口缓冲寄存器,包括发送和接收寄存器(名字相同,但不会冲突)SBUF是两个在物理上独立的接收、发送寄存器,一个用于存放接收到的数据,另一个用于存放欲发送的数据,可同时发送和接收数据。两个SBUF共用一个地址99H,通过对SBUF的读、写指令来区别是对接收缓冲器还是发送缓冲器进行操作。CPU在写SBUF时,就是修改发送缓冲器;读SBUF,就是读接收缓冲器的内容。接收或发送数据,是通过串行口对外的两条独立收发信号线RXD(P3.0)、TXD(P3.1)来实现的,因此可以同时发送、接收
5、数据,其工作方式为全双工制式。TTL与RS232232电平或者说串口电平,有的甚至说计算机电平,所有的这些说法,指得都是计算机9针串口(RS232)得电平,采用负逻辑,-15v~-3v代表1+3v~+15v代表0TTL:Transistor-TransistorLogic三极管结构。Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V;VIL<=0.8V。串行中断控制器SCONSM0、SM1:串行口工作方式SM2=1为多机通信控制工作方式(方式2,3)REN:接受允许控制位。REN
6、=1允许REN=0禁止TB8、RB8:发送、接收第9位数据TI:发送中断标志。在方式0中,8位发送结束时,TI=1。TI必须用软件清零RI:接收中断标志。在方式0中,8位接收结束时,RI=1。RI必须用软件清零电源控制寄存器PCONSMOD=1时,串行口波特率加倍中断允许控制寄存器IEES=1允许串行中断ES=0禁止串行中断EA总允许控制波特率选择与设置方式0:波特率=f/12方式2:波特率=2SMODf/64方式1和方式3(用定时器T1作波特率发生器)T1计数率=fosc/12溢出周期=T1溢出
7、所需周期数/T1计数率=溢出率为溢出周期的倒数波特率=2SMOD(T1溢出率)/32=fosc:晶振的时钟频率波特率固定远程数据采集串行通信设置当定时器1做波特率发生器使用时,通常是工作在模式2,即自动重装载的8位定时器,此时TL1作计数用,自动重装载的值在TH1内。设计数的预置值(初始值)为X,那么每过256-X个机器周期,定时器溢出一次。为了避免因溢出而产生不必要的中断,此时应禁止T1中断。定时器T1溢出所需周期数计算T1工作方式及溢出所需周期数:方式0:溢出所需周期数=8192–X方式1:溢
8、出所需周期数=65536–X方式2:溢出所需周期数=256–XX为初值
此文档下载收益归作者所有