单片机/MCU论坛
登录
直播中
范文进
6年用户
3经验值
私信
关注
[问答]
51单片机+pcf8591模块 简单的数模转换,硬件没问题,程序没报错,可就是模块上aout处的灯一直不亮是为什么?
开启该帖子的消息推送
51单片机
PCF8591
数模转换
51
单片机
+pcf8591模块 简单的数模转换,硬件没问题,程序没报错,可就是模块上aout处的灯一直不亮,谁来指导一下吗?真心求教
以下为代码:
#include
#include
#define uchar unsigned char
#define delay_5t {_nop_();_nop_();_nop_();_nop_();_nop_();}
***it SCL = P2^0 ;
***it SDA = P2^1 ;
void IIC_start(void);
void IIC_stop(void);
bit ask_check(void);
bit sent_byte(uchar DAT);
void DAC_out(uchar DAT);
void IIC_start()
{
SDA=1;
SCL=1;
delay_5t;
SDA=0;
delay_5t;
}
void IIC_stop()
{
SDA=0;
SCL=1;
delay_5t;
SDA=1;
delay_5t;
}
bit sent_byte(uchar DAT)
{
uchar i;
uchar temp;
bit ask;
temp = DAT ;
for(i=0;i<8;i++)
{
SCL=0;
if(temp&0x80==0x80)
SDA=1;
else
SDA=0;
delay_5t;
SCL=1;
temp = temp << 1;
delay_5t;
}
SCL=0;
ask = ask_check();
return ask;
}
bit ask_check()
{
bit ask_bit;
SDA=1;
delay_5t;
SCL=1;
ask_bit = SDA;
SCL=0;
return ask_bit;
}
void DAC_out(uchar DAT)
{
IIC_start();
if(sent_byte(0x90) == 1)
{
IIC_stop();
return;
}
sent_byte(0x40);
sent_byte(DAT);
IIC_stop();
}
void main()
{
DAC_out(0xff);
while(1);
}
回帖
(2)
jinyi7016
2018-7-22 14:59:09
你怎么知道硬件没有错,
程序没有报错只是没有语法问题,逻辑上可能有问题
你怎么知道硬件没有错,
程序没有报错只是没有语法问题,逻辑上可能有问题
举报
hhhhh
2018-7-30 18:50:47
iic要求时序比较严谨,你还是好好查查
iic要求时序比较严谨,你还是好好查查
举报
更多回帖
rotate(-90deg);
回复
相关问答
51单片机
PCF8591
数模转换
求解
51
单片机
如何接
pcf8591
2011-04-20
3683
PCF8591
DA
转换
2017-10-04
3070
PCF8591
是什么?怎样去设计
PCF8591
电路?
2021-07-19
1789
PCF8591
A/D
转换
模拟输入通道的问题
2013-04-23
19808
基于AVR
单片机
建立
PCF8591
操作库的
程序
2020-11-10
1928
PCF8591
和90C
51
单片机
做波形发生器,波形最大值达到218时波形就顶部失真了?
2019-06-04
2865
单片机
PCF8591
的DAC是怎么使用的?
2021-09-29
869
PCF8591
DA
转换
的问题
2017-11-10
3230
怎样将AD
转换
后的数据写入
PCF8591
中并进行DA
转换
呢
2022-01-25
684
PCF8591
AD
转换
模拟输入通道的问题
2016-11-25
4416
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分