基于ADuC841的数据采集系统的设计
4 结语
在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对ADuC841串行口编程为4种工作方式,其中,方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。串行口的4种工作方式对应3种波特率。由于输入移位时钟的来源不同,所以各种方式的波特率计算公式也不相同。
方式0的波特率=fosc/12
方式1的波特率=(2SMOD/64)(T1溢出率)
方式2的波特率=(2SMOD/64)fosc
方式3的波特率=(2SMOD/64)(T1溢出率)
当T1作为波特率发生器时,使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。在ADuC841中,用的晶振频率为32.768 kHz,所以选用的波特率也相对固定。在使用串行口之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行控制和中断控制。具体步骤如下:
(1)确定T1的工作方式(编程TMOD寄存器);
(2)计算T1的初值,装载TH1,TL1;
(3)启动T1(编程TCON中的TR1位);
(4)确定串行口控制(编程SCON寄存器);
(5)串行口在中断方式工作时,要进行中断设置(编程IE,IP寄存器)。
双方约定采用串行口方式1进行通信,一桢信息为10位,其中有1个起始位、8个数据位和一个停止位,波特率为2 400 b/s。T1工作在定时器方式2,振荡频率选用11.059 2 Hz,由此可知TH1=TL1=OF4H,PCON寄存器的SMOD位为0。
在此提出了以ADuC841单片机为核心结构,进行数据实时采集的实施方案设计。围绕该系统方案,把本系统实时内核的具体实现步骤分为系统硬件设计和软件编程设计2个阶段。对今后的研发提供一定的整体框架,为开发设计类似设备打下了理论与实践的基础。
- 基于ADuC845的石油录井二氧化碳检测仪(05-12)
- 转动惯量测量电路与实现(06-12)
- 大联大世平集团推出基于ADI的ADuCM360的热电偶测量仪解决方案(09-29)
- 采用ADuCRF101的无线温度巡检系统设计(04-23)
- 基于ADuC7128的宽频带相位测量系统实现(07-21)
- ADuC845单片机和PTR2000的无线数据采集系统设计(02-21)