91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 41KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-10
  • 語(yǔ)言: 其他
  • 標(biāo)簽: STC15F2K60S2??串口??

資源簡(jiǎn)介

STC15F2K60S2串口通信程序

資源截圖

代碼片段和文件信息

//**********************************************
//STC15F2K60S2串口通信程序?qū)⒋诮邮艿降臄?shù)據(jù)從串口發(fā)出去
//采用22.1184M晶振波特率115200
//為方便大家調(diào)試特附該程序的項(xiàng)目工程文件下載地址下載打開即可調(diào)試下載到單片機(jī)
//
//*********************************************


#include? //調(diào)用stc15f系列頭文件下載地址:?http://pan.baidu.com/s/1eRUbjLS

/*************常量定義****************/

#define?MAIN_Fosc 22118400L //主時(shí)鐘晶振頻率不同的直接在這里修改頻率
#define?serial_one_read_max? 32 //定義緩存區(qū)的長(zhǎng)度
#define?serial_one_baud_rate 115200L //波特率只需在這里修改波特率就可以了
#define Timer1_Reload (65536UL?-(MAIN_Fosc?/?4?/?serial_one_baud_rate)) ???//用定時(shí)器1做波特率發(fā)生器,計(jì)算定時(shí)器1的重裝值

/*************變量定義****************/
u8??serial_one_read_data[serial_one_read_max]; //定義串口接受數(shù)據(jù)緩存區(qū)
u8??serial_one_read_count=0; //接受數(shù)據(jù)的個(gè)數(shù)

//初始化串口1
void?serial_one_init()
{
SCON?|=?0x40; //8位數(shù)據(jù)
P_SW1?&=??~0xc0; //UART1?使用P30?P31口 默認(rèn)
TR1?=?0; //關(guān)閉定時(shí)器
AUXR?&=?~0x01; //S1?BRT?Use?Timer1;
TMOD?&=?~(1<<6); //Timer1?set?As?Timer
TMOD?&=?~0x30; //Timer1_16bitAutoReload;2
AUXR?|=??(1<<6); //Timer1?set?as?1T?mode
TH1?=?(u8)(Timer1_Reload?>>?8);
TL1?=?(u8)Timer1_Reload;
TR1??=?1; //打開定時(shí)器
PS?=?1; //高優(yōu)先級(jí)中斷
REN?=?1; //允許接收
ES??=?1; //允許中斷

EA?=?1; //允許全局中斷
}

//延時(shí)10毫秒
void?Delay10ms() //@22.1184MHz
{
unsigned?char?i?j?k;

_nop_();
_nop_();
i?=?1;
j?=?216;
k?=?35;
do
{
do
{
while?(--k);
}?while?(--j);
}?while?(--i);
}

//串口1發(fā)送一個(gè)字節(jié)
void?serial_one_send_byte(u8?dat)
{
SBUF?=?dat;//發(fā)送數(shù)據(jù)
while(!TI);//等待發(fā)送完畢
TI=0; ?//清除發(fā)送標(biāo)志
}

//串口1發(fā)送字符串
void?serial_one_send_string(u8?*dat)
{
while(*dat)
serial_one_send_byte(*dat++);
}

//串口1發(fā)送指定指定長(zhǎng)度數(shù)據(jù)
void?serial_one_send_length_string(u8?*datu8?length)
{
u8?i=0;
for(;i? serial_one_send_byte(dat[i]);
}


void?main()
{
Delay10ms();//延時(shí)10毫秒
Delay10ms();//延時(shí)10毫秒
serial_one_init();//串口初始化
while(1)
{
if(serial_one_read_count?>?0)//如果接受到數(shù)據(jù)
{
Delay10ms();//延時(shí)10毫秒,等待數(shù)據(jù)全部讀入
serial_one_send_length_string(serial_one_read_dataserial_one_read_count);//發(fā)送接收到的數(shù)據(jù)
serial_one_read_count?=?0;//接收計(jì)數(shù)清0
}
}
}

/*********************?串口1中斷函數(shù)************************/
void?UART1_int?(void)?interrupt?UART1_VECTOR
{
if(RI)
{
RI?=?0;//清除接受標(biāo)志
serial_one_read_data[serial_one_read_count]?=?SBUF;//將數(shù)據(jù)存入數(shù)組
if(++serial_one_read_count?>?serial_one_read_max) ?//避免溢出
serial_one_read_count?=?0;
}

// if(TI)
// {
// }
}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-06-18?18:49??串口通信\
?????文件????????2780??2017-06-18?18:48??串口通信\main.c
?????文件????????5985??2017-06-18?18:48??串口通信\main.LST
?????文件???????26252??2017-06-18?18:48??串口通信\main.OBJ
?????文件???????25455??2017-06-18?18:48??串口通信\serial
?????文件????????1348??2017-06-18?18:48??串口通信\serial.hex
?????文件??????????42??2017-06-18?18:48??串口通信\serial.lnp
?????文件????????8873??2017-06-18?18:48??串口通信\serial.M51
?????文件???????15858??2017-06-18?18:48??串口通信\serial.plg
?????文件???????71938??2017-06-18?18:49??串口通信\serial.uvgui.Administrator
?????文件????????5374??2017-06-18?18:49??串口通信\serial.uvopt
?????文件???????13414??2017-06-18?18:49??串口通信\serial.uvproj
?????文件???????32794??2017-06-12?21:40??串口通信\STC15Fxxxx.H

評(píng)論

共有 條評(píng)論