对DS1821温度传感器Reset操作抓图:
运行代码: int8 DS1821_Reset(void) { int8 d; DS1821DQ =0;// reset pulse DQ_DDR = 1;//设置p01为输出状态 delay(60);// 600us DQ_DDR = 0;//设置p01为输入状态 delay(1);// 20us while(!DS1821DQ); return (int8)DS1821DQ; }
先看看图片能否上传!
一线制的时序基本都是一样的,读、写、复位过程不能被中断,时序要求较严格。换个一线制外设芯片无非就是操作寄存器的地址不同方式不同需要根据手册要求去设计,读(DS1821_ReadByte)、写(DS1821_WriteByte)、复位(DS1821_Reset)函数在富士通这个系列单片机上是通用的。