标题:
C8051F020串口通讯 IO口测试 流水灯闪烁灯等实例程序
[打印本页]
作者:
helin_hbqy
时间:
2019-3-11 14:02
标题:
C8051F020串口通讯 IO口测试 流水灯闪烁灯等实例程序
C8051F020实例
0.png
(4.54 KB, 下载次数: 57)
下载附件
2019-3-11 23:01 上传
单片机源程序如下:
/********************************************************************************************************************************************
/*** C8051F120开发板实验: 5. 串口通讯实验
/***
/*** 说明: 本实验采用UART0输出数据到PC机 实验时将跳线帽接至+3V 复位一次,单片机发送256个数据 波特率为115200
/*** 推荐使用本店EC5进行下载和调试
/*** 开发环境: C8051F120最小系统板、EC5调试器、Keil uVision2
*********************************************************************************************************************************************/
#include <c8051f120.h>
#define uchar unsigned char
#define uint unsigned int
#define SYSCLK 100000000UL // SYSCLK frequency in Hz
#define BAUDRATE 115200 // Baud rate of UART in bps
sfr16 RCAP2 = 0xCA; /* TIMER 2 CAPTURE REGISTER - LOW BYTE */
sfr16 TMR2 = 0xCC; /* TIMER 2 - LOW BYTE */
void SYSCLK_Init();
void PORT_Init();
void UART0_Init();
void SYSCLK_Init()
{
uint i = 0;
SFRPAGE = CONFIG_PAGE;
OSCXCN = 0x67;
for (i = 0; i < 3000; i++); // Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
PLL0CN = 0x04;
CCH0CN &= ~0x20;
SFRPAGE = LEGACY_PAGE;
FLSCL = 0xB0;
SFRPAGE = CONFIG_PAGE;
CCH0CN |= 0x20;
PLL0CN |= 0x01;
PLL0DIV = 0x01;
PLL0FLT = 0x01;
PLL0MUL = 0x04; // 4倍倍频 -> 100MHz
for (i = 0; i < 15; i++); // Wait 5us for initialization
PLL0CN |= 0x02;
while ((PLL0CN & 0x10) == 0);
CLKSEL = 0x02;
}
void PORT_Init()
{
SFRPAGE = CONFIG_PAGE; // 寄存器页配置
XBR0 = 0x04; // RART0: EN
XBR2 = 0x40; // 全局弱上拉使能
P0MDOUT = 0xFF;
}
void UART0_Init()
{
uchar SFRPAGE_SAVE = SFRPAGE;
SFRPAGE = UART0_PAGE;
SCON0 = 0x50; // SCON0: mode 1, 8-bit UART, enable RX
SSTA0 = 0x15;
SFRPAGE = TMR2_PAGE;
TMR2CN = 0x00;
TMR2CF = 0x08;
RCAP2 = -((uint)(SYSCLK / BAUDRATE) >> 4);
TMR2 = RCAP2;
TR2 = 1;
EA = 1;
SFRPAGE = SFRPAGE_SAVE;
}
void main()
{
uchar SFRPAGE_SAVE;
uint i;
WDTCN=0XDE;
WDTCN=0XAD;
SYSCLK_Init();
PORT_Init();
UART0_Init();
for(i=0;i<256;i++)
{
SFRPAGE = UART0_PAGE;
SBUF0=i;
while(!TI0);
TI0=0;
SFRPAGE = SFRPAGE_SAVE;
}
while(1);
}
复制代码
所有资料51hei提供下载:
C8051F120例程.rar
(59.57 KB, 下载次数: 34)
2019-3-11 14:01 上传
点击文件名下载附件
C8051F020
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1