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