`
20386053
  • 浏览: 427812 次
文章分类
社区版块
存档分类
最新评论

常用位操作,写8位 12864串口模式 I2C 1302 18B20

 
阅读更多

/*以1302为例*/
void DS1302InputByte(unsigned char d) //实时时钟写入一字节(内部函数)
{
unsigned char i;
ACC = d;
for(i=8; i>0; i--)
{
DS1302_IO = ACC0; //相当于汇编中的 RRC
DS1302_CLK = 1;//先写底位
DS1302_CLK = 0;
ACC = ACC >> 1;
}
}
/*以18b20为例*/
/*---------------------------写一个字节------------------------------*/
writeonechar(uchar dat)
{
unsigned char i=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay_us(5);
DQ=1;
dat>>=1;
}
delay_us(4);
}

/*I2C*/
void write_byte(uchar dat)// 写函数
{
char i;
uchar temp;
temp=dat;
delaywus();
scl=0;
for(i=0;i<8;i++)
{
temp=temp<<1; //把temp左移一位
sda=CY; //把进位中的位送到SDA
delaywus();
scl=1;
delaywus();
scl=0;
delaywus();
}
sda=1;/*总线释放**/
delaywus();
}

/*I2C*/
uchar read_byte() //读一个字节的函数
{
uchar i,j,k;
scl=0;
delaywus();
sda=1;
delaywus();
for(i=0;i<8;i++) //8个循环,读一个字节
{
scl=1;
delaywus();
j=sda;
k=(k<<1)|j; //按位相或,把数据移入k
scl=0;
delaywus();
}
return k;//返回值是K,读得的数据
}

/*12864*/
void write_zj(uchar bbyte)
{ char i;
for(i=0;i<8;i++)
{
SID=bbyte&0x80; //取出最高位
SCLK=1;
SCLK=0;
bbyte<<=1; //左移
}
}

分享到:
评论

相关推荐

    关于ds18b20程序

    * 写bit2DS18B20 * ********************************************************/ void Ds18b20_WriteBit(bit bitdata) { if(bitdata) { PullDownDQ(); Delay2us(); //2us(&gt;1us) ReleaseDQ(); //(上述1-15) ...

    单片机C语言程序设计实训100例--基于AVR+PROTEUS仿真(源程序)

    4.17 2×20串行字符液晶演示 4.18 LGM12864液晶显示程序 4.19 PG160128A液晶图文演示 4.21 TG126410液晶串行模式演示 4.21 用带SPI接口的MCP23S17扩展16位通用IO端口 4.22 用TWI接口控制MAX6953驱动4片5×7点阵...

    单片机C语言程序设计实训100例--基于AVR+PROTEUS仿真(源程序暂缺)

    4.17 2×20串行字符液晶演示 4.18 LGM12864液晶显示程序 4.19 PG160128A液晶图文演示 4.21 TG126410液晶串行模式演示 4.21 用带SPI接口的MCP23S17扩展16位通用IO端口 4.22 用TWI接口控制MAX6953驱动4片5×7点阵...

    单片机学习计划.pdf

    常用的基于单片机学习的几个功能模块,如:按键识别,I2C 读写, Microwire 读写,红外接收和发送,串口通信,看门狗,数模转换,DS1302 的 读写,DS18B20 的操作,ISP 什幺的等等; 5.基于通信的几个协议用单片机来...

    单片机接口技术实用子程序电子书及其配套源代码

    本书所涉及到的数据接口包括RS-232、RS-422、RS-485、I2C、SPI、MICROWIRE、1-WIRE以及CAN总线接口。 本书实例丰富、层次清晰、语言通俗,有较强的实用性,既可作为广大单片机开发人员和系统设计人员的查询手册,也...

    单片机课程设计报告(数字温度计).doc

    图2.1 DS18B20与单片机接口原理 图2.2 总体设计方框图 2 系统的硬件设计 2.1 主控制器 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统 可编程Flash存储器 。STC89C52使用经典的MCS-...

    单片机数据通信典型应用大全

    1.3 单片机通信的几种常用模式 1.3.1 并行通信与串行通信 1.3.2 异步通信与同步通信 1.4 单片机串行口 1.4.1 串行接口的内部结构 1.4.2 串行接口的专用寄存器 1.4.3 串行口的工作方式 1.4.4 单片机串行口的...

    电子万年历课程设计.doc

    实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电 路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM /PM指示决定采用24或12小时格式DS1302与单片机...

    《手把手教你学51单片机》程序资料

    14_1:寻址I2C总线上存在的和不存在的地址,将应答状态显示到液晶上,所在章节14.2 14_2:用单字节读写模式访问EEPROM,每次+1后写回,所在章节14.3.1 14_3:用多字节读写模式访问EEPROM,依次+1,+2,+3...后写回...

    C51 msp430 ARM PIC AVR单片机设计PDF论文学习资料200个合集.zip

    i2c总线在单片机串行扩展中的应用.pdf icl7135在单片机自动打包系统中的应用.pdf internet环境下一种单片机通讯系统设计与实现.pdf keil++vision+2环境下仿真单片机程序.pdf matlab环境下pc机与16位单片机串行通信的...

    单片机温度报警器硬件设计.doc

    8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断 结构),全双工串行口。...

    单片机接口技术实用子程序

    第1 章 单片机 I/O 接口的扩展 ................................................................. 1 1.1 单片机应用系统 ........................................................................... 2 ...

Global site tag (gtag.js) - Google Analytics