完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define PCF8591 0x90 #define unchar unsigned char #define unint unsigned int ***it SCL=P3^4; //串行时钟输入端 ***it SDA=P3^5; //串行数据输入端 //unchar temp; void delay() //延时4-5个微秒 {;;} void delay_1ms(unint z) { unint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void start()//开始信号 { SDA=1; delay(); SCL=1; delay(); SDA=0; delay(); } void stop() //停止信号 { SDA=0; delay(); SCL=1; delay(); SDA=1; delay(); } void respons()//应答 相当于一个智能的延时函数 { unchar i; SCL=1; delay(); while((SDA==1)&&(i<250)) i++; SCL=0; delay(); } void init() //初始化 { SDA=1; delay(); SCL=1; delay(); } void write_byte(unchar date) //写一字节数据 { unchar i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; //左移一位 移出的一位在CY中 SCL=0; //只有在scl=0时sda能变化值 delay(); SDA=CY; delay(); SCL=1; delay(); } SCL=0; delay(); SDA=1; delay(); } void write_add(unchar control,unchar date) { start(); write_byte(PCF8591); //10010000 前四位固定 接下来三位全部被接地了 所以都是0 最后一位是写 所以为低电平 respons(); write_byte(control); respons(); write_byte(date); respons(); stop(); } void main() { init(); while(1) { write_add(0x40,128); //a是DA转换的输入位。 } } |
|
|
|
同求啊亲
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12024 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 02:13 , Processed in 0.568624 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号