头像-146198

skawu

  • 广东省深圳市
  • 单片机 嵌入式
  • 消费电子

个人成就

获得 138 次赞

帮助过414人

当前比较流行的ARM有哪些品牌?

你这个问的很宽泛,你要了解哪个行业的?工业的比如NXP,消费级的比如海思,RK,全志,炬芯等

无人机遥控器如何实现的

自己玩用2.4G吧,便宜,但是距离很短

蓝牙模块怎么查看波特率

你指的是蓝牙透传模块吧,找模块厂家的数据手册,包括波特率、AT指令集都有详细说明

hex、axf文件怎么转bin文件

MDK自带有工具,使用C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe

新打的板子,MIPI电源域没接上,还有救么?

调试先飞线,后面重新打板

18b20的ID怎么读取

#include <reg52.h>#define uchar unsigned char#define uint unsigned int/********************************************************************/sbit DQ = P2^2;                                //温度传感器信号线sbit rs = P3^5;                                //LCD数据/命令选择端(H/L)位声明sbit lcden = P3^4;                        //LCD使能信号端位声明/********************************************************************///uint temp;                                //定义整型的温度数据//float f_temp;                                //定义浮点型的温度数据//uint warn_11 = 270;                        //定义温度设定值,是温度值乘以10后的结果//uint warn_12 = 250;                        //定义温度下限值//uint warn_h1 = 300;                        //定义温度上限值/********************************************************************/void  delay(uint z);                                //延时函数void  DS18B20_Reset(void);                        //DQ18B20复位,初始化函数bit   DS18B20_Readbit(void);                //读1位数据函数uchar DS18B20_ReadByte(void);                //读1个字节数据函数void  DS18B20_WriteByte(uchar dat);        //向DQ18B20写一个字节数据函数void  LCD_WriteCom(uchar com);                //1602液晶命令写入函数void  LCD_WritEDAta(uchar dat);                //1602液晶数据写入函数void  LCD_Init();                                        //LCD初始化函数void  Display18B20Rom(char Rom);        //显示18B20序列号函数/**********************************************//*        主函数                                                             *//**********************************************/void main(){        uchar abcdefgh;        LCD_Init();        DS18B20_Reset();        delay(1);        DS18B20_WriteByte(0x33);        delay(1);        a = DS18B20_ReadByte();        b = DS18B20_ReadByte();        c = DS18B20_ReadByte();        d = DS18B20_ReadByte();        e = DS18B20_ReadByte();        f = DS18B20_ReadByte();        g = DS18B20_ReadByte();        h = DS18B20_ReadByte();        LCD_WriteCom(0x80+0x40);        Display18B20Rom(h);        Display18B20Rom(g);        Display18B20Rom(f);        Display18B20Rom(e);        Display18B20Rom(d);        Display18B20Rom(c);        Display18B20Rom(b);        Display18B20Rom(a);        while(1);}/***************************************************//*         延时函数:void delay()                                          *//*         功能:延时函数                                                               *//***************************************************/void delay(uint z)//延时函数{        uint xy;        for( x = z; x > 0; x-- )                for( y = 110; y > 0; y-- );}/***************************************************//*         DS18B20函数:void DS18B20_Reset()                          *//*         功能:复位18B20                                                                *//***************************************************/void DS18B20_Reset(void)//DQ18B20复位,初始化函数{        uint i;        DQ = 0;        i = 103;        while( i > 0 ) i--;        DQ = 1;        i = 4;        while( i > 0 ) i--;}/***************************************************//*         DS18B20函数:void DS18B20_Readbit()                        *//*         功能:读1个字节数据函数                                                       *//***************************************************/bit DS18B20_Readbit(void)   //读1位数据函数{        uint i;        bit dat;        DQ = 0;        i++;                 //i++起延时作用        DQ = 1;        i++;        i++;        dat = DQ;        i = 8;        while( i > 0 )i--;        return( dat );}/***************************************************//*         DS18B20函数:void DS18B20_ReadByte()                      *//*         功能:读1个字节数据函数                                                       *//***************************************************/uchar DS18B20_ReadByte(void)        //读1个字节数据函数{        uchar ijdat;        dat = 0;        for( i = 1; i <= 8; i++ )        {                j = DS18B20_Readbit();                dat = ( j << 7 ) | ( dat >> 1 );        }        return(dat);}/***************************************************//*         DS18B20函数:void DS18B20_WriteByte()                     *//*         功能:向DQ18B20写一个字节数据函数                                   *//***************************************************/void DS18B20_WriteByte(uchar dat)        //向DQ18B20写一个字节数据函数{        uint i;        uchar j;        bit testb;        for( j=1; j<=8; j++)        {                testb = dat&0x01;                dat= dat>>1;                if(testb)        //写1                {                        DQ = 0;                        i++;i++;                        DQ = 1;                        i = 8;while(i>0)i--;                }                else                {                        DQ = 0;        //写0                        i = 8;while(i>0)i--;                        DQ = 1;                        i++;i++;                }        }}/***********************************************//*  LCD函数:void LCD_WriteCom()                            *//*  功能:向LCD写入命令                                                   *//***********************************************/void LCD_WriteCom(uchar com){        rs = 0;        P0 = com;        delay(5);        lcden = 0;        delay(5);        lcden = 1;        delay(5);        lcden = 0;}/***********************************************//*  LCD函数:void LCD_WriteData(uchar dat)                      *//*  功能:向LCD写入数据                                                   *//***********************************************/void LCD_WriteData(uchar dat){        rs = 1;                                        //选择LCD为写入数据状态        lcden = 0;        P0 = dat;                           //将待写入数据放到总线上        delay(5);                                 lcden = 1;                                //给LCD使能端一个脉冲                                 delay(5);                                //信号将之前放到总线上        lcden = 0;                                //的数据写入LCD        delay(5);}/***********************************************//*  LCD函数:void LCD_Init()                                                  *//*  功能:初始化LCD,设定LCD的初始状态                       *//***********************************************/void LCD_Init(){               LCD_WriteCom(0x38);                //LCD显示模式设定        delay(15);        LCD_WriteCom(0x08);                //关闭LCD显示        delay(3);        LCD_WriteCom(0x01);                //LCD显示清屏        delay(3);        LCD_WriteCom(0x06);                //设定光标地址指针为自动加1        delay(3);        LCD_WriteCom(0x0c);                //打开LCD显示,但不显示光标}/**********************************************//*                                                                                          *//*        显示18B20序列号                                                         *//*                                                                                     *//**********************************************/void Display18B20Rom(char Rom){         uchar hl;         l = Rom & 0x0f;           //取低4位         h = Rom & 0xf0;                //取高4位           h >>= 4;         if( ( h >= 0x00 )&&( h <= 0x09 ) )                LCD_WriteData(h+0x30);             //取ASCII码         else                  LCD_WriteData(h+0x37);             //取ASCII码         if( ( l >= 0x00 )&&( l <= 0x09 ) )                LCD_WriteData(l+0x30);             //取ASCII码         else                  LCD_WriteData(l+0x37);             //取ASCII码         }

单片机中哈佛结构和冯诺依曼结构的区别

哈佛结构:是一种将程序指令储存和数据储存分开的存储器结构冯诺依曼结构:一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构​

没有物联网卡,Onenet的NB物联网开发板还可以用么?

买一个物联网卡呗,又不贵,可以玩半年的