wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5074|回復: 3
收起左側

求助:基于單片機電子羅盤設計程序

[復制鏈接]
ID:198094 發表于 2017-5-8 13:46 | 顯示全部樓層 |閱讀模式
各位大牛你們好,從論壇里找的電子羅盤程序, 但是有一部分程序不理解,肯求各位幫助:

程序如下:
  •                 if((angle >= 3380) || (angle <= 220))          //北 N
  •                         write_string(2,0,"  N  ");
  •                 if((angle >= 230) && (angle <= 670))          //東 北
  •                         write_string(2,0," E N ");
  •                 if((angle >= 680) && (angle <= 1120))          //東 E
  •                         write_string(2,0,"  E  ");
  •                 if((angle >= 1130) && (angle <= 1570))          //東 南
  •                         write_string(2,0," E S ");
  •                 if((angle >= 1580) && (angle <= 2010))          //南  S
  •                         write_string(2,0,"  S  ");
  •                 if((angle >= 2020) && (angle <= 2460))          //西 南
  •                         write_string(2,0," W S ");
  •                 if((angle >= 2470) && (angle <= 2910))          //西  W
  •                         write_string(2,0,"  W  ");
  •                 if((angle >= 2920) && (angle <= 3360))          //西  北
  •                         write_string(2,0," W N  ");
  •                 delay_1ms(300);


回復

使用道具 舉報

ID:187486 發表于 2017-5-10 08:22 | 顯示全部樓層
程序不齊全
回復

使用道具 舉報

ID:198742 發表于 2017-5-10 11:12 | 顯示全部樓層
程序不齊全
回復

使用道具 舉報

ID:198094 發表于 2017-5-15 16:53 | 顯示全部樓層

程序:
#include <reg52.h>                 //調用單片機頭文件
#define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
#define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535
#include  <math.h>    //Keil library  
#include  <stdio.h>   //Keil library       
#include  <INTRINS.H>

sbit rs=P1^0;         //寄存器選擇信號 H:數據寄存器          L:指令寄存器
sbit rw=P1^1;         //寄存器選擇信號 H:數據寄存器          L:指令寄存器
sbit e =P1^2;         //片選信號   下降沿觸發

sbit SCL=P2^1;      //IIC時鐘引腳定義
sbit SDA=P2^0;      //IIC數據引腳定義

#define        SlaveAddress   0x3C                 //定義器件在IIC總線中的從地址
uchar BUF[8];                        //接收數據緩存區             
uchar ge,shi,bai,qian,wan;           //顯示變量
int  dis_data;                       //變量

/******************1ms 延時函數*******************/
void delay_1ms(uint q)
{
uint i,j;
for(i=0;i<q;i++)
for(j=0;j<120;j++);
}


/***********************延時函數************************/
void delay_uint(uint q)
{
while(q--);
}

/**************************************
延時5微秒(STC90C52RC@12M)
不同的工作環境,需要調整此函數,注意時鐘過快時需要修改
當改用1T的MCU時,請調整此延時函數
**************************************/
void Delay5us()
{
             _nop_();_nop_();_nop_();_nop_();
             _nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
              _nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
             _nop_();_nop_();_nop_();_nop_();

}

/***********************lcd1602寫命令函數************************/
void write_com(uchar com)
{
e=0;
rs=0;
rw=0;
P0=com;
delay_uint(3);
e=1;
delay_uint(25);
e=0;
}

/***********************lcd1602寫數據函數************************/
void write_data(uchar dat)
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_uint(3);
e=1;
delay_uint(25);
e=0;       
}

/***********************lcd1602上顯示特定的字符************************/
void write_zifu(uchar hang,uchar add,uchar date)
{
if(hang==1)   
write_com(0x80+add);
else
write_com(0x80+0x40+add);
write_data(date);       
}

/***********************lcd1602上顯示這字符函數************************/
void write_string(uchar hang,uchar add,uchar *p)
{
if(hang==1)   
write_com(0x80+add);
else
write_com(0x80+0x40+add);
while(1)         
{
if(*p == '\0')  break;
write_data(*p);
p++;
}       
}


/***********************lcd1602初始化設置************************/
void init_1602()         //lcd1602初始化設置
{
write_com(0x38);        //
write_com(0x0c);
write_com(0x06);
write_string(1,0,"  zhi nan zhen ");       
write_string(2,0,"               ");       
write_zifu(2,11,0xdf);  //顯示度       
}

/***********************lcd1602上顯示兩位十進制數************************/
void write_jiaodu(uchar hang,uchar add,uint date)
{
if(hang==1)   
write_com(0x80+add);
else
write_com(0x80+0x40+add);
write_data(0x30+date/1000%10);
write_data(0x30+date/100%10);
write_data(0x30+date/10%10);
write_data('.');
write_data(0x30+date%10);       
}

/**************************************
起始信號
**************************************/
void HMC5883_Start()
{
    SDA = 1;                    //拉高數據線
    Delay5us();                 //延時
    SDA = 0;                    //產生下降沿
    Delay5us();                 //延時
    SCL = 0;                    //拉低時鐘線
}

/**************************************
停止信號
**************************************/
void HMC5883_Stop()
{
    SDA = 0;                    //拉低數據線
    SCL = 1;                    //拉高時鐘線
    Delay5us();                 //延時
    SDA = 1;                    //產生上升沿
    Delay5us();                 //延時
}

/**************************************
發送應答信號
入口參數:ack (0:ACK 1:NAK)
**************************************/
void HMC5883_SendACK(bit ack)
{
    SDA = ack;                  //寫應答信號
    SCL = 1;                    //拉高時鐘線
    Delay5us();                 //延時
    SCL = 0;                    //拉低時鐘線
    Delay5us();                 //延時
}

/**************************************
接收應答信號
**************************************/
bit HMC5883_RecvACK()
{
    SCL = 1;                    //拉高時鐘線
    Delay5us();                 //延時
    CY = SDA;                   //讀應答信號
    SCL = 0;                    //拉低時鐘線
    Delay5us();                 //延時

    return CY;
}

/**************************************
向IIC總線發送一個字節數據
**************************************/
void HMC5883_SendByte(uchar dat)
{
    uchar i;

    for (i=0; i<8; i++)         //8位計數器
    {
        dat <<= 1;              //移出數據的最高位
        CY = SDA;               //送數據口
        SCL = 0;                //拉高時鐘線
        Delay5us();             //延時
        SCL = 1;                //拉低時鐘線
        Delay5us();             //延時
    }
    HMC5883_RecvACK();
}

/**************************************
從IIC總線接收一個字節數據
**************************************/
uchar HMC5883_RecvByte()
{
    uchar i;
    uchar dat = 0;

    SDA = 1;                    //使能內部上拉,準備讀取數據,
    for (i=0; i<8; i++)         //8位計數器
    {
        dat <<= 1;
        SCL = 1;                //拉高時鐘線
        Delay5us();             //延時
        dat |= SDA;             //讀數據               
        SCL = 0;                //拉低時鐘線
        Delay5us();             //延時
    }
    return dat;
}

//***************************************************

void Single_Write_HMC5883(uchar REG_Address,uchar REG_data)
{
    HMC5883_SendByte(SlaveAddress);   //發送設備地址+寫信號
    HMC5883_SendByte(REG_Address);    //內部寄存器地址,請參考中文pdf
    HMC5883_SendByte(REG_data);       //內部寄存器數據,請參考中文pdf
}

//******************************************************
//
//連續讀出HMC5883內部角度數據,地址范圍0x3~0x5
//
//******************************************************
void Multiple_read_HMC5883(void)
{   uchar i;
    HMC5883_Start();                          //起始信號
    HMC5883_SendByte(SlaveAddress);           //發送設備地址+寫信號
    HMC5883_SendByte(0x17);                     //起始信號
for (i=0; i<6; i++)                      //連續讀取6個地址數據,存儲中BUF
    {
        BUF = HMC5883_RecvByte();          //BUF[0]存儲數據
        if (i == 5)
        {
           HMC5883_SendACK(1);                //最后一個數據需要回NOACK
        }
        else
        {
          HMC5883_SendACK(0);                //回應ACK
       }
   }
    delay_1ms(5);
}

//初始化HMC5883,根據需要請參考pdf進行修改****
void Init_HMC5883()
{
     Single_Write_HMC5883(0x02,0x00);  //
}


/*****************主函數********************/
void main()
{       
    int x,y,z,jiadu;
    double angle;
P0 = P1 = P2 = P3 = 0xff;        //單片機IO口初始化為1
    Init_HMC5883();
init_1602();         //lcd1602初始化
while(1)
{   
    Multiple_read_HMC5883();      //連續讀出數據,存儲在BUF中
//---------顯示X軸
    x=BUF[0] << 8 | BUF[2]; //Combine MSB and LSB of X Data output register
    z=BUF[2] << 8 | BUF[4]; //Combine MSB and LSB of Z Data output register

    angle= atan2((double)y,(double)x) * (180 / 3.14); // angle in degrees
jiadu = angle;
write_jiaodu(2,6,angle);        //顯示角度
if((angle >= 3380) || (angle <= 220))          //北 N
write_string(2,0,"  N  ");       
if((angle >= 230) && (angle <= 670))          //東 北
write_string(2,0," E N ");       
if((angle >= 680) && (angle <= 1120))          //東 E
write_string(2,0,"  E  ");       
if((angle >= 1130) && (angle <= 1570))          //東 南
write_string(2,0," E S ");       
if((angle >= 1580) && (angle <= 2010))          //南  S
write_string(2,0,"  S  ");       
if((angle >= 2020) && (angle <= 2460))          //西 南  
write_string(2,0," W S ");       
if((angle >= 2470) && (angle <= 2910))          //西  W  
write_string(2,0,"  W  ");       
if((angle >= 2920) && (angle <= 3360))          //西  北  
write_string(2,0," W N  ");       
delay_1ms(255);

}
}
就是最后定義東南西北角度的數值,不知道怎么來的,求大神幫幫忙,馬上答辯了,難過
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
国产在线日韩在线| 国产性猛交xx乱| 日本一区二区不卡| 91.成人天堂一区| 91尤物视频在线观看| 国产尤物久久久| 欧美xxxx黑人又粗又长| 你懂的免费网站| 国产精品视频第一页| 午夜在线观看一区| 99热手机在线| 亚洲巨乳在线观看| 国产女人精品视频| 中文字幕在线看视频国产欧美| 精品久久久久久久中文字幕| 99视频精品免费视频| 日韩香蕉视频| 一区二区小说| 91福利精品在线观看| 黄色软件在线观看| 老女人av在线| 四虎影院影音| 国产免费久久久| 欧美色图亚洲天堂| 37p粉嫩大胆色噜噜噜| 麻豆传传媒久久久爱| 亚洲精品中文综合第一页| 91在线视频一区| 55夜色66夜色国产精品视频| 在线电影中文日韩| 日韩精品一区二区三区视频| 欧美日韩美女在线| **性色生活片久久毛片| 成人的网站免费观看| 日本中文字幕一区| 亚洲性视频h| 欧美伦理影院| 欧美重口另类| 试看120秒一区二区三区| 久久青草伊人| 国产原创在线观看| 国产系列在线观看| 最新av在线网站| 欧美hdsex| 欧洲有码在线视频| 国产一区二区三区不卡免费观看| 亚洲成人黄色片| 伊人影院中文字幕| 天天干天天干天天| 日韩久久久久久久久| 很污很黄的网站| 精品人伦一区二区| 久久精品一区二区免费播放 | 污视频网站在线播放| 亚洲精品国产精品国自产网站按摩| 日本少妇xxxxx| 男人的天堂影院| 久久久久亚洲av片无码v| 亚洲欧美国产中文| 香蕉视频999| 潘金莲激情呻吟欲求不满视频| 日本xxxxxxx免费视频| 日韩中文字幕在线视频观看| 日本大片免费看| 久操手机在线视频| 奇米777四色影视在线看| 性做爰过程免费播放| 7777在线视频| 老子影院午夜伦不卡大全| 日韩一级特黄毛片| 日韩av三级在线| 少妇性l交大片| 久久99999| 五月天婷婷影视| 又黄又爽又色的视频| 在线观看一区二区三区视频| 妖精视频在线观看| xxxx国产视频| 在线观看国产精品一区| 日本少妇aaa| 久久久国产成人| 国产女同在线观看| 中文字幕在线观看欧美| www国产在线| 色吊丝av中文字幕| 欧美wwwwxxxx| 免费黄色a网站| 成人精品3d动漫| 中文字幕在线资源| 欧美成人综合在线| 中文在线免费| 在线免费观看www| 大陆一级毛片免费观看| 免费看的毛片| 国产在线观看免费| av中文在线资源库| 亚洲成a人片777777久久| 91久久精品无嫩草影院| 黑人操亚洲人| 亚洲伦理精品| 国产在线观看一区二区| 91网页版在线| 亚洲一区二区在线免费观看视频 | 狠狠色综合网站久久久久久久| 欧日韩一区二区三区| 欧美一级欧美一级在线播放| 日韩国产欧美区| 久久久国产精彩视频美女艺术照福利 | 色99中文字幕| 中文字幕无码精品亚洲资源网久久| 亚洲精品高清无码视频| 亚洲精品乱码久久| 久久亚洲AV无码| 精品久久久久中文慕人妻| 欧美肥婆xxxx欧美另类| 高清一级毛片视频| av在线免费观看网址| 蜜桃成人精品| 亚洲老女人视频免费| 日韩视频一区| 91视频免费播放| 欧美日韩在线第一页| 日韩成人激情在线| 国产成人精品av| 日韩黄色影视| 手机视频在线观看| 久久av红桃一区二区禁漫| 国产又粗又黄视频| 特大巨黑人吊性xxx视频| 青青草在线播放| 成人天堂yy6080亚洲高清| 红桃视频在线观看一区二区| 日韩中文字幕区一区有砖一区| 久久久久久久久久久99999| 好吊成人免视频| 一区二区三区高清国产| 国产日韩欧美视频在线| 黄色a级片免费看| 污污污www精品国产网站| 免费黄色网址在线| www·91·com| 999国产在线视频| 精品一区二区三区视频在线播放| 欧美日韩理论| 久久久午夜精品| 欧美区视频在线观看| 欧美日韩ab片| 欧美一区1区三区3区公司 | 成人午夜网址| 美女被久久久| 亚洲欧美国产77777| 日韩av网址在线| 国产精品网站入口| 99色这里只有精品| 日韩精品电影一区二区三区| 亚洲精品视频专区| 黄页免费在线观看| 在线日韩三级| 日韩av电影免费观看高清完整版| 一区二区三区色| 中文欧美日本在线资源| 激情视频一区二区| 欧美在线激情网| 亚洲精品日韩成人| 国产夫妻性爱视频| 亚洲黄色在线播放| 在线成人一区| 国产精品丝袜在线播放| 国产呦萝稀缺另类资源| 欧美在线观看一区| 欧亚精品中文字幕| 国产二级片在线观看| 国产在线视频二区| 午夜天堂在线观看| 中文在线中文资源| 免费欧美在线| 色狠狠一区二区| 国产成人久久久| 免费激情视频在线观看| 精人妻无码一区二区三区| 爽死777影院| 免费成人高清在线视频| 麻豆精品视频在线观看视频| 欧美自拍丝袜亚洲| 国产精品免费视频久久久| 亚洲一区二区蜜桃| 国产精品热久久| 在线黄色.com| 国产一区二区欧美| 国产精品盗摄一区二区三区| 不卡av在线网站| 妞干网视频在线观看| 欧美一级视频免费观看| 天天射夜夜爽| 欧美国产中文高清| 97精品超碰一区二区三区| 亚洲欧洲av一区二区| 在线看成人av电影| 日本亚洲欧美在线| 理论视频在线观看| 一本色道久久综合亚洲精品酒店 | 亚洲欧洲午夜| 欧美色欧美亚洲另类二区| 成人免费视频在线观看超级碰| 五月天六月丁香| 亚洲欧洲成人在线| 亚洲丝袜精品| 老**午夜毛片一区二区三区| 欧美夫妻性生活| 美媛馆国产精品一区二区| 亚洲精品电影院| 18激情网站| 日韩极品少妇| 依依成人精品视频| 国产伦精品免费视频| av2014天堂网| 日本免费看片网站| 国产伦乱精品| 亚洲最新视频在线观看| 国产免费久久av| 亚洲人成人无码网www国产| 免费看的黄网站| 欧美一区自拍| 午夜影院在线观看欧美| 亚洲电影成人| 欧美一区日本一区韩国一区| 亚洲韩国在线| 五月天激情四射| 国产爆初菊在线观看免费视频网站| 欧美性色综合| 日韩欧美一级二级| 自拍偷拍视频在线| 国产女人高潮时对白| 欧美人与动牲性行为| 国产一区二区在线免费观看| 中文字幕最新精品| 亚洲综合欧美激情| 最新国产中文字幕| 国产高清一区二区三区视频| 久久精品二区亚洲w码| 亚洲精品www久久久| 丰满的少妇愉情hd高清果冻传媒 | 草美女在线观看| 成人精品视频网站| 久久久久久久亚洲精品| 国产成人精品一区二区在线小狼| 精品国产免费第一区二区| 极品束缚调教一区二区网站 | 天堂网在线.www天堂在线| 成人av影音| 欧美日韩国产精品专区| 久久久久久久久久久久久久一区| 日韩欧美一级视频| 91小视频xxxx网站在线| 国产精品99久久久久久有的能看| 国内免费久久久久久久久久久| 免费黄色三级网站| 激情丁香婷婷| 雨宫琴音一区二区在线| 日韩精品久久久久久久玫瑰园| 免费黄色福利视频| 国产麻豆视频网站| 欧美综合在线视频观看| 91麻豆精品国产91久久久久久久久| 免费久久久久久| 亚洲色大成网站www| 国产麻豆一区二区三区| 黄色成人av网| 少妇精品久久久久久久久久| 亚洲成人黄色片| 免费一级欧美片在线观看网站| 午夜成人在线视频| 亚洲无玛一区| 午夜国产在线观看| 色天天色综合| 欧美大片日本大片免费观看| 杨幂毛片午夜性生毛片 | 青青草激情视频| 日韩av高清在线观看| 一区二区欧美精品| 欧美激情导航| 96日本xxxxxⅹxxx17| 在线高清av| 亚洲最大色网站| 在线亚洲美日韩| 国色天香一二三期区别大象| 国产精品超碰| 日韩精品专区在线影院重磅| 日本xxxxxxx免费视频| 影视先锋午夜av| 一区二区三区自拍视频| 欧美猛男男办公室激情| 免费日韩中文字幕| jizzjizz在线| 久久婷婷久久| 成人在线视频首页| 日韩av日韩在线观看| 青青青在线视频| 91超碰国产在线| 亚洲国产日日夜夜| av影院在线播放| 一本大道五月香蕉| 香蕉成人久久| 欧美亚洲成人网| 国产成人精品777777| 国产不卡精品在线| 日韩精品自拍偷拍| 中文字幕一区二区人妻电影丶| 又黄又爽在线免费观看| 久久伊人蜜桃av一区二区| 免费看污久久久| 蜜桃视频一日韩欧美专区| 极品av少妇一区二区| 午夜精品一区二区三区在线| 成人午夜视频精品一区| 日本免费精品| 日韩毛片在线观看| 午夜激情福利电影| 伊人久久高清| 91精品午夜视频| 中文字幕在线视频播放| 国产三级在线播放| 日韩欧美一区二区三区| 99re精彩视频| 国产黄在线播放| 一区二区三区在线观看网站| www国产黄色| 在线观看黄色| 亚洲图片你懂的| 国产成人精品视频免费看| 宅男宅女性影片资源在线1| 中文字幕亚洲精品在线观看 | 亚洲图片小说视频| 国产精品一区二区三区av麻| 久久久久北条麻妃免费看| 久久久久久少妇| 美女网站一区| 91精品国产成人| 亚洲成人一级片| 激情成人综合| 999精品视频一区二区三区| 欧美娇小极度另类| 国产自产视频一区二区三区| 免费久久99精品国产自| 天天色天天干天天| 国产视频视频一区| 国产精品白丝jk喷水视频一区| 国产三级精品在线观看| 欧美视频亚洲视频| 91超碰rencao97精品| 91视频福利| 91看片淫黄大片一级| 日本中文字幕网址| aaa日本高清在线播放免费观看| 欧美性色视频在线| 粉嫩av蜜桃av蜜臀av| 精品久久在线| 日韩资源在线观看| 国产精品一品二区三区的使用体验 | www.麻豆av.com| 国产蜜臀av在线一区二区三区| 男人靠女人免费视频网站 | 国产成人免费视频app| 成人动漫av在线| 六月丁香婷婷激情| 国产精品久久麻豆| 亚洲精品九九| 国产精品国产精品| 成人午夜剧场免费观看完整版| 中文字幕欧美区| 校园春色 亚洲色图| 免费一二一二在线视频| 国产亚洲精品综合一区91| 一区二区三区精彩视频| 久色成人在线| 97碰在线视频| 宅男网站在线免费观看| 亚洲国产日韩欧美在线图片| 午夜视频网站在线观看| 一本色道久久综合一区 | 国产福利视频导航| 另类人妖一区二区av| 男女猛烈激情xx00免费视频| 日本综合在线| 亚洲成人黄色在线| 亚洲自拍第二页| 免费成人av在线播放| 91动漫在线看| wwww亚洲| 日韩视频第一页| 男人打飞机网站| 91麻豆免费看片| 久久久久国产免费| 国产精品色呦| 99精彩视频在线观看免费| 免费av高清| 欧美高清dvd| 97在线播放免费观看| 国产一区免费电影| 少妇一级淫免费播放|