44 一个小程序编写_UART例子.ppt_第1页
44 一个小程序编写_UART例子.ppt_第2页
44 一个小程序编写_UART例子.ppt_第3页
44 一个小程序编写_UART例子.ppt_第4页
44 一个小程序编写_UART例子.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,Sunplus SPCE061A 微控制器,单一功能模块UART程序编写举例说明,讲解目的,串行通信应用广泛,举例说明SPCE061A与PC机实现串行收发数据 结合例子巩固对SPCE061A单一模块编程思路。,数据通讯,在自动化测量和控制系统中,各台仪表之间需要不断进行各种信息的交换和传输,这种信息的交换和传输是通过仪表的通讯接口,按照一定的协议进行的。,通讯接口的主要类型,通讯接口主要有五种类型: 异步串行通信接口 并行通讯接口 USB接口 现场总线接口 以太网接口,串行通讯接口,串行通信与并行通信相比节省成本,尤其远距离传输时,优势更加明显。现在串行通讯应用越来越广泛。 串行数据接口标准

2、: RS-232、RS-422、RS485,RS-232标准,RS-232是异步串行通信中应用最早,也是目前应用最广泛的串行总线接口之一。 RS-232采用负逻辑电平,在干扰小的情况下,一般只采用发送数据、接收数据、地线三根信号线。,传输率(波特率),所谓传输率就是指每秒传输多少位,传输率也常叫波特率。国际上规定了一个标准波特率系列为1200、1800、2400、4800、9600、19200、38400、56000、57600、115200bps,任务的提出,前面介绍了关于串口通讯的基本知识,现在就通过实例介绍应用SPCE061A实现与PC机数据的接收与发送,同时巩固如何对单一模块程序设计。

3、,分析SPCE061A可以使用的硬件资源,UART模块,SPCE061A的UART模块提供了一个全双工标准接口,用于完成SPCE061A与外设之间的串行通讯。借助于IOB 口的特殊功能可以完成UART接口的接收发送数据的过程。,SPCE061A的UART的数据桢格式,start,D0,D1,D2,D3,D4,D5,D6,stop,parity,D7,启动位,停止位,奇偶校验位,8位数据位,硬件电路连接图,根据硬件电路分析任务,硬件电路采用接收数据、发送数据、地线三根信号线实现通讯,可以采用查询的方式实现数据的接收与发送。 数据格式的确定,为简单起见采用一位启动位、8位数据位、无奇偶校验位、结束

4、位 波特率为115200bps,UART模块寄存器的设置,P_UART_Command1寄存器与本次设计所采用的查询无奇偶校验方法无关,写入00H即可 P_UART_Command2 寄存器设置b7、b6脚为1,允许接收与发送 P_UART_BaudScalarLow(写0 x00C0)与P_UART_BaudScalarHigh(写0 x0000)联合设置波特率,采用115200bps,复习 单一模块编程共性,共性一:程序结构,每个单一模块的编程,基本的程序结构是: 1、初始状态的设置。 2、主循环中检测状态和进行分析。 3、清看门狗。,各功能模块汇编程序基本模板与实例比较,.define

5、xxx xxxx .public _main; _main: xxxRx Loop: Jmp loop,.PUBLIC _main; _main: L_UART_INIT: int off; r1 = 0 x0000 G_RecFlag = r1; r1 = 0 x0000; P_INT_Ctrl = r1; r1 = 0 x0480; P_IOB_Attrib =r1; r1 = 0 x0400; P_IOB_Dir = r1; r1 = 0 x0000; P_IOB_Data = r1;,.define xxx xxxx .public _main; _main: xxxRx Loop:

6、Jmp loop,r1 = 0 x006b; P_UART_BaudScalarLow = r1; r1 = 0 x0000; P_UART_BaudScalarHigh = r1; r1 = 0 x0000; r4 = 0 x00C0; P_UART_Command1 = r1; P_UART_Command2 = r4;,.define xxx xxxx .public _main; _main: xxxRx Loop: P_Watchdog_Clear = r1 Jmp loop,模版与实例程序对比,L_ReSendData: L_Check_TxRDY: r2 = P_UART_Command2; r2 ,.define xxx xxxx .public _main; _main: xxxRx Loop: P_Watchdog_Clear = r1 Jmp loop,L_Check_RxRDY: r1 = 0 x0001 P_Watchdog_Clear = r1 r2 = P_UART_Command2; r2 ,模版与实例程序对比,总结,通过两个实例的讲解,我们对不带中断模块的编程应该比较熟悉了,请大家根据我们提供的程序,自己完成AD、DA、定时器等模块的学习,接下来将讲解带中断模块的编程。,凌阳科技教育推广中心竭诚为您服务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论