?? sm2b.c
字號:
#include <SM2B.h>
#include <c8051F020.h>
//****************系統時鐘初始化****************//////
void SYSCLK_Init(void)
{
int i;
//啟用外部振蕩器
OSCXCN=0x67;
//等待振蕩器起
for(i=0;i<256;i++);
//等待振蕩器穩定
while(!(OSCXCN&0x80));
//允許時鐘丟失檢測器,選擇外部時鐘作為系統時鐘
OSCICN=0x88;
}
//******************UART0用定時器1作為波特率發生器,串口工作在方式1
void UART0_Init(void)
{
//設定波特率
TMOD=0x20;
TH1=-SYSCLK/BAUDRATE/16;
TL1=-SYSCLK/BAUDRATE/16;
TR1=1;
CKCON|=0x10;
//串行口工作在方式1
SCON0|=0x50;PCON|=0x80;
// 關閉串口中斷
IE&=0xEF;
}
//初始化端口
void Port_Init(void)
{
XBR0=0x0c;
XBR1=0x14;
XBR2=0x46;
P0MDOUT=0xe5;
P1MDOUT=0xc4;
P2MDOUT=0xff;
P3MDOUT=0xff;
P0|=0x1a;
P1|=0x3b;
}
// 串口接收一個字節查詢方式工作
//100ms內接收到字節
void GetPkgByte(unsigned char *Tranchar1)
{
while(RI0==0);RI0=0;
*Tranchar1=SBUF0;
}
//發送一個字節的數據
void SendPkgByte (uchar Tranchar)
{
SBUF0=Tranchar;
while(TI0==0);
TI0=0;
}
///串口接收一個數據包包數據放在cmd指針指向
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -