|
用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)
-
-
程序.rar
124.44 KB, 下载次数: 39, 下载积分: 黑币 -5
单片机和labview程序
评分
-
查看全部评分
|