C8051F单片机和PC机串口通讯程序
//------------------------------------------------------------------
//串口编程--接收PC发过来的字符串,回发字符串.发送期间中断控制LED灯闪烁
//采用外部晶振22.1184MHz 使用定时器1,方式2产生波特率,SMOD = 0或者1
//定时器初值X=256-SYSCLK*(SMOD+1)/(BAUDRATE*384)
//
//程序编写: 郭郭
//编程时间: 2005,12,30
//最后修改: 2005,12,31
//------------------------------------------------------------------
#include C8051F020.h>
sfr16 TMR3RL = 0x92;
sfr16 TMR3 = 0x94;
#define uchar unsigned char
#define uint unsigned int
//------------------------------------------------------------------
//参数设置区
//------------------------------------------------------------------
#define BAUDRATE 4800
#define CLKOUT 22118400
#define SMODVAL 0
#define PCONVAL 0x00
#define TXVAL (256-CLKOUT*(SMODVAL+1)/BAUDRATE/384)
#define MAX_LEN 10
//------------------------------------------------------------------
//全局变量
//------------------------------------------------------------------
sbit LED = P1^6;
bit
uchar readCounts = 0;
uchar idata trdata[MAX_LEN];
//------------------------------------------------------------------
//子函数声明
//------------------------------------------------------------------
void SYSCLK_Init(void);
void PORT_Init(void);
void UART0_Init(void);
void Send_Char(uchar ch);
void Send_String(uchar * str, uint len);
void UART0_ISR();
void Timer3_Init(uint counts);
void Timer3_ISR(void);
//------------------------------------------------------------------
//主函数
//------------------------------------------------------------------
void main(void)
{
}
//------------------------------------------------------------------
//子函数具体实现
//------------------------------------------------------------------
//系统时钟初始化
void SYSCLK_Init(void)
{
}
//端口初始化
void PORT_Init(void)
{
}
//串口初始化
void UART0_Init(void)
{
}
//定时器初始化
void Timer3_Init(uint counts)
{
}
//发送单个字符
void Send_Char(uchar ch)
{
}
C8051F单片机PC机串口通 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)