没有合适的资源?快使用搜索试试~ 我知道了~
STC89C52+PCF8591+LCD162程序
需积分: 49 24 下载量 113 浏览量
2016-06-06
10:00:55
上传
评论 4
收藏 10KB TXT 举报
温馨提示
试读
13页
STC89C52+PCF8591+LCD162程序
资源推荐
资源详情
资源评论
;/************STC89C52+PCF8591+LCD162程序***********
;平台:Keil U4 + STC89C52
;名称:AD采样+串口发送
;编写:chen
;晶体:11.0592MHZ
;***************************************************
; #include <reg52.h>
; #include <intrins.h>
;
; typedef unsigned char uint8;
; typedef unsigned int uint16;
;
; #define SLAVEADDR 0x90 //定义器件地址
; #define nops() do{_nop_();_nop_();_nop_();_nop_();_nop_();} while(0) //定义空指令
;
;
SCL BIT P2.6 ;sbit SCL = P2^1; //I2C 时钟
SDA BIT P2.6 ;sbit SDA = P2^0; //I2C 数据
;void delay(uint16 n)
;{
; while (n--);
;}
;* 函数: i2c_start() //功能: 启动i2c 起始信号
I2C_Start: ;void i2c_start()
;{
SETB SCL ; SCL = 1;
NOP ; nops();
SETB SDA ; SDA = 1;
;平台:Keil U4 + STC89C52
;名称:AD采样+串口发送
;编写:chen
;晶体:11.0592MHZ
;***************************************************
; #include <reg52.h>
; #include <intrins.h>
;
; typedef unsigned char uint8;
; typedef unsigned int uint16;
;
; #define SLAVEADDR 0x90 //定义器件地址
; #define nops() do{_nop_();_nop_();_nop_();_nop_();_nop_();} while(0) //定义空指令
;
;
SCL BIT P2.6 ;sbit SCL = P2^1; //I2C 时钟
SDA BIT P2.6 ;sbit SDA = P2^0; //I2C 数据
;void delay(uint16 n)
;{
; while (n--);
;}
;* 函数: i2c_start() //功能: 启动i2c 起始信号
I2C_Start: ;void i2c_start()
;{
SETB SCL ; SCL = 1;
NOP ; nops();
SETB SDA ; SDA = 1;
NOP ; nops();
CLR SDA ; SDA = 0;
NOP ; nops();
CLR SCL ; SCL = 0;
RET ;}
;* 函数: i2c_stop() * 功能: 停止i2c
I2C_Stop: ;void i2c_stop()
;{
CLR SCL ; SCL = 0;
NOP ; nops();
CLR SDA ; SDA = 0;
NOP ; nops();
SETB SCL ; SCL = 1;
NOP ; nops();
SETB SDA ; SDA = 1;
NOP ; nops();
RET ;}
;函数: i2c_ACK(bit ck)
;功能: ck为1时发送应答信号ACK,ck为0时不发送ACK
I2C_ACK: ;void i2c_ACK(bit ck)
;{
;if (ck)
CLR SDA ; SDA = 0;
;else
SETB SDA ; SDA = 1;
NOP ; nops();
SETB SCL ; SCL = 1;
NOP ; nops();
CLR SDA ; SDA = 0;
NOP ; nops();
CLR SCL ; SCL = 0;
RET ;}
;* 函数: i2c_stop() * 功能: 停止i2c
I2C_Stop: ;void i2c_stop()
;{
CLR SCL ; SCL = 0;
NOP ; nops();
CLR SDA ; SDA = 0;
NOP ; nops();
SETB SCL ; SCL = 1;
NOP ; nops();
SETB SDA ; SDA = 1;
NOP ; nops();
RET ;}
;函数: i2c_ACK(bit ck)
;功能: ck为1时发送应答信号ACK,ck为0时不发送ACK
I2C_ACK: ;void i2c_ACK(bit ck)
;{
;if (ck)
CLR SDA ; SDA = 0;
;else
SETB SDA ; SDA = 1;
NOP ; nops();
SETB SCL ; SCL = 1;
NOP ; nops();
剩余12页未读,继续阅读
资源评论
KQ自控
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功