📄 public.c
字号:
#pragma large
#include "public.h"
ULONG xdata maxOverFlow=0xffff;
//ULONG xdata oscFrequency=11059200;
ULONG xdata oscFrequency= 11059200;
/*************************************/
//功能:延时ms毫秒
//ms:需要延时的毫秒
/*************************************/
void Delay(UINT ms)
{
UINT i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<100;j++)
{
_nop_();
}
}
}
void SetupComm0Para(ULONG iBaudRate)
{
//tm= 256 - (oscFrequency/32/6/iBaudRate);
//TL1=tm; //定时器1作为串口1的波特率发生器,公式:bps=11059200/32/12/(256-TH1) 接 9600波特率 目前在89c54中使用了双倍速,这里公式中除12改为除6
//TH1=tm; //
unsigned short T2Time;
T2CON=0x30;//bps mode
T2Time= maxOverFlow - (oscFrequency/16/iBaudRate)+1; // T2=0ffffh-(11059200/(bps*16*2)),相同时不溢出。所有加一
TL2=T2Time&0xFF;
TH2=(T2Time&0xff00)>>8;
RCAP2L=T2Time&0xFF;
RCAP2H=(T2Time&0xFF00)>>8;
REN=1; //允许串口接收位
PS =0; //串行口中断声明为高优先级中断
PSH = 1; //优先级1
ES= 1; //允许串行口中断
//TR1=1; //开定时器1
TR2=1;
//T2=0ffffh-(11059200/(bps*16*2))//
//set timer 2 to baud rate generator mode 9600 as serial port0
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -