單片機LABVIEW上位機溫度曲線顯示 工業中可以實現控制 效果挺不錯 的
- /****************************************
- *使用的是 STC12C5A32S2 單片機 data 256 xdata 1024 EERROM 28k 56扇區 flash 32k
- *
- *時間:2014-11-20
- *
- *
- *
- *****************************************/
- #include <STC12C5A60S2.h>
- #include "serial.h"
- #include "DS18b20.h"
- bit f=0; //表示上位機要求發送溫度數據的標志位
- sbit led=P2^1;
- void DELAY_MS (unsigned int a);
- void main(void){
- int i;
- unsigned char H,L;
-
- serial_init();
-
- for(i=0;i<6;i++){
- led=~led;
- DELAY_MS(100);
- }
- led=0;
-
- while(1){
-
- if(f){//f==1 表示上位機要求發送溫度數據
- ES=0;//關閉串口中斷
- getTemperature(&H,&L);
- serial_t(H);//發送溫度高8位
- serial_t(L);//發送溫度低8位
- f=0;
- ES=1;//開串口中斷
- }
-
- }
-
- }
- /************************************
- *串口中斷處理函數
- *
- ************************************/
- void serial(void) interrupt 4 {
- static unsigned char flag=0; //接收狀態標志
- if(RI==1){//接收中斷標志位為1時
- RI=0;//清除中斷標志
- if(SBUF==0xAA){//上位機要求發送溫度數據
- f=1;
- }
-
- }
-
-
- }
- /*******************************************
- *毫秒級CPU延時函數
- *
- *應用于1T單片機時i<600,應用于12T單片機時i<125
- *******************************************/
- void DELAY_MS (unsigned int a){
- unsigned int i;
- while( a-- != 0){
- for(i = 0; i < 125; i++);
- …………限于本文篇幅 余下代碼請從51hei下載附件…………
復制代碼
下載:
簡單溫度采集.rar
(68.4 KB, 下載次數: 270)
2017-5-2 15:41 上傳
點擊文件名下載附件
LABVIEW
|