[C8051F320]C8051F320的串口工作机…

原创 2015年07月11日 00:17:26
    问题描述:串口是非常重要的通信方式,特别在程序的调试与测试阶段,可以打印自定义的调试信息以供判断程序的运行情况。C8051F320只有一个串口UART0,是基于标准8051串口的,现在打算利用该串口来传一些数据,因此对其使用做下记录。
    UART0:异步全双工,可工作在标准8051串口的模式1和模式3下。增强型波特率支持。在程序将串口缓冲中的数据读走后可以立即接收下一个字节。UART0有两个SFR,SCON0用于控制,SBUF0为串口缓存。SBUF0是接收和发送两用的,写入SBUF0寄存器时作用于发送寄存器,读SBUF0时作用于接收寄存器。
    开UART0中断时,一次发送完成(此时SCON0中TI0置1)或SBUF0中字节被读取(SCON0中RI0置1)都会跳入中断处理。而且中断标志TI0和RI0都要软件清零。由于发送和接收中断都是跳入同一个中断处理程序中,因此UART0中断处理程序中要软件判别是接收中断发生还是发送中断发生。UART0串口数据的接收是通过RX引脚(P0.5),UART0串口数据的发送是通过TX引脚(P0.4)。
    其实C8051F320还提供串口的CTS和RTS引脚,这是用于串口的握手的,我在硬件电路中没有连接这两个引脚,串口的使用一般需要RX,TX,GND三个引脚即可。
    波特率的产生:UART0使用Timer1来产生波特率的,Timer1工作在8位自动加载模式。TX时钟有Timer1的TL1产生,RX时钟由TL1的拷贝产生(使用者无法直接操作)。
[C8051F320]C8051F320的串口工作机制学习

    TX和RX定时器溢出除以2来产生TX和RX波特率。
    Timer1的时钟源可以是多种:SYSCLK,SYSCLK/4,SYSCLK/12,SYSCLK/48,外部晶振时钟/8,外部输入T1。串口波特率的计算公式如下:
[C8051F320]C8051F320的串口工作机制学习
    其中T1_CLK即Timer1的时钟源。
    工作模式:UART0可以是8位UART和9位UART,我使用的是8位UART,因为MCU模块作为从机与主机进行通信。如果是一个主机多个从机的多机通信,就要选择用9位UART工作模式。

版权声明:本文为博主原创文章,未经博主允许不得转载。

[C8051F320]串口UART0全双工调试过…

问题描述:由于应用需要,将C8051F320的UART0作为数据通信接口,与上位机之间进行通信并实现简单的控制功能。程序大概是:由串口定时发送数据到上位机,这个定时时间用定时器控制,可由上位机通过串口...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:17
  • 1197

[C8051F320]完全在Keil下进行C8051…

问题描述:之前写过在Silicon Laboratories IDE下进行C8051Fxx单片机程序开发以及在Keil下编程调试,然后将生成的hex文件用Silicon的Flash Program烧写...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:16
  • 1500

[C8051F320]SiLabs的USBXpress的安…

问题描述:现有一块C8051F320的板子,用于实现USB数据传输的单片机电路板,打算熟悉其代码以及开发过程,便于在上位机编程实现一些应用。于是下载安装了USBXpress开发包并进行了了解。    ...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:16
  • 1326

[C8051F320]C8051F320的内部时钟工…

问题描述:时钟是MCU的心脏。C8051F320是带有内置时钟的,这个功能非常强大,可以不用外接晶振电路就可以驱动MCU工作。C8051F320的许多功能都是与时钟相关的,像有时序要求的通信:串口,S...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:17
  • 813

[C8051F320]C8051F320的定时器学习

问题描述:现打算用定时器来控制数据传输的速率,有点类似数据采集的采样速率,即控制1S内传输多少组数据,而且用到串口,而且C8051F320串口已经使用Timer1作为波特率发生器了,因此定时就得考虑其...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:17
  • 811

[C8051F320]Silicon C8051F320的IO…

问题描述:虽然一般芯片厂商都会提供相应的例程,固件代码开发也不需要完全依靠Datasheet来实现自己的代码了,许多都可以直接用。但用的过程中有时还是有点不放心,特别是出现问题的时候,就必须回到代码并...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:17
  • 634

c8051f320 keil

c8059f320 flash :16kB   0000H-3FFFH, c代码 在keil中可设置编译地址 比如 之后keil会将代码编译在2a00之后这些地址空间里面,恩,是实际的flash的物...
  • songqqnew
  • songqqnew
  • 2011年07月31日 17:01
  • 1846

C8051F320的WDT

近日用S3C2440的GPIO模拟C2 Interface的时序,做了一个能给C8051F320里的flash编程的工具。用51汇编写了一个闪烁LED的程序,写入C8051F320的flash后,感觉...
  • hulifox007
  • hulifox007
  • 2009年03月31日 22:58
  • 1035

[C8051F320]使用Silicon Laborator…

问题描述:安装了Silicon Laboratories的一系列开发工具,主要使用其中的Silicon Laboratories IDE来进行51单片机程序的设计,一些详细的工具操作与使用说明在软件的...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:16
  • 642

[C8051F320]Silicon Laboratories …

问题描述:之前用过这个Silicon的51单片机开发的IDE,感觉不怎么好用,之前也写过点使用与配置的东西。最近浏览Silicon官网发现有更新,于是下来尝试了下。     下载与安装:首先进入Sil...
  • suxiang198
  • suxiang198
  • 2015年07月11日 00:16
  • 925
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[C8051F320]C8051F320的串口工作机…
举报原因:
原因补充:

(最多只允许输入30个字)