資源簡介
該工程,是用KEIL開發的適合單片機的采集AD值,并且通過串口傳輸數據,采用了協議傳輸,通過相應的上位機顯示波形圖,很有用

代碼片段和文件信息
/**********************
文件名稱:ad_wave.c
作者:王偉
說明:串口發送AD例程
修改記錄:
***********************/
/**********************
基于STC15F2K60S2系列單片機C語言編程實現
使用如下頭文件
***********************/
#include?“STC15F2K60S2.h“
/**********************
宏定義
/*********************/
#define?Machine_Focs?11059200L
#define?BAUD?115200
/**********************
引腳別名定義
***********************/
/**********************
全局變量定義
***********************/
char?rec_flag=0;??//用于標識接收的數據
unsigned?char?a=0b=1c=0;?//用于保存并校驗收到的數據
?
char?flag=0;
unsigned?char?i=1;
unsigned?char?zero=0; ???//發送高8位
unsigned?char?one=0;
unsigned?char?temp=0;
unsigned?char?light=0;
unsigned?char?zero_t=0; ??//發送低2位
unsigned?char?one_t=0;
unsigned?char?temp_t=0;
unsigned?char?light_t=0;
unsigned?char?other=0;????//另外湊齊的一個字節
unsigned?char?sum=0;//存放校驗和
/****************************************************************************
*Uart1_Init()
*初始化串口1的相關設置,設定串口的波特率等
***************************************************************/
void?Uart1_Init(void)
{
AUXR=0X00; //改為定時器T0為12T工作模式注意工作模式的切換
SCON|=0X50;????//允許接收
TL1=(65536-(Machine_Focs/4/BAUD));
TH1=(65536-(Machine_Focs/4/BAUD))>>8;
AUXR|=0X40;
RI=0;
TI=0;
TR1=1;
//使用定時器T0定時為1ms
TMOD=0x00;
IE=0xB2;//包括允許總中斷,AD中斷,T0中斷,串口中斷
? TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
TR0=1;//啟動定時器T0
PS?=?1?; //串口1中斷高優先級
}
/********************************************************************************************
*Uart1()
*串口1中斷服務程序,只有當接收到數據時才應用串口中斷,當發送數據時關閉串口中斷
*/
void?Uart1_fun()?interrupt?4?using?1
{
??if(RI==1)
??{
?? ???RI=0;
???
???if(c==b)
???{
??? b=1;
??? return;
???}
???if((rec_flag==0)&&(SBUF==0x5A))
???{
??? // IE=0x90;//測試
??? a=SBUF;
??? rec_flag++;
???}
???else??if(rec_flag==1)
{
??b=SBUF;
??if(b==0x5A)
??{
?? ??rec_flag=1;
??a=0x5A;
??return;
??}
rec_flag++;
}
else??if(rec_flag==2)
{
c=SBUF;
if(c==0x5A)
{
?? ??rec_flag=1;
??a=0x5A;
??return;
}
if(c!=a+b)
{
b=1;
}
rec_flag=0;
// IE=0xB2;
}
??}
??
// ??if(RI==1)
// ??{
//
// RI=0;
//
//
// if(rec_flag==2)
// {
// c=SBUF;
// c=~c;
// if(c!=a+b)
// {
// b=1;
// }
// rec_flag=0;
// }
// if(rec_flag==1)
// {
// b=SBUF;
// rec_flag++;
// }
// if(SBUF==0x5A)
// {
// ?a=SBUF;
// ?rec_flag++;
// }
//
//
// ?
//
// ??}
}
/********************************************************************/
/*
延時函數
*/
void?Delay(int?n)
{
int?y;
while(n--)
{
y=60;
while(y--);
}
}
//發送數據
void?SendData(int?byt)
{
?SBUF=0;//緩沖區清零
?SBUF=byt;
?while(!TI);
?TI=0;
} ?
//T0中斷并且定時發送數據給上位機
void?t0int()?interrupt?1
{
if(i==b)
{
//TR0=0;
IE=0x00;//發送數據的時候所有關閉所有中斷
???
SendDa
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????32581??2014-08-22?19:49??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\參考資料\測光和溫度和電壓.jpg
?????文件??????65536??2014-08-22?21:40??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD串口傳輸說明.doc
?????文件???????9226??2014-08-24?01:20??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave
?????文件???????5403??2014-08-24?01:19??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\ad_wave.c
?????文件???????2131??2014-08-24?01:20??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave.hex
?????文件?????????46??2014-08-24?01:20??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave.lnp
?????文件??????15054??2014-08-24?01:20??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\ad_wave.LST
?????文件??????14533??2014-08-24?01:20??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave.M51
?????文件??????10984??2014-08-24?01:20??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\ad_wave.OBJ
?????文件???????1674??2014-08-24?01:35??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave.plg
????.......?????55728??2014-08-24?01:35??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave.uvopt
?????文件??????13473??2014-08-22?18:47??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave.uvproj
????.......?????55728??2014-08-24?01:35??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave_uvopt.bak
?????文件??????13469??2014-08-22?18:45??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\AD_Wave_uvproj.bak
?????文件???????9064??2014-03-29?12:51??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程\STC15F2K60S2.H
?????目錄??????????0??2014-08-23?21:31??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\參考資料
?????目錄??????????0??2014-08-24?01:35??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02\采集AD值顯示波形圖工程
?????目錄??????????0??2014-08-23?21:31??采集AD值顯示波形圖工程03\采集AD值顯示波形圖工程02
?????目錄??????????0??2014-08-23?23:41??采集AD值顯示波形圖工程03
-----------?---------??----------?-----??----
???????????????304630????????????????????19
- 上一篇:各大商家統一存儲產品分析
- 下一篇:JADE開發多Agent系統.zip
評論
共有 條評論