原创
C8051f330第二个程序--------串口
//2011.8.29晚.
//非常感谢百度空间的SENSE Tech博客。
//串口是单片机最小系统必备的模块之一,在许多不能进行在线调试的场合,串口是非常方便的调试工具。
//C8051F330内部有一个SMBus接口,一个全双工的UART,一个SPI接口.
//每种串行总线都完全用硬件实现,都能产生中断.
//此程序采用UART串行总线,当采用UART串行总线时,串口波特率只能由定时器1进行定时,这一点可以从PDF中了解到。
#include<c8051F330.h>
void delayms(int);
void main()
{
PCA0MD&=~0x40; //关闭看门狗.
P0MDOUT=0x10; //当UART被选择时,交叉开关为其分配两个引脚(TX和RX),UART的TX0总被分配到P0.4,RX0总被分配到P0.5 , P0MDOUT为端口P0输出方式寄存器,P0MDOUT=0x10即将P0.4位输出为推挽方式
XBR0=0x01; //XBR0为I/O端口交叉开关寄存器,XBR0=0x01即设置UART的TX0,RX0连到端口P0.4,P0.5.
XBR1=0x40; //为使端口引脚工作在标准I/O输出方式,交叉开关必须被使能.
TMOD=0x20; nbsp; //即TR1=1,启动定时器1.
while(1)
{
SBUF0=0x11; //从UART里发送0x11到SBUF0
while(TI0==0); //等待发送结束.
TI0=0; //发送结束后,TI0清0
delayms(1000);
}
}
void delayms(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
用户377235 2012-8-29 00:33