历史上的今天
今天是:2025年04月29日(星期二)
2020年04月29日 | arm力天电子 lpc2148基于DS18B20的温度控制系统
2020-04-29 来源:eefocus
//读一位数据(读位程序)
1unsigned char tmpreadbit(void) //read a bit
2{
3 unsigned char dat;
4 DS_OUT(); //端口设置为输出
5 DS_L(); //DS=0
6 //Delayn(1); //2uS
7 DS_IN(); //input
8 //Delayn(1);
9 if(DS_R()!=0)
10 dat=1;
11 else
12 dat=0;
13 DelaynUs(50);
14 return (dat);
15}
//读一个字节数据 (读字节程序)
16unsigned char tmpread(void) //read a byte date
17{
18 unsigned char i,j,dat;
19 dat=0; //令dat初始值为0,代码23处将会用到
20 for(i=1;i<=8;i++)
21 {
22 j=tmpreadbit();
23 dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里
24 }
25 return(dat);
26}
任意取一个字节,本文以1011 1010为例
首先由读位程序读取第7位1,执行22得j=1,执行23得dat=1xxx xxxx, 详解如下:
j<<7得到1xxx xxxx
dat>>1得到0xxx xxxx(注意:dat初始值为0,即代码19)
然后执行|(位或)运算,得到dat=1xxx xxxx
然后由读位程序读取第6位0,执行22得j=0,执行23得dat=01xx xxxx 详解如下:
j<<7得到0xxx xxxx
dat>>1得到01xx xxxx(此时,dat的值不再是0,而是上一步得到的1xxx xxxx)
然后执行|(位或)运算,得到dat=01xx xxxx
剩余位的计算方法同上,故略去......................
最终主机读到的字节数据是0101 1101 ,最低位在最前面
史海拾趣
|
嵌入式相关问题,可在此提问,各位同行请在这里跟帖提问、交流。 EEWORLD在这里期待与你讨论。 欢迎大家多多说出自己的想法,并帮助坛子里的朋友回答问题~~ 老师介绍: 欧文盛: 顶嵌(www.top-e.org)高级讲师,主要研究和工作领域是嵌入 ...… 查看全部问答> |
|
PIC16F73,定义了一个整型数组,int a[100],在调试时从watch窗口发现a是0xf090,有问题吗? 还有,int b=200,b/9会是多少?… 查看全部问答> |
|
驱动camera.dll都正常加载。 串口打印 CAMERA: CIS_Open CIS: IOCTL_POWER_CAPABILITIES CAMERA: CIS_Open CAMERA: CIS_Close 也就是CIS_Open函数加载了,但是CIS_Init()函数没有加载,请问是为什么,找不到哪里调用的。… 查看全部问答> |
|
自己软件模拟串口,用1121。 发送24,主机收到的却是24 FF,跟踪程序,看到第一次收到24,紧接着又收到FF。 我使用的PIN中断功能来捕获接收数据的。发送一次应该只会进一次中断,但是进了两次,造成的二次把空闲状态的高电平当成数据捕获进来,发 ...… 查看全部问答> |
|
LED显示屏作为一项高科技产品引起了人们的高度重视,采用计算机控制,将光、电融为一体的大屏幕智能显示屏已经应用到很多领域。LED显示屏的像素点采用LED发光二极管,将许多发光二极管以点阵方式排列起来,构成LED阵列,进而构成LED屏幕。通过不 ...… 查看全部问答> |
|
怎么用带字库的12864显示自造的汉字,以及怎么显示图片? 怎么显示自造的汉字我不清楚,显示图片那个方法我根据手册看懂了,可是写出的代码下载显示出12864花屏!!!求高手指导!!!搞了老半天仍然没有进展,求指导啊! 以下是我写的代码: #i ...… 查看全部问答> |
|
在多卡系统中,降低接地阻抗的最佳方式是使用“母板”PCB 作为卡间互连背板,从而为背板提供连续接地层。PCB 连接器的引脚应至少有 30 至 40% 专用于接地,这些引脚应连接到背板母板上的接地层。最后,实现整体系统接地方案有两种可能途径 :背板接 ...… 查看全部问答> |




