• 大小: 93KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签: 51单片机  6050  

资源简介

51单片机通过MPU6050内部DMP获取姿态角,然后用LCD1602在屏幕上显示出来

资源截图

代码片段和文件信息

#include 
//#include <6050.h>
#include 
//#include 
//#include 
//#include 
#include 

//****************************************
//定义类型及变量
//****************************************
uchar dis[4]; //显示数字(-511至512)的字符数组
int dis_data; //变量
//int TemperatureTemp_hTemp_l; //温度及高低位数据

//**************************************
//在1602上显示10位数据
//**************************************
void Display10BitData(int valueuchar xuchar y)
{
value/=64; //转换为10位数据
lcd_printf(dis value); //转换数据显示
DisplayListChar(xydis4); //启始列,行,显示数组,显示长度
}

//****************************************
//LCD1602初始化
//****************************************
void InitLcd()
{
WriteCommandLCM(0x381);
WriteCommandLCM(0x081);
WriteCommandLCM(0x011);
WriteCommandLCM(0x061);
WriteCommandLCM(0x0c1);
DisplayOneChar(00‘A‘);
DisplayOneChar(01‘G‘);
}
//****************************************
//LCD1602写允许
//****************************************
void WaitForEnable(void)
{
DataPort=0xff;
LCM_RS=0;LCM_RW=1;_nop_();
LCM_EN=1;_nop_();_nop_();
while(DataPort&0x80);
LCM_EN=0;
}
//****************************************
//LCD1602写入命令
//****************************************
void WriteCommandLCM(uchar CMDuchar Attribc)
{
if(Attribc)WaitForEnable();
LCM_RS=0;LCM_RW=0;_nop_();
DataPort=CMD;_nop_();
LCM_EN=1;_nop_();_nop_();LCM_EN=0;
}
//****************************************
//LCD1602写入数据
//****************************************
void WriteDataLCM(uchar dataW)
{
WaitForEnable();
LCM_RS=1;LCM_RW=0;_nop_();
DataPort=dataW;_nop_();
LCM_EN=1;_nop_();_nop_();LCM_EN=0;
}
//****************************************
//LCD1602写入一个字符
//****************************************
void DisplayOneChar(uchar Xuchar Yuchar DData)
{
Y&=1;
X&=15;
if(Y)X|=0x40;
X|=0x80;
WriteCommandLCM(X0);
WriteDataLCM(DData);
}
//****************************************
//LCD1602显示字符串
//****************************************
void DisplayListChar(uchar Xuchar Yuchar *DDataL)
{
uchar ListLength=0; 
Y&=0x1;                
X&=0xF;                
while(L--)             
{                       
DisplayOneChar(XYDData[ListLength]);
ListLength++;  
X++;                        
}    
}

//****************************************
//整数转字符串
//****************************************
void lcd_printf(uchar *sint temp_data)
{
if(temp_data<0)
{
temp_data=-temp_data;
*s=‘-‘;
}
else *s=‘ ‘;
*++s =temp_data/100+0x30;
temp_data=temp_data%100;     //取余运算
*++s =temp_data/10+0x30;
temp_data=temp_data%10;      //取余运算
*++s =temp_data+0x30; 
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-27 23:17  51-DMP-NET\
     文件        6376  2009-05-07 14:37  51-DMP-NET\STARTUP.A51
     文件       14051  2018-06-27 23:17  51-DMP-NET\STARTUP.LST
     文件         749  2018-06-27 23:17  51-DMP-NET\STARTUP.OBJ
     文件        5665  2018-06-27 23:17  51-DMP-NET\lcd.LST
     文件        8779  2018-06-27 23:17  51-DMP-NET\lcd.OBJ
     文件        2933  2018-06-27 21:50  51-DMP-NET\lcd.c
     文件         873  2018-06-27 21:51  51-DMP-NET\lcd.h
     文件         731  2018-06-27 23:17  51-DMP-NET\t.LST
     文件         224  2018-06-27 23:17  51-DMP-NET\t.OBJ
     文件           0  2018-06-27 21:14  51-DMP-NET\t.c
     文件         135  2018-06-27 21:20  51-DMP-NET\t.h
     文件       41479  2018-06-27 23:17  51-DMP-NET\wen51-6050-DMP
     文件       45987  2018-06-27 23:17  51-DMP-NET\wen51-6050-DMP.LST
     文件       45524  2018-06-27 23:17  51-DMP-NET\wen51-6050-DMP.M51
     文件       38014  2018-06-27 23:17  51-DMP-NET\wen51-6050-DMP.OBJ
     文件        1139  2018-06-27 23:17  51-DMP-NET\wen51-6050-DMP.build_log.htm
     文件       31842  2018-06-27 23:16  51-DMP-NET\wen51-6050-DMP.c
     文件       22132  2018-06-27 23:17  51-DMP-NET\wen51-6050-DMP.hex
     文件          98  2018-06-27 23:17  51-DMP-NET\wen51-6050-DMP.lnp
     文件           0  2018-06-26 21:02  51-DMP-NET\wen51-6050-DMP.mpw
     文件        1785  2018-06-26 21:09  51-DMP-NET\wen51-6050-DMP.plg
     文件      138896  2018-06-27 22:17  51-DMP-NET\wen51-6050-DMP.uvgui.Administrator
     文件        6133  2018-06-27 22:17  51-DMP-NET\wen51-6050-DMP.uvopt
     文件       14288  2018-06-27 22:17  51-DMP-NET\wen51-6050-DMP.uvproj
     文件           0  2018-06-26 21:02  51-DMP-NET\wen51-6050-DMP_Uv2.Bak

评论

共有 条评论