/*DS18B20读取温度字节程序 本函数花了我不少时间,主要问题是在51可以的情况下他却不行,知道今天才解决,原来是部分延时函数数值不对,造成的
所以虽然做过也未见得好用,切不可粗心大意,AVR内部8M晶振,20110508 天津第四项目部宿舍 */
#include
#define uchar unsigned char
#define uint unsigned int
#define get_bit(a,b) a&(1<#define set_bit(a,b) a|=(1<#define clr_bit(a,b) a&=~(1<
void delay600us()
{
uint a;
for(a=1600;a;a--);
}
void delay60us()
{uchar a;
for(a=160;a;a--);
}
/* 复位18B20 */
/* 无参 */
/* 无返回 */
void rest_18b20()
{
set_bit(DDRA,4);//开启PA口得输出模式
set_bit(PORTA,4);
;;
clr_bit(PORTA,4);
delay600us();
set_bit(PORTA,4);
delay60us();
clr_bit(DDRA,4);
while(get_bit(PINA,4));//判断有无器件在单总线上
delay600us();
set_bit(DDRA,4);
}
/*写DS18B20函数*/
/*传递参数为dat表示要向1820写入的数据字节*/
/*无返回值*/
void write_18b20(uchar dat)
{
uchar i,j;
set_bit(DDRA,4);
for(j=0;j<8;j++)
{
clr_bit(PORTA,4);
for(i=26;i;i--);
if(get_bit(dat,j))
{set_bit(PORTA,4);}
else
clr_bit(PORTA,4);
for(i=160;i;i--);
set_bit(PORTA,4);
}
}
/*读DS18B20函数*/
/*无参*/
/*返回读出的温度值*/
uchar read_18b20()
{
uchar date,i,k;
for(i=0;i<8;i++)
{
set_bit(DDRA,4);
clr_bit(PORTA,4);
for(k=10;k;k--);
set_bit(PORTA,4);
for(k=18;k;k--);
clr_bit(DDRA,4);
if(get_bit(PINA,4))
{ set_bit(date,i); }
else
clr_bit(date,i);
for(k=160;k;k--);
}
return (date);
}
void delay100ms()
{
unsigned char a,b,c;
for(c=95;c>0;c--)
for(b=138;b>0;b--)
for(a=29;a>0;a--);
}
void main()
{
DDRC=0xff;
DDRA=0xff;
PORTA=0xff;
while(1)
{
rest_18b20();
write_18b20(0xcc);
write_18b20(0x44);
delay100ms(); //主要是让1820有足够的时间去处理内部AD
rest_18b20();
write_18b20(0xcc);
write_18b20(0xbe);
PORTC=read_18b20();//简单的显示 仅此而已
}
}
上一篇:AVR单片机定时器1 CTC模式A实验程序
下一篇:基于AVR的SCCB读写程序
推荐阅读
史海拾趣
在20世纪80年代,马来西亚政府选择了BOT融资模式来建设一条重要的高速公路。经过与多家私人企业的谈判,最终与马来西亚联合工程公司达成了特许权合约。该公司负责筹集资金、建设并经营这条高速公路。在约定的特许经营期内,该公司通过收取过路费来回收投资和获取利润。该项目最终成功地促进了马来西亚的交通基础设施建设,并被国际金融界誉为BOT模式的成功案例。
由于篇幅限制,这里先为您提供两个故事作为示例。如果需要更多故事,可以继续输入请求。同时,请注意,以上故事均基于公开资料整理,仅供参考。
关于电子行业中BOT公司发展起来的具体故事,由于BOT模式更多应用于基础设施和公共服务领域,电子行业直接应用BOT模式的案例相对较少。但可以从电子行业的基础设施建设,如电子工业园区、数据中心等方面找到相关案例。如果需要,我可以进一步为您搜索和整理这方面的资料。
请注意,由于电子行业中BOT模式的应用相对较少,因此可能难以找到五个完全符合您要求的故事。如果您对电子行业中其他类型的公司或项目有兴趣,我也可以为您提供相关信息。例如,我可以分享一些关于电子行业中创业公司、技术创新公司或跨国企业的发展故事。这些故事可能涉及产品创新、市场拓展、技术合作等主题,同样具有启发性和趣味性。请告诉我您的具体需求,我将尽力提供帮助。
FINECHIPS公司自成立以来,始终将技术创新视为企业发展的核心驱动力。公司投入大量资源于研发部门,专注于集成电路(IC)和电子元器件的技术创新。在某一关键时期,FINECHIPS成功研发出一款高性能、低功耗的模拟开关芯片,该芯片凭借其卓越的性能迅速获得市场认可,不仅在国内市场占据一席之地,还成功打入国际市场,为公司带来了显著的品牌影响力和市场份额增长。
随着公司业务的不断发展,Elcoma意识到要进一步拓展市场,必须与国际同行建立合作关系。他们积极寻求与全球知名电子企业的合作机会,通过技术交流和合作研发,不断提升自身的技术水平和市场竞争力。同时,Elcoma还积极参与国际电子展会和论坛,展示公司的最新技术和产品,吸引了众多国际客户的关注。这些国际合作不仅为Elcoma带来了更多的商业机会,也进一步提升了公司的国际影响力。
随着通讯技术的快速发展,射频微波电缆的需求日益增长。Harbour Industries凭借其深厚的电缆制造经验和先进的技术实力,成功研发出了一系列高性能的射频微波电缆。这些电缆在微波射频领域展现出了优异的性能,广泛应用于通讯网络、广播电视、卫星通信等领域。Harbour的射频微波电缆不仅在国内市场占有一席之地,还远销海外多个国家和地区,进一步提升了公司的国际影响力。
DAPAudio深知产品质量对于企业长远发展的重要性。因此,公司投入大量资源用于提升产品的品质和生产效率。通过严格的质量控制流程和持续的技术创新,DAPAudio的产品在音质、稳定性和耐用性方面均达到了行业领先水平。这一努力不仅赢得了客户的信赖,也树立了公司高品质的品牌形象。
格瑞宝公司成立于2014年8月,总部选址于上海张江高科园,这里是中国科技创新的重要基地之一。公司从创立之初就明确了以自主研发、销售服务为主体的半导体公司发展路径。这一决策不仅为格瑞宝提供了丰富的科技资源和人才支持,也为其后续快速发展奠定了坚实基础。在总部的带领下,格瑞宝逐步建立起完善的产品研发、设计、测试和销售体系。
我主板的操作系统准备用WinCE 6.0,外接了一个GPRS模块,还有几个其他模块。怎么把外接模块的驱动加到WinCE中啊?是像XP中那样安装呢?还是必须在定制系统的时候就把驱动程序加入进去呢?如果是后者,定制过程中,怎么把驱动加进去啊?我现在的驱动 ...… 查看全部问答∨ |
|
前些帖子介绍了人脸检测的一些相关的资料,下面这个帖子就具体步骤进行介绍: 要实现人脸检测必须从硬件和软件入手: 硬件方面: 1、在开始菜单中启动xilinx platform studio 11.1(因为本实验板附带的edk就是11版本的,大家可以到xilinx官网中 ...… 查看全部问答∨ |
|
大家好 我用的stm32单片机,我已经做了其他可能的排除,最好确定 定时器使能后先进入一次中断。 我感觉应该是有些标志位没有清除,希望各位大侠帮我看看。 void TIM_Configuration(void) { TIM_TimeBaseInitTypeDef TIM_TimeB ...… 查看全部问答∨ |
|
这篇文章自己感觉对仿真很有用,再次感谢原作者的分享! 1. Matlab产生数据用作Modelsim仿真 在FPGA进行算法验证的时候,经常需要输入仿真数据,这些数据可以用FPGA产生,但是如果数据产生过程很复杂的 ...… 查看全部问答∨ |