LabVIEW控制51数码管显示

本文介绍了如何使用LabVIEW2015 32位版本通过串口通信控制STC89C52RC 51单片机,进而操作TM1638数码管控制模块进行显示。文中详细列出了LabVIEW程序以及51单片机工程中涉及的主要文件,包括main.c、tm1638.h、tm1638.c、uart.h等,并展示了最终的控制效果。
摘要由CSDN通过智能技术生成

LabVIEW控制51数码管显示

LabVIEW版本:LabVIEW2015 32位

51单片机:STC89C52RC

Keil版本:μVision V5.14.2

数码管模块:TM1638数码管控制模块

实现功能:

LabVIEW通过串口连接51单片机控制数码管的显示

1、LabVIEW程序:

       

2、51单片机工程文件列表

2.1、main.c文件

/**
  ***************************************************************************************
  * 文  件:工程主函数文件
  * 芯  片:STC89C52RC
  * 创  建:hx
  * 时  间:2018-8-21
  ***************************************************************************************
  */

#include <reg51.h>  //51系列单片机头文件
#include "tm1638.h"  //TM1638模块实现头文件
#include "uart.h"  //串口实现头文件

sbit LED0 = P2^0;  //LED0
sbit LED1 = P2^1;  //LED1

/**
  ***************************************************************************************
  * 函  数:工程主函数
  * 参  数:无
  * 返回值:无
  ***************************************************************************************
  */
void main()
{
	unsigned int num=0;  //计数
	
	TM1638_Init();  //TM1638初始化
	UART_Init();  //串口初始化
	
	while(1)
	{
		num++;
		if(num==30000)
		{
			LED0 = !LED0;  //LED0亮灭转换,指示程序正常运行
			num = 0;
		}
		if(RxComplete == 1)  //接收完成
		{
			TM1638_Tube(TubeDispCmd[0],TubeDispCmd[1],TubeDispCmd[2]);  //数码管显示
			RxComplete = 0;  //清除接收完成标志
		}
	}
}

2.2、tm1638.h文件

/**
  ***************************************************************************************
  * 文  件:TM1638模块实现头文件
  * 创  建:hx
  * 时  间:2018-6-21
  ***************************************************************************************
  */

void TM1638_WriteData(unsigned char Data);  //TM1638写数据函数

void TM1638_WriteAddressData(unsigned char addr,unsigned char Data);  //TM1638指定地址写数据函数

unsigned char TM1638_Read(void);  //TM1638读数据函数

void TM1638_Light(unsigned char light,unsigned char state);  //TM1638指定LED灯亮灭函数
/** 参  数:light:LED灯序号;0:选中所有LED灯;1~8:选中第1~8个LED灯;
  * 参  数:state:0灭1亮 */
  
void TM1638_Tube(unsigned char tube,unsigned char num,unsigned char state);  //TM1638数码管显示函数
/** 参  数:tube:数码管序号;0:选中所有数码管;1~8:选中第1~8个数码管;
  * 参  数:num:要显示的数字,0-F;16:-;
  * 参  数:state:状态,0不带小数点,1带小数点,2灭 */
  
unsigned char TM1638_ReadKey(void);  //TM1638读键扫数据函数
/** 返回值:读取的按键号,1~8;无按键按下时返回0 */

void TM1638_Init(voi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值