|
用51單片機開發板、傳感器模塊、電阻轉電壓模塊,LabVIEW軟件進行實驗操作,能夠通過LabVIEW的上位機界面來通過單片機傳遞信號來控led燈的亮滅
單片機源程序如下:
- #include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
- #include"XPT2046.h"
- typedef unsigned int u16; //對數據類型進行聲明定義
- typedef unsigned char u8;
- uchar CNCHAR[6] = "";
- sbit LED1=P2^0;
- sbit LED2=P2^1;
- sbit LED3=P2^2;
- sbit LED4=P2^3;
- sbit LED5=P2^4;
- void UsartConfiguration();
- unsigned char disp[4]={0,0,0,0};
- u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- /*******************************************************************************
- * 函 數 名 : delay
- * 函數功能 : 延時函數,i=1時,大約延時10us
- *******************************************************************************/
- void delay(u16 i)
- {
- while(i--);
- }
- /*******************************************************************************
- * 函數名 :datapros()
- * 函數功能 :數據處理函數
- * 輸入 : 無
- * 輸出 : 無
- *******************************************************************************/
- void datapros()
- {
- u16 temp;
- unsigned char datas[] = {0, 0, 0, 0, 0}; //定義數組
- static u8 i;
- temp = Read_AD_Data(0xE4); // AIN3 外部輸入
- disp[0]=temp/1000;//千位
- disp[1]=temp%1000/100;//百位
- disp[2]=temp%1000%100/10;//十位
- disp[3]=temp%1000%100%10; //個位
- SBUF=disp[3];
- SBUF = '0'+disp[0];//將接收到的數據放入到發送寄存器
- while (!TI); //等待發送數據完成
- TI = 0;
- SBUF = '0'+disp[1];//將接收到的數據放入到發送寄存器
- while (!TI); //等待發送數據完成
- TI = 0;
- SBUF = '0'+disp[2];//將接收到的數據放入到發送寄存器
- while (!TI); //等待發送數據完成
- TI = 0;
- SBUF = '0'+disp[3];//將接收到的數據放入到發送寄存器
- while (!TI); //等待發送數據完成
- TI = 0;
- for(i=0; i<4; i++)
- {
- SBUF = CNCHAR[i];//將接收到的數據放入到發送寄存器
- while (!TI); //等待發送數據完成
- TI = 0;
- }
- }
復制代碼 |
-
51hei.png
(6.15 KB, 下載次數: 57)
下載附件
2019-11-16 00:13 上傳
-
-
程序.rar
2019-11-15 19:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
124.44 KB, 下載次數: 39, 下載積分: 黑幣 -5
單片機和labview程序
評分
-
查看全部評分
|