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